LINUX.ORG.RU

Ocaml


48

1

Всего сообщений: 3

Всё больше и больше крутых штук пишется на Objective Caml

Одна из них — Merlin, редакторонезависимый инструмент для разработки на OCaml, поддерживающий такие фичи современных IDE, как:

  • Сообщение об ошибках при наборе кода
  • Автодополнение
  • Информация о типах
  • Удобный просмотр исходного кода (с «прыжками к опеределениям»)

Доступен в OPAM под версией 2.1.1

На скриншоте (пишу никому, на самом деле, не нужную штуку — свою реализацию модуля List) он намекнул мне, что я забыл дать рекурсивное определение функции (в теле функции указано её имя, без ключевого слово "rec" в описании).

Ну а так всё уныло: Ubuntu 15.04, GNOME 3.14, Emacs 24.4 (на скриншоте запущен в URxvt), тема везде Paper, кроме иконок, которые Numix Circle.

В плеере играют качовое норм музло парни из Мэриленда.

Оригинал в PNG для ценителей.

>>> Просмотр (1920x1080, 658 Kb)

 , ,

olibjerd
()

Маргинальщина во все поля

Сменив работу, решил немного подправить свой боевой emacs и вот что из этого вышло:

  • в стабильный Debian был воткнут emacs-snapshot;
  • прикручена тема zenburn, убран меню-бар и всякая лишняя обвеска;
  • в качестве ШГ уже достаточно давно использую terminus;
  • кроме того, прикрутил подсветку текущей строки и выпирающих концов длинных строк, которые выделяются красным цветом.

Теперь по скриншоту. Слева видны полируемые исходники модуля для ejabberd. Для работы с Erlang использую EDTS, который может почти всё и не тормозит как erlang-mode.

Для ускорения эрланга в узких местах иcпользую ocaml. Когда возможностей окамла не хватает или нужно доказывать некоторые утверждения о коде, использую coq.

Работу с окамлом обеспечивает tuareg-mode, а исходниками на coq заведует ProofGeneral.

Ругайте.

>>> Просмотр (1920x1080, 77 Kb)

 , , ,

ymn
()

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

Уже некоторое время я использую язык 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)

 ,

ymn
()