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 addedFLOOR
,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
,.
akahard-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
andappend
. - Application functions
mapcar
,maplist
,mapcan
,mapcon
,mapc
andmapl
. - 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
andvalues
functions. - Rewrote the macro system, now local macros are possible with
macrolet
. macroexpand
andmacroexpand-1
now behave properly.- Introduced setf-able places, and
setf
special form. - Accessors
nthcdr
,first
totenth
, alsorest
. - 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
andconcatenate
. - 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
anddotimes
now accept optional result form.- Special forms
flet
andlabels
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
andapply
. 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 particularlyload
. - 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 ofsymbol?
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
andmacroexpand
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
andkill
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