Aviva Directory » Computers & Internet » Programming » Fennel

Developed primarily by Calvin Rose and David Smith, the Fennel programming language was introduced in 2016.

The primary design goal was to create a language that combined the best aspects of Lua and Lisp, catering to beginning and experienced programmers. An aim for the language was to be approachable, with a minimalistic syntax that reduces cognitive load. Its Lisp-inspired syntax allows for elegant and concise code, while Fennel inherits Lua's speed by compiling directly to Lua, and macros empower developers to mold the language to their needs.

The development of Fennel was influenced by Lua and Clojure. Fennel compiles to Lua, while the clean syntax and powerful macros of Clojure heavily influenced the language. Fennel builds upon Lua's strengths while adding a touch of Lisp magic. Fennel retains the performance of Lua while adding a more pleasant syntax and macros. While it gains much from Clojure, Fennel is more lightweight and compiles to Lua.

Fennel offers full compatibility with Lua. Any Lua function or library can be easily called from Fennel code, and vice versa. This seamless integration allows the programmer to leverage existing Lua codebases without difficulty. When Fennel code is written, the compiled output is just as efficient. as handwritten Lua. Its compile-time macros empower developers to ship compiled code with no runtime dependency on Fennel itself. Macros play an important role here, allowing the language to be extended and domain-specific abstractions to be created.

Fennel is a one-file library and an executable, making it embeddable in various contexts. Fennel will run anywhere that Lua will run.

The Fennel community actively maintains and improves the language in at least three GitHub repositories.

Fennel is ideally suited for game development, web server applications, and microcontroller programming. Its unique blend of simplicity, speed, and Lisp-like syntax makes it a versatile choice for these domains.

The Fennel programming language is the focus of this portion of our computer programming language guide. Online resources such as the official websites or repositories for the Fennel language are appropriate here, along with any implementations of the languages, repositories, IDEs, or other tools or utilities designed to facilitate programming in Fennel. Tutorials, its developer community, forums, reviews, and other online content specific to the language, are also suitable in this category.



Recommended Resources

Search for Fennel on Google or Bing