User Tools

Site Tools


ch4_change_logs

This is an old revision of the document!


LabLISP versions.

Change log of important versions.

Version 1.3.0.1 on 29.03.2022:

  • all functions safe against cyclic lists
  • proper-list-p
  • printing safely cyclic lists, option *print-shared* for non-cyclic, but shared list structure
  • destruction of dropped cyclic list is still not handled and will leak memory
  • function definitions with &optional and &rest parameters, also &whole and &body for macros
  • list-making functions nconc and append
  • application functions mapcar, maplist, mapcan, mapcon, mapc and mapl
  • comments and warnings come with “;” prepended

Version 1.2.8.0 on 07.09.2021

  • Major change that introduces multiple values, as in function intern, find-symbol, macroexpand.
  • Multiple-valued round and values functions.
  • Rewrote the macro system, now local macros are possible with macrolet.
  • macroexpand and macroexpand-1 now behave properly.
  • Introduced setf-able places, and setf special form.
  • Accessors nthcdr, first to tenth, also rest.
  • Function last.
  • The setf-able places make it possible to create cyclic lists, and that leads to crashes - don't make cyclic lists!

Version 1.2.6.4 on 07.07.2021

  • Changes to symbol bindings, allows defconstant
  • String functions write-to-string and concatenate
  • Function set
  • Integer atom now works with long long integer type
  • User accessible flag *allow-non-literal-const*

Version 1.2.6.0 on 14.05.2021

  • Small change to the LabLispHost attachment. Polishing the multi-process evaluation algorithms internally.
  • sleep special function.
  • dolist and dotimes now accept optional result form.
  • Special forms flet and labels for local function definitions.
  • load now has optional argument to make it silent.

Version 1.2.5.3 on 20.04.2021

  • Applicative functions funcall and apply.
  • cond special operator.
  • setq now accepts multiple pairs.

Version 1.2.4.7 on 09.04.2021

  • Changed the old read/eval mechanism for the expansions of quoting characters, now they are done by reader already.
  • Split the value and function namespaces.
  • To that, adding boundp, fboundp, symbol-value, symbol-function, functionp, packagep, special-operator-p.
  • function and sharp-quote (#’) expansion.

Version 1.2.3.7 on 26.01.2021

  • Rebuilt LabLispHost attachment mechanics.
  • Functions read and particularly load.
  • Added integerp.
  • Rebuilt lexical closures, now free variables from closure are evaluated in the dynamic environment.
  • Introduced lambda form.

Version 1.2.3.0 on 12.12.2020

  • Added several functions for packaging: make-symbol, intern, import, export, unintern, unexport, package-use-list, package-used-by-list, package-internal-symbols, package-external-symbols, unuse-package.
  • Whole packaging system is upgraded to work pretty much as in Common LISP, but still missing shadowing of symbols.
  • Reader and printer follow the colon and double colon rules for external and internal symbols in packages.
  • Renamed the predicate functions to be consistent with Common LISP (symbolp instead of symbol? etc.).
  • In general, realized that it make sense to stick to Common LISP language.
  • Corrected some hidden artefacts of quoting.

Version 1.2.1.5 on 19.11.2020

  • Macro system with defmacro and macroexpand function.

Version 1.2.0.6 on 04.11.2020

  • Fixed the command history and colors in output window.
  • Generalized the constant function to symbols and lists (constant expressions).
  • Whole multithreaded processing with name-process and kill functions.
  • Smart wait.
  • Backquoting, unquoting and splicing.

Version 1.1.1.9 was initially deployed in lab on 16.07.2020

  • Single LISP expression eval.
  • Very basic dialect, no macros, no lexical closures, single value and function namespace.
ch4_change_logs.1648660933.txt.gz · Last modified: 2022/03/30 11:22 by admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki