Подскажите что вы бы использовали для этой задачи. Ну или что принято использовать.
Подскажите что вы бы использовали для этой задачи. Ну или что принято использовать.
Итак есть функция github.com
Задача добавить перед ней вызов функции которая меняет State, в зависимости от Term-а (Если терм больше текущего LeaderState -> FollowerState) и вызвать пару функций в монаде Transition.
runTransitionT — это "синоним" RWST и state тут конкретный тип состояния (FollowerState/CandidateState/LeaderState), а не обобщённый(existential?) SomeState .
Я решил эту проблему вот таким способом : github.com
Т.е. сделал трансформерами RW без T и поменял тип вызываемых функций на более общий.
Может быть возможно как-то поменять Transition чтоб это влезало в одну монаду?
github.com со стеком под винду?
Норот кто-то настраивал себе sublime с
wiki.haskell.org . Вместо render можно конечно просто Show использовать, но мне удобнее ByteString . Ну и сделал инстанс Enum. Однако, поскольку не все конструкторы Nullary , toEnum внятный изобразить нельзя.
Внимание вопрос, кошерно ли использовать такой урезанный Enum или лучше навелосипедить свой Message -> Int ?
Пришлось мне все сообщения об ошибках посчтитать и пронумеровать, для того чтоб пользователь моего API мог интернационализировать их. Собственно за базу взял идею Внимание вопрос, кошерно ли использовать такой урезанный Enum или лучше навелосипедить свой Message -> Int ?
#2794212 . Собственно расставлением кучи ! мне удалось заставить вылетать эксепшн в нужном потоке. Однако, мне нифига не понравилась такая т.к. мне кажется это совсем не правильным. Т.е. sink по умолчанию ленивый по своим агрументам, и только после того как я сделал его энегричным, что-то заработало.
Собственно встаёт вопрос как принято решать в кондуитах проблемы с тем что санк с эксепшеном может улететь в другой поток?
Кроме того можно, же воспользоваться decodeOrFail . Но насколько я понимаю тогда придётся воспользоваться map Maybe (...) $$ catMaybe $$ sink . Но информация об ошибке пропадает. Чтоб не пропадала придётся писать свой Conduit.
Продолжая вопросы из — Собственно встаёт вопрос как принято решать в кондуитах проблемы с тем что санк с эксепшеном может улететь в другой поток?
Кроме того можно, же воспользоваться decodeOrFail . Но насколько я понимаю тогда придётся воспользоваться map Maybe (...) $$ catMaybe $$ sink . Но информация об ошибке пропадает. Чтоб не пропадала придётся писать свой Conduit.
Собственно вопрос как такие ограничения принято задавать в системе типов?
[(snd i, snd j) | i <- as, j <- bs, fst i == fst j]. А мне нужен Outer JOIN. Чтоб результатом был [(Maybe a, Maybe b)] .
Как такое принято делать?
Есть такой тип данных: data Result = COk | CFail String Т.е. что-то вроде Maybe но наоборот. И вот приходится мне комбинировать эти Result в стиле bind (>>=) . Норот, может есть где-то готовый тип с инстансом Monad ?
github.com случилась из-за этой херни ghc.haskell.org ?
Я так понимаю вот эта херня Господа есть проблема с настройкой vpn-а. Есть сеть на роутере(debian-wheezy)(192.168.1.5) этой сети не поднимается openvpn тунель, а на компе который внутри сети понимается (192.168.1.3). На роутере 4 интерфейса eth0, eth1, wlan0, br0. eth0 и wlan0 объединены в br0, на него раздаётся dhcp. NAT делается одной коммандой. /sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE . Внятной ошибки openvpn на 192.168.1.5 не пишет: Mon Apr 20 22:25:42 2015 TCPv4_CLIENT link remote: [AF_INET]176.126.237.214:443 Mon Apr 20 22:25:42 2015 Connection reset, restarting [0] Mon Apr 20 22:25:42 2015 SIGUSR1[soft,connection-reset] received, process restarting Собственно вопрос куда копать?
1. head $ filter pred $ reverse list
2. head $ reverse $ filter pred list
3. last $ filter pred list
1. выдавать запись по индексу (индексы целые монотонновозрастающие)
2. выдавать последнюю запись
3. добавлять запись в конец
4. убирать записи с индексом >= нужного
Сейчас такой лог реализован IntMap-ом в памяти и, вцелом, он неплохо справляется реализуя перечисленное:
1. lookup
2. findMax
3. insert
4. filter
Однако, хочется persistance. Первая идея была взять acid-state и при коммите сохранять IntMap туда. В принципе, можно наверное просто в файл после сериализации сохранять, состояние то между потоками не шарится писать туда может только один... Обновления там простецкие, index++ и дописать в конец. Может кто-то встречал что-то более подходящее или есть какие-то идеи?