Anatolii
С акторами наверное лучше эрланг пойти посмотреть
Anatolii
Но актопы не особо кончено связаны с ФП
Λ ll И K X
Λ ll И K X
На работе.
А если не секрет что за проект?
Λ ll И K X
Какая специфика
Λ ll И K X
Просто интересно что на хаскелле ща пишут
Anatolii
можешь вот этот курс пройти попробовать https://stepic.org/course/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BD%D0%B0-%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5-Haskell-75/syllabus
Vladislav
Просто интересно что на хаскелле ща пишут
Сайт для поиска авиабилетов
Anatolii
Anatolii
я прочитал книгу Дениса Шевченко
Anatolii
потом эти курсы прошел
Anatolii
было весело
Λ ll И K X
Сайт для поиска авиабилетов
И разметка тоже хаскеллем генерится?
Vladislav
Фронт на JS, бэкенд на Haskell предоставляет просто JSON API
Anatolii
а на UI не смотрели на что-то функциональное?
Anatolii
Elm или Purescript?
Λ ll И K X
Elm или Purescript?
смотрел редукс вдохновленный эльмом )
Vladislav
Elm это только на поиграться, постепенная миграция на PureScript в планах, но пока не горит.
Anatolii
а что ж с эльмом не так?
Anatolii
выглядит красиво:)
Quet
а почему elm поиграться? у purescript как-то уж очень долго не было даж вменяемых биндингов к реакту
Boris
да тоже интересно, сейчас смотрю на него
Quet
ну точнее было 3 штуки и ни одного рабочего
Quet
а Elm.Html считай в стандартной библиотеке и даж после breaking changes в 0.17 как-то приятнее
Λ ll И K X
Фронт на JS, бэкенд на Haskell предоставляет просто JSON API
для рестапи свой велосипед или фреймворки есть?
Vladislav
Да это несерьезный просто язык, строгая типизация без нормального ad-hoc полиморфизма, не слишком проработанный рантайм, и отсутствует даже нормальная оптимизация рекурсии (так что нужно всегда быть готовым, что приложение сдохнет от переполнения коллстэка)
Anatolii
ахахахах, про TCO это весело
Anatolii
как так можно
Anatolii
с этого начинать наверное нужно было
Vladislav
Вот именно.
Anatolii
как так, это цирк
Vladislav
Но чисто с FP побаловаться, я считаю, нормальный язык. Порог входа низкий
Quet
ну и кстати, не сталкивался в elm c проблемами из-за tco видимо в задачах гуя глубокий стек получить не так просто )
Quet
ну и ручное каррирование функций для FFI в purescript подбешивало
Quet
а, понятно почему проблем с tco не было elm нормально оптимизирует ф-ции которые сами себя вызывают (большинство случаев реальных) а вот если есть взаимно рекурсивные, то да, проблемка с оптимизацией
Anatolii
@int_index вроде с Денисом работает, скорее всего
Anatolii
Денис так пиарит сервант везде
Vladislav
Да.
Quet
Погоди, есть языки, в реализациях которых имеется вменяемая оптимизация взаимной рекурсии???
а хер его знает я вообще что-то давно не сталкивался с проблемой стека и рекурсии
Vladislav
Не знаю что там сейчас у Elm с TCO, но у меня проблемы были с функцией, которая вызывала себя.
Vladislav
Хотя может быть там был не tail call.
Vladislav
Но и не взаимная рекурсия тоже.
Мерль
https://ro-che.info/articles/2016-08-07-hask-category
Anatolii
Там в комментариях Максим Сохацкий что-то сильно активный
Anatolii
Такое ощущение что он рад
Anton
Так это же не elm не умеет tco а движки js, разве нет?
Vladislav
JS-то не умеет, но от ФП-языка ожидаешь каких-то обходных путей, иначе как на нём писать?
Anton
А какие обходные пути если это все в js транспилится?
Vladislav
TCO на этапе транспиляции, трамплины всякие
Vladislav
Вон что-то нашёл даже для Elm https://github.com/elm-lang/trampoline
Anatolii
вон в джаве помойму в while это все переводится
Anatolii
ну хвостовая рекурсия
Quet
trampoline в elm медленный это как раз для случай взаимной рекурсии которая не оптимизируется
Alexander
В жвве появится TCO?
Quet
в jvm в смысле?
Alexander
+
Quet
нет но можно на уровне языка развернуть в цикл
Anatolii
я где-то читал что компилятор хвостовую рекурсию переводит в while
Quet
компилятор, в байткод где уже нет рекурсии
Λ ll И K X
Он рекурсивные вызовы циклами заменяет
Alexander
Да и в си такое
Alexander
Но в жпве вроде не делалось, хотя может мне врпли, я не проверял
Quet
в jvm со стороны рантайма в общем поддержки нет, но компиляторы понятное дело могут что угодно
Quet
компилятор жабы не делал, но вот какая-нибудь скала или кложа..
nvkv
в jvm tco нету
nvkv
именно поэтому в той же кложе есть специальная конструкция recur
Λ ll И K X
какая идеха на макоси топовая?
Λ ll И K X
leksah?
Misha
atom
Misha
c плагинами
Alexander
emacs?
Anonymous
Konstantin
emacs
Anonymous
есть кто на spacemacs?
Anonymous
чо посоветуете для старта?
https://github.com/denisshevchenko/ohaskell.guide