Skip to content
riley levy edited this page May 25, 2024 · 65 revisions

Welcome to the Fennel wiki!

Lists of:

There are many different ways to distribute Fennel code depending on the context.

You can enhance the REPL by installing and configuring readline.

Lua Runtimes

Fennel is officially supported on:

Fennel works but isn't officially supported on these Lua implementations:

You can also use it with these bindings to PUC:

Fennel does not work on these due to bugs in the Lua implementations:

This only means that they cannot run the Fennel compiler. Code written in Fennel and then AOT-compiled to Lua will usually work fine.

Tools

These tools support Fennel right out of the box:

These tools support Fennel with some manual tweaks:

  • bat A cat(1) clone with syntax highlighting and Git integration (e.g. install this repo as a bat Custom Language)

Scripting via embedded Fennel

Use Fennel instead of Lua to configure/script your software:

  • awesome-wm (How to use Fennel to configure the window manager awesome)
  • OpenResty REST API (Example project for building a JSON REST API with Fennel on OpenResty)
  • Neovim (It can be configured in Lua and thanks to Hotpot you can use Fennel wherever Lua is supported (which is pretty much everywhere: plugins, colors, syntax, etc.))
  • Spacehammer (keyboard-driven workflows for Mac OS)
  • LuaTex. LuaTeX is a fork of the TeX typesetting system with hooks for Lua integration. LuaTeX contains an embedded Lua interpreter, so it can run Fennel code. See the Fennel in LuaTeX wiki page for details.

Support / more resources

  • On Lua:
    • Lua mailing list - for questions about the Lua language itself or specific Lua modules (most module authors hang out there!)
    • Lua documentation - documentation on the Lua language, including the reference manual
    • Lua forum - a beginner friendly Lua community
  • There are lots of recordings of great talks from FennelConf on a variety of different Fennel topics.