the language, in the order you need it. every example here is a complete
program you can run: ./flint -e 'print(1)'.
| file | what is in it |
|---|---|
| language.md | the whole language in prose, start to finish |
| values.md | the types, and what makes them equal |
| syntax.md | expressions, operators, statements, as |
| control.md | if, while, for, break, continue |
| functions.md | functions, recursion, closures |
| data.md | strings, lists, tables |
| modules.md | import and export |
| library.md | the built-in functions |
| errors.md | what goes wrong, and what flint does |
| diagnostics.md | formats, current coverage, and --fix |
| limits.md | what the language does not do, and untrusted input |
| internals.md | how the compiler and the vm work |
| cli.md | commands, flags, exit codes, flint test |
| packages.md | flint.toml, flint pkg, flint.lock |
| native-abi.md | writing a native module in C |
| platforms.md | what runs where, and the windows gaps |
| rust.md | embedding flint, and modules in rust |
the formal grammar and semantics are in ../SPEC.md, and the measured performance is in ../bench/RESULTS.md.
runnable programs are in ../examples. they are longer than the snippets here and are commented line by line.
if something in here disagrees with the source, the source is right and this is a bug in the documentation.
| roadmap-0.13.md | what 0.13.0 is, verified from the source |