Вот смотрите: SML был вполне бодрячком. Причем язык довольно маленький, простой и энергичный, его бы и в микронтроллеры можно было бы. Но врезал дуба, а вместо него загадочный OCaml, который сходу и не скажешь, чем лучше. Неисповедимы пути в IT.
расскажу вкратце, чем ocaml лучше sml: 1. активно поддерживается и развивается 2. умеет в подтипизацию на индуктивных типах данных и на записях (они почему-то называются объектами) 3. модули являются first-class values 4. gadts 5. rank-2 полиморфизм на уровне полей записей и методов объектов 6. умеет компилировать код, который экстрактит coq 7. куча разного, касающегося модулей и функторов над модулями (все они важны как средство абстракции и декомпозиции) 8. private data types (как abstract, но не скрывают представление) 9. манипуляции с ast посредством ppx (extension points) Остальное, несущественное -- получше инфраструктура, больше библиотек, норм сообщество.
1. Вы не смотрели на расширение SML - проектные файлы .mlb?
2. Описание семантики в The definition of Standard ML (страницы 24 и дальше sml97-defn.pdf) - это стандартная штука? Или это они там изобрели что-то? Если стандартная, то где можно научиться читать эти формулы?
1. активно поддерживается и развивается
2. умеет в подтипизацию на индуктивных типах данных и на записях (они почему-то называются объектами)
3. модули являются first-class values
4. gadts
5. rank-2 полиморфизм на уровне полей записей и методов объектов
6. умеет компилировать код, который экстрактит coq
7. куча разного, касающегося модулей и функторов над модулями (все они важны как средство абстракции и декомпозиции)
8. private data types (как abstract, но не скрывают представление)
9. манипуляции с ast посредством ppx (extension points)
Остальное, несущественное -- получше инфраструктура, больше библиотек, норм сообщество.
Reply
Исходная машина ML - Lisp, поэтому две указанных мной вещи в исходном ML были не только возможны, но и естественны.
Reply
1. Вы не смотрели на расширение SML - проектные файлы .mlb?
2. Описание семантики в The definition of Standard ML (страницы 24 и дальше sml97-defn.pdf) - это стандартная штука? Или это они там изобрели что-то? Если стандартная, то где можно научиться читать эти формулы?
Reply
2.Мой интерес к *ML очень теоретический.
Reply
Leave a comment