@haskellru

Страница 1405 из 1551
Alexander
13.08.2018
20:05:09
вот, что с закрытием не знаю

я бы сишный пруф оф концепт сделал

Kirill
13.08.2018
20:05:27
А нету какого-то caching layer над persitent ?
персистент же вроде простой "ORM", всё в сикель просто транслируется

Alexander
13.08.2018
20:05:32
там и на сях все неочевидно

Google
Yura
13.08.2018
20:05:39
ну вот про event manager где посмотреть?

Kirill
13.08.2018
20:06:06
почти все сишные вызовы с eagain выходят
man говорит, что с splice не повезло

Alexander
13.08.2018
20:06:25
GHC.Event

там registerFD

это интерфейс к еполу

ну или что в вашей ос

Kirill
13.08.2018
20:07:02
на https://ogris.de/howtos/splice.html пишут "In this case, your program either receives a SIGPIPE or, if you have blocked SIGPIPE, splice() will return -1 with errno set to EPIPE. If you want to reuse the pipe, you have to empty it by splicing to /dev/null"

Yura
13.08.2018
20:27:42
ну если splice в non blocking mode запусить, то EAGAIN будет

Alexander
13.08.2018
20:29:23
вот1 я так и говорил

Yura
13.08.2018
20:30:11
но тогда надо с EventManager парится

вот на питоне proof of concept

https://gist.github.com/NicolasT/4519146

от автора RaFT для Haskell :)

Google
Yura
13.08.2018
20:32:03
что интересно interruplible помог...

надо как recv попробовать unsafe

Alexander
13.08.2018
20:54:42
unsafe не надо

elton
14.08.2018
05:33:48
здрасьте не подскажите, как реализовать в хаскиле функцию, которая берет лист, число n и возвращает лист листов по n элементов? group::[a]->Int->[[a]] group [1,4,8,8] 2=[[1,4],[8,8]]

Timofey
14.08.2018
05:46:28
Пригодятся функции drop и take. Ну и рекурсия)

Yura
14.08.2018
05:47:42
unsafe не надо
why? recv именно так сделан

Timofey
14.08.2018
05:47:46
f xs n = take n xs : f (drop n xs) n

Плюс условие выхода из рекурсии: f [] n =[]

Aleksey
14.08.2018
05:53:23
Эй, вы решение-то готовое не давайте! Дайте время подумать :)

elton
14.08.2018
05:53:33
да я забыл про них... спасибо

Yuriy
14.08.2018
05:54:03
товарищ же просил не подсказывать > не подскажите...

Oleg
14.08.2018
05:54:53
Теперь придётся выдумывать ещё одно без рекурсии

Alexander
14.08.2018
06:15:15
why? recv именно так сделан
если не блокирующий, то можно

Dmitry
14.08.2018
07:06:18
а есть еще какой-то генератор форматированного текста, но не пандок?

пандок убогий и не очень настраивается

Alexander
14.08.2018
07:06:46
тебе html to txt?

Dmitry
14.08.2018
07:08:49
ADT -> AST -> [txt, rst,markdown, etc...]

ну, примерно как pandoc, только нормальный. что бы можно было настроить ширину страницы, например

а то у него по умолчанию даже меньше 80 символов и непонятно, можно ли настроить

Google
Aleksey
14.08.2018
07:33:28
Пандок настраивается дописыванием форматтеров. Дизайн такой

Dmitry
14.08.2018
07:41:42
а ты примеры где-нибудь видел?

ну и как-то тупо его дописывать, если всё, что тебе нужно - это ширину строки поменять

Alexander
14.08.2018
07:49:50
mmark был

Aleksey
14.08.2018
07:52:02
mmark, это md->html и всё

ну и как-то тупо его дописывать, если всё, что тебе нужно - это ширину строки поменять
Для этого есть возможность скриптования writer'ов на lua: https://pandoc.org/lua-filters.html Да, Lua, но и скрипт то должен получиться небольшой :)

Причём фильтрами у pandoc могут выступать просто программы, работаючеме через pipe

Dmitry
14.08.2018
07:59:49
ну представляешь через пайп теблицу переформатировать?

Aleksey
14.08.2018
08:00:37
Есть JSON-filters

AST-in-JSON -> AST-in-JSON

Dmitry
14.08.2018
08:01:14
вот это более интересно. ок, посмотрю. а это есть вообще в документации?

там она какая-то была куцая

Aleksey
14.08.2018
08:01:26
https://pandoc.org/filters.html#json-filters

Для Pandoc JSON AST есть инстансы хаскельные

A64m
14.08.2018
08:49:38
chunks n = unfoldr $ (\case ([], []) -> Nothing; r -> Just r) . splitAt n

Denis
14.08.2018
09:59:24
ну и жесть
все уже украдено (сделано) до нас https://www.stackage.org/haddock/lts-12.6/split-0.2.3.3/Data-List-Split.html#v:chunksOf

Gleb
14.08.2018
10:50:46
здрасьте не подскажите, как реализовать в хаскиле функцию, которая берет лист, число n и возвращает лист листов по n элементов? group::[a]->Int->[[a]] group [1,4,8,8] 2=[[1,4],[8,8]]
group :: [Int] -> Int -> [[Int]] group ints groupSize = group' ints [] 0 [] where group' [] currentGroup _ groups | null currentGroup = groups | otherwise = (currentGroup:groups) group' (x:xs) currentGroup currentGroupSize groups | currentGroupSize == groupSize = group' xs [x] 1 (currentGroup:groups) | otherwise = group' xs (x:currentGroup) (currentGroupSize + 1) groups

Google
Aleksey
14.08.2018
11:10:15
И что, теперь каждый напишет свой вариант?

Ilya
14.08.2018
11:25:40
кстати, как цепочки композиций/долларов лучше записывать? В линию или как в расте?

grp n = map (map snd) . groupBy ((==) `on` (`div` n) . fst) . zip [0..] grp n = map (map snd) . groupBy ((==) `on` (`div` n) . fst) . zip [0..]

Aleksey
14.08.2018
11:28:41
Нет единого мнения

Pig
14.08.2018
11:31:47
тогда уж chunk n = map (map snd) . groupBy ((<) `on` fst) . zip (concat $ repeat [1..n])

Ilya
14.08.2018
11:37:23
тогда уж chunk n = map (map snd) . groupBy ((<) `on` fst) . zip (concat $ repeat [1..n])
chunk n = map (map snd) . groupBy ((<) `on` fst) . zip (cycle [1..n])

Admin
ERROR: S client not available

Ilya
14.08.2018
11:38:02
да, это лучше, чем с div возиться

Dmitry
14.08.2018
11:38:03
Ребят, не останавливаемся! Продолжаем предлагать варианты!

Ilya
14.08.2018
11:39:22
и не выпендриваться
но мы же в хаскеле

Alexander
14.08.2018
11:39:38
пакет split тоже в хаскеле

Alexander
14.08.2018
11:40:22
ещё в линзах наверняка есть

map snd . groupBy fst . zip (replicate n True++replicate n False)

== on fst

Google
Alexander
14.08.2018
11:43:29
и cycle $ перед репликейтом

Dmitry
14.08.2018
11:46:59
Оно не то будет выделять

Ааа

От оно как

A64m
14.08.2018
11:48:57
тем временем, ушедший на хагс хлопнув дверью клайден, вернулся в пропозалы притопить против линз

Dmitry
14.08.2018
11:49:25
Alexander
14.08.2018
11:49:36
да

мне лень полный вариант копировать было

Leonid
14.08.2018
12:17:40
вот это есть где-нибудь в base? onNothing :: Monad m => m (Maybe b) -> m b -> m b onNothing m act = maybe act pure =<< m а то в каждом проекте всплывает и приходится кривится и придумывать имя для модуля куда это сунуть

Aleksey
14.08.2018
12:19:48
В каком-нить Foundation есть, а в base не помню такого

Dmitry
14.08.2018
12:22:54
http://hackage.haskell.org/package/supervisor-0.1.1.0/docs/Control-Monad-Supervisor-Session.html#v:onNothing

A64m
14.08.2018
12:23:21
<имя модуля в котором это должно быть>.Ext

Denis
14.08.2018
12:23:26
ну и еще https://hackage.haskell.org/package/witherable-0.2/docs/Data-Witherable.html

Leonid
14.08.2018
12:23:39
A64m
14.08.2018
12:24:38
ну вот что первое пришло в голову - так и называть

Denis
14.08.2018
12:24:39
Control.Monad? Data.Maybe?
ну тогде Митчеловский extra https://www.stackage.org/haddock/lts-12.6/extra-1.6.9/Control-Monad-Extra.html

Leonid
14.08.2018
12:25:56
какой же стэкедж нечитаемый

а чего на стэкедже не пишут зависимости?

Страница 1405 из 1551