2018-11-18 14:35:41 +00:00
|
|
|
.TH JANET 1
|
|
|
|
.SH NAME
|
2019-01-21 21:04:47 +00:00
|
|
|
janet \- run the Janet language abstract machine
|
2018-11-18 14:35:41 +00:00
|
|
|
.SH SYNOPSIS
|
|
|
|
.B janet
|
2019-05-19 19:20:59 +00:00
|
|
|
[\fB\-hvsrpnqk\fR]
|
2019-02-18 20:23:59 +00:00
|
|
|
[\fB\-e\fR \fISOURCE\fR]
|
|
|
|
[\fB\-l\fR \fIMODULE\fR]
|
|
|
|
[\fB\-m\fR \fIPATH\fR]
|
|
|
|
[\fB\-c\fR \fIMODULE JIMAGE\fR]
|
2018-11-18 14:35:41 +00:00
|
|
|
[\fB\-\-\fR]
|
2019-01-21 21:04:47 +00:00
|
|
|
.IR script
|
|
|
|
.IR args ...
|
2018-11-18 14:35:41 +00:00
|
|
|
.SH DESCRIPTION
|
2019-01-06 08:23:03 +00:00
|
|
|
Janet is a functional and imperative programming language and bytecode interpreter.
|
2018-11-18 14:35:41 +00:00
|
|
|
It is a modern lisp, but lists are replaced by other data structures with better utility
|
|
|
|
and performance (arrays, tables, structs, tuples). The language also bridging bridging
|
|
|
|
to native code written in C, meta-programming with macros, and bytecode assembly.
|
|
|
|
|
|
|
|
There is a repl for trying out the language, as well as the ability to run script files.
|
2019-01-21 21:04:47 +00:00
|
|
|
This client program is separate from the core runtime, so Janet could be embedded
|
2019-02-18 20:23:59 +00:00
|
|
|
into other programs. Try Janet in your browser at https://janet-lang.org.
|
2018-11-18 14:35:41 +00:00
|
|
|
|
2019-01-21 21:04:47 +00:00
|
|
|
Implemented in mostly standard C99, Janet runs on Windows, Linux and macOS.
|
2018-11-18 14:35:41 +00:00
|
|
|
The few features that are not standard C99 (dynamic library loading, compiler
|
2019-01-06 08:23:03 +00:00
|
|
|
specific optimizations), are fairly straight forward. Janet can be easily ported to
|
2018-11-18 14:35:41 +00:00
|
|
|
most new platforms.
|
|
|
|
.SH DOCUMENTATION
|
|
|
|
|
|
|
|
For more complete API documentation, run a REPL (Read Eval Print Loop), and use the doc macro to
|
|
|
|
see documentation on individual bindings.
|
|
|
|
|
|
|
|
.SH OPTIONS
|
|
|
|
.TP
|
|
|
|
.BR \-h
|
|
|
|
Shows the usage text and exits immediately.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.BR \-v
|
|
|
|
Shows the version text and exits immediately.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.BR \-s
|
2019-01-16 17:32:33 +00:00
|
|
|
Read raw input from stdin and forgo prompt history and other readline-like features.
|
|
|
|
|
|
|
|
.TP
|
2019-02-18 20:23:59 +00:00
|
|
|
.BR \-e\ code
|
|
|
|
Execute a string of Janet source. Source code is executed in the order it is encountered, so earlier
|
|
|
|
arguments are executed before later ones.
|
2018-11-18 14:35:41 +00:00
|
|
|
|
2019-03-24 19:00:22 +00:00
|
|
|
.TP
|
|
|
|
.BR \-n
|
|
|
|
Disable ANSI colors in the repl. Has no effect if no repl is run.
|
|
|
|
|
2018-11-18 14:35:41 +00:00
|
|
|
.TP
|
|
|
|
.BR \-r
|
2019-01-21 21:04:47 +00:00
|
|
|
Open a REPL (Read Eval Print Loop) after executing all sources. By default, if Janet is called with no
|
2018-11-18 14:35:41 +00:00
|
|
|
arguments, a REPL is opened.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.BR \-p
|
2019-01-21 21:04:47 +00:00
|
|
|
Turn on the persistent flag. By default, when Janet is executing commands from a file and encounters an error,
|
|
|
|
it will immediately exit after printing the error message. In persistent mode, Janet will keep executing commands
|
2018-11-18 14:35:41 +00:00
|
|
|
after an error. Persistent mode can be good for debugging and testing.
|
|
|
|
|
|
|
|
.TP
|
2019-02-18 20:23:59 +00:00
|
|
|
.BR \-q
|
|
|
|
Quiet output. Don't print a repl prompt or expression results to stdout.
|
|
|
|
|
2019-05-19 19:20:59 +00:00
|
|
|
.TP
|
|
|
|
.BR \-k
|
|
|
|
Don't execute a script, only compile it to check for errors. Useful for linting scripts.
|
|
|
|
|
2019-02-18 20:23:59 +00:00
|
|
|
.TP
|
|
|
|
.BR \-m\ syspath
|
2019-06-19 02:01:14 +00:00
|
|
|
Set the dynamic binding :syspath to the string syspath so that Janet will load system modules
|
2019-02-18 20:23:59 +00:00
|
|
|
from a directory different than the default. The default is set when Janet is built, and defaults to
|
2019-02-18 20:31:15 +00:00
|
|
|
/usr/local/lib/janet on Linux/Posix, and C:/Janet/Library on Windows. This option supersedes JANET_PATH.
|
2018-11-18 14:35:41 +00:00
|
|
|
|
2019-01-21 21:04:47 +00:00
|
|
|
.TP
|
2019-02-18 20:23:59 +00:00
|
|
|
.BR \-c\ source\ output
|
|
|
|
Precompiles Janet source code into an image, a binary dump that can be efficiently loaded later.
|
|
|
|
Source should be a path to the Janet module to compile, and output should be the file path of
|
|
|
|
resulting image. Output should usually end with the .jimage extension.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
.BR \-l\ path
|
2019-01-21 21:04:47 +00:00
|
|
|
Load a Janet file before running a script or repl. Multiple files can be loaded
|
|
|
|
in this manner, and exports from each file will be made available to the script
|
|
|
|
or repl.
|
|
|
|
|
2018-11-18 14:35:41 +00:00
|
|
|
.TP
|
|
|
|
.BR \-\-
|
2019-02-18 20:23:59 +00:00
|
|
|
Stop parsing command line arguments. All arguments after this one will be considered file names
|
|
|
|
and then arguments to the script.
|
2018-11-18 14:35:41 +00:00
|
|
|
|
2019-02-18 20:31:15 +00:00
|
|
|
.SH ENVIRONMENT
|
|
|
|
|
|
|
|
.B JANET_PATH
|
|
|
|
.RS
|
|
|
|
The location to look for Janet libraries. This is the only environment variable Janet needs to
|
|
|
|
find native and source code modules. If no JANET_PATH is set, Janet will look in
|
|
|
|
the default location set at compile time.
|
|
|
|
.RE
|
|
|
|
|
2018-11-18 14:35:41 +00:00
|
|
|
.SH AUTHOR
|
|
|
|
Written by Calvin Rose <calsrose@gmail.com>
|