haskell

foldl foldr

reduceはHaskellではfoldl、foldrあたりのことらしい。 しかし。 foldlの説明をみて「畳み込み」っていわれてもピンときません。 Rubyのinjectで「リストの要素間に二項演算を『注入』する」っていうのが僕には一番理解しやすかった。で、だいたい意味は分か…

復習

f0 = concatMap (\a -> concatMap (\b -> concatMap (\c -> [a,b,c]) [5,6])[3,4])[1,2] f1 = [1,2] >>= \a -> ([3,4] >>= \b -> ([5,6] >>= \c -> [a,b,c])) f2 = do a <- [1,2] b <- [3,4] c <- [5,6] [a,b,c] で *Main> f0 [1,3,5,1,3,6,1,4,5,1,4,6,2,3,…

Haskellやっぱ難しいよ。難しいって。

非決定性計算を見た。 Schemeで出てきたんだけどググったらHaskellの例があったので、見てみた。 *SICPのambのあたりで import Control.Monad solve = do baker <- [1, 2, 3, 4, 5] cooper <- [1, 2, 3, 4, 5] fletcher <- [1, 2, 3, 4, 5] miller <- [1, 2…

Haskellに必要なのは

今Haskellに必要なのはMonadの使いどころの分類、OOPでいうデザインパターン みたいなのもではなかろうか、と思ったりする。 ようするに、具体的にどう使うのが便利で効果的なのかぴんとこないのです(僕が)。

Haskelのread-eval-print loop

ついでにHaskellも書いとこう0.C-c C-lで対話環境を起動 1.Meadow上でファイルを編集 2.対話環境上で :l ファイル名 でファイル読み込み、テスト ・・・1,2の繰り返し