Let Over Lambda 中文版
- 译者序
- 第一章:概述
- 第二章:闭包
- 第三章:宏基础
- 第四章:读取宏 (1)
- 第五章:Programs that program (1)
- 第六章:回指 (1) 宏
- 第七章:宏的效率
- 第八章:Lisp 和 Forth
- 附录
- 参考文档
- 术语表
- 源代码
- 生产代码
- License 说明
- 代码架构
- 产品代码
group
mkstr
symb
flatten
g!-symbol-p
o!-symbol-p
o!-symbol-to-g!-symbol
defmacro/g!
defmacro!
defun!
|#"-reader|
|#>-reader|
segment-reader
match-mode-ppcre-lambda-form
|#~-reader|
dlambda
alambda
aif
|#`-reader|
|#f-reader|
lol-syntax
nlet-tail
alet%
alet
let-binding-transform
pandoriclet
pandoriclet-get
pandoriclet-set
get-pandoric
get-pandoric
with-pandoric
pandoric-hotpatch
pandoric-recode
plambda
pandoric-eval-tunnel
pandoric-eval
fast-progn
safe-progn
fformat
fformat
inline make-tlist tlist-left tlist-right tlist-empty-p
make-tlist
tlist-left
tlist-right
tlist-empty-p
inline tlist-add-left tlist-add-right
tlist-add-left
tlist-add-right
tlist-rem-left
tlist-update
build-batcher-sn
sortf
dollar-symbol-p
if-match
when-match
- .travis.yml
- circle.yml
- let-over-lambda.asd
- let-over-lambda.lisp(whole)
- let-over-lambda-test.asd
- LICENSE
- package.lisp
- README.md
- End
TODO:
添加文章中的代码文件
添加原文中的脚注及参考引用
校对
如何加入
本文档使用 Sphinx 将 docsrc/_sources
下的
reStructuredText 文件生成的文档。当
然,为了照顾免去大部分人学习 reStructuredText
的格式,同时也支持使用 markdown 格
式。
预备知识
首先,Sphinx
是个 Python 三方库,所以,你需要懂得 Python 的基础知识。然后因为这个文档
是 Github 上,所以你需要有 Git
和 Github
的基础知识。
Note
这些预备知识其实很基础,所谓的 Python 的基础知识指代的是:python 的安装、配置系统环境变
量、pip 的使用。而对于 git
和 github
的基础知识,无非就是:git clone
、
git add
、git commit
、git push
以及在 Github 上 克隆库 (fork) 和发起 pull request 。
所以你需要现在系统上安装好 Git
、Make
和 Python3
Sphinx 安装
本人的使用 Python3.10
进行开发的。为了避免后续环境版本不统一,推荐使用 python3.10,同
时使用 virtualenv-3
安装Sphinx:
$ python3 -m pip install virtualenv
$ python3 -m virtualenv sphinx
$ source sphinx/bin/activate
(sphinx) $ pip install -U Sphinx sphinx-autobuild sphinx_rtd_theme myst_parser
Note
Windows 下无法执行 source 命令,需要用以下步骤进入虚拟环境:
$ cd sphinx/Scripts
$ activate.bat
获取源代码
在 Github 上先 fork 代码库 到自己的 Github 上,然后将 Github 上的库 clone 到本地
(sphinx)$ git clone https://github.com/<your-github-id>/lol-zh.git
(sphinx)$ cd lol-zh/docsrc
在对应的章节目录下创建对应的章节文档,如第一章第一节
(sphinx)$ cd lol-zh/docsrc/markdown/drafts/
(sphinx)$ touch 1.1-macros.md
Note
如果是 markdown 格式的则创建 .md 为后缀的文件。其中英文文档为 lol-zh/lol.pdf
。
编译完后进行本地预览
(sphinx)$ sphinx-autobuild markdown _build/html
其中 rst
markdown
、_build/html
均在 lol-zh/docsrc
目录下,所以以上命
令是在 lol-zh/docsrc
目录下执行的。确认没问题后执行
(sphinx) $ make md-github
之后就是 git add <添加的文件>
、git commit -m "<添加的文件>"
、git push