Последующий вопрос к предыдущему вопросу, это было идентифицировано как проблема ковариации. Сделав еще один шаг, если я изменю IFactory следующим образом: class Program
{static void Main (string [] ...
Рассмотрим функцию, добавьте ab = a + b Это работает: * Main> add 1 2
3 Однако, если я добавлю а подпись типа, указывающая, что я хочу добавить объекты того же типа: add :: a -> a -> a
add ab = ...
Если используется интерактивная оболочка F# (FSI), предполагаемый тип выражения (сигнатура) выводится в консоль вместе со своим значением: val it : int * string * float = (42, "Hello F#", 42.0) Как я могу...
Brief :Это вопрос из прошлого экзамена Miranda, но синтаксис очень похож на Haskell. Вопрос :Каков тип следующего выражения и что оно делает? (Определения of...
Похоже, что auto был довольно значимой функцией, которая должна быть добавлена в C ++ 11, которая, похоже, следует за многими новыми языками. Как и в языке, подобном Python, я не видел явных переменных ...
Почему здесь не удается определить тип? scala> val xs = Список (1, 2, 3, 3)
xs: List [Int] = List (1, 2, 3, 3) scala> xs.toSet map (_ * 2)
: 9: error: отсутствует тип параметра для расширенного ...
Я читал, что вывод типов в Scala не является глобальным, поэтому люди должны размещать аннотации типов в методах. (Будет ли это вывод "локального" типа?) Я только немного понимаю, что ...
Является ли auto x = initializer; эквивалент decltype (инициализатор) x = инициализатор; или decltype ((инициализатор)) x = инициализатор; или ни то, ни другое?
Механизм вывода типов в Haskell намного мощнее, чем в Scala. В Haskell мне редко приходится явно писать типы, тогда как в Scala типы могут выводиться только в выражениях, но не…
Допустим, мы создаем повторную реализацию C, с той лишь разницей, что
что типы предполагаются. Классы и модификаторы хранилища по-прежнему должны быть
задано (const, static, restrict и т. д.), и let '...
Я получаю много удовольствия от Funcy (предназначенного для развлечения) с универсальными методами. В большинстве случаев вывод типа C # достаточно умен, чтобы выяснить, какие общие аргументы он должен использовать в моих общих методах, но теперь у меня
Я новичок в Haskell и пытаюсь понять, зачем нужно писать объявления типов. Поскольку в Haskell есть вывод типов, когда мне вообще нужна первая строка? Кажется, GHCI генерирует правильные ...
Разве это определение не должно быть разрешено в ленивом языке, таком как Haskell, в котором функции каррируются? apply f [] = f apply f (x: xs) = apply (f x) xs Это в основном функция, которая применяет данный ...
У меня проблема в моем DSL с перегруженными универсальными методами, в результате чего компилятор требует, чтобы я добавил явные типы параметров: def alpha [T] (fun: Int => T): String = fun (33) .toString def ...
Скажем, у меня есть метод, который превращает (функцию для двух элементов) в (функцию для двух последовательностей): def seqed [T] (f: (T , T) => T): (Seq [T], Seq [T]) => Seq [T] = (_, _). Zip map f Словами, ...
Я хотел бы написать шаблон, который бы получал в качестве параметра возвращаемый тип функции, в которой он создается. Например, предположим, что у меня есть шаблонный класс Result: template < type ...
Насколько я знаю, любой язык программирования, которому не требуется писать аннотации типов в исходном тексте при написании функции или модуля, и если этот фрагмент кода является «корректным по типу», компилятор будет ...
Допустим, у нас есть функция, подобная f ниже, которая возвращает монаду. Однако там, где вы видите Int, представьте, что это действительно сложный тип. ж::(Monad m )=> m Int --Притвориться, что это не Int, а...
Возможно ли это как-то? Я хочу, чтобы это включало передачу аргументов во время компиляции. Предположим, это только для удобства пользователя, поскольку всегда можно ввести реальный тип с помощью template , ...
Итак, это может звучать как общий вопрос о дизайне языка, но я думаю, что здесь есть что-то конкретное. В частности, меня интересует, какие технические проблемы мешают неуклюжему коду, который...
Учитывая следующий не -очень -полезный код :package com.something; импортировать java.util.ArrayList; импортировать java.util.Collection; // Не общий класс! открытый класс Test { public void plain (T...
В соответствии со спецификацией языка Scala: ... вывод локального типа разрешает ограничивать сложность выводимых границ [параметров типа]. Минимальность и максимальность типов должны быть ...
У меня есть следующий фрагмент кода, который, хотя и совершенно тривиален, иллюстрирует шаблон, который я пытаюсь использовать в более общем коде. template<имя типа InT, имя типа ResT> Остальное одинарное _применить (InT...
Я прочитал всю книгу SCJP6 Sierra and Bates book, набрал 88% на экзамене, но тем не менее я никогда не слышал о том, как работает такой код, так как он не объясняется в главе о дженериках: Коллекции. <...
Я написал служебный метод на Java: public static final ImmutableSortedSet REVERSED_TIMEUNITS = ImmutableSortedSet.copyOf( Collections.reverseOrder(), ...
эта идиома(?) несколько раз встречается в книге о лестницах: val b:A = new B или val b = new B
val b2:A = b кроме того, что вы пытаетесь сделать несколько замечаний в учебнике, зачем вам объявлять тип...
Мне трудно понять, почему компилятор C# может вывести типы для Array.ConvertAll(new int[1], i => Convert.ToDouble(i)); но не для Array.ConvertAll(new int[1], Convert.ToDouble); когда ...