Skip to content

Releases: hymkor/gmnlisp

v0.2.0

29 Dec 07:25
Compare
Choose a tag to compare
  • 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 &lt;string&gt;)
    • (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 \
  • (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 &lt;string&gt;)
    • (file-length)
    • (probe-file)
    • (backquote)
    • (create-array) (arrayp) (array-dimensions) (aref)
    • (abort)
    • (tagbody) (go)
  • 以下を修正
    • gmnlisp.exe: *posix-argv* が未定義だった
    • (defmacro) がレキシカルな名前空間になっていなかった
    • (defun): &rest が評価されていなかった
    • tokenizer: " and \ を取り扱えていなかった
  • (block) で第一引数で nil を与えられるようになった
  • (replica) を (set-car) へ、(replid)(set-cdr) へ変更
  • (quote X)'X と表示するようにした
  • (defun)(defmacro):rest&rest と同様に使えるようにした

v0.1.2

22 Oct 05:01
Compare
Choose a tag to compare
  • Fix: (defmacro)'s bugs and support &rest of (defmacro) and ,@
  • Remove (macroexpand)

v0.1.1

16 Oct 01:28
Compare
Choose a tag to compare
  • Fix: gmnlpp: forgot replacing \ to \\

v0.1.0

15 Oct 16:28
Compare
Choose a tag to compare

The first prototype