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.
29
30 --compile filename
31 Perform ahead-of-time compilation on the provided file and write
32 the Lua output to stdout.
33
34 --eval source
35 Evaluate a piece of source code and print the result.
36
37 --no-searcher
38 When running a repl or a file, fennel.searcher is installed by
39 default so that the require function can load Fennel files in
40 addition to Lua files. This flag disables that behavior. Has no
41 effect for ahead-of-time compilation.
42
43 --indent val
44 When compiling, use the given string as indentation for the com‐
45 piler output. This should consist of whitespace.
46
47 --add-package-path path
48 Add the given path to package.path so that the require function
49 will know to look there when searching for Lua modules.
50
51 --add-fennel-path path
52 Same as above, but for Fennel's path used when searching for
53 Fennel modules.
54
55 --globals VAR1[,VAR2...]
56 Allow VAR1, VAR2, etc as globals in addition to the standard set
57 of globals. This enables strict global checking even in ahead-
58 of-time compilation where it otherwise would be disabled.
59
60 --globals-only VAR1[,VAR2...]
61 Same as above, but without the addition of the standard set of
62 globals.
63
64 --require-as-include
65 Instead of loading required modules at runtime, compile them in‐
66 line into the main file being compiled. Only useful during
67 ahead-of-time compilation.
68
69 --use-bit-lib
70 Compile bitwise operations to use LuaJIT's bitop library instead
71 of Lua 5.3+ bitwise operators.
72
73 --load FILE
74 Load the specified file before any command is run.
75
76 --compile-binary FILE OUT LUA_LIB LUA_DIR
77 Compile FILE to a standalone binary OUT using LUA_LIB and the
78 Lua header files in LUA_DIR. See --compile-binary --help for de‐
79 tails.
80
81 --no-compiler-sandbox
82 Do not limit compiler environment to minimal sandbox.
83
84 -h, --help
85 Print a help message and exit
86
87 -v, --version
88 Print the version number and exit
89
90
92 See https://fennel-lang.org for documentation on Fennel. The syntax is
93 based on the lisp family of languages while the semantics are very
94 close to Lua, so Lua's reference manual is helpful.
95
96
98 The mailing list is at https://lists.sr.ht/~technomancy/fennel while
99 the issue tracker is at https://todo.sr.ht/~technomancy/fennel.
100
101
103 Calvin Rose and contributors: https://git.sr.ht/~technomancy/fen‐
104 nel/contributors
105
106
108 Copyright © 2016-2021, Released under the MIT/X11 license
109
110
111
112 FENNEL(1)