Alexander
вот помнишь когда с кметтом разговаривали?
Alexander
он говорил, что использовал из для векторов AST и AST векторов и т.п.
Alexander
вроде с linear-accelerate
Alexander
я хочу что-то такое провернуть
Алексей
Да помню. Тут вопрос что именно с екторами делать и что кодогенерировать
Alexander
ну я хочу код для своих ODE бы генерировать
Алексей
А как именно генерировать? accelerate использовать?
Alexander
я думаю да
Alexander
или руками в общем я хочу найти что можно сделать самого простого
Алексей
Я accelerate не использовал, только глядел поверхностно. Но как я понимаю она сильно отличается от Кметтовского подхота. Кметт использует всякую машинерию Traversable и родственных типов для манипуляыции AST. Это требует полиморфных типов, и бокшенья всего. Потом он из этого что-то генерит, что используется уже вне программы. Т.е. мне не очень понятно как вообще можно превратить AST во что-то быстрое _внутри_ программы.
С акселерате главная проблема, к.м.к. — определение представления типов. Там используют structure of arrays. Определять это руками немного хлоподно
Алексей
А вообще с кодогенерацией мне кажется очень важным вопрос а как идет взаиможейтсвие со всей остальной хаскелльной программой
Alexander
ну вот я и хочу так как кметт
Alexander
грубо говоря мне не обязательна программа на haskell, если я получу быстрые си или фортран то меня это устроит
Alexander
который я запущу в отдельном треде, и которые не будут взаимодействовать с haskell программой вообще пока не выполнятся
Алексей
А есть ли что-то более мнее готовоя для такого?
Alexander
угу
Alexander
вот я и спрашиваю
Alexander
я могу сделать какую-то свою тупую AST-шку
Alexander
но неявно насколько это глубокая нора
Алексей
По моему, очень. По сути это же будет компилятор
Alexander
@catamorphism FYI y'all should probably update your stack versions to avoid issues with "shadowed dependencies. Most recent development stack has a workaround for the Cabal bug. There will be a new stable release of stack imminently. For now you can either do stack upgrade —git, or build from your own checkout of stack. Another option is to test out the prerelease binaries: https://github.com/commercialhaskell/stack/releases/tag/v1.6.0.20171022
Alexander
но маловероятно что это cabal bug, максимум ghc
Denis
Thx, дома попробую
Alexander
но главное что у них workaround уже есть
Alexander
а да cabal
Anonymous
А что именно хлопотно?
Anonymous
Я accelerate не использовал, только глядел поверхностно. Но как я понимаю она сильно отличается от Кметтовского подхота. Кметт использует всякую машинерию Traversable и родственных типов для манипуляыции AST. Это требует полиморфных типов, и бокшенья всего. Потом он из этого что-то генерит, что используется уже вне программы. Т.е. мне не очень понятно как вообще можно превратить AST во что-то быстрое _внутри_ программы.
С акселерате главная проблема, к.м.к. — определение представления типов. Там используют structure of arrays. Определять это руками немного хлоподно
Alexander
при этом сам то accelerate мне и не нужен, все равно он для задач не подходит таких
分解物質
чё обсуждаете?
Alexander
кодогеренацию для линейной алгебры
Alexander
точнее для того как имея linear пакет можно сделать вектора AST и сделать из них код
Alexander
похоже придется сначала поиграться со своим простым чем-нить, но я ж уверен, что решения есть
Alexander
чего-то лор тухлый там доклад Хикки вбросили и ничего
Anonymous
мм а файловая система образует моноид?
Алексей
Она образует фрактал боли и ужаса
Евгений
Andrei
Относительно операции cat file1 file2 > file3 :D
Евгений
Это не операция над фс
Alexander
объединения inode
Alexander
списков inode
Anonymous
parket
😂
Anonymous
хом-функтор это функтор из произвольной категории в Set?
Anonymous
нет, это самый главный профунктор.
Anonymous
стрелочка как функтор от двух аргументов
Misha
C(-,=)
Misha
типа ты даешь ему два элемента из C и он возвращает тебе C(a,b)
Misha
стрелочку короч
Misha
"предпучок" это который presheaf?
Misha
господи, найс перевод
Anonymous
классика
Alexandr
Салют! Может кто-нибудь посоветовать какую-нибудь либу, на которую можно ориентироваться в плане организации и тп?
Dmitry
шо?
Alexandr
Имею ввиду хороший пример того, как должен быть организован код в либе
Alexandr
тесты/конфиги и тп
Dmitry
мы, как организация, полагаемся на base, bytestring, aeson, warp, text, servant ...
Alexander
я подозреваю про code structure layout
Alexander
src в src, тесты в tests, executable в app, например
Alexander
или сырцы в src/lib, а приложения в src/exe-name
Alexander
и все такое
Alexander
что вместо фреймворка для тестирования использовать, типа всякие discover или нет
IC
stack new lolsies simple-hpack
Alexandr
Спасибо! Разибарюсь с кабалом, хотел вот глянуть конфиги и организацию других проектов
Alexander
hpack нинужен
Aleksei (astynax)
Aleksei (astynax)
hpack - норм!
Aleksei (astynax)
Но не необходим, конечно
Alexander
пока только common-deps как бонус
Alexander
вроде в cabal так и не запилили, к сожалению
Aleksei (astynax)
автоматическое добавление модулей, вот это всё
Alexander
у меня нету strong opinion по поводу автодобавления модулей
Alexander
хотя если бы cabal умел делать cabal update-cabal-file было бы норм
Alexander
т.к. при инициализации он и модули добавляет и зависимости и прагмы
IC
ghc-options: -Wall -Werror в топлвл. ибо нефиг.
Alexander
вот мне кстати интересно дункан очень много говорил что конфигурация это моноид
Alexander
и легко можно сделать common куски
Alexander
но почему-то не сделали, или я попой читаю мануалы
A64m
есть же куча ворнингов, которые сигнализируют о том, что вообще никаких опасных последствий не имеет, о лишних импортах например или непроставленных типах