Size: a a a

2021 June 12

[

[BRM]White Rabbit in Haskell
read :: Read a => String -> a
источник

AF

Alexey Fedotov in Haskell
Да в принципе даже с эвалом можно было бы реализовать такую "проверку типов", просто отключать её, если где-то этой переменной присваивается результат эвала. Суть в том, что утверждения о типах в коде все равно присутствуют
источник

t

toriningen in Haskell
ну это все жеж не то, на string ограничений не накладывается
источник

[

[BRM]White Rabbit in Haskell
тип для a подбирается ниже по коду, после вызова
источник

t

toriningen in Haskell
да, но String при этом никак на это не реагирует. я про что-то типа обратного рефайнмента типов, скорее
источник

t

toriningen in Haskell
где для a специфицированного Number получается какой-нибудь недонаселенный StringWithNumber в аргументе
источник

O

Ortofax in Haskell
это же на самом деле read :: (a :: *) -> (Read a :: Constraint) -> String -> a
источник

к

кана in Haskell
все еще не понимаю поинт, когда мы делаем

x.y, мы как бы тоже говорим, что x это не undefined/null, но проверка у этого будет только в рантайме, с реальным значением, а не с метаинформацией
источник

t

toriningen in Haskell
хотя в какой-то момент все равно придется String как-то приводить к StringWithNuber
источник

ЗП

Зигохистоморфный Пре... in Haskell
nasm по умолчанию с маком, он идет в купе с икскодом
источник

t

toriningen in Haskell
dosbox 😉
источник

[

[BRM]White Rabbit in Haskell
dualboot
источник

AF

Alexey Fedotov in Haskell
мы говорим, что это не undefined/null, но не говорим, какой это тип. Когда мы используем (), мы явно говорим, что здесь функция
источник

AF

Alexey Fedotov in Haskell
И да, интерпретаторы это не проверяют, и это никому не нужно. Но они могли бы.
источник

к

кана in Haskell
в жс есть два внутренне различных вида функций, () => {} и Function
источник

к

кана in Haskell
вроде как можно даже в рантайме определить, какой это из видов
источник

к

кана in Haskell
там какие-то параметры разные, что-то выдает меньше информации
источник

[

[BRM]White Rabbit in Haskell
ну да, потому что () => {} это не функция, это делегат
источник

к

кана in Haskell
ох, вообще не знаю что такое делегат, звучит как термин из сугубо .net экосистемы, больше нигде не видел
источник

[

[BRM]White Rabbit in Haskell
да, оттуда
источник