1FENNEL(1) General Commands Manual FENNEL(1)
2
3
4
6 fennel - a lisp programming language that runs on Lua
7
9 fennel [--repl] | [--compile filename] | [--eval source] | [filename]
10 [args ...]
11
12
14 This manual page documents briefly the fennel command.
15
16 fennel is the main entry point for Fennel, a lisp programming language
17 that runs on Lua runtimes. With no options or arguments, it runs an in‐
18 teractive Read-Eval-Print loop (REPL).
19
20 Given a filename as its first argument, it runs that file and passes it
21 the subsequent arguments. Ahead-of-time compilation can be invoked with
22 the --compile flag.
23
24
26 A summary of options is included below.
27
28 --repl Start an interactive repl session. This is the default when
29 given no arguments.
30
31 --compile filename
32 Perform ahead-of-time compilation on the provided file and write
33 the Lua output to stdout.
34
35 --eval source
36 Evaluate a piece of source code and print the result.
37
38 --no-searcher
39 When running a repl or a file, fennel.searcher is installed by
40 default so that the require function can load Fennel files in
41 addition to Lua files. This flag disables that behavior. Has no
42 effect for ahead-of-time compilation.
43
44 --indent val
45 When compiling, use the given string as indentation for the com‐
46 piler output. This should consist of whitespace.
47
48 --add-package-path path
49 Add the given path to package.path so that the require function
50 will know to look there when searching for Lua modules.
51
52 --add-fennel-path path
53 Same as above, but for Fennel's path used when searching for
54 Fennel modules.
55
56 --globals VAR1[,VAR2...]
57 Allow VAR1, VAR2, etc as globals in addition to the standard set
58 of globals. This enables strict global checking even in ahead-
59 of-time compilation where it otherwise would be disabled. Use
60 "*" to disable globals checking.
61
62 --globals-only VAR1[,VAR2...]
63 Same as above, but without the addition of the standard set of
64 globals.
65
66 --require-as-include
67 Instead of loading required modules at runtime, compile them in‐
68 line into the main file being compiled. Only useful during
69 ahead-of-time compilation.
70
71 --use-bit-lib
72 Compile bitwise operations to use LuaJIT's bitop library instead
73 of Lua 5.3+ bitwise operators.
74
75 --load FILE
76 Load the specified file before any command is run.
77
78 --compile-binary FILE OUT LUA_LIB LUA_DIR
79 Compile FILE to a standalone binary OUT using LUA_LIB and the
80 Lua header files in LUA_DIR. See --compile-binary --help for de‐
81 tails.
82
83 --no-compiler-sandbox
84 Do not limit compiler environment (used in macros) to minimal
85 sandbox.
86
87 -h, --help
88 Print a help message and exit
89
90 -v, --version
91 Print the version number and exit
92
93
95 See https://fennel-lang.org/tutorial and https://fennel-lang.org/refer‐
96 ence for documentation on Fennel. The syntax is based on the lisp fam‐
97 ily of languages while the semantics are very close to Lua, so Lua's
98 reference manual is also helpful.
99
100
102 The mailing list is at https://lists.sr.ht/~technomancy/fennel while
103 the issue tracker is at https://todo.sr.ht/~technomancy/fennel. Most
104 discussion happens on the #fennel channel of Libera chat.
105
106
108 Calvin Rose and Phil Hagelberg and contributors:
109 https://github.com/bakpakin/Fennel/graphs/contributors
110
111
113 Copyright © 2016-2021, Released under the MIT/X11 license
114
115
116
117 FENNEL(1)