← All posts tagged Haskell

arrowdodger

Повтыкал в FPComplete Roadmap.
Они там пилят облачную IDE для хаскелла, на Yesod'е, видимо. В дальнейшем обещают и standalone версию, которая тоже из браузера будет работать.
Ну фиг знает, я с недоверием отношусь к IDE в браузере.

arrowdodger

Если у кого-то есть желание видеть в KDevelop 4 поддержку Haskell — можете клонить и хакать:
bitbucket.org — сам плагин.
bitbucket.org — хаскельная часть плагина. Можно склонить прямо в директорию с плагином, система сборки ее подхватит.
bitbucket.org — симейкные модули для GHC и кабала. Их копии лежат в основном проекте, но допиливать их лучше здесь.

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

arrowdodger

Я написал инстансы Storable к большинству дататипов из Language.Haskell.Exts.Annotated и из С получил к ним доступ через FFI.
Теперь надо быстренько подсунуть эти данные KDevelop'у и крутейшая IDE для Хаскелла почти готова.

arrowdodger

Все-таки я победил рантайм GHC. Сделал forkOS, в ней заблокировал SIGALRM и вызвал нужную мне функцию. Единственный недостаток — не могу вернуть значение оттуда, но в моем случае оно мне и не нужно.

arrowdodger

Я вот сел снова за поддержку Haskell в CMake и обнаружил, что GHC не умеет собирать модули с циклическими зависимостями.
Я так понимаю, это по причине того, что он .hi не может нагенерить? Но ведь это как-то, ну, непрофессионально, чтоли.

arrowdodger

Я вот писал

lxBrackets =
(char '{' >> (return $ gt TokOpCurlBracket)) <|>
(char '}' >> (return $ gt TokClCurlBracket))

и даже не задумывался, выполняется ли первый return ... при лексинге '}'. А сейчас вот пришло в голову и я долго-долго думал, почему ж оно и правда не выполняется, хотя должно.
А ведь ленивость.