Fennel 0.3.0 / 2019-09-22
This release introduces docstrings as well as several new features to
the macro system and some breaking changes; the most significant being
the new unquote syntax and the requirement of auto-gensym for
identifiers in backtick.
- Fix a bug where errors would show incorrect line numbers
- Add support for docstrings and
doc
for displaying them in repl - Support
:detect-cycles? false
in fennelview to turn off "#<table 1>" output - Disallow non-gensym identifiers in backtick/macros
- Support
x#
syntax for auto-gensym inside backtick - Fix a bug in
lambda
arity checks when using destructuring - Support
:one-line
output in fennelview - Add
include
special form to selectively inline modules in compiled output - Add
--require-as-include
to inline required modules in compiled output - Add
--eval
argument to command-line launcher - Add environment variable
FENNEL_PATH
topath
- Fix a few bugs in
match
- Remove undocumented support for single-quoted strings
- Add support for guard clauses with
?
in pattern matching - Support completion in repl when
readline.lua
is available - Add
--globals
and--globals-only
options to launcher script - Remove
luaexpr
andluastatement
for a singlelua
special - Improve code generation for
if
expressions in many situations - Alias
#
special withlength
- Replace
@
(unquote) with,
; comma is no longer whitespace - Disallow
~
in symbols other than~=
- Add
hashfn
and#
reader macro for shorthand functions like#(+ $1 $2)
- Allow hashfn arguments to be used in multisyms
- Add
macro
to make defining a single macro easier - Add
(comment)
special which emits a Lua comment in the generated source - Allow lua-style method calls like
(foo:bar baz)
; disallow:
in symbols