2008-05-26から1日間の記事一覧

EmacsでSchemeのコードを書く

Gaucheでプログラミング!の第2回が公開されていたのであわてて、 【第1回 Gaucheでプログラミング!】 http://www.thinkit.co.jp/article/74/1/ で記載されていたEmacsの設定を使った、GaucheのREPLとの連携機能を使ってみました。 Carbon Emacsのインスト…

foldの練習問題

問題 (fold cons '() '(1 2 3 4 5) ) ;; 結果予測 ;'(1 2 3 4 5) どうなるかっていう問題。 動作検証の前に、予測する。結果パラメータのリストと同じ!? 結果 ;; 結果 ;'(5 4 3 2 1) 逆だった・・・ あぁ!そうだった。 consで評価された結果のリストは 第…

max-num手続きのリファクタリング

max-numをリファクリングの例があったので、要点をメモ。 ;; リストから最大値を表示する手続き (define (max-num lis) ;; 大きい数値を返す手続き (define (pick-greater a b) (if (> a b) a b)) (fold pick-greater -inf.0 lis)) (print (max-num '(4 3 5 …

補助手続き

プログラミングGaucheのP49より。max-nという手続きを作成しその中でしかつかわない手続きならば、手続きの中に定義を書く事ができるらしい。うれしい点 名前空間の消費を抑える ;; リストから最大値を表示する手続き (define (max-num lis) ;; 大きい数値を…