LINUX.ORG.RU

Haskell IDE


0

1

Добрый день!

Помаленьку играюсь в Haskell. Интересно, кто в чем пишет на Хаскеле?

Для Lisp я использовал Emacs+SLIME, и мне нравилось. Есть ли что-то похожее для Haskell?

Меня несколько не радует работа в Haskell REPL. То есть из REPL нельзя определить функцию. Функция должна быть описана в файле, и при каждом изменении файла надо делать :reload в REPL. Довольно утомительно.

★★

Emacs+haskell-mode+lhs2tex => всех заруливает.

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

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

Потому что у OCaml другая семантика, там определения последовательные, порядок имеет значение. Грубо говоря, все определения в модуле Haskell это аналог определений через "and" в OCaml.

anonymous
()

Emacs + последний haskell-mode. Вполне кузяво.

Определить функцию в REPL МОЖНО и НУЖНО. По крайней мере, это можно сделать в ghci и hugs:

let fact n = product [1..n]

Или, более интересно:

let {fact :: Integer -> Integer; fact 0 = 1; fact n = n * fact (n-1)}

После чего можешь спокойно использовать так же, как если бы она была описана в файле.

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

>Emacs+haskell-mode+lhs2tex => всех заруливает.
Спорно, мягко говоря. Сравни с тем же Visual Haskell.

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