LINUX.ORG.RU

Вышла новая версия компилятора MLton

 ,


0

4

После трехлетнего перерыва вышла новая версия оптимизирующего компилятора MLton для языка Standard ML.

Основные изменения:

  • Компилятор
    • Улучшение сообщений об ошибках типов
    • Удалена возможность генерации байт-кода
    • Удалена поддержка .cm файлов, с помощью утилиты cm2mlb (доступной в базовой поставке) возможно сконвертировать CM проекты в MLB проекты, сохраняя область видимости идентификаторов модуля
    • Исправление ошибок, changelog
  • Runtime
    • Исправление ошибок, changelog
  • Язык
    • Директива (*#line line:col «file» *) работает с относительными путями файлов
    • В ML Basis annotations добавлена директива «resolveScope»
  • Библиотеки
    • Улучшена производительность String.concatWith
    • Используются битовые операции для REAL.class и других низкоуровневых операций
    • Поддержка дополнительных переменных в Posix.ProcEnv.sysconf
    • Исправление ошибок
    • Удален MLton.Socket
    • Обновлены: ckit library, MLRISC library, SML/NJ library
    • Добавлена MLLPT library
  • Дополнительные инструменты
    • Поддержка работы с относительными путями файлов в директиве (*#line line:col «file.lex» *) добавлена в mllex и mlyacc
    • Исправлена ошибка с обработкой комментариев в mlyacc

MLton осуществляет полнотекстовую (whole-program) компиляцию программ на SML. Полнотекстовая компиляция позволяет достичь высокого уровня оптимизации. Аналогом MLton являются Stalin для Scheme и jhc для Haskell.

MLton поддерживает стандарт SML'97, SML Basis Library, имеет свой FFI (т.е. может вызывать C-функции без оберток) и другие полезные расширения. MLton генерирует небольшие исполнимые файлы,не требующие внешнего рантайма.

Подробнее о языке SML: http://en.wikipedia.org/wiki/Standard_ML

Подробнее о компиляторе: http://mlton.org/Features

>>> Подробности

★★★★★

Проверено: Shaman007 ()

Ответ на: комментарий от true_admin

«Некрасивый самолёт не полетит» (c) не помню кто

F-4 Phantom II (один из самых успешных американских истребителей) называли «дважды уродом» и «триумфом тяги над аэродинамикой» %)

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

Чо как там с многопоточностью в этом MLTon?

Есть расширение - Concurrent ML (http://cml.cs.uchicago.edu/cml-faq.html).

Публикации по CML:

http://people.cs.uchicago.edu/~jhr/papers/cml.html

Книги:

2007г - Concurrent Programming in ML 1st Edition by Reppy, John H (автор CML)
2011г - ML with Concurrency: Design, Analysis, Implementation, and Application

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

Все-таки больше исследовательский проект. Даже у OCaml'а с батарейками не супер, но он хоть на какое-то относительно широкое применение может претендовать, а у всех реализаций SML с этим совсем плохо. Так что толку с этой производительности немного.

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

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

odin compiler GHC

Ну они большую часть фич в стандарт 2010 пропихнули. Хотя с другой стороны на практике юзается не язык, а конкретный компилятор, так что ...

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

jhc форкнули, теперь он называется ajhc :)

anonymous ()

SML-то, конечно, совершенно бесполезная срань, но все хорошо, что держит ML-пацанов подальше от контрибуции в хаскель, так что нужно.

anonymous ()

Описываем, кто тут что писал на OCaml? Применения в производстве в студию!

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

В производстве факториалов или чисел фибоначчи?

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

У SML есть одно единственное, но очень killer приложение - HOL. На него много что в железячной индустрии завязано, так что спрос на SML есть. Правда, производительность MLTon там никому не нужна, хватает даже тормозного mosml.

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

Применения в производстве в студию

на OCaml написан Coq

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

Этот, этот. Почему - не знаю, так исторически сложилось, что hardware verification делают исключительно на нем, а не на Coq-ах всяких. Учитывая, насколько эта индустрия консервативна и неповоротлива, можно смело считать, что HOL и SML там застряли очень надолго.

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

Только сам Coq в индустрии нигде не применяется, в отличие от HOL.

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

а не на Coq-ах всяких

сейчас есть некоторые подвижки в этом направлении.

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

Только сам Coq в индустрии нигде не применяется

наглая ложь.

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

Это все академические проекты. У меня самого тоже есть проекты на Coq, это все не интересно. Где применение в индустрии? Нет его!

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

давай свое определение «индустрии».

У меня самого тоже есть проекты на Coq

любопытно, есть где посмотреть?

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

Ну а где конкретные применения-то в индустрии? HOL - неотъемлемая часть workflow у некоторых весьма крупных и серьезных разработчиков железа. А вот про Coq в реальной индустрии пока никто и не заикается даже.

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

давай свое определение «индустрии».

X применяется в индустрии, если X является частью стандартного рабочего процесса и без него работа встанет или будет сильно затруднена. HOL - часть процесса разработки железа. Coq - то, с чем разработчики играются в свободное время, и если его убрать, то Intel не прекратит выпускать новые ядра.

любопытно, есть где посмотреть?

Нет, я пока не публиковал результаты. Пытаюсь определить сертифицированные преобразования над SSA (то, что не осилили разработчики CompCert).

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

Вполне разумно. Индустрия решает реальные проблемы, за которые платят деньги.

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

Не все крутится вокруг денег. Их и воровать можно.

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

здесь дело обстоит также, как и в случае фундаментальных и прикладных наук: некоторые местные аналитики считают, что надо разогнать всяких там физиков-теоретиков и топологов, однако без фундаментальных исследований невозможен прогресс как таковой.

за примерами далеко ходить не надо: недавно вышла книга по гомотопической теории типов, и, судя по репозиториям на гитхабе, в процессе разработки новых оснований математики широко использовали кок.

короче, в научной «индустрии» коку вполне себе находится место.

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

Потому, что тот факт, что индустрия сильно зависит от HOL, опровергает нелепое утверждение о «ненужности» SML. А вот у OCaml такой отмазки, увы, нет.

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

индустрия сильно зависит от HOL

Во-первых, нужны ссылки. Во-вторых, а кому нужна эта абстрактная «индустрия»?

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

математики широко использовали кок

Клали его на все, что только можно :)

// не удержался

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

благодарю за ссылку. не видел этот документ раньше.

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

39 слайд 'Other theorem provers such as ACL2, Coq and PVS have also been used for verification in this area.' :)

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

да, я вчера уже полистал презентацию.

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

И синтаксис не так пугающ, как у хаскела

Вот только не надо. Некоторые вещи выглядят как Хаскель с ненужными довесками. Некоторые страшные. А так да, смахивает на Хаскель.

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

Закопайте это маргинальное яйцеголовое поделие.

Пруф - http://www.softcraft.ru/paradigm/fp/whynotfp.shtml

Лол. Я понимаю, что процент дубоголовых больше, чем яйцеголовых, и он стремительно растет. Но сдравый смысл подсказывает, что это не правильно :-D

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

У тебя самодельный ламповый CPU в деревянном лаптопе?

Если бы не теоретическая наука, эта ваша «индустрия» до сих пор бы затачивала каменные топоры.

buddhist ★★★★★ ()

Алсо, ymn, monk и все причастные, подскажите, это нормально, что оно ни на линуксе, ни на винде 2010-ым не собирается?

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

Не, ну вот 2010-ый есть, а новый им не хочет собираться, хотя в суть проблемы сильно не вникал.

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