Вопросы по теме 'type-inference'
Почему F # предполагает этот тип?
Это мой код:
type Cell<'t>(initial : 't) =
let mutable v = initial
let callbacks = new List<'t -> unit>()
member x.register c = callbacks.Add(c)
member x.get () = v
member x.set v' =
if v' <> v...
471 просмотров
schedule
27.02.2022
Каковы пределы вывода типов?
Каковы пределы вывода типов? Какие системы типов не имеют общего алгоритма вывода?
1443 просмотров
schedule
08.03.2023
Проблема понимания вывода типа C #, как описано в спецификации языка
Спецификация языка C # описывает вывод типа в Разделе §7.5.2. В нем есть деталь, которую я не понимаю. Рассмотрим следующий случай:
// declaration
void Method<T>(T obj, Func<string, T> func);
// call
Method("obj", s =>...
1196 просмотров
schedule
04.02.2022
Потоки и делегаты — я не совсем понимаю их отношения
Я написал код, который выглядит примерно так:
Thread t = new Thread(() => createSomething(dt, start, finish) );
t.Start();
И это работает (иногда кажется, что существует несколько потоков).
Но я не использую никаких делегатов.
В...
40397 просмотров
schedule
16.12.2022
Понятия не имею о выводе типа С++ 11
Понятия не имею о выводе типа С++ 11
Насколько мне известно, в С++ 11 есть как минимум 3 вывода типов:
шаблон вывести
авто
decltype
Но я не могу построить для них концептуальную модель. Это сбивает меня с толку. В результате я не...
788 просмотров
schedule
21.03.2023
Как GHCi выбирает имена для переменных типа?
При использовании интерактивного интерпретатора GHC можно запросить предполагаемый тип выражения:
Prelude> :t map
map :: (a -> b) -> [a] -> [b]
Кажется, что он берет имена переменных типа из подписи, поскольку map - это...
331 просмотров
schedule
07.11.2023
Несоответствие Scala при отображении Map
Я делаю свои первые интересные шаги (не уровень приветствия) со Scala (2.9.1), и я застрял, пытаясь понять очень неинформативное сообщение об ошибке. Это примерно так:
error: type mismatch;
found : (Int, Array[InputEntry]) => (Int, Double)...
4067 просмотров
schedule
11.03.2022
Почему var выводит объект типа, а не XmlNode в цикле XmlNodeList?
Если кто-то проходит через XmlNodeList, как это
foreach (XmlNode foo in xmlNodeList) {string baa = foo.Attributes["baa"].Value;}
все работает так, как ожидалось - foo явно имеет тип XmlNode , а IDE VS.NET показывает методы и поля.
С...
935 просмотров
schedule
03.04.2024
Почему моя функция не обобщается интуитивно?
У меня возникли проблемы с пониманием поведения механизма вывода типов F#. Оператор string полагается на отправку статического типа во время компиляции, а не во время выполнения, поэтому что-то вроде let lowerstring = string >> (fun s ->...
86 просмотров
schedule
31.10.2023
функция не может соответствовать типу
У меня есть функция, как показано ниже:
foo :: Int -> a -> [a]
foo n v = bar n
where
bar :: Int -> [a]
bar n = take n $ repeat v
используя ghci, сообщите об этой ошибке:
Couldn't match type `a'...
1164 просмотров
schedule
18.02.2023
Что такое использование дженериков в Java? X.‹Y›метод()
Я прочитал всю книгу SCJP6 Sierra and Bates book, набрал 88% экзамена.
Но, тем не менее, я никогда не слышал о том, как работает такой код, поскольку он не объясняется в главе о дженериках:
Collections.<TimeUnit>reverseOrder()
Что...
759 просмотров
schedule
10.10.2022
Использует ли .NET 3.5+ вывод типа для свойства DataRow.Item?
Сегодня я работал с каким-то устаревшим кодом и заметил кое-что странное. У нас есть старый код ADO .NET, который считывает некоторые данные из базы данных в файл DataTable .
В какой-то момент следующий код...
123 просмотров
schedule
13.02.2023
Подпись частичного типа
Возможный дубликат: неполная подпись типа
Рассмотрим следующее:
import Network.HTTP.Conduit
(parseUrl "http://stackoverflow.com") :: Maybe a
parseUrl возвращает Failure HttpException m => m (Request m')
Это...
213 просмотров
schedule
17.10.2022
Эквивалентность подписи типа
Это следует из этого вопроса.
Почему:
... = ... x :: a ...
не определяется как
... = ... x `asTypeOf` (undefined :: a) ...
то есть в операторах присваивания, а не в объявлениях типов?
(Примечание: a может быть любым,...
1390 просмотров
schedule
30.11.2022
F # слишком агрессивный вывод типов?
Поэтому при решении некоторых задач Project Euler я хочу иметь возможность извлекать квадратный корень из целочисленных значений (int, long , bigint и т. д.), но Sqrt определен только для значений с плавающей запятой. Поэтому я написал свой...
271 просмотров
schedule
04.03.2023
Ограничения вывода типов в ML
Я читал анекдоты о людях, которые использовали ML в промышленности, говоря, что они довольно часто сталкивались с ограничениями вывода типов и вынуждены использовать явные аннотации типов в своих программах. Может ли кто-нибудь привести явные примеры...
230 просмотров
schedule
27.05.2023
Сделать вывод, что типы, используемые в функции, являются литералами?
В «Scala in Depth» есть пример, где автор объясняет, как Scala может делать некоторый уровень вывода по аргументам, переданным в методы. В качестве примера показано следующее:
def myMethod(functionLiteral: A => B):Unit
myMethod({ arg:A =>...
68 просмотров
schedule
09.05.2023
Экземпляр класса Read в Haskell
Я только начал получать удовольствие от haskell, когда застрял.
Я пытаюсь сделать свой новый тип данных (назовем его MyType ) экземпляром класса Read . Mytype — это конструктор типа, поэтому в качестве параметра он принимает другой тип. Я...
269 просмотров
schedule
20.07.2022
Почему алмаз не может вывести типы на анонимных внутренних классах?
В Java 7 и более поздних версиях алмаз можно использовать для вывода типов, как обычно, без проблем:
List<String> list = new ArrayList<>();
Однако это невозможно для анонимных внутренних классов, например:
List<String>...
9512 просмотров
schedule
01.10.2022
Написание тестового выражения, которое соответствует определенному выводу типа в F #
Я освежаю некоторые ключевые моменты в F #, и мой инструктор порекомендовал несколько упражнений, которые помогут нам понять концепции ( не домашнее задание). Он дал нам определенные типы, которые компилятор F # определит при получении образца...
75 просмотров
schedule
16.05.2022