文件名称:lisp:一个由 go 编写的简单 lisp
文件大小:25KB
文件格式:ZIP
更新时间:2024-08-02 02:31:34
Go
lisp ==== a simple lisp made by go 一个简单的go-lisp实现,基本遵循lisp标准语法,包含一些(可能)独有的函数或规则 支持输入四种基本类型:整数、浮点数、字符、字符串 内部支持三种基本类型:整数、浮点数、字符(字符作为整数保存) 支持四则运算、比较运算、逻辑运算(逻辑运算和cons是懒惰执行的) 以下是所有内置函数的简介: none 返回一个空值,如果出现错误,一定要返回空值 eval 为将一个列表在当前作用域下执行 quote 返回参数本身,主要用于保护一个列表 atom 如果参数不是列表或者是空列表则返回真,否则返回假 eq 判断两个元素是否相等(对内部注册函数和default或omission返回的函数会出错) car 返回列表的第一个元素 cdr 返回除去第一个元素后的列表 cons 返回将一个元素加入到列表的头部的列表 each 为顺序执
【文件预览】:
lisp-master
----logic.go(1KB)
----example()
--------list.lsp(2KB)
--------macro.lsp(1KB)
--------sort.lsp(1KB)
--------yield.lsp(1KB)
--------math.lsp(1KB)
--------default.go(338B)
--------omission.go(302B)
--------README.md(226B)
--------console.go(1KB)
----decorate.go(3KB)
----flow.go(3KB)
----io.go(1KB)
----section.go(853B)
----error.go(764B)
----base.go(2KB)
----token.go(3KB)
----conv()
--------conv.go(2KB)
----builtin.go(2KB)
----compare.go(3KB)
----compute.go(3KB)
----feed.go(3KB)
----anony.go(1KB)
----math()
--------math.go(2KB)
----.gitignore(3KB)
----README.md(5KB)
----chan.go(840B)
----label.go(3KB)
----pattern.go(2KB)
----.gitattributes(483B)
----lisp.go(4KB)
----parser()
--------example()
--------type.go(1KB)
--------parse.go(3KB)