The King's Museum

ソフトウェアエンジニアのブログ。

Gauche

Scheme 手習い(5)

第6章:影法師 numbered? (define (numbered? aexp) (cond [(atom? aexp) #t] [(eq? '+ (car (cdr aexp))) (and (numbered? (car aexp)) (numbered? (car (cdr (cdr aexp)))))] [(eq? '* (car (cdr aexp))) (and (numbered? (car aexp)) (numbered? (car (c…

Scheme 手習い(4)

第5章:*すごい* 星がいっぱいだ 元ネタは『2001 年宇宙の旅』のボーマン船長のセリフらしい。 そういえばそんなセリフもあったな。 rember* (define (rember* a l) (cond [(null? l) '()] [(atom? (car l)) (cond [(eq? a (car l)) (rember* a (cdr l))] […

Scheme 手習い(2)

第3章:偉大なる cons rember (define (rember a lat) (cond [(null? lat) '()] [(eq? (car lat) a) (cdr lat)] [else (cons (car lat) (rember a (cdr lat)))])) rember は remove member の略。 ラット(すべての要素がアトムのリスト)内で一致した最初…

『Scheme 手習い』はじめました。

Gauche 本を進めていたけれど、なんだかあんまり身についてる気がしなかったので『Scheme 手習い』に手を出してみた Scheme手習い作者: Daniel P. Friedman,Matthias Felleisen,元吉文男,横山晶一出版社/メーカー: オーム社発売日: 2010/10/22メディア: 単行…

Scheme の number? と complex?

Scheme にある number? と complex? という手続き。 number? : 引数が数値であるかどうか complex? : 引数が複素数であるかどうか (number? x) => #t かつ (complex? x) => #f の数値ってあるのかな?と思った。 リファレンス(6.3.2 数値に関する述語)を見…

cut 式とプログラミング Gauche 7章

cut 式 関数を部分適用したい時に使えるらしい。 例えば、 二つのパラメータを取る cons。片方のパラメータを 1 に特殊化したい。 そういう場合には、 (cut cons 1 <>) と簡潔に書くことができる。 cut 式は実際には lambda の糖衣構文。 (lambda (x) (cons …

プログラミング Gauche:4章〜6章

プログラミング Gauche の4章〜6章のメモ。ちなみにコードはここ。 4章: Gauche の開発スタイル Read, Evaluate, Print, Loop => REPL リテラル 数値、真偽値、文字、文字列 1, 3.14, 2/3 => 単一トークン 真偽値 #t, #f => #f 以外の値はすべて真 文字 #\a,…

Gauche/Scheme を勉強する(三度目の正直)

過去二回挫折した Gauche/Scheme の勉強を再開したいと思う。 www.thekingsmuseum.info www.thekingsmuseum.info 今までは少しストイックに勉強しようとしすぎて挫折してしまったきらいがあるので、ゆるく進めていこうと思う。 ついでに、Evernote にまとめ…

Gauche の勉強を再開。

2 年前くらいに Gauche を勉強したいなーと思ったんだけど、いろいろあって途中でやめてしまってたのを再開した。 hjm333.hatenablog.com Scheme は SICP を Streams くらいまではやったので、簡単なプログラミングクイズみたいなのは解けたりするけど、普段…

Gauche 始めました。

Scheme というか、Gauche を勉強し始めた。 プログラミングGauche作者: Kahuaプロジェクト,川合史朗出版社/メーカー: オライリージャパン発売日: 2008/03/14メディア: 大型本購入: 22人 クリック: 713回この商品を含むブログ (272件) を見る ちょっとしたタ…

(c) The King's Museum