示例#1
0
func main() {
	console := lisp.NewLisp()
	console.Eval([]byte(`
		(each
			(define
				(f x y z)
				(+ (+ x y) z)
			)
			(define
				F
				(default f 1 2 3)
			)
			(println
				(F)
			)
			(println
				(F 3)
			)
			(println
				(F 3 2)
			)
			(println
				(F 3 2 1)
			)
		)
	`))
}
示例#2
0
func init() {

	lisp.Add("int", conv.Int)
	lisp.Add("float", conv.Float)
	lisp.Add("list", conv.List)
	lisp.Add("string", conv.String)

	lisp.Add("sin", math.Sin)
	lisp.Add("sinh", math.Sinh)
	lisp.Add("asin", math.Asin)
	lisp.Add("asinh", math.Asinh)
	lisp.Add("cos", math.Cos)
	lisp.Add("cosh", math.Cosh)
	lisp.Add("acos", math.Acos)
	lisp.Add("acosh", math.Acosh)
	lisp.Add("tan", math.Tan)
	lisp.Add("tanh", math.Tanh)
	lisp.Add("atan", math.Atan)
	lisp.Add("atanh", math.Atanh)
	lisp.Add("exp", math.Exp)
	lisp.Add("log", math.Log)
	lisp.Add("pow", math.Pow)
	lisp.Add("sqrt", math.Sqrt)

	env = lisp.NewLisp()
}
示例#3
0
func main() {
	console := lisp.NewLisp()
	console.Eval([]byte(`
		(each
			(define
				(g x y)
				(cons x y)
			)
			(define
				G
				(omission g)
			)
			(println
				(G 3)
			)
			(println
				(G 3 2)
			)
			(println
				(G 3 2 1)
			)
		)
	`))
}