Changelog
We're still in alpha status, but you can check here to see what you'll get by updating, and/or gauge our progress.
v0.0.6
Features
Better error reporting that highlights the code with the issue
Unchecked annotations on methods, needs, and classes, available for compile-time reflection
Compiler will complain about incompatible table files
Bugfixes
Fixed memory leak in table file reader
Fixed an issue using generics as anything but the first class definition
Fixed a bug requiring table files for the various primitives at link time
Fixed a bug in js std.o when running in browser
Fixed issue where parameterized type arrays required repeating parameters in variable access
Standard Library
Compatibility Notes
Table files are not backwards compatible. If you are using the seed project you must rm -rf libs, merge in the latest seed, and rebuild.
v0.0.5
Features
Constructor arguments in provisions, arguments in behavioral provisions
List literals: typechecked declarations of any length now supported, empty list literal works everywhere
Ternary operator: python style 'x if cond else y'
Type system: Num now valid for if/while/for conditions (thanks Cole W!), types with arbirtrary nesting of arrays of optionals of arrays, etc
Arrays now throw UndefinedIndexException when index does not exist
Bugfixes
innaccurate text at the end of an import error
no code was generated for injection provisions
ambiguiting in optional lists vs lists of optionals
constructor provisions with subclasses still required you provide the parent class
Fixed a giant swath of memory leaks
Fixed segfaults when using empty array literals in invalid places
Standard Library
Text.join(Text[])
UndefinedIndexException
Compatibility Notes
Methods now must begin with lower case to disambiguate with arguments passed into a provider
v0.0.4
Features
Exceptions - throwing, catching, extending, stack traces, catching native errors, printing uncaught exceptions
Foreach - Now supports `foreach _ in _` to name variables as you iterate over them
Bugfixes
Segfault when running foreach over an aliased variable
public arrayed unaliased class members and/or needs were innacessible to other classes
classes can no longer be extended and given methods with incompatible return types
Standard Library
Map.getValues()
Exception
Compatibility Notes
Removed requirement of C++11
Build process no longer tests by default
Table files are not compatible with v0.0.3
v0.0.3
Features
- Brew support
Bugfixes
- Fixed bug in compiler for OSX where it wouldn't read inheritance from compiled files
- Fixed bug in std runtime for OSX that wrote /0 bytes into files
- Fixed bug in wockito for OSX that opened the same file twice that wrote over each other
Standard Library
Compatibility Notes
- Changed syntax of var MyClass <- MyProvider
to var MyClass from MyProvider
v0.0.2
Features
- Generics allow parameterized types in needs
- Foreach
Bugfixes
- Missing codegen from typesafe cast
Standard Library
- Argv
Compatibility Notes
- Exists no longer allowed on class members, since other references may reset it to nothing
- Arrayed variables must be referenced with '[]' brackets, ie Num[]
is now named Num[]
instead of Num
v0.0.1
Massive release including fully-fledged OOP, powerful typesystem, generics, and more.