Skip to content

Releases: jcubic/lips

0.20.0

21 Mar 19:01
Compare
Choose a tag to compare

Breaking

  • replace print with display (more like scheme)
  • replace lips.Symbol with LSymbol
  • replace delay with wait (to allow using scheme delay/force)
  • change timer function to just setTimeout with expression (old timer is now wait)

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

25 May 22:34
Compare
Choose a tag to compare

Bug fixes

  • fix formatter when there is newline at the newline of the code
  • fix duplicated copyright notes and missing Facebook note in output from rollup and babel

0.15.3

25 May 22:33
Compare
Choose a tag to compare

Bug fixes

  • fix regenerator from babel in dist files

0.15.2

25 May 07:35
Compare
Choose a tag to compare

Bug fixes

  • fix ignore macro
  • fix load function in node
  • fix Pair::append and append 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

25 May 07:35
Compare
Choose a tag to compare

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

18 May 07:14
Compare
Choose a tag to compare

Features

  • new macro ..
  • formatter rules for example cond macro
  • tree->array function
  • __code__ inside Macro
  • define-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

16 May 10:15
Compare
Choose a tag to compare

Features

  • add unset!, add-special! and remove-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 using fs.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? function
  • cond 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

08 May 18:51
Compare
Choose a tag to compare

Features

  • new macro begin* that run their arguments in parallel if they async
  • add typecheck to rest of the functions
  • new real? and pluck functions
  • stack trace for exceptions

Bug fixes

  • fix find and filter to check if function from argument return nil
  • fix accessing FileReader object (try to copy read only prototype)
  • fix parser error when parsing symbol macros #10
  • fix undefined values in macro with missing arguments #11
  • fix macroexpand #9
  • fix line breaking in S-Expression Formatter

0.11.2

01 May 10:40
Compare
Choose a tag to compare

Breaking

  • remove nop (you can use (begin undefined))

Bug fixes

  • fix unquote-splicing on nil (e.g. processing of `(list ,@nil))
  • cdr and car should return nil on empty list
  • typecheck and process nil in c[ad]+r functions

0.11.1

01 May 10:40
Compare
Choose a tag to compare

Bug fixes

  • fix parsing special forms as literal symbols #7
  • fix unquote-splicing of empty list (e.g. processing of `(list ,@(list)))