Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
FENNEL(1)		     General Commands Manual		       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, while short snippets can be evaluated with the --eval argu-
     ment.

OPTIONS
     A summary of options is included below.

     --repl
	    Start an interactive repl session. This is the default when given no
	    arguments.

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

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

     --no-searcher
	    When  running  a repl or a file, fennel.searcher is installed by de-
	    fault 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.

     --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. Use "*" to disable
	    globals checking.

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

     --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.

     --to-be-closed
	    When compiling with-open use the to-be-closed feature of Lua 5.4+ to
	    avoid interfering with traces.

     --assert-as-repl
	    Calls  to  the built-in function assert from Fennel will be replaced
	    with calls to assert-repl so that when the assertion fails,  a  REPL
	    will be started in which you can interactively debug.

     --lambda-as-fn
	    Replace  lambda  function  definitions with fn, removing the runtime
	    overhead from arity checking.

     --use-bit-lib
	    Compile bitwise operations to use LuaJIT's bitop library instead  of
	    Lua 5.3+ bitwise operators.

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

     --compile-binary FILE OUT LUA_LIB LUA_DIR
	    Compile  FILE  to  a standalone binary OUT using LUA_LIB and the Lua
	    header files in LUA_DIR. See --compile-binary --help for details.

     --no-compiler-sandbox
	    Do not limit compiler environment (used in macros) to minimal  sand-
	    box.

     --keywords KEYWORD1[,KEYWORD2...]
	    Treat these symbols as reserved Lua keywords.

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

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

     Use the NO_COLOR environment variable to disable escape codes in error mes-
     sages.

SEE ALSO
     fennel-api(3), fennel-reference(5), fennel-tutorial(7)

     The  semantics  are  very	close  to Lua, so Lua's reference manual is also
     helpful.

COMMUNITY
     The mailing list is at  https://lists.sr.ht/~technomancy/fennel  while  the
     issue tracker is at https://dev.fennel-lang.org. Most discussion happens on
     the #fennel channel of Libera chat.

AUTHORS
     Calvin  Rose  and	Phil Hagelberg and contributors: https://github.com/bak-
     pakin/Fennel/graphs/contributors

LICENSE
     Copyright A(C) 2016-2025, Released under the MIT/X11 license

								       FENNEL(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=fennel&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help