Releases: jcubic/lips
Releases · jcubic/lips
0.20.0
Breaking
- replace
print
withdisplay
(more like scheme) - replace
lips.Symbol
withLSymbol
- replace
delay
withwait
(to allow using scheme delay/force) - change
timer
function to justsetTimeout
with expression (oldtimer
is nowwait
)
Features
- improve
-->
macro to handle numbers and strings and symbols (quoted or not) - new function
quoted-symbol?
- allow to use else in cond (same as true - similar to scheme)
- new macro:
promise
- experimental parent.frame (inspired by R)
- add
arguments.callee
to lambdas
Bug fixes
- fix for-each with function that use this (like print)
- fix pretty print of lisp code
- fix formatting/indent of list of full S-Expressions
0.15.4
0.15.3
0.15.2
Bug fixes
- fix
ignore
macro - fix
load
function in node - fix
Pair::append
andappend
functions with non pair - throw exception when more unquote then quasiquotes
- fix double unquote symbol
- throw error when unquote-splice on atom in the middle of the list
- don't create cycles in unquote-splicing
- fix cloning cycles
0.15.1
Bug fixes
- fix
load
function outside of Node - return undefined from
load
function - fix formatting of lambda expressions
- fix
symbol->string
function when called with gensym symbols - improve
-->
and..
macros - quote
define-macro
arguments so they don't evaluated if inside expression
0.15.0
Features
- new macro
..
- formatter rules for example
cond
macro tree->array
function__code__
inside Macrodefine-formatter-rule
macro for breaking S-Expressions in Formatter
Bug fixes
- fix lips.Formatter pattern matching
- better toString and
string
functions (keep class names for internal objects in minified js file) - fix
__code__
on lambda expressions (that also includes(define (name . arg)
) - evaluate of symbols and promises returned from macros
0.14.0
Features
- add
unset!
,add-special!
andremove-special!
functions - add
define-symbol-macro
meta macro that create parser macros (parser transformer symbol) - rewrite
help
as macro so it works with parser macros require
function for Node.js +load
work in Node usingfs.readFile
- stack trace in exception in lips binary
- parser accept strings as argument (no need to call tokenizer - but it also accept array of tokens)
- modules mechanism as macros
- pattern matching as macro
macro?
functioncond
macro
Bug fixes
- fix white space in docs for macros
- fix two cases in parser:
`(,(list 1 2))
and`(+ ,,(list 'foo))
#12 - fix quaisquote macro (eval of single unquote in double quasiquote) #14
- add scope to exec in
load
function - fix formatting of multi line strings
- fix
object?
when called with nil and number - fix
macroexpand
macro
0.12.0
Features
- new macro
begin*
that run their arguments in parallel if they async - add typecheck to rest of the functions
- new
real?
andpluck
functions - stack trace for exceptions