to post messages and comments.

← All posts tagged Haskell

@segfault:

Hackage перестал тормозить и поиск обновили.

@segfault:

В exceptions определен ` MonadThrow <hackage.haskell.org> []`

@segfault:

gist.github.com
Как бы мне вот такой псевдокод писать более красиво и композабельно? Можно взять ResourceT вместо Trans, но он при выходе из монады запустит мне `cleanupRes` а мне этого как раз не надо, поскольку я тут не ресурсы выделяю, а делаю serious business штуки, которые хочется безопасно отменить в случае любых фейлов, а если фейлов не было, то не чистить. И желательно в обратном порядке (последнее cleanup action вызвается первым). Ситуация осложняется большой вложенностью вызовов функций и невозможностью в одном месте сделать такое вот дерево из `catchAll`.

@segfault:

pbs.twimg.com
Wow! Not bad ...

@segfault:

Есть ленивый список значений `list :: [Maybe a]` в котором элементы не зависят друг от друга по данным. Есть функция `findGrail :: [Maybe a] -> b` которая внутри делает `foldl . catMaybes'` . Хочу получить `b` так, чтобы элементы `Maybe a` исходного списка `list` вычислялись параллельно в разных потоках на всех доступных ядрах автоматически. Как максимально просто по-бомжвею это сделать?

@segfault:

opennet.ru
Срочно нужен ghcwa!

@segfault:

Чот я туплю, а у нас в бейз разве нет Eq1 и Ord1? А где правильнее взять?

@segfault:

gist.github.com
Нашел забавную ситуацию, когда надо использовать MultiParamTypeClass с фундепом вместо ассоциированной тайпфемили.

@segfault:

hackage.haskell.org
А где вот этот вот тип A есть с инстансами отдельно от оптпарса?

@segfault:

Ну что опять? // Разговаривает с тайпчекером.

@segfault:

github.com
Похоже на фреймворк для создания своего CI

@segfault:

А как в 2кей17-ом принято удалять неиспользуемые зависимости в .cabal файле?

@segfault:

hackage.haskell.org
Мне одному кажется, что это простой реекспорт функций из time?

@segfault:

А кто-то натыкался на случай, когда изменение кода в одной топ-левел функции вызывало ошибки в других топ-левел функциях, которые до изменения прекрасно компилировались? При чём, изменение касается тела функции (опечатка), а не типа. Т.е. сообщения становятся бесполезными и запутывающими, и указывают вообще не на те декларации, в которых ошибка.

@segfault:

Тупой вопрос: есть готовое, чтобы заменить имя файла вида

~/file/path

на

/home/user/file/path

Чтобы правильно, с учётом всех подводных камней и самому не писать?

@segfault:

govnokod.ru
Ну наконец-то!

@segfault:

Prelude> divMod 5 60
(0,5)
Prelude> divMod (-5) 60
(-1,55)

Я как-то не правильно понимаю целочисленное деление?

@segfault:

Тем временем в реальности
github.com

@segfault:

А я тут хаскельным квикчеком нашёл весёлый кейс

> d = new Date(2006, 02, 26, 02, 28, 53);
Sun Mar 26 2006 03:28:53 GMT+0600 (+06)
> d = new Date(2006, 02, 26, 0, 0, 0);
Sun Mar 26 2006 00:00:00 GMT+0500 (+05)
> d = new Date(2006, 02, 26, 1, 0, 0);
Sun Mar 26 2006 01:00:00 GMT+0500 (+05)
> d = new Date(2006, 02, 26, 2, 0, 0);
Sun Mar 26 2006 03:00:00 GMT+0600 (+06)
> d.getHours()
3

Работает в последнем хромаче, в фоксе, наоборот, час становится на 1 меньше. Гуголь чет ни чего не говорит по этому поводу. Я первооткрыватель?

@segfault:

Такие дела ...