1
0
Fork 0
forked from fun/fun

Some documentation updates for stdlib. No code changes. (0.39.12)

This commit is contained in:
Johannes Findeisen 2026-03-27 22:03:42 +01:00
commit 76de6278f2

View file

@ -2,24 +2,67 @@
This page provides a quick orientation to the standard library located under [`./lib/`](../lib/).
The stdlib is written in Fun and organized by domain. Below are top-level modules and what they generally cover. Refer to the source for full APIs and examples.
The stdlib is written in Fun and organized by domain. Below is the current layout with brief notes. Refer to the source for full APIs and examples.
## Module index (selected)
- `crypt/` - cryptographic helpers (hashing, encoding helpers). See also [lib/crypt](../lib/crypt/).
- `encoding/` - text/binary encodings and conversions.
- `io/` - file and stream utilities.
- `net/` - basic networking helpers.
- `regex/` - regular expression utilities (PCRE2 when available).
- `ui/` - UI helpers (e.g., Tk if enabled at build time).
- `utils/` - small reusable helpers and utilities.
## Top-level modules
- `arrays.fun` — helpers for working with array structures.
- `cli.fun` — minimal helpers for building CLI tools.
- `hello.fun` — simple demonstration helper(s).
- `hex.fun` — hexadecimal encode/decode helpers.
- `math.fun` — math helpers in Fun.
- `regex.fun` — simple regex-related helpers (see also `regex/`).
- `strings.fun` — string manipulation utilities.
Note: Availability of some modules can depend on optional extensions selected at build time (see [build.md](./build.md)).
## Packages
- `crypt/` — cryptographic primitives and hashes. See [lib/crypt](../lib/crypt/).
- `aes256.fun`
- `crc32.fun`, `crc32c.fun`
- `md5.fun`, `md5_legacy.fun`
- `ripemd160.fun`, `ripemd160_new_try.fun`
- `sha1.fun`, `sha256.fun`, `sha384.fun`, `sha512.fun`
- `encoding/` — text/binary encodings and conversions. See [lib/encoding](../lib/encoding/).
- `base64.fun`
- `io/` — input/output utilities and system interfaces. See [lib/io](../lib/io/).
- `console.fun` — console I/O helpers
- `ini.fun` — INI parse helpers
- `json.fun` — JSON helpers
- `pcsc.fun`, `pcsc2.fun` — smart card access (PC/SC)
- `process.fun` — spawn and manage subprocesses
- `serial.fun` — serial port helpers
- `socket.fun` — socket convenience wrappers
- `thread.fun` — simple threading utilities
- `xml.fun` — XML helpers
- `net/` — networking helpers and example HTTP servers. See [lib/net](../lib/net/).
- `cgi.fun` — basic CGI helpers
- `http_server.fun` — blocking HTTP server
- `http_cgi_server.fun` — HTTP server that can execute .fun CGI files
- `http_cgi_lib_server.fun` — variant of the HTTP CGI server using the stdlib
- `regex/` — regular expression utilities (PCRE2-based when available). See [lib/regex](../lib/regex/).
- `pcre2.fun`
- `ui/` — user interface helpers (built if the corresponding extensions are enabled). See [lib/ui](../lib/ui/).
- `notcurses.fun`
- `tk.fun`
- `utils/` — small reusable helpers and functional utilities. See [lib/utils](../lib/utils/).
- `datetime.fun`
- `match.fun`
- `math.fun`
- `option.fun`
- `range.fun`
- `result.fun`
Note: Availability of some modules can depend on optional extensions selected at build time (see [build.md](./build.md)). For instance, `regex/pcre2.fun` requires PCRE2 support; `ui/*` depends on chosen UI backends.
## Using modules
```fun
include "utils/strings.fun" as strings
#include <strings.fun>
let s = strings.trim(" hello ")
let s = trim(" hello ")
print(s)
```