Releases: hymkor/gmnlisp
Releases · hymkor/gmnlisp
v0.2.0
- Some functions and macros are defined by embeded Lisp (embed.lsp and lsp2go.lsp)
- Re-implement
(setf)
and(set-..)
by(defmacro)
- Remove
<utf\*string>
.<string>
is same as<utf8string>
- Support
(setf (subseq UTF8STRING START END) NEWVALUE)
. - Implement
(dolist)
by(defmacro)
(dotimes)
by(defmacro)
(lambda-macro)
(gensym)
(convert SYMBOL <string>)
(file-length)
(probe-file)
(backquote)
(create-array)
(arrayp)
(array-dimensions)
(aref)
(abort)
(tagbody)
(go)
- Fix
- gmnlisp.exe:
*posix-argv*
was not be defined (defmacro)
did not support lexical namespace(defun)
:&rest
were not evaluted.- tokenizer: could not treat " and \
- gmnlisp.exe:
(block)
now accepts nil as the first parameter(replica)
→(set-car)
and(replid)
→(set-cdr)
(quote X)
is displayed as'X
(defun)
and(defmacro)
can now use :rest same as&rest
and a log changes.
- embed.lsp や lsp2go.lsp などの組込み Lisp で関数やマクロを定義した
(defmacro)
で(setf)
や(set-..)
を再実装<utf\*string>
を削除。<string>
は<utf8string>
と等価となった(setf (subseq UTF8STRING START END) NEWVALUE)
をサポート- 以下を実装
(dolist)
by(defmacro)
(dotimes)
by(defmacro)
(lambda-macro)
(gensym)
(convert SYMBOL <string>)
(file-length)
(probe-file)
(backquote)
(create-array)
(arrayp)
(array-dimensions)
(aref)
(abort)
(tagbody)
(go)
- 以下を修正
- gmnlisp.exe:
*posix-argv*
が未定義だった (defmacro)
がレキシカルな名前空間になっていなかった(defun)
:&rest
が評価されていなかった- tokenizer: " and \ を取り扱えていなかった
- gmnlisp.exe:
(block)
で第一引数で nil を与えられるようになった(replica)
を (set-car) へ、(replid)
を(set-cdr)
へ変更(quote X)
を'X
と表示するようにした(defun)
と(defmacro)
で:rest
を&rest
と同様に使えるようにした
他