LINUX.ORG.RU

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

 , , ,


0

0

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

Основные изменения — поддержка новых платформ (AMD64/Darwin, IA64/HPUX, PowerPC64/AIX), а также исправление ошибок.

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

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



Проверено: maxcom ()
Последнее исправление: Vadim_Z (всего исправлений: 1)

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

Добавил ссылку. Кратко — один из современных диалектов ML, т.е. функциональный статически типизированный язык с поддержкой модулей и императивного программирования.

Vadim_Z
() автор топика

Ура! Теперь оно будет собираться из аура ^_^

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

Зачем он нужен, если есть с/с++, питон?

тебе быдлишко, точно не нужен, проходи мимо.

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

>>> c/c++

не надо так писать, пожалуйста.

а что в этом такого?

Так пишут только пионеры, для которых С++ - это «Си с классами». Лучше через запятую. Больно разные языки

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

Первоначально f# был подмножеством ocaml. Транслятор всегда писался на самом f#, и его первая дотнетовская версия была получена кросс-компиляцией с окамла. Сначала откомпилировали компилятором окамла. Потом самим собой. Сейчас же f# ушел далеко в сторону от своего предка - в сторону дотнета.

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

Неужели из ML-ей жив кто-то ещё кроме OCaml?

SML - более чем. просто меньше на слуху

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

Это ж тот же самый OCaml, не?

не. это Caml .Net, грубо говоря

jtootf ★★★★★
()

Вызывает интерес вот такой ещё разрез: как у вас дела там с REPL-ом, он в коробке иль не влез?

Zenom ★★★
()

В каких проектах и для каких задач используется SML ?

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

Тогда нам нужно определиться, по каким признакам будем относить что-нибудь к ML-ям.

impure, call-by-value функциональный язык. в принципе, все языки семейства ML за редкими исключениями (типа Lazy ML) замечательно укладываются в такое определение

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

стоит добавить ещё - статически типизированный, с ADT

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

>impure, call-by-value

Если так, то я согласен, что скорее нет, чем да.

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

Вызывает интерес вот такой ещё разрез: как у вас дела там с REPL-ом, он в коробке иль не влез?

Если вопрос был про f#, то там есть свой REPL. Называется F# Interactive (Console). Или ты про MLton?

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

REPL-а нету. Это ж полнотекстовая компиляция — компилируется весь текст программы от начала до конца, включая используемые модули. Любителям шаблонов С++ такой подход должен быть знаком (на примитивном уровне).

REPL есть в других реализациях SML-я, например, SML/NJ.

Vadim_Z
() автор топика

Standard ML — отличный язык. Функциональный, правильно типизированный (с product types, и без автокаррирования, как в хаскеле — что позволяет сократить количество lambda expressions, но страшный хак), без тучи долбаных скобочек, и в отличие от OCaml — с прекрасным, хорошо продуманным синтаксисом. Отсутствие ленивых вычислений по умолчанию позволяет довольно быстро добиваться высокой производительности без плясок с бубном.

Я бы рекомендовал начинать изучение функционального программирования именно с него, а не с Haskell / Scheme.

sorhed
()

Очередной недоязычок для небыдла, не имеющий реальных применений? Есть же C, C++ и Perl.

slovazap ★★★★★
()

ну вот почему бы не использовать его или тот же хаскель или уж вконец F#, если без дотнетишки никуда, для предыдущей новости про дропбокс-репласемент?

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

а для чего изучать эти языки вообще? кроме развития абстрактного мышления (тут польза будет аналогична пользе от изучения брейнфака) есть какие-нибудь практические приложения этих языков? я когда-то погрузился в изучение функциональных языков, вроде, осилил базовые концепции - лямбды, хвостовую рекурсию, карринг, ленивые вычисления, и понял, что это уже у меня есть в составе императивных языков, и, в общем-то, я этим этим давно пользуюсь. создаётся впечатление, что использовать чистые функциональные языки можно только для голой математики, где все функции гарантированно не имеют побочных эффектов. это так, или я ещё не постиг дзен? посоветуйте направления, в которых мне стОит попытаться найти просветление.

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

erlang это стбильно, надёжно и даже кое-где mainstream. Если хочется чего-то такого, то лучше него нет.

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

>и понял, что это уже у меня есть в составе императивных языков

А откуда они там появильсь, как ты думаешь?

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

Да неужто?! =8-O

А качиньского тоже ваши сбили? тссс.

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

>без автокаррирования, как в хаскеле — что позволяет сократить количество lambda expressions, но страшный хак

И где хак то?

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

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

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

хотя, как я уже сказал, я не отрицаю этой «познавательной» пользы. но спрашивал я о практическом применении. и не троллинга ради.

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

ну вот почему бы не использовать его или тот же хаскель или уж вконец F#, если без дотнетишки никуда, для предыдущей новости про дропбокс-репласемент?

Парадокс Блаба. Плюс недопонятые книги. Хуже ничего нет, когда человек чего-то там недопонял, а потом на всех форумах читаешь его «несвоевременные мысли» об ФП.

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

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

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

Пока я использую хоть одну прогу на нём, я не могу назвать его мёртвым (я про unison)

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

>Парадокс Блаба. Плюс недопонятые книги. Хуже ничего нет, когда человек чего-то там недопонял, а потом на всех форумах читаешь его «несвоевременные мысли» об ФП.

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

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

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

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

> и понял, что это уже у меня есть в составе императивных языков

Если ты так думаешь, то ты ещё не постиг дзен. Вообще, конечно, никто тебя не заставляет использовать ФПЯ и в частности SML - дело твое. Мне, лично, непонятны люди, которые пользуются тем или иным языком только потому, что он широко используется, популярен и потому, что так делают все. Следуя такой логике все программы следует писать на PHP, яваскрипте и бэйсике.

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