В порядке паралельного изучения ELM и ROS состыковал одно с другим. Хотя в ELM не хватает тайпклассов и макросов, UI на нем пишется поразительно быстро и легко. Я уже просто не понимаю, зачем делать фронтенд на чем либо еще.
Ну использование только отступов мешает при отладки с помощью REPL. Haskell все-таки разрешает и фигурные скобки. Но в целом да, приятнее чем обилие пунктуации в традиционном синтаксисе.
А как же тогда в ELM'е вводить λ-функции? На эти грабли - двумерный синтаксис без одномерного, в Питоне наступили, т.к. его автор - "чукча-писатель". В результате, lambda: - это не просто функция без имени, а какая-то совершеннейшая херня.
Elm прекрасен в качестве первой (второй, третьей) дозы. Когда садишься на это дело плотно нужен стафф потяжелее. Я на эльме начал тренироваться когда он еще был настоящий FRP, и подсев на идею, перешел на пурескрипт :-)
Самое близкое к этому, имхо, https://github.com/slamdata/purescript-halogen Он вполне production ready и активно девелопится Сламдатой. При этом в отличие от Эльма, в любой момент можно опуститься до унизительного js и втулить какой-нибудь сране jquery widget. Ну или по крайней мере я себя так уговариваю, я пока Галоген не освоил, у меня фронт написан по старинке (пурескрипт у меня на ноде).
Вполне рабочий вариант, на джаваскрипте десктоп вполне делают. Но для десктопа много альтернатив, та же Scala. Для Rust были даже реализации TEA (relm например). Сейчас появился Flow9, который компилирует сразу для web (html5+даваскрипт), мобилки и десктопы (через C++ или neko). Библиотека UI не TEA, но хотя бы FRP. Проект сырой, но мне кажется перспективным.
Comments 17
Все-таки, ISWIM'овский синтаксис очень приятен, не правда ли? ;-) Особенно его Miranda/Clean/Haskell вариант.
Reply
Reply
Reply
(\x -> let
y = x
z = y
in
z)
В REPL приходится \ в конце строки добавлять и отсчитывать пробелы.
Reply
Тем не менее, все известные мне практикующие Elm-еры разбрелись, кто на Purescript, кто на GHCJS :)
Я лично пока ещё держусь (хоть я и весьма редко фронтенды делаю), но purescript уже немножко подосвоил =)
Reply
Reply
Reply
Reply
Он вполне production ready и активно девелопится Сламдатой. При этом в отличие от Эльма, в любой момент можно опуститься до унизительного js и втулить какой-нибудь сране jquery widget. Ну или по крайней мере я себя так уговариваю, я пока Галоген не освоил, у меня фронт написан по старинке (пурескрипт у меня на ноде).
Reply
Reply
Reply
Но для десктопа много альтернатив, та же Scala. Для Rust были даже реализации TEA (relm например).
Сейчас появился Flow9, который компилирует сразу для web (html5+даваскрипт), мобилки и десктопы (через C++ или neko). Библиотека UI не TEA, но хотя бы FRP. Проект сырой, но мне кажется перспективным.
Reply
Leave a comment