Documentation ¶
Overview ¶
簡単な Lisp インタープリタ. 数として有理数を扱う。
Index ¶
- Variables
- func CheckArity(arity int, a []Any)
- func CheckForBinary(x *Cell) (Any, Any)
- func CheckForBinaryAndRest(x *Cell) (Any, Any, *Cell)
- func CheckForUnaryAndRest(x *Cell) (Any, *Cell)
- func NumberFor(text string) (arith.Number, bool)
- func ReadAndEval(line string) bool
- func ReadAndEvalFile(fileName string) bool
- func ReadEvalPrint(input io.Reader, output io.Writer) bool
- func StringFor(a Any) string
- type Any
- type Cell
- type Env
- type Future
- type Lex
- type Symbol
Constants ¶
This section is empty.
Variables ¶
View Source
var AmpRestSymbol = NewSymbol("&rest")
View Source
var Globals = &Env{map[*Symbol]Any{ TSymbol: TSymbol, NewSymbol("car"): carFunc, NewSymbol("cdr"): cdrFunc, NewSymbol("cons"): consFunc, NewSymbol("listp"): listpFunc, NewSymbol("eq"): eqFunc, NewSymbol("rplaca"): rplacaFunc, NewSymbol("rplacd"): rplacdFunc, NewSymbol("list"): listFunc, NewSymbol("="): eqOp, NewSymbol("/="): neOp, NewSymbol("<"): ltOp, NewSymbol("<="): leOp, NewSymbol(">"): gtOp, NewSymbol(">="): geOp, NewSymbol("+"): addOp, NewSymbol("-"): subtractOp, NewSymbol("*"): multiplyOp, NewSymbol("/"): divideOp, NewSymbol("gensym"): gensymFunc, NewSymbol("print"): printFunc, QuoteSymbol: quoteForm, NewSymbol("setq"): setqForm, NewSymbol("progn"): prognForm, NewSymbol("if"): ifForm, NewSymbol("lambda"): lambdaForm, NewSymbol("let"): letForm, NewSymbol("defun"): defunForm, NewSymbol("apply"): applyForm, NewSymbol("and"): andForm, NewSymbol("future"): futureForm, NewSymbol("force"): forceFunc, }, nil, sync.Mutex{}}
トップレベルの環境
View Source
var MaxPrintRecur = 4
StringFor 関数で同じリストを再帰的に表示する深さ
View Source
var NilSymbol = NewSymbol("nil")
View Source
var QuoteSymbol = NewSymbol("quote")
View Source
var TSymbol = NewSymbol("t")
Functions ¶
func CheckForBinaryAndRest ¶
長さ2以上のリストか確かめてその要素を返す。
func ReadAndEval ¶
文字列を読み込み式を評価する。 ただし,読み込んだ式が不完全ならば false を返して終わる。
func ReadAndEvalFile ¶
ファイルを読み込み式を評価する。 ただし,読み込んだ式が不完全ならば false を返して終わる。
func ReadEvalPrint ¶
入力を読み込み式を評価し結果を 元の式 => 結果の値 という形式で出力する。 ただし,読み込んだ式が不完全ならば false を返して終わる。
Types ¶
Click to show internal directories.
Click to hide internal directories.