関数型プログラミング言語Haskell Part18
■ このスレッドは過去ログ倉庫に格納されています
0800デフォルトの名無しさん
2012/06/18(月) 18:56:10.75delay :: a -> Event a -> Event a
delay x e = fst $ mapAccum x $ (\cur prev -> (prev, cur)) <$> e
イベントをe = [1, 2, 3, ..]とすると
delay 0 e = [0, 1, 2, 3, ..]
って感じになる。
これを少し改造してキューにすればN個前のイベントの値を取ることもできる。
もしくは非効率かもしれないけど、
delayN [] = id
delayN (x : xs) = delay x .delayN xs
とすれば同じものが作れる。
まぁでも、reactive-bananaはいくら初心者向けに機能を絞ってると言っても、
コンビネータが足りなすぎて正直おもちゃの域を出ないのが俺の印象…。
■ このスレッドは過去ログ倉庫に格納されています