~technomancy/fennel

1

[ANN] Fennel 0.4.0 released!

Details
Message ID
<87tv0kpiai.fsf@hagelb.org>
DKIM signature
missing
Download raw message
Happy Fennel 0.4.0 release day everybody!

If there's a theme to this release, it's being more friendly. For
starters, the compile errors now pinpoint where the problem happened
and provide suggestions for how to fix them:

    Compile error in test/bad/expected-even-bindings.fnl:1
      expected even number of name/value bindings

    (let [x 1 y] x)
         ^^^^^^^
    * Try finding where the identifier or value is missing.

We also have a brand-new setup guide for new users that covers
installation, embedding, and configuring editors. Thanks to everyone
who contributed and gave feedback:

    https://fennel-lang.org/setup

Compilation errors now don't give stack traces unless you specifically
ask for them. (really only useful when debugging the compiler) This
allows you to focus your attention on the problem instead of getting
distracted by internal implementation details.

Installing Fennel is simpler now; rather than a launcher script, the
compiler file, and an optional pretty-printer, there is a single
`fennel` executable that contains it all.

The new `macrodebug` form provides a friendlier macro development
experience, allowing you to see what your macros are doing in the repl.

Finally the `import-macros` form allows you to load macros similarly
to `require-macros`, but it provides a lot more flexibility in how
those macros are imported and what they are named.

Here's a complete list of user-visible changes:

* Add `import-macros` for more flexible macro module loading (#269)
* Ensure deterministic compiler output (#257)
* Add bit-wise operators `rshift`, `lshift`, `bor`, `band`, `bnot`, and `bxor`
* Friendlier compiler/parse error messages with suggestions
* Omit compiler internal stack traces by default unless `FENNEL_DEBUG=trace`
* Add support for `__fennelview` metamethod for custom serialization
* Fix a bug where `dofile` would report the wrong filename
* Fix bug causing failing `include` of Lua modules that lack a trailing newline (#234)
* Introduce `pick-values` and `pick-args` macros (as `limit-*`: #246, as `pick-*`: #256)
* Add new `macroexpand` helper to expand macro forms during compilation (#258)
* Add `macrodebug` utility macro for printing expanded macro forms in REPL (#258)

Thanks again to everyone who helped make this release happen!

-Phil
Details
Message ID
<87sgg3q3bs.fsf@hagelb.org>
In-Reply-To
<87tv0kpiai.fsf@hagelb.org> (view parent)
DKIM signature
missing
Download raw message
Phil Hagelberg <phil@hagelb.org> writes:

> Happy Fennel 0.4.0 release day everybody!
>
> If there's a theme to this release, it's being more friendly.

One more thing I forgot to mention: if you've been hesitant to join the
chat on IRC, we now have it bridged thru to Matrix, so all our
discussion now should be a bit more accessible to folks who may not be
as comfortable with older protocols:

    https://matrix.to/#/!rnpLWzzTijEUDhhtjW:matrix.org?via=matrix.org

See you there.

-Phil