metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2011-10-13 03:49 pm
Entry tags:

Haskell, IO и трансформеры монад

Пишу на хаскеле прогу, которая использует пакет ConfigFile.
Оный пакет в результате парсинга файла конфига выдает хитрожопую комбинацию монад ErrorT CPError IO ConfigParser
В итоге все это вырождается в кошмарные конструкции типа http://hpaste.org/52572
Вот у людей такая же проблема http://stackoverflow.com/questions/2216164/haskells-liftios-litter-functions-of-type-errort-string-io

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

Закономерный итог

[identity profile] plumqqz.livejournal.com 2011-10-13 01:01 pm (UTC)(link)
Не жалеете вы там себя. Не бережете.

[identity profile] gds.livejournal.com 2011-10-13 01:27 pm (UTC)(link)
хехе, это только начало. Рекомендую привыкать потихоньку. А разгадка одна: монадные трансформеры.

[identity profile] dev117.livejournal.com 2011-10-13 03:43 pm (UTC)(link)
В чём проблема то?

Хороший и понятный код.

[identity profile] blackyblack.livejournal.com 2011-10-13 06:27 pm (UTC)(link)
Теги к данной записи составляют рабочую программу на хаскеле. У меня тоже, почему-то, когда я пишу на Erlang, чтение и запись всяких конфигов составляет основную головную боль. Должна быть какая-то глубинная жаба, которую достаточно победить и все конфиги станут подвластны.

[identity profile] nivanych.livejournal.com 2011-10-14 04:02 am (UTC)(link)
Конструкции не кошмарные, а вполне нормальные для такого подхода.
Только нахер?...
Тут исключений-то только при работе с COM-портом, да может быть, чтении файла...
Использовать ErrorT для обшибок парсения затея с непонятной целью...