Twitterのタイムラインが面白すぎて、ついうっかり言語を擬人化して脳内で言語女子会なるものを開いてしまいました。なお、登場人物と実在の人物は1対1に対応しません。 undefinedとnullの両方必要なの?とあるプログラミング言語が集う女子会にて:Perl: そうい... 続きを読む
この記事はjQuery is a Monad « Important Shockという記事の勝手訳です。Haskellプログラマーは誰しもがモナドに関する各々のチュートリアルを書くと言われる。というのも、一度モナドの定義とその可能性を理解すれば、モナド全体を囲む神秘性に挑戦して打ち破... 続きを読む
大手SIベンダにてSEやPMやアーキテクトとして勤務したのち,株式会社豆蔵を経て,現在は合同会社シンプルアーキテクト代表社員であり,株式会社匠Business Placeのチーフコンサルタント。主に超上流のプロセスである要求開発やオブジェクト指向,アジャイル開発... 続きを読む
前回、 おとうさんにもわかるYコンビネータ!(絵解き解説編) - よくわかりませんというエントリで、Yコンビネータ(不動点演算子)と再帰の絵解き解説をしました。 Yコンビネータ自身は、結局のところ再帰を産み出してくれるだけです。関数(正確にはλという単純な... 続きを読む
Haskell, 30分プログラム | 30分プログラム、その520。HaskellのArrowを勉強しよう。30分ほど、日本語で解説してるブログを見てみた。とりあえず、今のところ分ったのは、Unixのパイプのように関数をつなげれる IO処理がポイントフリースタイルで書ける do記法... 続きを読む
http://www.haskell.org/haskellwiki/Haskell_programming_tips 序文 このページではコードを改善されていく例を見ていきます。そこから一般的な規則を得ようと努めましょう。とはいっても決定的に適用したりはできないし、趣味の問題もあるかもしれません。私... 続きを読む
今日 id:uskz に会ったときに「C++でもMaybeモナドできますよ」って言われたので調べたらこんなのあった Maybe monad in C++ #include class Nothing {}; template class T> class Just { public: T val; Just(T x) : val(x) {} }; templateclass T, class F> b... 続きを読む
前から思っていたんだけど、 Haskell でいうと次に相当するクイックソート。qsort :: (Ord a) => [a] -> [a] qsort [] = [] qsort (a:ax) = qsort [x | x <- ax, x < a] ++ [a] ++ qsort [x | x <- ax, x >= a] これって、記述の容易さ、シンプルさ、再帰的処理... 続きを読む
つーか、fold の弱点として、言語によって引数の順番がまちまちで、正直憶えきれないってのがあるんだよな。誰か対応表とか作ってくれんもんか。jijixi’s diary - fold, map, for-each この中から一つ選ぶとしたらどれ?確かにいろいろとややこしいのでまとめ... 続きを読む
ソースファイルの拡張子 コメントなど コメント $ おまけ 関数合成 関数の定義 ガード case of ワイルドカード アズパターン タプル リストの基本 無名関数の基本 リストの内容表現と数列表記 局所定義 where let do Haskellのインデント(レイアウト) クラス re... 続きを読む
haskell中途半端だけど、現状の動画をupしますた。http://www.nicovideo.jp/watch/sm4842293ソースは http://svn.coderepos.org/share/lang/haskell/nario に置いてあります。現状 22ソース、1605行「関数型言語」って身構えることは全然なくて、Cとかで組むの... 続きを読む
プログラミングを嗜む普通の社会人。はじめてのプログラミングは「Hello World」ではなく、N88-BASICで画面上に円を描いたこと。「外国語のよいところはそれをいくつ学ぼうと構わないことだ」という或る言語学者の言葉はプログラミング言語にも当てはまると最近... 続きを読む
Euler problemsCategories: Tutorials | Code These are solutions to the problems listed on Project Euler. WARNING - Do not peek at any of these pages if you want to enjoy the benefits of Project Euler, unless you have already solved the problem... 続きを読む
うーん、まずY Combinatorというのはおじさんたちが悪かったかな。ギター習いたてでいきなりFの音を出すようなもんだから。 Haskell のリストと遅延評価が少し分かった - IT戦記 Y コンビネータって何? - IT戦記 まずは、遅延評価についてきちんとおさらいして... 続きを読む
Kanasan.JS JavaScript第5版読書会#2 の裏側 Kanasan.JS JavaScript第5版読書会#2 http://groups.google.co.jp/group/kanasanjs/web/kanasan-js-javascript52 一昨日のKanasan.JSに、運営側として参加してきました。 参加してくださったみなさんの感想・まとめ... 続きを読む
Haskellは強い静的型付けで、かつ非正格評価の言語だ。 非正格評価とは、簡単にいうと「関数の引数を先に必ず評価するとは限らない」ことだ。 たとえば head [1..] これは1からはじまる整数の無限リストの先頭を取り出すという意味である。 他の言語だと、まず... 続きを読む
04:20Haskell が理解できる気がしてこない。諦めたい気分になってくる (実際書いてるコードは理解しなくても書ける範囲でしか書いてない)。いやもちろん誰かに「やれ」なんていわれているわけじゃない。理解できなくてくやしい。lift が全くわからない。「モナ... 続きを読む