Alexander
то, что выше это в общем-то тоже самое
Alexander
м нужны линейные типы чтобы запустить
IC
я правильно понял, что tasty не умеет свои группы параллельно гонять, а tasty-hedgehog заворачивает только отдельные кейсы, но не [параллельные] группы?
IC
почему странно? деревья там только для группировки
Cheese
почему странно? деревья там только для группировки
да, было бы странно, если бы не умел параллелить
IC
Features: * Run tests in parallel but report results in a deterministic order хех.. первым же пунктом.
kosc
Что почитать по Haskell, если самые азы как-то осилил, но того, о чём в это чате пишут, до сих пор не понимаю?
Anonymous
я тоже мало чего понимаю. Это норм. ☺️
sherzod
Бездонный язык
kosc
И нет желания начать понимать?
Dmitrii
Изучаю Haskell больше трех лет и тоже не все понимаю, что пишут в этом чате. Вообще, понимание этого чата не является показателем понимания языка.
Anonymous
И нет желания начать понимать?
"хочу купить козу - не имею возможности.."
Cheese
Что почитать по Haskell, если самые азы как-то осилил, но того, о чём в это чате пишут, до сих пор не понимаю?
что конкретно непонятно? какие термины незнакомы? просто спроси что-то конкретное, книги посоветуют
kosc
Ну вот из сниппета выше - что за Proxy, в данном случае?
kosc
newtype F (n :: Nat) = F { runF :: Proxy n -> Int -> (F (S n), String) }
kosc
Копипаст, что бы не хайлайтить человека реплаем.
Alexander
Я тоже мало что понимаю 😊
kosc
Ой да ладно.
kosc
Если ща ещё Вершилов придёт.
kosc
И скажет, что мало что понимает.
kosc
То я всё.
Alexander
Ты думаешь, я в курсе, что такое "линейные типы", о которых шла выше речь? Да я даже снипетов кода с ними ни разу не видел
Alexander
Я только понял предназначение по сообщениям @qnikst
Зигохистоморфный
newtype F (n :: Nat) = F { runF :: Proxy n -> Int -> (F (S n), String) }
когда нужна информация о типе, но не нужно содержимое, еще про фантомы почитай
Alexander
а что? ничего не понимаю
Alexander
это сделана функция которую можно вызвать только 1 раз при условии что Лин типы есть, каждый раз с разным прокси
Alexander
там чуть выше вариант похожий, может он проще для понимания?
Евгений
И скажет, что мало что понимает.
Тут только клапауций всё понимает, но он обычно сам с собой разговаривает
kosc
когда нужна информация о типе, но не нужно содержимое, еще про фантомы почитай
На русском есть что годное? А то мне для чтение доков по хаскеллю на инглише часто не хватает либо инглиша, либо хаскеля.
Зигохистоморфный
мое понимание ЛТ что это сродни неких стримов, больше никогда нельзя обратиться к элементам из прошлого)
Cheese
Ну вот из сниппета выше - что за Proxy, в данном случае?
сам Proxy — весьма банальный тип, содержащий информацию только на уровне типов
Combot
Hot Kosc (0) увеличил репутацию Yuriy Syrovetskiy (1)
Евгений
Alexander
Это шо?
Cheese
Что-то вроде типа для типа?
посмотри его определение в стандартной библиотеке
Cheese
Что-то вроде типа для типа?
что-то вроде типа, помеченного типом
Зигохистоморфный
kosc
О, спс.
Зигохистоморфный
фантомы еще почитай
kosc
Погодите-ка. Так Haskell же вроде как не может в dependent types?
Зигохистоморфный
прокси это фантом без тела
kosc
Ладно, сначала ознакомлюсь.
Cheese
Погодите-ка. Так Haskell же вроде как не может в dependent types?
полностью (пока) не может, частично может
Зигохистоморфный
Погодите-ка. Так Haskell же вроде как не может в dependent types?
синглтоны частично дают какую-то возможность DT
kosc
синглтоны частично дают какую-то возможность DT
Это чё, я могу в петон зависимые типы притащить?
Зигохистоморфный
Cheese
Это чё, я могу в петон зависимые типы притащить?
только если сначала типы притащить
kosc
Хотя так-то сами типы и в дефолтном петоне есть.
kosc
Хотя с точки зрения Си это всё PyObject.
Зигохистоморфный
только если сначала типы притащить
а промоутинг как там тогда сделать?)
Cheese
MyPy
да, туда теоретически можно зависимые типы
Cheese
Хотя так-то сами типы и в дефолтном петоне есть.
нет, он по определению бестиповый
kosc
Не-не-не, погодите.
Cheese
Хотя с точки зрения Си это всё PyObject.
в этом и суть бестипового языка
kosc
Динамическая строгая типизация.
kosc
Есть же всякие type(obj) которые возвращают тип для obj
kosc
Или я чего не так понял?
Cheese
Динамическая строгая типизация.
типизация, строго говоря, может быть только статическая. динамическая — это проверка тэгов такая терминология в теории языков программирования
Cheese
в промышленности это называется «типизацией», только почему-то работает совсем по-другому
Alexander
Где-то я уже это видел
Cheese
вообще, есть тип как представление данных и тип как способ работы с данными. в динамических языках есть только первые
Алексей
что такое "тип как способ работы с данными"?
Алексей
тот, который в TAPL
То есть мне придётся читать всю книгу чтобы узнать
Алексей
Делать я этого конечно не буду
Cheese
я тоже не читал
Алексей
а ну тогда ладно, тогда ща будем дискутировать
Cheese
там что-то про синтаксический способ формирования выражений
Алексей
Просто "тип как способ работы с данными", если понимать так как я понимаю, то и "динамическая типизация" вполне под это попадает.
Cheese
Система типов — совокупность правил в языках программирования, назначающих свойства, именуемые типами, различным конструкциям, составляющим программу — таким как переменные, выражения, функции или модули.
Cheese
Просто "тип как способ работы с данными", если понимать так как я понимаю, то и "динамическая типизация" вполне под это попадает.
динамическая типизация разрешает любые выражения запускать, просто вычисление некоторых заканчивается плохо. а статическая накладывает ограничения, говорит, какие выражения правильные, какие нет