Update FUBS authored by Eron's avatar Eron
...@@ -63,17 +63,14 @@ We have an almost pathological focus on minimalism. We want the functionality o ...@@ -63,17 +63,14 @@ We have an almost pathological focus on minimalism. We want the functionality o
* Boolean * Boolean
* Reference types (nullable): * Reference types (nullable):
* Array * Array
* Big Array (for 64 bit heaps) (not yet implemented)
* Object (bound to a specific class) * Object (bound to a specific class)
* Big Object (for 64 bit heaps) (not yet implemented) * Functions, Methods, Closures
* Functions (including closures)
* Signedness of integer types is determined by the binary operator chosen. * Signedness of integer types is determined by the binary operator chosen.
* Type inference required for local variables. * Stack variable types are inferred.
* No automatic coercion except for widening of object types * No automatic coercion except for widening of object types.
* Any primitive type may be cast to any other primitive type. * Any primitive type may be cast to any other primitive type.
* Class parameters provide for [generic programming](https://en.wikipedia.org/wiki/Generic_programming). * Class parameters provide for [generic programming](https://en.wikipedia.org/wiki/Generic_programming).
* An object type is provided to specify how wide a class parameter may be. * Heap management:
* Heap management so far:
* No dynamic reachability analysis except when debugging. * 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 fields).
* Static analysis will help catch program errors with respect to prime reference management. * Static analysis will help catch program errors with respect to prime reference management.
...@@ -88,6 +85,7 @@ We have an almost pathological focus on minimalism. We want the functionality o ...@@ -88,6 +85,7 @@ We have an almost pathological focus on minimalism. We want the functionality o
* Concurrency is not yet implemented. * Concurrency is not yet implemented.
* Execution model: * Execution model:
* Fully self hosted. * Fully self hosted.
* This includes source code management.
* Programs are stored as a binary representation of its abstract syntax tree. * Programs are stored as a binary representation of its abstract syntax tree.
* An IDE is being developed to directly manipulate the abstract syntax tree. * An IDE is being developed to directly manipulate the abstract syntax tree.
* A text format exists for bootstrapping and luddites. * A text format exists for bootstrapping and luddites.
\ No newline at end of file