Вопросы по теме '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 просмотров

Проблема понимания вывода типа C #, как описано в спецификации языка
Спецификация языка C # описывает вывод типа в Разделе §7.5.2. В нем есть деталь, которую я не понимаю. Рассмотрим следующий случай: // declaration void Method<T>(T obj, Func<string, T> func); // call Method("obj", s =>...
1196 просмотров

Потоки и делегаты — я не совсем понимаю их отношения
Я написал код, который выглядит примерно так: Thread t = new Thread(() => createSomething(dt, start, finish) ); t.Start(); И это работает (иногда кажется, что существует несколько потоков). Но я не использую никаких делегатов. В...
40397 просмотров

Понятия не имею о выводе типа С++ 11
Понятия не имею о выводе типа С++ 11 Насколько мне известно, в С++ 11 есть как минимум 3 вывода типов: шаблон вывести авто decltype Но я не могу построить для них концептуальную модель. Это сбивает меня с толку. В результате я не...
788 просмотров
schedule 21.03.2023

Как GHCi выбирает имена для переменных типа?
При использовании интерактивного интерпретатора GHC можно запросить предполагаемый тип выражения: Prelude> :t map map :: (a -> b) -> [a] -> [b] Кажется, что он берет имена переменных типа из подписи, поскольку map - это...
331 просмотров

Несоответствие Scala при отображении Map
Я делаю свои первые интересные шаги (не уровень приветствия) со Scala (2.9.1), и я застрял, пытаясь понять очень неинформативное сообщение об ошибке. Это примерно так: error: type mismatch; found : (Int, Array[InputEntry]) => (Int, Double)...
4067 просмотров

Почему 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