Fennel fennel logo

Fennel is a programming language that brings together the simplicity, speed, and reach of Lua with the flexibility of a lisp syntax and macro system.

Anywhere you can run Lua code, you can run Fennel code.

Install it now!

 ;; Sample: read the state of the keyboard and move the player accordingly (local dirs {:up [0 -1] :down [0 1] :left [-1 0] :right [1 0]}) (each [key [dx dy] (pairs dirs)] (when (love.keyboard.isDown key) (let [[px py] player x (+ px (* dx player.speed dt)) y (+ py (* dy player.speed dt))] (world:move player x y)))) 

I don't feel like installing it right now!

Fine, you can use Fennel right here without installing anything:

Curious about how a piece of code compiles? See for yourself with a side-by-side view how Fennel turns into Lua and vice-versa.

Documentation

Looking for other versions? Docs are generated for:

Development

We track bug reports, enhancement ideas, and other issues on dev.fennel-lang.org .

Fennel's repository is on Sourcehut.

See the security page for details about reporting security issues.

Community

All community interactions are subject to the code of conduct.