scheme

結局のところMoshを使うにはどうすれば良いのか

(警告 ; 以下の記述はすべて64bitユーザランドのLinuxをインストールしていることを前提としている。もし、少ない労力でmoshをインストールしたいのなら、32bitのx86 debianあるいはubuntuのユーザランドを準備することを薦める。BSDや他のアーキテクチャで…

SchemeにおけるバイナリI/O

R6RS 現状。SchemeでバイナリI/Oを行おうとすれば、R6RS準拠、またはそれに近い実装を使うしかない。処理系依存の方法はいろいろとあるが。。 R6RSにはbytevectorが追加され、また、バイナリポートが概念として追加された。当然、実装はこれらに関して最適化…

Schemeの課題をあの実装で の3

今回moshの予定だったけど今のところうまく行ってない(暇なx86マシンを準備してない)ので別の実装で。 dryScheme 研究室で、ついに念願のPLAYSTATION3を手に入れたのでCell向けにいろいろする予定。その細かいテストの記述やコードの生成などの目的のためにS…

bootstrap Lisp

今まで、言語・CPU環境のブートストラップにはForthを使ってきた。端的に言えばForthの実装はアセンブラで直ぐ作れるからだ。別にBASICをアセンブラで実装することがそれほど難しいこととは思わないが、BASICは演算器として使うのは優秀でも、コンパイラを上…

Schemeの課題をあの実装で の2

64bit環境だとHeap/Stackがoverflowしねぇということで、最近話題のypsilonを試すことに。 traceとか面白いので細かいツールとして使っていこうかな。。(素直にGauche使えよというのは置いておくとして) http://www.littlewingpinball.net/mediawiki-ja/inde…

Schemeの課題をあの実装で の1

小宮先生*1の授業の課題をいろいろなインタプリタでやってみる企画。 Gaucheは宇宙標準だと思うのでインストール方法とかは省略して、goshで起動。 $ gosh gosh> (define (sum x)(cond ((= x 1) 1) (else (+ x (sum (- x 1)))))) sum gosh> (sum 1) 1 gosh> …