Limitations
Fuzion Front End
- No data flow analysis yet, in particular:
- No check for uninitialized variables
- No proper name space handling, i.e.,
- features are visible in all of their outer feature. even if defined in a nested inner scope.
- Several local vars with equal names in different scopes of the same outer feature will cause errors
- Limitations on repeated inheritance, in particular
- no checks that repeatedly inherited features are compatible with respect to their generic parameters
- no checks that conflicts in inheritance are detected and resolved
- no means to keep several instances of repeatedly inherited features (e.g., via Eiffel-style renaming)
- No support to call the original feature from a redefinition (Java's super.f() or Eiffel's repeated inheritance with renaming)
- No support for feature invariants, loop variants and invariants.
- No support for pre- and postconditions of redefined features.
- No support for floating point types, 8/16/128-bit integers, big integers
- No support for the tertiary operator
? :
- No support for singleton / once features, need to decide if they are needed and if so, what semantics should they have?
- No support for threads
- No support for modules
Fuzion Tool Chain
Fuzion is currently implemented as a proof-of-concept interpreter on top of a JVM.
- fume Fuzion Middle end does not exist
- fuom Fuzion Optimizer does not exist
- fube Fuzion Back End: none exist
Fuzion Standard Library
- Practically does not exist yet.
Website
- Only tested on Firefox 80.0.1 on Ubuntu 18.04.
- Many hacks