Moved all docs from ./docs/ to ./web/documentation/ to be available on the website. No code changes. (0.40.5)
This commit is contained in:
parent
8f2847abfb
commit
567fa73796
224 changed files with 4584 additions and 1139 deletions
102
web/documentation/fun.md
Normal file
102
web/documentation/fun.md
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
---
|
||||
layout: page
|
||||
published: true
|
||||
noToc: true
|
||||
noComments: false
|
||||
noDate: false
|
||||
title: Fun - Fun executable: full usage guide
|
||||
subtitle: Full usage guide for the `fun` executable, invocation patterns, REPL, env vars, include paths, examples, and install locations.
|
||||
description: Full usage guide for the `fun` executable, invocation patterns, REPL, env vars, include paths, examples, and install locations.
|
||||
permalink: /documentation/fun/
|
||||
lang: en
|
||||
tags:
|
||||
- documentation
|
||||
- handbook
|
||||
- installation
|
||||
- usage
|
||||
- introduction
|
||||
- help
|
||||
- guide
|
||||
- howto
|
||||
- docs
|
||||
- specifications
|
||||
- specs
|
||||
- repl
|
||||
---
|
||||
|
||||
# Fun executable: full usage guide
|
||||
|
||||
This document explains how to use the `fun` binary after building or installing it: invocation patterns, options, environment variables, include/search paths, REPL, and examples.
|
||||
|
||||
## Synopsis
|
||||
```
|
||||
fun [options] [<script.fun>] [-- args...]
|
||||
```
|
||||
|
||||
- If `<script.fun>` is provided, `fun` runs the script.
|
||||
- If omitted and the build enables the REPL, `fun` starts an interactive session.
|
||||
|
||||
## Options
|
||||
- `-i`, `--repl` — start the interactive REPL explicitly (if built with REPL support)
|
||||
- `-v`, `--version` — print version and exit
|
||||
- `-h`, `--help` — show usage info and exit
|
||||
|
||||
Notes:
|
||||
- Available options may vary by build configuration. Always check `fun --help` for your binary.
|
||||
|
||||
## Exit codes
|
||||
- `0` — success
|
||||
- non‑zero — error during parse, compile, or runtime
|
||||
|
||||
## Standard library and includes
|
||||
`fun` searches for modules included from `.fun` code in these locations:
|
||||
|
||||
1. The path provided by the environment variable `FUN_LIB_DIR` (highest precedence)
|
||||
2. The compiled‑in default `DEFAULT_LIB_DIR` (configured during build/install)
|
||||
|
||||
Tips:
|
||||
- When running from the repository without installing, set `FUN_LIB_DIR` to the local `./lib` directory so examples can find the stdlib.
|
||||
- See also: `documentation/includes.md` for namespacing (`include ... as ...`) and search order details.
|
||||
|
||||
## REPL
|
||||
If interactive mode is enabled at build time, starting `fun` with `-i` (or without a script) opens the REPL.
|
||||
|
||||
Useful commands/patterns in REPL:
|
||||
- Enter expressions and statements directly.
|
||||
- Use arrow keys/history for editing (availability depends on build flags).
|
||||
- See `documentation/repl.md` for details and tips.
|
||||
|
||||
## Running scripts
|
||||
Basic run (installed system‑wide):
|
||||
```
|
||||
fun /usr/share/fun/examples/hello.fun
|
||||
```
|
||||
|
||||
Running from a build tree (not installed):
|
||||
```
|
||||
FUN_LIB_DIR=./lib /path/to/build_dir/fun examples/hello.fun
|
||||
```
|
||||
|
||||
Passing arguments to scripts (arguments after `--` are forwarded to the script environment):
|
||||
```
|
||||
fun myscript.fun -- arg1 arg2
|
||||
```
|
||||
|
||||
## Build and install locations
|
||||
- Build targets: `fun` is produced by the `fun` target. In CLion/CMake, typical build directories are `build_debug` or `build_release`.
|
||||
- Install locations (by default):
|
||||
- Binary: `/usr/bin/fun`
|
||||
- Stdlib: `/usr/share/fun/lib`
|
||||
- Examples (optional): `/usr/share/fun/examples`
|
||||
|
||||
To stage an install without touching the system:
|
||||
```
|
||||
DESTDIR=./tmp/stage cmake --build <build_dir> --target install
|
||||
./tmp/stage/usr/bin/fun ./examples/hello.fun
|
||||
```
|
||||
|
||||
## See also
|
||||
- `documentation/cli.md` — concise CLI reference (synopsis/options/exit codes)
|
||||
- `documentation/funstx.md` — syntax checker for `.fun` files with optional `--fix`
|
||||
- `documentation/examples.md` — how to run the bundled examples
|
||||
- `documentation/includes.md` — include paths, namespacing, and `FUN_LIB_DIR`
|
||||
Loading…
Add table
Add a link
Reference in a new issue