Vladislav
Отдельно стоящие убить надо
Алексей
type/data instance Foo Bar = ... всего два слова. По моему нормально
Vladislav
Как это в Constrained type families описано
Алексей
Отдельно стоящие убить надо
ем они вам не полюбилиись?
A64m
ну там для убивания посерьезнее основания чем плохой синтаксис
Vladislav
Это да
Vladislav
ем они вам не полюбилиись?
Мешают компилятору apartness детектить
Vladislav
Вот недавно с @A64m_qb0 обсуждали что-то и наткнулись
Алексей
apartness? Ну и vector, боюсь сломается в unboxed части
A64m
apartness? Ну и vector, боюсь сломается в unboxed части
так там функциональность вся сохранится
A64m
вектор же можно на ассоциированных типах сделать
Kirill
@qnikst а зачем вы хаскель в wasm компиляете? Есть реальный клиент?
A64m
причем еще и размер получающегося васма так важен, что стоит того чтоб свои кодогенератор и рантайм писать
A64m
1) прочитал гигантский коммент от автора webghc величиной с блогпост 2) нажал F5 3) > EDIT: This comment apparently got posted in an intermediate state before I had finished writing it. People should reread
Alexander
вроде нету
Kirill
академики :)
Евгений
@qnikst а зачем вы хаскель в wasm компиляете? Есть реальный клиент?
Любой браузер поддерживает wasm. Или вы о чём?
A64m
речь про разработку своего кодогенератора и рантайма для гхц
Alexander
Любой браузер поддерживает wasm. Или вы о чём?
клиент в смысле кому это нужно и кто оплатит
Евгений
А
Cheese
@qnikst, почему ваши не обратили внимание на https://github.com/SPY/haskell-wasm? кажется, @irezvov дальше продвинулся
Alexander
без понятия
Alexander
чела, который пилил aeterus наняли он продолжил его тут пилить
Alexander
а по тому дальше или нет я не компетентен, чтобы сравнить и что-либо сказать
A64m
а почему не того, который webghc делает?
Alexander
читая Readme того что в haskell-wasm написано я не вижу почему это об одном и том же
Alexander
а почему не того, который webghc делает?
на реддите Метью писал что-то
A64m
@qnikst, почему ваши не обратили внимание на https://github.com/SPY/haskell-wasm? кажется, @irezvov дальше продвинулся
это разве не либа на хаскеле из серии Language, т.е. для того чтоб тулы для языка на хаскеле писать, а не хаскель в васм компилять?
Cheese
я тоже не разбираюсь, пусть @irezvov сам расскажет
Ilya
Ща до работы доеду
Alexander
вот судя по тому что чекбокснуто, похоже на то + интерпретатор?
Alexander
но я не шарю
Ilya
Да, интерпретатор есть
Cheese
ghci?
Ilya
не, интерпретатор WASM'a
Ilya
вроде отстендапился
Ilya
итого, haskell-wasm это действительно Language пакет в котором есть парсер текстового представления, сериализатор/десериализатор, интерпретатор и CodeGen API(как раз пытаясь его улучшить я вчера боролся с GHC в этом чатике)
Ilya
изначально, как заявлено в ридми, у меня тоже была цель сделать WASM бекенд для GHC компиля Cmm в Wasm
Ilya
но в какой-то момент я стал смотреть в пайплайн Idris'a и мне его подход к кодогенерации показался более разумным. По этому что бы не закапаться в кишках GHC я начал с кодогенерационного бекенда для Idris'a
Ilya
https://github.com/SPY/idris-codegen-wasm
Ilya
не смотря на то, что я потратил на него всего 2 недели он вполне себе даже работает. Есть поддержка на уровне рантайма строк и числовых операций, эмуляция стека. Почти готова сборка мусора
Ilya
в будущем если всё же дойду до встраивания в GHC'шный пайплайн, я наверное буду компилировать STG в идрисоподобный байткод и переиспользовать тот же рантайм до какой-то степени
Ilya
потому что Смм в своей архитектуре слишком сильно закаладывается на возможность прыгнуть в произвольное место или передать выполнение коду по указателю(такое WASM не умеет)
Ilya
собственно вот. DHC упомянутый в Twig.io'шной статье кстати вроде собирались перейти на мою либу для кодогенерации судя по этой ише https://github.com/dfinity/dhc/issues/1
Ilya
@qnikst а вот заменить binaryen на мою либу в asterius'e вполне здравая идея
Alexander
я предложу
Alexander
предложил
Ilya
ну там что бы начать использовать надо зарелизить мою либу конечно, но если будет реально желание начать это делать, могу зафорсить этот процесс
t1db1t
https://www.reddit.com/r/haskell/comments/8mxmmt/i_am_not_snoyjerk/
A64m
тем временем https://ghc.haskell.org/trac/ghc/blog/ghc-8.4.3-released
Alexander
я тогда в приват отпишусь чего и как
Alexander
в идеале он бы хотел переключиться но видимо позже
Timofey
А подскажите какую-нибудь легковесную либу для работы с графами? Конкретно в моём случае - надо ориентированный граф без циклов распарсить из логов, дальше надо выдавать результаты а-ля "верни все рёбра и вершины, до которых можно дойти из такой-то вершины"
KLH
всем привет! по scotty есть 2 вопроса : 1) есть ли возможность low-level управления сокетом, или неким writer-ом - чтобы можно было сделать rate-limit и тп ?
KLH
2) не могу понять, как сделать некий post action после scotty-ного хендлера (но не одновременно, а после удачной записи последнего байта) app = do get "/test" $ do file "sc.hs1" liftIO $ putStrLn "TEST" тут TEST пишется сразу после начала получения файла, а хочу - после (например, нужно сделать web-запрос на контрольный сервер)
Kirill
это уже ближе к warp чем к scotty
Kirill
(я про (1))
KLH
это уже ближе к warp чем к scotty
да. я пон. а в servant-е тоже наверное такого нет (про (1))?
Aleksei (astynax)
scotty, это уже application level. Нужно в warp лезть
Kirill
это не его задачf
Denis
servant тоже warp-ом сервится
Denis
копать в warp
Denis
2 можно сделать как wai-middleware
Timofey
containers ?
тоже попробую, спасибо
Timofey
algebraic-graphs
и это тоже посмотрю
Зигохистоморфный
algebraic-graphs
я решил это не подсказывать) ибо довольно большая либа
Зигохистоморфный
а мне кажется удобной
ну все алгебраическое - удобное)
A64m
подсказал самую неудобную зато
Timofey
А раз пошла такая пьянка, то из какого представления потом будет проще всего сгенерить svg? Пока вместо графа у меня самопальное дерево, которое я потом скармливаю graphviz
Евгений
graphviz-либа прибита в fgl
A64m
Kirill вы придумали уже, как искать пакет по модулю? а то у меня появилась идея stack exec ghc-pkg -- find-module Linear
Kirill
ну разовый кейс разрешился