Update FUBS authored by Eron's avatar Eron
......@@ -59,17 +59,17 @@ We have an almost pathological focus on minimalism. We want the functionality o
* Object (instance of a specific class)
* Functions, Closures
* Tuples (passed by value)
* Decent type inferencing for stack variable types.
* Decent type inferencing for stack variables.
* No automatic coercion except for widening of object types.
* Decent support for [generic programming](https://en.wikipedia.org/wiki/Generic_programming).
* Heap management:
* No dynamic reachability analysis except when debugging.
* A reference type may be "prime", which means that it will be automatically freed when it leaves scope (for local variables), or its parent is freed (for object fields).
* A reference type may be "prime", which means that it will be automatically freed when it leaves scope (for local variables), or its parent is freed (for object members).
* Static analysis will help catch program errors with respect to prime reference management.
* Guaranteed to catch double-free errors.
* The programmer is expected to avoid use after free errors. Less efficient execution modes can guarantee this with runtime reference counting.
* [Balls](https://en.wikipedia.org/wiki/Exception_handling)
* [Closures](https://en.wikipedia.org/wiki/Closure_(computer_programming))
* Automatic object persistence.
* Object member fields can be annotated to be persisted.
* Objects are loaded using their 8 word hash as a key (a FUBS word is 4 bytes).
* Object members can be annotated to be persisted.
* Objects are loaded using their hash as a key.