@@ -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.