LINUX.ORG.RU

«OCaml мёртв и тормозит»

 ,


3

5

Уже некоторое время я использую язык OCaml в качестве альтернативы Си++ для написания разного рода полезных и не очень программ. Библиотек не очень много, но этот недостаток компенсируется простым как бревно интерфейсом к сишным либам, которых, как известно, чуть более чем дофига.

В качестве среды разработки я использую emacs. Существуют плагины для IDEA, eclipse и vim, но первый у меня не завелся, второй слишком тормозной, а последний умеет только бибикать и все портить.

Для emacs есть несколько пакетов, обеспечивающих базовые инструменты для работы с OCaml. В интернете широко распространен tuareg-mode, но я использую TypeRex.

TypeRex работает на линуксе и макоси, с окамлом старше 3.11.2 и емаксом с версии 23.2.1.

Искаропки умеет:

  • навигация по коду (go to definition и т.п.);
  • автокомплит;
  • базовые возможности рефакторинга кода.

Говорят, его можно собрать и под OCaml 4.0, но я не пробовал.

Итак, на скриншоте можно увидеть:

  • emacs (меню и туллбар, ага) с typerex, пресловутой темой solarized и шрифтами terminus
  • эмулятор терминала через eshell
  • скриншот с v4l2 устройства, полученный в процессе чтения Unix system programming in OCaml и ковыряния библиотеки ocaml-extunix
  • в остальном — дефолтная убунта

>>> Просмотр (1366x768, 210 Kb)

★★★★★

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

Для начала можно почитать:

  • Introduction to Objective Caml
  • Developing applications with Objective Caml

Потом, если захочется хардкора, можно глянуть на:

  • Computational Category Theory by Rydeheard и Burstall (правда там примеры на ML, но после окамла должно быть понятно);
  • Certified Programming with Dependent Types (это про Coq и зависимые типы)
  • Software Foundations Пирса (тоже про Coq, но с большим количеством МАТАНА по сравнению с CPDP)

Между делом можно пробовать разбираться в статьях Олега.

Между делом можно поглядывать в ocaml@conference.jabber.ru

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

Почему у emacs не работает глобалменю?

Всё работает. Gtk-версию запускай.

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

позволю себе процитировать jtootf:

okmij.org — походи по ссылкам, посмотри. у него большое количество (в значительной мере уникальных) статей очень высокого качества; умение работать на уровне систем типов принято измерять в миллиолегах (он, в частности, написал систему численного дифференцирования/интегрирования на тайпчекере Haskell98).

http://okmij.org/ftp/

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

ну да) полно же таких шуточных единиц измерения типа числа Эрдёша и т.п.

ymn ★★★★★
() автор топика

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

Когда-то выбирал между OCaml и Haskell, склонился к последнему. Как, кстати, в ocaml маршаллинг для FFI устроен? Нужен ли для него препроцессор типа C2HS?

dmfd
()

Даже фотку бойфренда прикрепил :3

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

Гы. Я как раз вчера его устанавливал. Либо я чего-то понял, но оно вообще не работает, коверкая всё форматирование и рисунки, жесть какая-то. Там где были переносы строк всё стало в одну строку и тп.

e7z0x1 ★★★★★
()
Ответ на: комментарий от x4DA
(scroll-bar-mode 0)

Зачем? C-v и M-v - это иногда слишком медленно.

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