Вопросы по теме '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 просмотров
schedule
13.11.2023
Почему это нарушает ограничение типа?
Я пытаюсь настроить ASP.NET Identity 3 так, чтобы он использовал целочисленные ключи:
public class ApplicationUserLogin : IdentityUserLogin<int> { }
public class ApplicationUserRole : IdentityUserRole<int> { }
public class...
3738 просмотров
schedule
09.03.2024
Как оператор ‹:‹ работает в 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 просмотров
schedule
14.10.2022
Функция записи 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 просмотров
schedule
14.03.2024