LINUX.ORG.RU

Будущее языков ML


0

0

Вот тут намедни порылся в славном семействе языков ML. И что-то хреново мне на душе стало. С одной стороны релизы выходят регулярно, есть несколько реализаций. С другой стороны, нет внятной документации, сайты, застрявшие в эпохе CERN'овского веба, с кучей битых ссылок, ссылок на древние, неоконченные/неполные доки. Полное отсутствие следов какого-то сообщества.

Такое ощущение, что теперь силы всей прогрессивной научной общественности направлены либо на F#, либо на Haskell. И от того и от другого, что-то сильно пахнет мышами.

С Ocaml ситуация несколько получше, но тоже крайне плачевна. И опять мышами пахнет.

И самое главное, натыкаешься на следы активных исследований, которые происходили в 80-х - 90-х годах. И для своего времени были прогрессивны.

Команда MosML, кажется, целиком переключилась на РЕФАЛ. SML/NJ в состоянии искусственной комы. MLTon сдох. PolyML вроде как-то шевелится, но опять же без сообщества.

Что же произошло? Неужели вот так после тридцати лет исследований ML будет выброшен на помойку, оставшись только в не очень идеологически чистом Ocaml'е, казуальных проектах типа Mythryl и дальних родственниках типа Хаскеля?

★★★★★

Хуже, что и Ocaml как-то не особо жив. Так что в лучшем случае славная семейка ML находится в анабиозе :(

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

>Хуже, что и Ocaml как-то не особо жив

Пилят o4mc с параллельным сборщиком мусора. Пилят HLVM. У окамла есть ffconsultancy и Jane Street Capital.

Это у меня одного складывается ощущение, что в M$ Research и INRIA пилят F#, а на остальные проекты слегка подзабили?

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

Да, живучая секта :D

Просто свежих девствениц нужно на алтарь Бафомету регулярно ложитьЭто от того, что язык очень интересный!!11

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

Хватит троллить. Ты же, эта, лопнешь, деточка!

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

>Просто свежих девствениц нужно на алтарь Бафомету регулярно ложить

Правильно, зачем Лисперам бабы? Они и без них славно живут. =)

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

>Правильно, зачем Лисперам бабы? Они и без них славно живут. =)

А то будто ты знаешь все тонкости ритуала? ;)

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

> Тогда зачем их туда ложить, простите, класть?

Очевидно же, чтобы Бафомет продолжал коммитить в SBCL! В отсутствие интереса к Лиспу у среднестатистического пипла только инфернальные силы могут поддерживать его жизнь.

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

Пользуясь случаем. Что почитать, что-бы таки заюзать этот ваш asdf? А то какой-то он... стремный. Банально надо было cl-gtk2 заставить работать. Час читал доки так и не поставил =(

Waterlaz ★★★★★
()
Ответ на: комментарий от Waterlaz
(require 'asdf-install)
(asdf-install:install 'cl-gtk2)

или

git://repo.or.cz/cl-gtk2.git

и все его *.asd бросить симлинками в ~/.sbcl/systems (или где там у тебя asdf central registry)

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

> Стрёмная оценка языка :)

Это оценка состояния компилятора. Язык устаканен и закреплён стандартом 15 лет назад.

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

>Это оценка состояния компилятора. Язык устаканен

В наши дни язык очень сложно отделять от компилятора :)

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

> В наши дни язык очень сложно отделять от компилятора :)

А в нашей проекции мультиверса - ничё так, компиляторы от языков отделяются.

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

Не качает он...

unhandled ASDF-INSTALL::DOWNLOAD-ERROR in thread #<SB-THREAD:THREAD "initial thread" RUNNING {1002A26011}>:
  Server responded 404 for GET http://www.cliki.net/cl-gtk2?download
Waterlaz ★★★★★
()
Ответ на: комментарий от mv

git clone имелось в виду. Лучше git clone, т.к. dmitry_vk постоянно активность проявляет.

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

> Не качает он...

Ну, значит, в asdf не завёрнуто ещё. У меня гит репо, работает. asdf-install'ом будешь ставить зависимости, типа cl-opengl, cl-cairo, cl-etc...

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

Не успели обсудить судьбу ML, а уже скатились к обсуждению ситуации с лиспом. Это мне напоминает людей, которые считают себя шарящими, потому что окружающие их люди - шарят еще меньше. Зачем нам другие(лисп)?, давайте обсудим себя(МL).

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

Orly? Я всегда считал что лисперов в мире больше, чем тех же смолтокеров..

yoghurt ★★★★★
()

А вот некоторые считают F# языком семейства ML. Например, если не использовать специфические окамловские функторы, объекты и классы, то код очень даже читается компилятором F#. Для этого есть специальный режим совместимости (иначе полезут ворнинги о депрекейтид функциях). Базовая библиотека типа модулей List, Map и Set - общая с окамлом. Опять, такие же файлы сигнатур.

Так что, семейство живее всех живых, если смотреть на вещи оптимистично.

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

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

«Embrace, Extend and Extinguish» (c)

Так что, семейство живее всех живых

Один незаконнорожденный представитель %)

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

> Один незаконнорожденный представитель %)

:))

Где-то пробегала информация, что очень даже законорожденный. В MS Research работают весьма интересные и непростые люди :)

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

> Не успели обсудить судьбу ML, а уже скатились к обсуждению ситуации с лиспом.

Конечно! Вы же пишите на моём ЛОРе!

Это мне напоминает людей, которые считают себя шарящими, потому что окружающие их люди - шарят еще меньше.


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

Зачем нам другие(лисп)?, давайте обсудим себя(МL).


Давайте. По моим данным, у OCaml'а дела идут неплохо.

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

> Где-то пробегала информация, что очень даже законорожденный.

Насколько я знаю, все предыдущие были открытые.

В MS Research работают весьма интересные и непростые люди :)

В MS Research работают на MS.

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

> Насколько я знаю, все предыдущие были открытые.

Смотря как понимать открытость. Там используется довольно мягкая Microsoft Research Shared Sorce License Agreement, но есть ограничения для коммерческого использования (можно только официальные бинари). Исходники компилятора и библиотек открыты. Более того, они входят в инсталяционный пакет (msi либо zip архив).

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

> В MS Research работают на MS.

Вообще-то, там работает сам Милнер, создатель языка ML и изобретатель алгоритма вывода типов. Так что кому, как не им, ML-и разрабатывать?

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

>А вот некоторые считают F# языком семейства ML.

Только базовый язык. Эти гении выпилили даже MLшную систему модулей. Как же, намного интересней использовать систему костылей и подпорок, вместо средств языка.

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

> там работает сам Милнер, создатель языка ML и изобретатель алгоритма вывода типов.

Интересно, над чем именно он работает.

Так что кому, как не им, ML-и разрабатывать?

Единственный их ML-подобный - F#, да?

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

По чейнджлогу как-то слабо заметно...

чейнджлогу чего?

jtootf ★★★★★
()

>Будущее языков ML

Их будущее - служить строительным материалом для развития Lisp. Мне кажется, это и так понятно.

P.S. Haskell - игрушка, не больше того.

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

> Только базовый язык. Эти гении выпилили даже MLшную систему модулей.

Модули есть, а вот функторов вроде бы нет. Не проверял. Но скорее всего, что их действительно нет.

Зато есть

(1) монады (включая синтаксический сахар для них),

(2) последовательности (могут быть ленивыми и бесконечными),

(3) активный паттерн-матчинг (позволяет применять разные паттерн-матчинги для одного и того же типа независимо от устройства типа),

(4) quotations (позволяет представлять конструкции самого F# как выражения и обрабатывать их на самом языке - важно для LINQ).

Еще есть просто изумительный (5) list/array/seq comprehension по типу хаскельного.

То есть, много всего такого, что не относится напрямую к дотнету и можно рассматривать как дальнейшее развитие языка ML. Я бы очень пожелал, чтобы подобные вещи появились и в OCaml.

Снизу F# - это дотнет с его не самой плохой моделью ООП. А сверху F# - это очень приятный и удобный ML язык.

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

> Haskell - игрушка, не больше того.

Что заставляет Вас так говорить? С какими проблемами, заставившими Вас отказаться от Haskell, Вы столкнулись при разработке на нём? Ваш ответ очень важен для будущего языка.

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

>как дальнейшее развитие языка ML

Это было бы неплохо... Особенно такую красивую реализацию.

Я бы очень пожелал, чтобы подобные вещи появились и в OCaml.


В окамле есть ocamlp4. Не так удобно и без документации. Да и многие языковые фишки реализованы в виде расширений. Насчет монад, так они в любом языке имеются, а вот синтаксического сахара в F# я что-то не заметил.

Дело даже не в этом. В F# важную роль играет платформа... Нету полностью свободных аналогов. И скорее LLVM-бэкенды допилят до юзабельного состояния, чем она появится.

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

>Что заставляет Вас так говорить?

Вообще-то Simon P. J. примерно так говорит. А он наверно знает о чем говорит, ибо principal designer GHC.

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

А не правильнее сравнивать, свои познания в АйТи, не с соседом слесарем, а с компетентными специалистами.

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

> Насчет монад, так они в любом языке имеются, а вот синтаксического сахара в F# я что-то не заметил.

Например, async { let! x = ... } - здесь let! переходит в монадический вызов Bind. async - это пример билдера. Можно определять свои билдеры. См. computation expression и workflow. Просто другие названия монады. Плюс новый смысл.

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

> А не правильнее сравнивать, свои познания в АйТи, не с соседом слесарем, а с компетентными специалистами.

А кто тут слесарь? Среди населения Talks, возможно, найдётся, но там, в основном, проблемы ФМГ обсуждают.

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

>Ваш ответ очень важен для будущего языка.

Я меньше чем за 100K не консультирую. Бесплатно могу только написать пару макров, обругать матом или бросить книжкой SICP по голове.

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

>Я меньше чем за 100K не консультирую. Бесплатно могу только написать пару макров, обругать матом или бросить книжкой SICP по голове.

Еже один ылитный специалист? Твое мнение без подтверждений мало кого тут интересует.

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

Моя квалификация подтверждается уже тем, что я применяю только Lisp, и не трачу свое время на изучение бесполезных недоязыков вроде C++.

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

> Моя квалификация подтверждается уже тем

Не думаю, что на описание пары проблем, с которыми Вы столкнулись, уйдёт больше времени, чем на подтверждение своей квалификации на ЛОРе.

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

написать пару макров...или бросить книжкой SICP по голове

так ты уж определись - или CL с макрами, или SICP со Scheme

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

>так ты уж определись - или CL с макрами, или SICP со Scheme

Программный код на Scheme легко транслируется в CL моим кодогенератором благодаря мощи последнего.

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

newLISP за основу взял явно Scheme, но имеет макросы. Может он - высококвалифицированный script kiddie с newLISP'ом?

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