Вопросы по теме 'type-constraints'

Ограничения haskell rank n? (или, преобразователи монад и Data.Suitable)
Я пытаюсь написать что-то похожее на «типы ранга 2», но вместо этого для ограничений. (Или, может быть, неверно предполагать, что изменение -> в определении "типов ранга 2" на => имеет смысл; пожалуйста, отредактируйте вопрос, если вы...
336 просмотров
schedule 07.11.2022

Можно ли ограничить параметр типа универсального метода С# как назначаемый из параметра типа содержащего класса?
Я подозреваю, что ответ отрицательный, но я хочу знать, можно ли сделать что-то вроде этого: public class MyGenericClass<TSomeClass> { public void MyGenericMethod<TSomeInterface>() // This doesn't compile. where...
1558 просмотров
schedule 01.02.2024

Можно ли ввести дополнительные переменные типа в ограничение суперкласса?
При работе с семействами типов часто удобно использовать ограничения равенства, чтобы избежать повторения имени функции типа в сигнатуре: class Foo f where type BulkyAssociatedType f :: * foo :: BulkyAssociatedType f -> f ... bar ::...
210 просмотров

Почему это нарушает ограничение типа?
Я пытаюсь настроить ASP.NET Identity 3 так, чтобы он использовал целочисленные ключи: public class ApplicationUserLogin : IdentityUserLogin<int> { } public class ApplicationUserRole : IdentityUserRole<int> { } public class...
3738 просмотров

Как оператор ‹:‹ работает в Scala?
В Scala есть класс <:< , который наблюдает за ограничением типа. От Predef.scala : sealed abstract class <:<[-From, +To] extends (From => To) with Serializable private[this] final val singleton_<:< = new...
643 просмотров
schedule 18.05.2024

Использование собственного класса в качестве ограничения параметра типа в объявлении класса
У меня есть следующее объявление класса в Delphi XE8: TestClass = class; TestClass = class function test<T: TestClass>(supplier: TFunc<T>): T; // Compiler error end; Что вызывает следующую ошибку компилятора: E2086 Type...
274 просмотров

Функция записи GADT дает сбой там, где успешно выполняется деконструкция
Я пытаюсь разобраться с GADT и подозреваю, что происходит какое-то волшебство, которого я не понимаю. Рассмотрим следующее: class C t data T a where T :: (C a) => { getT :: a } -> T a f :: C a => a -> () f = undefined class D t...
87 просмотров
schedule 14.06.2024

Как вы определяете параметр функции, который может принимать Vec или что-то еще, что можно повторять?
Я хочу определить функцию, которая принимает параметр, который можно повторять без использования. Функция должна иметь возможность принимать Vec , а также другие итерируемые объекты. Я зациклился на том, как определить подходящий общий параметр с...
67 просмотров
schedule 18.04.2024

Ограничения типа расширения Swift для универсального класса, где универсальный тип является еще одним универсальным типом
Я пытаюсь обдумать ограничения универсального типа в Swift. Вот моя отправная точка: class Promise<T> { func resolve(_ block:@escaping (T) ->Void) {} func fulfill(_ result:T) {} } Обещание — это то, что может быть выполнено...
478 просмотров