はじめてのscheme制作

はじめてのscheme制作

無料で読める本

2024年の夏頃から、 r7rs-pico と call/ccが動くschemeを Javaで作成し始めた。 この小さなLisp (r7rs-pico と call/cc仕様) は、それなりに動作した。 調子に乗った私は、r7rs-smallを実装しようと試みたのだが、あまりに難しすぎた。 この本は、『はじめてscheme制作に挑んだ私が』、苦労した点を文章に残して置こうと思い書いた本である。 schemeの実装についての日本語の記事・情報があまりに少ないため書きたかったというのもある。 今後scheme実装に挑む日本人のため、少しでも役に立つ本となれば幸いである。 また、私は、scheme実装に詳しくない為、誤り等ありましたら、ご指摘いただけると助かります。

Chapters
Chapter 01

動機、対象読者

Chapter 02

謝辞

Chapter 03

仕様書の日本語訳と、動作確認環境

Chapter 04

r7rsの仕様書と、本インタープリタの実装方針

Chapter 05

ソースの取得方法・コンパイル方法

Chapter 06

基本のデータ型

Chapter 07

ペア pair (ときにはドット対 dotted pair と呼ばれる) について

Chapter 08

文字について

Chapter 09

環状リスト(横方向)

Chapter 10

環状リスト(縦方向も含む)

Chapter 11

環状リスト(Print処理の注意)

Chapter 12

3impのコンパイラと仮想マシン

Chapter 13

仮想マシンの命令(1)

Chapter 14

衛生的マクロ

Chapter 15

3impのVMの環境と、JSchemeMinの環境

Chapter 16

3impのVMの環境

Chapter 17

JSchemeMinの環境の説明、次に2つの環境の統合へ

Chapter 18

Javaで書いた組み込み関数と、Lispをコンパイルしてできた関数

Chapter 19

組み込み関数の実装

Chapter 20

applyの実装方法の悩み

Chapter 21

map系関数の悩み

Chapter 22

let系関数の分析

Chapter 23

CommonLisp風の単純なマクロ

Chapter 24

letrecの実装

Chapter 25

多値の分析

Chapter 26

valuesと、call-with-valuesの実装

Chapter 27

内部定義

Chapter 28

テストの方法

Chapter 29

どこまで作ったのか?

Chapter 30

どこまで作ったのか?(char)

Chapter 31

どこまで作ったのか?(read)

Chapter 32

どこまで作ったのか(process-context)

Chapter 33

テストの例

Chapter 34

元々のテストコードと章毎に分割したテスト

Chapter 35

テストコードで発見したマクロの問題

Chapter 36

興味深い記事(CKマクロ)

Chapter 37

3impのコンパイラとVMの話(続き)

Chapter 38

3impのコンパイラとVMの話(lambdaの複数のbody文対応)

Chapter 39

そろそろ終わり

Chapter 40

JSchemeMinのソース解析

Chapter 41

VMの命令(簡単に説明)

Author
clazz
Topics
¥0今すぐ読む
公開
NEW
本文更新
NEW
文章量
68,876
価格
0