レス書き込み
スレへ戻る
写
レス栞
レス消
関数型プログラミング言語Haskell Part16
PC,スマホ,PHSは
ULA
べっかんこ
公式(スマホ)
公式(PC)
で書き込んでください。
名前
メール
引用切替:
レスアンカーのみ
>>200 > >>192のアイデアを水平合成とみて>>186のに適用するとこんな感じ? > > type Magma a = a -> a -> a > class MonadZero m where > mzero :: m a > class MonadZero m => MonadOr m where > mor :: Magma (m a) > class MonadZero m => MonadPlus m where > mplus :: Magma (m a) > instance MonadZero [] where > mzero = [] > instance MonadOr [] where > mor xs = if null xs then id else const xs > instance MonadPlus [] where > mplus = (++) > > fizz = cycle $ replicate 2 mzero `mplus` return "Fizz" > buzz = cycle $ replicate 4 mzero `mplus` return "Buzz" > fizzbuzz = zipWith mplus fizz buzz > > main = print $ zipWith mor fizzbuzz $ map show [1..100] > > listモナドの和を論理和(つまりMaybeモナドの和)、数値和の二通りに見ることで数値和で作ったfizzbuzzのパターンと数字のパターンを論理和で合成する・・・と > Listを信号としてみれば、もろor回路による信号の合成だよな。始まる場所が変わることに対してはdrop等で開始位置をずらしてつまり信号のdelay回路か > SignalArrowを使った抽象化でもいけそうに見えるな > それはさておき垂直合成、つまりモナド変換子を使うのはどうなるんだろうか > FizzT (FuzzT Identity Int) [String]みたいな型になればそれっぽいんだけど
ローカルルール
SETTING.TXT
他の携帯ブラウザのレス書き込みフォームはこちら。
書き込み設定
で書き込みサイトの設定ができます。
・
ULA
・
べっかんこ(身代わりの術)
・
べっかんこ(通常)
・
公式(スマホ)
・
公式(PC)[PC,スマホ,PHS可]
書き込み設定(板別)
で板別の名前とメールを設定できます。
メモ帳
(0/65535文字)
上
下
板
覧
索
設
栞
歴
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.009s