LINUX.ORG.RU

Скриптовый функциональный язык (с иммутабельностью)

 , ,


0

3

Собственно сабж. Пых, руби или пайтон - императивщина, хоть и с элементами. А было бы очень неплохо всякие вебоподелки делать на языке, в котором была иммутабельность из коробки, if был бы выражением, удобная трансформация списков и т.д. Может есть какой «молодой и динамично развивающийся» и без привязки к JVM/Mono/...?

★★★

OCaml

Оффтоп: ymn, вот «есть мнение», что lablgtk существует почти исключительно ради Сoq. Почему оно, в таком случае, такое протухшее?

buddhist ★★★★★
()
Последнее исправление: buddhist (всего исправлений: 1)
Ответ на: комментарий от buddhist

Согласен, это вообще печаль тогда.

h8 ★★★
() автор топика

Для этого нужно либо запилить новый гениальный язык во все браузеры, либо компилировать его (или старый хороший функциональный язык) в жс. Выбирай, что тебе ближе.

anonymous
()

Есть еще shen но он совсем эзотерический

anonymous
()
Ответ на: комментарий от anonymous

А при чем тут браузеры?

h8 ★★★
() автор топика
Ответ на: комментарий от Debasher

Hylang забавно, надо попробовать будет.

h8 ★★★
() автор топика
Ответ на: комментарий от Bad_ptr

На нем уже можно что-то пытаться делать? Когда я последний раз тыкал, там какие-то дикие костыли были из-за отсутствия тайпклассов.

Kuzy ★★★
()
Последнее исправление: Kuzy (всего исправлений: 1)
Ответ на: комментарий от Kuzy

Да я сам ещё ничего не пытался на нём делать )
Тайпклассов там так и нету, как я понял, с 2012 года висит https://github.com/elm-lang/elm-compiler/issues/38
тут, правда вот такое есть
http://elm-lang.org/blog/announce/0.7.elm

Finally, Elm’s records permit polymorphic functions. This gives them expressivity similar to first-class modules and typeclasses. More on this later!

Bad_ptr ★★★★★
()

PureScript, ClojureScript, NewLisp. Есть ещё куча реализаций лиспов поверх php, js, python, ruby... Ну и Shen, конечно же.

k_andy ★★★
()
Последнее исправление: k_andy (всего исправлений: 1)
Ответ на: комментарий от nuboquest

if был бы выражением
это что значит? Можно, пожалуйста, поподробней?

if возвращает значение, т.е. можно написать

b = 100 + (if a == 10 then 10 else 12);

и это будет нормально.

Norgat ★★★★★
()
Ответ на: комментарий от anonymous

if должен что-то возвращать, поэтому else обязателен

Че-то не вижу связи одного с другим. В Io, например, if тоже выражение, но else не обязателен:


foo := if(true, 1)
bar := if(false, 1)

write(foo, "\n", bar)

#>>>> 1
#>>>> false

nuboquest
()

Хаскель же. runghci и вперед

yoghurt ★★★★★
()

if был бы выражением

А что это даст? можно использовать тернарный оператор. Вот если бы if был функцией, тогда да, профит.

anonymous
()
Ответ на: комментарий от nuboquest

там где ее нет

не путай логическую ошибку с исключением в языке

Debasher ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.