Size: a a a

2021 January 09

AP

Aleksei (astynax) Pi... in Haskell Start
sequence
источник

к

кана in Haskell Start
Jerzy Syrowiecki
foldr (>=>) pure . replicate n
еще можно

runKleisli . foldMap Kleisli . replicate n

удивительно что в Data.Monoid нет какой-нибудь

exp :: Monoid m => m -> Int -> m
exp x n = fold (replicate n x)


(+ падение при n < 0)

тогда будет

runKleisli (Kleisli f exp n)
источник

к

кана in Haskell Start
Aragaer
ага. Так, очередной затык. Как аналогичным образом сделать "паралелльно".
sequence при это не делает параллельно сам по себе, это все зависит от реализации аппликатива
источник

к

кана in Haskell Start
Control.Monad.Async.replicateConcurrently n action

уже сделает конкуретно (но вроде бы тоже не факт что параллельно)
источник

ЗП

Зигохистоморфный Пре... in Haskell Start
Aragaer
вижу iterateM, но оно не в base
replicateM?
источник

A

Aragaer in Haskell Start
точно
источник

JS

Jerzy Syrowiecki in Haskell Start
кана
еще можно

runKleisli . foldMap Kleisli . replicate n

удивительно что в Data.Monoid нет какой-нибудь

exp :: Monoid m => m -> Int -> m
exp x n = fold (replicate n x)


(+ падение при n < 0)

тогда будет

runKleisli (Kleisli f exp n)
ого, Кляйсли как моноид работает?
источник

JS

Jerzy Syrowiecki in Haskell Start
кана
еще можно

runKleisli . foldMap Kleisli . replicate n

удивительно что в Data.Monoid нет какой-нибудь

exp :: Monoid m => m -> Int -> m
exp x n = fold (replicate n x)


(+ падение при n < 0)

тогда будет

runKleisli (Kleisli f exp n)
кстати, ala
источник

к

кана in Haskell Start
Jerzy Syrowiecki
ого, Кляйсли как моноид работает?
ну я на самом деле думал вообще всегда что он в Data.Monoid и лежит, я очень удивился сейчас узнав что он не там
источник

JS

Jerzy Syrowiecki in Haskell Start
нет, это вообще другое
источник

к

кана in Haskell Start
Jerzy Syrowiecki
нет, это вообще другое
не, это точно подходит под задачу

> то есть из replicate n myMonad получить m [a]
replicateM n myMonad
источник

JS

Jerzy Syrowiecki in Haskell Start
кана
не, это точно подходит под задачу

> то есть из replicate n myMonad получить m [a]
replicateM n myMonad
под вторую задачу подходит, да, просто ты ответил на первую
источник
2021 January 10

A

Aragaer in Haskell Start
Очередной вопрос. Есть f :: a -> b -> c -> [State World ()], где a,b,c это какие-то аргументы, а я в результате получаю последовательность преобразований мира, которая меня интересует.
источник

A

Aragaer in Haskell Start
как мне к этому проще всего прикрутить "логирование", чтобы эти вот преобразования мира вывести в виде последовательности строк?
источник

A

Aragaer in Haskell Start
добавить к миру еще один параметр "история действий"?
источник

TZ

Timofey Zakrevskiy in Haskell Start
Вывести или сохранить?
источник

TZ

Timofey Zakrevskiy in Haskell Start
Или сохранить и протечки памяти не страшны, то можно взять не State, а RWS
источник

TZ

Timofey Zakrevskiy in Haskell Start
И логи во врайтер скидывать
источник

TZ

Timofey Zakrevskiy in Haskell Start
А если прости вывести, то взять не State World, а StateT World IO, а дальше любая либа для логов, да хоть тот же co-log
источник

A

Aragaer in Haskell Start
решил, что для логов хочу группировать одинаковые записи, поэтому сделал чуть сложнее, но прямо в world
источник