FENNEL(1)

NAME
fennel - a lisp programming language that runs on Lua

SYNOPSIS
fennel [--repl] | [--compile filename] | [--eval source] | [filename] [args ...]

DESCRIPTION
This manual page documents briefly the fennel command.

fennel is the main entry point for Fennel, a lisp programming language that runs on Lua runtimes. With no options or arguments, it runs an interactive Read-Eval-Print loop (REPL).

Given a filename as its first argument, it runs that file and passes it the subsequent arguments. Ahead-of-time compilation can be invoked with the --compile flag.

OPTIONS
A summary of options is included below.

--repl
    Start an interactive repl session.

--compile filename
    Perform ahead-of-time compilation on the provided file and write the Lua output to stdout.

--eval source
    Evaluate a piece of source code and print the result.

--no-searcher
    When running a repl or a file, fennel.searcher is installed by default so that the require function can load Fennel files in addition to Lua files. This flag disables that behavior. Has no effect for ahead-of-time compilation.

--indent val
    When compiling, use the given string as indentation for the compiler output. This should consist of whitespace.

--add-package-path path
    Add the given path to package.path so that the require function will know to look there when searching for Lua modules.

--add-fennel-path path
    Same as above, but for Fennel's path used when searching for Fennel modules.

--globals VAR1[,VAR2...]
    Allow VAR1, VAR2, etc as globals in addition to the standard set of globals. This enables strict global checking even in ahead-of-time compilation where it otherwise would be disabled.

--globals-only VAR1[,VAR2...]
    Same as above, but without the addition of the standard set of globals.

--check-unused-locals
    Raise an error when compiling code with unused locals.

--require-as-include
    Instead of loading required modules at runtime, compile them inline into the main file being compiled. Only useful during ahead-of-time compilation.

--load FILE
    Load the specified file before any command is run.

-h, --help
    Print a help message and exit

-v, --version
    Print the version number and exit

DOCUMENTATION
See https://fennel-lang.org for documentation on Fennel. The syntax is based on the lisp family of languages while the semantics are very close to Lua, so Lua's reference manual is helpful.

COMMUNITY
The mailing list is at https://lists.sr.ht/~technomancy/fennel while the issue tracker is at https://github.com/bakpakin/Fennel/issues.

AUTHOR
Calvin Rose and contributors: https://github.com/bakpakin/Fennel/graphs/contributors

LICENSE
Copyright © 2016-2018, Released under the MIT/X11 license