技術memo

関数型ゴースト

2015-01-01から1ヶ月間の記事一覧

テキストメモツール比較、あるいはhowm(一人お手軽wikiもどき)を使い始めた話

考え事をメモしたり、各種記録をつけたりといった、メモツール界隈(?)には以前から関心がありました。 ここ最近Emacsを使い始めたタイミングで丁度良さそうなツールを見つけたこともあり、各種情報をまとめてみることにしました。

今、F# で関数型プログラミングをはじめるなら

F#をはじめてみたい人向け、2015年初頭現在の言語関連情報への参照をまとめてみます。 おおむね日本語です。

Scheme(Gauche)でポイントフリースタイル風味

;; リスト(ツリー)を平坦化する。 (define flatten (letrec ((flatten-rev (fold$ (lambda (x acc) (if (list? x) ;; xがlistなら再帰呼び出し結果をaccの先頭に追加 ((compose (fold$ cons acc) reverse flatten-rev) x) ;; それ以外なら単にxをaccの先頭に…

継続渡しスタイルの再帰関数の読み解き方、あるいは多値で済む場合

Scheme手習い(The Little Schemer) 8章に、multirember&coという関数が出てくるのですが、何だか急に難しさが跳ね上がったようで、正直わけがわからなかったので、自分用に解説をメモしておきます。 動作環境はGauche 0.9.4です。

「同じようなswitch文があちこちにあると改修が困難」って本当?(Expression Problem)

概要 プログラムの設計では、よく「同じようなswitch文があちこちにあると改修が困難になる」と言われています。そういった場合は、「switchの分岐を、オブジェクトの多態性を利用して無くすべきだ」とも言われます。 しかし、それは本当でしょうか。「すべ…

WindowsでEmacsにテキストファイルを関連付けする

Windows 7でemacsclientを導入しようとして困った話です。 やりたいこと Windowsのエクスプローラーでテキストファイルをダブルクリックすると、起動済みのEmacsでそのファイルを開いてほしい。