User Tools

Site Tools


ch4_change_logs

LabLISP versions.

Change log of important versions.

Version 1.5.1.4 on 20.01.2025:

  • 31 real math functions like SIN, SQRT, etc.
  • updated ROUND with divisor, and added FLOOR, CEILING, TRUNCATE
  • bugfix: CA..DR type functions now know their names
  • bugfix: function arguments are evaled in the local temporary context

Version 1.5.1.0 on 27.08.2024:

  • LabLispHost added support for extension to LabApps::Device with initSymbols()
  • LabLispHost can provide optional packages

Version 1.5.0.5 on 27.05.2024:

  • Serious refactoring of c++ code, but no changes in LabLisp
  • Only new function time-stamp
  • For Qt 5.15.2 and c++17, compiles with mingw 8.1 64bit
  • Separate c++ modules: IDE, ProcessControl and Environment
  • Now the hosting app just needs to create IDE, thread and window are then included automagically
  • Simplified attachment of LabLispHost
  • Interface for hosted functions is streamlined

Version 1.3.4.0 on 07.03.2023:

  • Small polishing of code, shorter waiting time, now 10 ms.
  • Introduced form and result history symbols +, ++, +++, *, etc. /, etc.

Version 1.3.3.0 on 05.12.2022:

  • Big rewrite of Reader, introduces reading modes #“ ”#, #* *# and anchor #1= and link #1# system.
  • Reader now issues comments on syntax errors, but handles them elegantly.
  • Reader dot operator ., together with the anchor-link system allows creation of cyclic lists directly from reader.
  • Although lablisp is safe against cyclic data lists, the eval algorithm itself is not - please do not write cyclic programs.
  • Special opearator ,. aka hard-splice.
  • Process can be aborted with self-kill.

Version 1.3.0.1 on 29.03.2022:

  • All functions safe against cyclic data lists.
  • proper-list-p predicate.
  • 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.txt · Last modified: 2025/01/20 09:32 by admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki