169 похожих чатов

Кто нибудь тестил ghcjs, для транспиляции haskell в js? Стоит ли

внимания?Есть ли подводные камни?

11 ответов

7 просмотров

Внимания стоит, если нужен для задачи. Подводные и рекоммендации: - Для сборки может потребоваться 10+GB RAM. - Не стоит писать фронт на хаскеле, потому что это неудобно и увеличивает время и память сборки. - Для релиза js можно использовать ghcjs 8.6.5 макс, т.к. с 8.10.7 версией есть проблемы с размером выходного файла (link). Использую 8.6.0.1 из pkgs из репы miso (link). - ghcjs не поддерживает ghci. GHC можно использовать с jsaddle (link, link), но я не стал. - Для разработки hs можно использовать GHC 9.6.2. С js-бэкендом собрать проект не получилось. (flake) - Релизить можно как при помощи nix build, так и cabal build в девшеле (nix develop). Собирать лучше cabal build, потому что часть сборки кэшируется. - Полученный js со всем-всем-всем может содержать одинаковые топлевельные имена, на которые ругается TypeScript при import. Я не был уверен, что смогу правильно отредактировать файл, поэтому решил не делать import в основное приложение, а грузить через script. - Сделал обертку с единственной нужной функцией (link) и зову ее из TS (link, link). Сам js подгружаю как <script> и жду, пока функция будет доступна (link). - Размер полученного js сейчас ~4 мб.

Danila Danko
Внимания стоит, если нужен для задачи. Подводные и...

Ещё не стоит ожидать что пакеты где есть ccall или capi заработают с ghcjs. FFI C код так и не понял как подцепить туда.

strewg- Автор вопроса
Danila Danko
Внимания стоит, если нужен для задачи. Подводные и...

я не согласен с тем, что "Не стоит писать фронт на хаскеле, потому что это неудобно". Из этой фразы можно убрать слово "фронт" и, на мой взгляд, получить эквивалентное утверждение. Проще говоря, - мне "удобно".

Dmitry
я не согласен с тем, что "Не стоит писать фронт на...

нет, для разных задач разная удобство

Danila Danko
Внимания стоит, если нужен для задачи. Подводные и...

> Не стоит писать фронт на хаскеле, потому что это неудобно и увеличивает время и память сборки. Спорная позиция и однобокое представление

Kirill Valyavin
> Не стоит писать фронт на хаскеле, потому что эт...

Посмотри тред. Я уже не могу отредактировать.

Danila Danko
Будь ласка, раскрой тему.

Да, неудобно, да, долго, но есть причины писать фронт на сабже даже с этими неудобствами Правда, это зависит от того, как идёт разработка

Похожие вопросы

Обсуждают сегодня

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Добрый день. Хочу сделать отрисовку по команде на панели. Почему-то рисуется только при втором вызове. С чем может быть связано, не подскажете? procedure TForm1.FormDblClick(...
Kirill Filippenok
20
Блин, интересно, кто-нибудь когда-нибудь переписывал какую-нибудь игру с x86 на arm? Вообще, такое возможно?
Alan 🔝 Бэброу
12
I just installed it but how do I use it?
Talula
12
здравствуйте, у меня есть число шестнадцаттиричное, FFFB например, это -5, как мне в консоль вывести -5? мой самописный atoi преобразовывает -5 в 65531
Maxim Of course
7
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Всем доброго дня! Подскажите может кто использовал связку Pagebuilder + Clientsetting. Сами параметры с типом pagebuilder в модуле Clientsetting работают нормально, можно такж...
Александр Добриков
12
Всем привет! Нужен совет от опытных. Переношу свой проект с Делфи 10.2 Токио на Лазарус 3.2 установленный через инсталлятор fpcupdeluxe-x86_64-win64. При импортировании проект...
Дмитрий Завгородний
7
А почему в си некоторые вещи работают с двойными кавычками некоторые с одинарными? Нельзя было все сделать с одними или чтоб работало с разными? например чтоб выводить строки ...
.
15
Эх кто-то пришел и весь праздник испортил :( You need complex FBX scene importing setup to change things on import? good luck with that. You need navigation and pathfinding? g...
Serg Gini
5
Карта сайта