Leonid 🦇
Aleksei (astynax)
так то - всё ещё ML :)
Dmitry
пока опыт таков, что бэкенд написанный хаскеллистами заказчикам ок, а фронтенд, написанный "фронтендерами" - "бандиты уже выехали"
Leonid 🦇
Вот @astynax любит эльм
A64m
он же Reason ML
A64m
или уже просто reason?
Dmitry
и вот это всё мне подтверждали самые разные люди на девконфе, не хаскеллисты ни разу
Dmitry
почему ты не предпочитаешь ему purs ?
Aleksei (astynax)
Elm - всё ещё самый лучший вариант для "по быстрому запилить минималистичный GUI, да чтобы не обмазываться JS-тулингом".
Dmitry
как ты живешь с его сломанным дизайном?
кана
Aleksei (astynax)
Если проект подразумевается большой и есть смысл потратить время на настройку процесса, то можно и purs
Aleksei (astynax)
как ты живешь с его сломанным дизайном?
Пока ещё не всё сломали - для GUI-строения хватает (не совсем, но можно терпеть - если логику не писать, а только тонкий View для серверных данных)
Dmitry
так оно там изначально сломано
Dmitry
или они продолжают?
Aleksei (astynax)
Что изначально сломано?
Aleksei (astynax)
Есть design choices. Это правда
Aleksei (astynax)
Они - своеобразные, да. Но многим позволяют делать дело.
Leonid 🦇
Они продолжают ломать :)
Aleksei (astynax)
Вот это как раз печалит
Dmitry
"своеобразные", запомним это слово. буду употреблять как эвфемизм, для случаев повышенной трепетности собеседника
Mikhail
в Котлине вроде поднимают движуху за фп, есть arrow https://github.com/arrow-kt/arrow и вроде создатели продвигают тайпклассы https://github.com/Kotlin/KEEP/pull/87 в компилятор
Kirill
Aleksei (astynax)
Есть слухи, что запретят кортежи длинной больше трёх, например
Aleksei (astynax)
Но это только слухи пока
Dmitry
@astynax ну у нас народ смотрел purs и пришел к выводу, что по затратам на сетап сделать проект на пурс и на elm примерно одинаково. интероп с жс-ом у пурса чуть-ли не лучше
Mikhail
не уверен, что получится лучше чем в скале, но хотя бы +1 мейнстримчик в стан фп
Dmitry
@astynax ахахаха!!!
Dmitry
это серьезно?
Aleksei (astynax)
Я настраивал webpack, babel, bowr, gulp - вот это всё. Больше не хочу. В идеале - никогда
Aleksei (astynax)
это серьезно?
Про кортежи? Пока только слух. Но м.б. и сподобятся
Aleksei (astynax)
Впрочем, с анонимными row-полиморфными рекордами можно отлично обойтись без кортежей.
Dmitry
но какой смысл их запрещать, тем более, что это одно и то же?
Dmitry
и они уже есть
A64m
а было какое-то обсуждение? Никто там не написал что если запретить большие кортежи, то просто будут писать (1,(2,(3,4))) ?
A64m
или тогда вложенные кортежи запретят?
Dmitry
ага, запретят
Влод
их же ещё придётся в джс и нетив таргет запилить
Dmitry
это было бы логично.
Aleksei (astynax)
Aleksei (astynax)
Считается, что если ты делаешь кортеж длиннее трёх элементов, то тебе уже нужен record
Aleksei (astynax)
И нельзя сказать, что я строго не согласен...
Dmitry
а не считается, что это не дело авторов языка решать, что тебе нужно, а что нет?
Aleksei (astynax)
А кому ещё решать то? :)
Dmitry
разработчикам
Aleksei (astynax)
У Elm есть Эван. "Ему - виднее"
Dmitry
очередной Гвидо?
Leonid 🦇
Гвидо прогрессивнее
Aleksei (astynax)
Elm - не язык общего назначения и не язык полной свободы. И никогда не был. Это фреймворк с элементами языка
Dmitry
это прям как с эрлангом
Leo
привет. может кто-нибудь посоветовать обширный туториал по применению ленивого мап, ленивого редьюс, и всего такого с примерами для человека, который знает, как в целом знает, как работает ленивый мэп? (это же "стримы" вроде называется?)
(оффтопик-вопрос - если это не похож на пайпы в юниксе, то можете ли посоветовать самый внятный туториал по пайпам в юниксе?)
Dmitry
в общем, это работает, только если предментная область известна, ограничена и формализована
Dmitry
про фронт этого никак не скажешь
Dmitry
поэтому пустое. это язык общего назначения, чего бы они там не говорили
A64m
но с тайпклассами смешнее всего в дотнете - там фактически есть поддержка оптимизации тайпклассов в JIT и бывает даже энкодят их потому что для них межсборочные инлайны работают, т.е. это максимально приближенное в дотнете к бесплатным абстракциям
A64m
но ни одного языка с тайпклассами, естественно, нет
Влод
A64m
хотя какие-то планы есть (но поддержка, существующая с 2005 года не была использована ни одни дизайнером языков, включая самые маргинальные)
Влод
блин даже как-то интересно стало.
Andrei
A64m
уже и этому пейперу по которому сделали года два или три
Andrei
да
Влод
а тайпклассы никак не конфликтуют с ооп сабтайпингом?
тип вот имплементишь для интерфейса, наверное нужно запрещать имплементить для классов реализующих интерфейс
A64m
конфликтуют
Зигохистоморфный
тайпклассы это всего лишь некие захаренные рекорды с особой зависимостью
Andrei
там ООП изрядно так ада привносит
Влод
хотя в хаскеле и так оно вроде запрещается.
нельзя имплементить для [a] и [Int] одновременно, примерно то же самое
Andrei
хотя фшарп умеет всё, что умеет сишарп, плюс функциональщину
Aleksei (astynax)
Влод
ну я помню хотел сделать инстансы для a и Show a => a и что-то не осилил
A64m
A64m
одно дело оверлап по голове инстанса (справа от =>) - это работает, а оверлапа по контексту (слева от =>) нет