~technomancy/fennel

[ANN] Fennel 0.5.0 released

Details
Message ID
<87ft8x7xog.fsf@hagelb.org>
DKIM signature
missing
Download raw message
Greetings Fennel folk.

I have just cut a release for Fennel 0.5.0.

The user-visible changes for this release are quite minor:

* Fix a bug where lambdas with no body would return true instead of nil.
* Fix a bug where global mangling would break when used with an environment.
* Fix a bug where globals tracking would lose track of allowed list.
* Fix a bug where top-level expressions in `include` would get skipped.

However, the really big news about this change is that now Fennel is
self-hosted, which is to say that the entire compiler is written *in Fennel*:

    https://github.com/bakpakin/Fennel/blob/master/src/fennel.fnl

Other than the bugs above that we found during the self-hosting process,
there should be no noticeable changes between this and Fennel 0.4.2, but
we decided to bump the version more to indicate that internally it was
a very substantial change. We have tested it pretty thoroughly,
including comparing the compiler output across every publicly listed
love2d game written in Fennel from the wiki[1], and found that in most
cases the compiler output was byte-for-byte identical.

If you're interested in how we did this, you can read more about it
here:

    https://lists.sr.ht/~technomancy/fennel/%3C87r1u5shvf.fsf%40hagelb.org%3E

Thanks to everyone who contributed.

-Phil

[1] - https://github.com/bakpakin/Fennel/wiki/Codebases#l%C3%96ve-games

[2] - The only difference in compiler output was that auto-generated
    local names were sometimes numbered in a slightly different order,
    which would not affect behavior: https://p.hagelb.org/fallen-diff.html
Export thread (mbox)