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
18 interactive 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
66 inline into the main file being compiled. Only useful during
67 ahead-of-time compilation.
68
69 --load FILE
70 Load the specified file before any command is run.
71
72 --compile-binary FILE OUT LUA_LIB LUA_DIR
73 Compile FILE to a standalone binary OUT using LUA_LIB and the
74 Lua header files in LUA_DIR. See --compile-binary --help for
75 details.
76
77 --no-compiler-sandbox
78 Do not limit compiler environment to minimal sandbox.
79
80 -h, --help
81 Print a help message and exit
82
83 -v, --version
84 Print the version number and exit
85
86
88 See https://fennel-lang.org for documentation on Fennel. The syntax is
89 based on the lisp family of languages while the semantics are very
90 close to Lua, so Lua's reference manual is helpful.
91
92
94 The mailing list is at https://lists.sr.ht/~technomancy/fennel while
95 the issue tracker is at https://todo.sr.ht/~technomancy/fennel.
96
97
99 Calvin Rose and contributors: https://git.sr.ht/~technomancy/fen‐
100 nel/contributors
101
102
104 Copyright © 2016-2021, Released under the MIT/X11 license
105
106
107
108 FENNEL(1)