Haskell

ふと思いついた

range を受ける for_each アルゴリズムは実は mapM_ (アンダーバー付きね) 相当じゃないでしょうか,とか言い出したら偉い人たちに散々に怒られる気がするのでやめておこうそうしよう.

Haskell Prelude にある list 系関数のうち range adaptor にしたら面白そうなヤツは全部 C++ に移植する的俺様専用メモ

break - rangeEx にある同名 (ただし過去分詞) なヤツは意味が違うよにぇ. Prelude に対応するものがないけれど rangeEx のヤツのセマンティスクに Prelude 風の名前つけるとしたら takeUnless? concat - lvalueness についてかなり複雑なこと意識する必要…

今日の収穫物

わーい, amazon に頼んでおいたものが来たー. ISBN:4044292019 ISBN:0130661023 ISBN:4044292027 ISBN:0201633922 ISBN:4044292035 ISBN:0471606952 ASIN:B000EPFRDG ISBN:0134843460 ふふふ,上記のを全部マスターしてより洗練された Cryolite として進化…

Introduction to Functional Programming Using Haskell

あと,自分へのご褒美用にもう1冊. Introduction To Functional Programming, 2nd Edition (Prentice Hall Series in Computer Science)

kind system

前々から「C++ でいうところの concept という概念は,(Generic) Haskell では "kind system" と呼ばれている」とゆ〜のをちらほら目にしていて,"kind system" とゆ〜のが気になっていて仕方なかったのでお勉強してみようと web で資料を漁ってみるテスト.…

TMPとFP

っていうか sign n | n > 0 = 1 | n == 0 = 0 | n < 0 = -1↓↓↓↓↓↓↓↓↓↓ template<class Integer, class = disable_if<less_equal<Iteger, zero> >::type> struct sign : public int_<1>{ }; template<class Integer> struct sign<Integer, enable_if<equal_to<Integer, zero> >::type> : public int_<0>{ }; template</integer,></class></class>

TMPとFP

「そうそう,Haskellで遊んで思ったんですがC++のTemplate MetaProgrammingってFunctional Programmingな側面が強いですね」ってネタをいつか振ろうとしていたんですが,↑のスレッド読んでたらその気が失せました.自分がごちゃごちゃ言うより↓のポスト(↑の…

はじめてのはすける

ダレモイナイ・・・ ハスケルスルナライマノウチ・・・ module Main (main) where import Array main :: IO() main = do line <- getLine (putStr.show.fib.str2int) line fibs :: Integer -> Array Integer Integer fibs n = a where a = array (0,n) ([(0,…