Elm - это хаскелеподобный чистый функциональный язык для всяких безобразий в браузере, т.е. "компилирующийся" в JavaScript. Знаменит прежде всего тем, что на нем написан визуализатор квантовой механики из предыдущего поста. :)
Три года назад я писал про
тогдашний Elm, с тех пор он заметно изменился, а в последней на сегодня версии произошло
(
Read more... )
Comments 20
По-моему, когда нѣтъ явныхъ сигналовъ въ видѣ функтора, то работа программы становится совершенно загадочной и таинственной. Хотя рантаймъ возможно и сталъ болѣе эффективнымъ, потому что у программиста стало меньше функцiй, и рантаймъ можетъ больше оптимизировать.
А гдѣ модуль для работы cъ WebGL?
Reply
Reply
Reply
Мне лично не кажется, что количество магии увеличилось. Как раньше под капотом был скрыт большой рантайм с хитрым графом, так и сейчас незаметный почтальон, доставляющий сообщения. При этом описание программы выглядит как красивая система урввнений, решил ее - и все складно работает. Освоить новую архитектуру и начать писать в ней, по-моему, проще чем с сигналами. Там, чтобы свою задачу в них выразить, много думать приходилось поначалу.
Reply
Я смотрел давно на ваш аватар и все тужился вспомнить где же я вас видел. Теперь понятно. Вас Сергей зовут?
Reply
Спасибо! Более убедительно, чем purescript.
Reply
Reply
Reply
Reply
Reply
Всё так. Но, с другой стороны, автор взял направление на отвязывание Elm от JS, типа, это всего лишь одна из платформ, в которую мы компилируемся. А дальше будет WebAssemply, потом ещё что-то, и тд.
На основании этого в 0.17 выпилили все пользовательские нативные модули, и дальше интероп со средой выполнения предлагается делать исключительно через порты, команды и подписки.
Как бы, не то, чтобы я имел какое-то принципиальное философское мнение по этому вопросу, но при портировании существующего софта на новый Elm теперь мне надо вообще всё нафиг переписывать :(
Reply
Вот я смотрю на пакет elm-linear-algebra, там почти весь код имеет вид
inverseOrthonormal : Mat4 -> Mat4
inverseOrthonormal = Native.MJS.m4x4inverseOrthonormal
и все подобные упомянутые ф-ии из Native.MJS живут в соответствующем обычном .js файле.
Reply
Вот мужик, например, с горя начал делать свой elm на платформе purescript'а: https://github.com/rgrempel/elm-web-api/issues/17
Reply
Reply
Leave a comment