Зигохистоморфный
блаблакод
Leonid 🦇
может после экзистенциальных фри монад оно и лучше даже зайдёт
Alexander
в общем похоже самый поганый доклад
Alexander
надо бы мемчиков вставить и кложуристов потроллить
Ю ли я? 🤔
data Bla = Bla Bla
Leonid 🦇
это где так?)
это у @graninas
Зигохистоморфный
ага, а записи, слайды будут?)
кана
опа, что за экзистенциальные фри-монады
Leonid 🦇
в прошлый раз было, но это было в другой конторе)
Ilya
проверил, работает -- | -- >>> :step foo 3 -- ... -- >>> bar 2 -- 50 foo :: Int -> Int foo x = bar x where bar y = x + y ### Failure in src/Main.hs:7: expression `bar 2' expected: 50 but got: 5 Examples: 2 Tried: 2 Errors: 0 Failures: 1
выглядит интересно, а как это запускать? нашёл в репах doctest, поставил через apt. Выдает $ doctest test2.hs test2.hs:6:1: parse error on input ‘foo’
кана
ну просто сам термин странноватый экзистенциальные типы (с каким-то монадным классом-интерпретатором в tagless стиле, или сразу с объектом методов с монадным инстансом результатов) дают нам почти то же самое, что и фримонады с разными интерпретаторами (только "отложенно"), зачем их совмещать
Alexander
где найти место в округе JetBrains где есть розетка, слайды допили то?
Влод
я думаю это шутка была
Alexander
допилить
Leonid 🦇
> eDSL для графа переходов на free-монадах и экзистенциальных типах звучит не так забавно
A64m
у этого в кабал файле прописан test-suite doctests type: exitcode-stdio-1.0 main-is: doctests.hs build-depends: base, doctest >= 0.8 default-language: Haskell2010 а в этом самом doctests.hs import Test.DocTest main = doctest ["-isrc", "src/Main.hs"] запускается как и любые другие тесты, stack test например
A64m
@Masteroid ^
A64m
можно, но без кабал файла никто ничего не делает
Leonid 🦇
а что за cabal doctest?
кана
не ну кто-то делает наверняка но это дико геморно наверное, вручную зависимости качать, как-то собирать их
Ilya
а без кабала никак нельзя? вот первый же пример отсюда https://ocharles.org.uk/blog/posts/2013-12-18-doctest.html у меня тоже падает с parse error
To run this, we have two options. One is to simply use the doctest executable: > doctest 2013-12-18-square.hs Examples: 1 Tried: 1 Errors: 0 Failures: 0 ^^ мне бы это сначала хотя бы сделать
Leonid 🦇
https://github.com/haskell/cabal/blob/master/Cabal/Distribution/Simple/Doctest.hs уже год как есть
Ilya
или лыжи не едут...
A64m
а что за cabal doctest?
никогда не пробовал им пользоваться
Ilya
вместо этого получаю $ doctest 2013-12-18-square.hs 2013-12-18-square.hs:6:1: parse error on input ‘square’
поставлен вот этот пакет "doctest - test interactive Haskell examples; executable" не понимаю, почему не работает. ghci эти файлы прекрасно кушает, если что
A64m
не понимаю, зачем пытаться что-то сделать каким-то специальным способом, с которым никто помочь не может, потому, что никто им не пользуется?
Leonid 🦇
cabal doctest не для new
Leonid 🦇
:(
Ilya
вместо этого получаю $ doctest 2013-12-18-square.hs 2013-12-18-square.hs:6:1: parse error on input ‘square’
Разобрался. Надо было добавить в шапку .hs файла module Test where. Без названия модуля не парсил :)
Ilya
Разобрался. Надо было добавить в шапку .hs файла module Test where. Без названия модуля не парсил :)
$ doctest test1.hs Examples: 1 Tried: 1 Errors: 0 Failures: 0 $ doctest test2.hs test2.hs:4:1: parse error on input ‘foo’ $ cat test1.hs module Test where -- | -- >>> foo -- 5 foo = 5 $ cat test2.hs -- | -- >>> foo -- 5 foo = 5
Ilya
выглядит как баг anyway
Alexander
переименуй test2 в main
A64m
в файле без module Blah where обязан main быть
A64m
иначе некорректный хаскель
Ilya
иначе некорректный хаскель
видимо так. просто привык маленькие программки без module where писать, ghci их прекрасно кушал, ghc Тоже
Alexander
угу
Ilya
буду знать теперь
Alexander
Меня хайлайтили где-то?
Alexander
ага, а записи, слайды будут?)
Слайды будут обязательно.
Зигохистоморфный
Alexander
так последние часы чтобы начать делать слайды
Alexander
так последние часы чтобы начать делать слайды
РКН пытался тебе помочь тем, что всячески блочил Телеграм.
Alexander
он заставлял меня настроить VPN на этом ноуте
Alexander
и всячески отвлекал
Alexander
ладно вроде покатит то что есть
Aλe
Alexander
а если придумать как вставить пару обидных мемасиков, то тогда как раз время под веселые вопросы останется
Alexander
но я не умею обидные мемы искать
Aλe
Прости, если обидела) шутки у меня злые)
Alexander
если это была злая шутка, то я её не понял : /
Alexander
во всяком случае не воспринял как злую
Aλe
=)
Leonid 🦇
Leonid 🦇
@A64m_qb0 вопросики где были для типовых переменных?
Leonid 🦇
Или звёздочки
Alexander
Alexander
Шпиены
Leonid 🦇
@A64m_qb0 это какой год?
Alexander
Alexander
сам шпиён
Alexander
Я шпиеню за шпиенами. Я дуален. Кошпиен
Ю ли я? 🤔
Меташпиён!
A64m
где вопросы были не помню, и это не ПМ (из паттернов ничего не байндится)
Alexander
звёздочки это ж Миранда?
Alexander
map :: [*] -> (* -> ) -> []
A64m
там тоже были, но это из МЛя
Alexander
тупой телеграм
Combot
combot.org/chat/-1001043143583
Leonid 🦇
Язык фуфло, бэкендов много
Ю ли я? 🤔
Fooflang
Ю ли я? 🤔
Fooflow
Aliester
как узнал что стейт в редаксе хендлится через свитч
Aliester
так мерзко стало
Nikita
так ну а как
Nikita
хотя мне кажется ты не туда пишешь)
Alexander
ага, а записи, слайды будут?)
Слайды: https://docs.google.com/presentation/d/1A5hdUPceHx0H5NeQ_20iOFLsNrqJs_nPTBaJ2_eIAVo/edit?usp=drivesdk Позже на что-нибудь вменяемое залью