Alexander
Alexander
Чтобы typelevel DSLи писать, - это надо, чтобы у твоего работодателя были стальные, ну или ты сам им был
Зигохистоморфный
Dmitry
Александр сервант же.
Зигохистоморфный
или хайпер https://github.com/owickstrom/hyper
Oleg
Alexander
Нервы
Oleg
Буду знать, что у моего стальные
Alexander
Вот и рассказали бы свой опыт, поделились знаниями. Как писать, что использовать
Dmitry
ладно, в этом вашем фрии. как писать интерпретаторы без явной рекурсии?
Leonid 🦇
Ты можешь писать на чем хочешь, если ты сам себе работодатель.
Leonid 🦇
Alexander
Без явной - no remorse в исполнении PureScript. Там фолдишь структуру.
Alexander
В хаскельной либе, впрочем, тоже foldFree есть
Зигохистоморфный
Alexander
Что вообще такое - неявная рекурсия? Скрытая за комбинаторами вроде fold?
Dmitry
да
Alexander
Ну вообще можно CPS
Alexander
Хотя, наверное, это тоже "явная". Или нет?
Зигохистоморфный
ладно, в этом вашем фрии. как писать интерпретаторы без явной рекурсии?
ну вот я скрестил фри + рекурсивные схемы и никакой рекурсии явной нет
brainFuckProgram :: BrainFuck () -> String
brainFuckProgram code = cata go code
where go (CMTF.Pure ()) = ""
go (CMTF.Free t) = case t of
(Inc rest) -> '+' : rest
(Dec rest) -> '-' : rest
(MoveL rest) -> '<' : rest
(MoveR rest) -> '>' : rest
(Input rest) -> ',' : rest
(Output rest) -> '.' : rest
(Loop body rest) -> "[" ++ brainFuckProgram body ++ "]" ++ rest
Зигохистоморфный
вообще я считаю рекурсивные схемы более мощнее чем фри монады
Oleg
Oleg
Dmitry
Dmitry
гугл умный
Dmitry
в отличие от.
Зигохистоморфный
Alexander
Так ФП мейнстрим или нет?
Alexander
(Наброс, а то тихо что-то)
Dmitry
такой же как и линукс
Dmitry
на десктопе
Alexander
У меня Линукс на десктопе. И я ФПшник. Мне сложно судить. Хотелось бы чужие мнения послушать
Dmitry
спроси в интернете, какой процент аудитории пользуется интернетом
Alexander
Ну ладно. Мы сегодня уже похоливарили.
A64m
уже вытекает обратно из мейнстрима
доня.
разве?
Dmitry
все умрут, останется только go
Dmitry
который еще несколько упростят.
Alexander
снова вечеринка нубских вопросов.
String к ByteString можно скастить как то?
Зигохистоморфный
Alexander
хочет [Word8] :(
Зигохистоморфный
а BS откуда?
Алексей
А вам в какой кодировке? BS, это просто куча байтов
Alexander
логично
Alexander
Data.ByteString.Lazy.UTF8
я так понимаю, encodeUTF8?
Зигохистоморфный
хочет [Word8] :(
https://www.stackage.org/haddock/lts-10.5/bytestring-0.10.8.2/Data-ByteString-Char8.html#v:pack
Алексей
Плохое советуешь
Зигохистоморфный
ну или https://www.stackage.org/haddock/lts-10.5/utf8-string-1.0.1.1/Data-ByteString-Lazy-UTF8.html#v:fromString
Dmitry
по поводу кастов
Dmitry
то, что я сейчас посоветую это очень плохо. но мы без этого уже не можем
Dmitry
interpolatedstring-perl6
Зигохистоморфный
Dmitry
ну потому что помимо прочего, можно еще и скастовать строки по ходу.
Dmitry
что бы без pack/unpack/toStrict
Dmitry
ну, бывает надо быстро сделать, а это всё равно в проекте всегда есть
Зигохистоморфный
я как-то находил такой пакет https://www.stackage.org/lts-10.5/package/text-show-3.7.1
Alexander
@A64m_qb0 какой бы -n делать, при -A32m?
A64m
да я не думаю, что от его подбора какой-то толк будет. 2 или 4. Да в 8.2 при таком А он и так нормальным должен быть
Alexander
m ?
A64m
ну да, 2m или 4m
Alexander
Alexander
Во многих языках такие конструкции даже форсятся вместо конкатенации
Andrei
Aleksei (astynax)
interpolatedstring-perl6
Зачем это использовать, если уже давно есть shakespeare, который и удобнее (sbt - отличная штука) и живой?
Kirill
Simple build tool??? :)
Nikolai
Cheese
https://www.stackage.org/haddock/lts-10.5/shakespeare-2.0.15/Text-Shakespeare-Text.html#v:sbt же
Alexander
Шекспир не очень приятный шаблонизатор, особенно если нужна строка с хитрой логикой
Alexander
там для логики язык несколько странный был
Kirill
@qnikst а для distributed-haskell не смотрели https://arxiv.org/abs/1802.02652 ?
Kirill
или он по сути на суппорте и особых планов развития нет?
Kirill
правда на "посмотреть" всего 3 дня было :)
Alexander
по сути на саппорте
Alexander
пасиб за статью посмотрю мне интересно
Kirill
поделись потом мнением, например
Alexander
обязательно