Skip to content

Commit 123b5f2

Browse files
docs: drop six unlinked stub files, fold their real content into limits.md
audit-0.7, compatibility, limitations, native, packages and security had zero inbound links and were titled 'Flint 1.0' with claims the tree does not back: a native ABI with flint_extension_init, flint.toml package manifests, TLS certificate validation, concurrency primitives. They were duplicates of docs/limits.md plus promises. the two facts only they stated are now in limits.md: no sandbox for untrusted code, and no bytecode file format, so no untrusted-bytecode boundary.
1 parent 2a7ec3e commit 123b5f2

8 files changed

Lines changed: 25 additions & 121 deletions

File tree

‎docs/README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ program you can run: `./flint -e 'print(1)'`.
1515
| [library.md](library.md) | the built-in functions |
1616
| [errors.md](errors.md) | what goes wrong, and what flint does |
1717
| [diagnostics.md](diagnostics.md) | formats, current coverage, and `--fix` |
18-
| [limits.md](limits.md) | what the language does not do |
18+
| [limits.md](limits.md) | what the language does not do, and untrusted input |
1919
| [internals.md](internals.md) | how the compiler and the vm work |
2020

2121
the formal grammar and semantics are in [../SPEC.md](../SPEC.md), and the

‎docs/audit-0.7.md‎

Lines changed: 0 additions & 47 deletions
This file was deleted.

‎docs/compatibility.md‎

Lines changed: 0 additions & 8 deletions
This file was deleted.

‎docs/limitations.md‎

Lines changed: 0 additions & 5 deletions
This file was deleted.

‎docs/limits.md‎

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,27 @@ the `flint` executable runs scripts, `-e` code, stdin and the repl, plus
6868
`lint`, `build`, `debug`, `profile`, `doc`, `package`, `install` or `lsp`
6969
subcommands.
7070

71-
there is no package manager, no registry and no lockfile. there are no
72-
threads, channels or locks. the `http` module is a blocking client with no
73-
tls. there is no cryptography beyond the non-cryptographic `random` module,
74-
which says so itself.
71+
there is no package manager, no registry and no lockfile. `flint.toml` is
72+
not a source format. the only ways to get code into a script are
73+
`import "some/file.fl"`, an `import` of a standard-library module by name,
74+
and `flint sync` to refresh the installed library.
75+
76+
there are no threads, channels or locks. the `http` module is a blocking
77+
client with no tls, so it validates no certificates; do not send secrets
78+
through it. there is no cryptography beyond the non-cryptographic `random`
79+
module, which says so itself.
80+
81+
there is no c extension point: no public header, no `native.load`, no
82+
ownership contract. `vm.h` and friends are internals and change between
83+
commits.
84+
85+
## untrusted input
86+
87+
flint has no permission system and no sandbox. a script that can run can
88+
read and write every file its user can. do not run flint programs you have
89+
not read.
90+
91+
there is no bytecode file format and no loader, so there is no untrusted
92+
bytecode boundary; all bytecode is produced in-process by the compiler and
93+
checked by the in-process verifier before it runs. anything that arrives as
94+
a `.fl` file is source.

‎docs/native.md‎

Lines changed: 0 additions & 28 deletions
This file was deleted.

‎docs/packages.md‎

Lines changed: 0 additions & 20 deletions
This file was deleted.

‎docs/security.md‎

Lines changed: 0 additions & 8 deletions
This file was deleted.

0 commit comments

Comments
 (0)