Вопросы по теме 'type-systems'
Почему алгебраические типы данных Haskell закрыты?
Поправьте меня, если я ошибаюсь, но похоже, что алгебраические типы данных в Haskell полезны во многих случаях, когда вы будете использовать классы и наследование в объектно-ориентированных языках. Но есть большая разница: как только алгебраический...
7736 просмотров
schedule
14.12.2023
Каковы пределы вывода типов?
Каковы пределы вывода типов? Какие системы типов не имеют общего алгоритма вывода?
1443 просмотров
schedule
08.03.2023
Каковы пределы проверки типов и систем типов?
Системы типов часто критикуют за то, что они слишком ограничивающие, то есть ограничивают языки программирования и запрещают программистам писать интересные программы.
Крис Смит утверждает :
Мы получаем уверенность в правильности программы...
3477 просмотров
schedule
04.11.2023
Почему я не могу использовать ключевое слово as для структуры?
Я определил следующую структуру:
public struct Call
{
public SourceFile caller;
public SourceFile callee;
public Call(SourceFile caller, SourceFile callee)
{
this.caller = caller;
this.callee = callee;
}
}...
14730 просмотров
schedule
09.02.2023
Почему в .NET существует null?
Почему в .NET значения могут быть нулевыми? Превосходно ли это по сравнению с гарантией, при которой все будет иметь значение, а ничто не будет равно нулю?
Кто-нибудь знает, как называется каждая из этих методологий?
В любом случае, я не очень...
3033 просмотров
schedule
08.10.2022
Понимание политипов в выводе типа Хиндли-Милнера
Я читаю статью в Википедии о Hindley– Вывод типа Милнера пытается разобраться в этом. Пока что я понял:
Типы подразделяются на монотипы и политипы.
Монотипы далее классифицируются как константы типа (например, int или string ) или как...
1908 просмотров
schedule
25.09.2022
В чем разница между родовым и высокородным типом?
Я обнаружил, что действительно не понимаю разницы между «родовым типом» и «высшим типом».
Код Scala:
trait Box[T]
Я определил trait с именем Box , который является конструктором типа, который принимает тип параметра T . (Правильно ли...
1701 просмотров
schedule
07.03.2022
Как аннотировать протоколы и их методы в core.typed Clojure?
Я делаю игру в крестики-нолики и составил протокол для своей стратегии. Игра работает нормально, поэтому я хочу воспользоваться этой возможностью, чтобы отточить свои навыки core.typed. Я аннотировал протокол (как показано ниже), но когда я запускаю...
297 просмотров
schedule
06.04.2024
Как я могу иметь тип отрицания в Scala?
Я хочу сделать что-то вроде этого:
def iDontLikeStrings(arg: Not[String]) = {....}
В принципе, это должно скомпилироваться:
iDontLikeStrings(23)
iDontLikeStrings(true)
И это НЕ должно компилироваться:
iDontLikeStrings("hello")
479 просмотров
schedule
17.10.2023
Почему BaseType определения универсального типа сам по себе не является определением универсального типа, когда это возможно?
В приведенном ниже примере я пытаюсь понять, почему BaseType не является определением универсального типа и, в более общем смысле, почему оно не просто равно typeof(List<>)
public class MyList<T> : List<T>
{
}
// this is...
91 просмотров
schedule
22.03.2024
Я хочу иметь тип, который соответствует каждому типу объединения, но не любому объединению этих отдельных типов.
Предположим, у меня определены следующие типы:
type A = {a:number};
type B = {a:string};
type C = {a:boolean};
type All = A | B | C;
Теперь я хочу определить общий тип S (без использования каких-либо типов _3 _, _ 4_ и C в определении),...
22 просмотров
schedule
28.07.2022