Вопрос

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

Обычно я вставляю свои функции в интерпретатора SMLNJ. Есть ли способ их составить?

Это было полезно?

Решение

Вам придется использовать что -то вроде Компилятор MLJ. Анкет Он собирает код байта Java. Или вы можете использовать Sml.net Компилятор для компиляции .NET IL.

Другие советы

Это часто среди Мл Для обеих сторон экспортировать в C, а затем вызовать функции C друг друга C. Почти у всего есть библиотека FFI для «легко» экспорта в C.

http://www.smlnj.org/doc/smlnj-c/index.html

Таким образом, внешнему миру ваша библиотека SML будет вести себя как библиотека C, за исключением случаев, когда они не были утечками и утечками памяти*

*Не гарантия

Проекты популяризируют языки. Сделайте основную работу для интересного и бесспорно «крутого» проекта, используя ML, и люди будут стекаться на язык. Например, посмотрите на Erlang с Ejabberd и Mochiweb-оба классных проектов, которые творили чудеса для одноразового языка в роли, такого как Erlang (который, кстати, мой язык выбора развития в последнее время). Я, например, хотел бы увидеть, как кто -то сделает что -то рад с ML, язык - это радость, с которой нужно думать.

Есть Несколько стандартных компиляторов ML. Анкет Wiki Mlton также содержит эталон.

Я использовал Moscow ML, который компилирует стандартный ML в Bytecode. Это не быстро, но это работает. Mlton часто называют лучшим стандартным компилятором ML в отношении эффективности.

Обратите внимание, что поли/мл версия 5 или более позднее поддерживает как традиционную модель «куча дампа», так и автономные исполняемые файлы в C-стиле. Документация на Веб -сайт Poly/ML распространяется по многим различным местам, некоторые из них с действительно старыми датами в названии - но система жива и ногами.

Генерация объектного кода объясняется прохождением в выпуск заметок Для выпуска версии 5.0 (в настоящее время мы в 5,5): см. PolyML.export там.

Существует также некоторый интерфейс поли/мл C, который был отремонтирован в последнее время для некоторых проектов по графическим интерфейсу. Вы должны спросить в списке рассылки Polyml.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top