今、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の先頭に追加 (cons x acc))) '()))) (compose reverse flatten-rev))); 最終的に正しい順(逆順)にする ;; test (equal? (flatten '((1 2 3) 4 5 (6 (7 8)))) '(1 2 3 4 5 6 7 8)) ;; #t続きを読む