技術memo

関数型ゴースト

Scheme

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です。

SchemeでF# 風パイプライン演算子を書いてみた

パイプライン処理のこと 巷ではStreemやStreeem、さらにはstleemなんてものまで現れて、パイプライン風プログラミング言語が話題になっています。 パイプライン処理風のプログラミングスタイル、面白そうですね。 ところで、パイプラインといえばF# ですね?…

Macでプログラミング環境を作った話

Mac初心者です。 今までプログラミングは仕事でも趣味でもWindows機を使っていたのですが、せっかくMBAを買ってしまったので、そろそろ開発環境を本気出して作ってみようかと思い立ち、あれこれインストールしてみました。 その辺りのメモ書きです。