1.0.0-beta.19
Pre-release
Pre-release
Breaking
- change
get-environment-variables
andget-environment-variable
returns nil and undefined in the browser true
,false
, andNaN
are no longer parser constants #292- get rid of node polyfills from output files
eval
useinteraction-environment
stead ofcurrent-environment
by default- remove support for string argument to
read
#327 - make
null
falsy value #330 - remove
nil
parser constant #332 - replace
undefined
with#void
, andnull
with#null
- characters are again unboxed into strings by JavaScript code #329
- code that throw exception now return exit code 1
- change order of arguments in
take
(type #void)
(JavaScriptundefined
) is nowvoid
Features
- add
vector-for-each
andvector-copy!
function from R7RS - add
string-for-each
,string-downcase
, andstring-upcase
from R7RS - add
typecheck-number
function - add
char-foldcase
andstring-foldcase
functions - add
list-set!
andnth-pair
functions - add
SRFI-61
,SRFI-139
, andSRFI-210
- add
continuations?
function - add
iterator->array
function - add immutable strings as in R7RS spec #285
- add R7RS
char<...>?
andstring<...>?
functions #298 - improve syntax-rule exception message (appending macro code)
- update
log
to accept two arguments #301 - allow to use
data-bootstrap
attribute on script tags - make
atan
work for complex numbers - save error logs in home dir
- add timestamp to error logs
- make
+inf.0
and-inf.0
parser constants - add
zip
procedure (inspired by Lodash) - add
with-input-from-string
andread-all
#327 - add
#!fold-case
and#!no-fold-case
directives #342 - add
drop
procedure - allow to use unquoted symbols in
-->
to get the function - add
regex
procedure (rename from%r
used in bootstrap.scm) - support unterminated strings in REPL #280
- expose parser and lexer instance from syntax extensions #308
Bugfix
- fix
let-values
to allow binding to list #281 - fix wrong strings in
string-fill!
- fix
string-set!
to mutate the string and work on any expression - fix tokenizing regex that ends with hash
- fix bookmark on SRFI-210 document #287
- fix
syntax-rules
in macrodefine-value
#290 - fix indentation of
let-values
- various fixes to
syntax-rules
- fix
procedure?
to return true for continuations - fix
lips --help
screen - fix
cond-expand
to skip not-matched symbols - fix shadowing
syntax-rules
identifiers with let #291 - fix nested syntax rules with symbols after nested ellipsis
- fix Dark Mode colors and scrolling of the page when using Bookmarklet on English Wikipedia
- remove dependencies on
cond
from-->
macro so you can use use-->
insidecond
- fix handling of recursive
flatten
syntax-rules
macro #304 - fix syntax-rules macro that manipulate code (see tests/syntax.scm and undswap macro)
- fix
(read)
in the Web REPL - fix Node REPL with
npm install
#305 - fix formatting
syntax-rules
- improve floating point representation and parsing
- fix bookmark when hovering over boolean values
- fix quoted cycle in REPL #313
- fix set-repr! on base class #314
- fix
repr
of delay expressions #315 - fix
try..catch
#317 - fix handling
^
and$
syntax extension #318 - fix mixed values in
let*-values
#322 - fix
do
macro #324 - fix
string->number
that leads to NaN #326 - fix unintentional unboxing in
iterator->array
#328 - fix
replace
with asynclambda
#319 - fix
values
without arguments #331 - improve working of REPL in Emacs
- fix
(expt +i +i)
- fix let with duplicated variables #335
- fix escape ellipsis in syntax-rules #334
- fix parsing inexact complex without real part and
inexact->exact
procedure #340 - fix Petrofsky let #341
- fix
repr
of cycles - fix parsing regex that have escaped open bracket
- fix parsing quotation without data
- fix reading syntax-extensions from input ports
- fix parsing syntax-extensions that start with
#f
or#t
#343 - fix repr of curried function (output of
curry
)