Scheme

Lispマル非入門

コンピュータは電子計算機とも訳されるように計算に用いるのが本流である、という信念*1の元に、私はちょっとした計算にもパソコンを用いている。当然ながら*2計算にはLisp処理系のREPLを使用する。*3ちょっとした計算にてLisp処理系のREPLを用いるメリット…

『Scheme手習い』に誤記のようなものを発見……か?

時間があまりなくて、まだ読み進めていないのだが、1点気になる記述を発見。「はじめに」のxiiiページに、 atom? が読者のSchemeで正しく定義されているかどうかを知るには、 (atom? (quote 0)) として、#fが返ることを確かめてほしい。 と書いてあるのだが…

SRFI-1のiotaっぽいものを、オプション扱いの引数を省略できるように改良してみた

この間iotaっぽいものを書いたけど、若干の不備があって不満だったので、改良してみることにした。 エラー処理とか考えていない エラー処理はR5RSの範囲外? SRFIにエラー系の関数があるみたい。今回はパス。 SRFI-1を参照してないので、仕様に誤りがある可…

SLIBの中にSRFIの一部が含まれていた

SRFI-1も含まれていた。なのでSLIBを使えるように設定してあればSCMでも、 (require 'srfi-1) これでiotaが使えるようになる模様。というか使えた。SRFI-1以外は、 (require 'srfi) で使えるようになるらしいけど、試してない。しかしなんでSRFI-1だけ別枠な…

SRFI-1のiotaっぽいものを書いてみた

きっかけはGaucheで「iotaって(use srfi-1)しないと使えないんだ」と気づいたこと。手元のSCMでは使えなさそうなので、Gauche Users’ Reference: Topに載っているiotaの説明を参考にそれっぽいものを実装してみた。Schemeの初心者*1としては無謀な試みだった…