?

Log in

No account? Create an account
светлое будущее
Mike Potanin potan
Previous Entry Share Next Entry
Фронт с роботами.
В порядке паралельного изучения ELM и ROS состыковал одно с другим.
Хотя в ELM не хватает тайпклассов и макросов, UI на нем пишется поразительно быстро и легко. Я уже просто не понимаю, зачем делать фронтенд на чем либо еще.

У вас там опечатка - "предскавление".

Все-таки, ISWIM'овский синтаксис очень приятен, не правда ли? ;-) Особенно его Miranda/Clean/Haskell вариант.

Edited at 2017-10-20 11:42 pm (UTC)

Ну использование только отступов мешает при отладки с помощью REPL. Haskell все-таки разрешает и фигурные скобки. Но в целом да, приятнее чем обилие пунктуации в традиционном синтаксисе.

А как же тогда в ELM'е вводить λ-функции? На эти грабли - двумерный синтаксис без одномерного, в Питоне наступили, т.к. его автор - "чукча-писатель". В результате, lambda: - это не просто функция без имени, а какая-то совершеннейшая херня.

Да в общем то ни каких проблем, если в редакторе.
(\x -> let
y = x
z = y
in
z)
В REPL приходится \ в конце строки добавлять и отсчитывать пробелы.

Спасибо. Т.е. в тексте просто пробелы добиваются так, чтобы \ было левее всего?

Кстати, вы не знаете, есть ли REPL (кроме Jupyter'а - он не работает) для того же Хаскеля, аналогичный Mathematica Notebook или его производным?

В телеграме про ELM недавно REPL обсуждали. Там какой-то встроенный в Atom упоменался.
Для Haskell больше не слышал. Впрочем, ghci, на мой взгляд, лучший REPL, из тех, что я видел. В Jupyter идея интерсная, но реализована не слишком хорошо.

> В Jupyter идея интерсная, но реализована не слишком хорошо.

Хорошо она реализована в Wolfram Mathematica 4.0 примерно 20 лет назад. :-)

> Я уже просто не понимаю, зачем делать фронтенд на чем либо еще.

Тем не менее, все известные мне практикующие Elm-еры разбрелись, кто на Purescript, кто на GHCJS :)

Я лично пока ещё держусь (хоть я и весьма редко фронтенды делаю), но purescript уже немножко подосвоил =)

Я еще не созрал для purescript. Вроде для него пакетов сильно меньше?

Elm прекрасен в качестве первой (второй, третьей) дозы. Когда садишься на это дело плотно нужен стафф потяжелее. Я на эльме начал тренироваться когда он еще был настоящий FRP, и подсев на идею, перешел на пурескрипт :-)

А на Purescript можно программировать не зная про js и DOM?

Самое близкое к этому, имхо, https://github.com/slamdata/purescript-halogen
Он вполне production ready и активно девелопится Сламдатой. При этом в отличие от Эльма, в любой момент можно опуститься до унизительного js и втулить какой-нибудь сране jquery widget. Ну или по крайней мере я себя так уговариваю, я пока Галоген не освоил, у меня фронт написан по старинке (пурескрипт у меня на ноде).

Вот как раз опускаться до js я и не хочу. ELM меня привлекает именно тем, что js я не знаю.

Это не нужно, но можно. В коммерческом использовании важно чтобы было можно, потому что иногда приходится резать углы и заклеивать скотчем потом. В Эльме это тоже можно делать но с бОльшим геморроем.

Галоген все равно выглядит как-то низкоуровнево. Для бекенда нормально (я обычно использую Scala, но безсерверный AWS Lambda с ней не очень хорошо работает, с нодой заметно лучше - надо будет попробовать), а вот во фронте хочется чего-то попроще.