update readme

This commit is contained in:
programsnail 2024-04-21 07:50:17 +03:00
parent 1f8071c89b
commit 7055b353a9

25
README.md Normal file
View file

@ -0,0 +1,25 @@
# Check of modes correctness
## Info
https://blog.janestreet.com/oxidizing-ocaml-locality/
https://blog.janestreet.com/oxidizing-ocaml-ownership/
- **locality:** *global* (default) or *local* (value should not be passed out of context, can be allocated on stach)
- **uniqueness:** *shared* (default), *unique* (used only once, consumed), *exclusive* (used only once in the same time)
- **linearity:** *many* (default), *once* (result value can be used by caller only once), *separated* (result value can be used by caller only once in the same time)
## Done
- *unique* check +
- *exclusive* check
- *local* check
- *once* check
- *separated* check
- type check (optional)
## Examples
- *unique:* let f (unique x) = x * x in f;; -> error