// Variables
var name: String = "";
var nullableName: String | Nil = Nil // Current state
var maybeName: Option<String> = None; // When typing, enums and pattern matching are implemented
// Type Aliases
type IntArray = Array<Int> | Int[];
// Arrays
var numbers: IntArray = [];
// Functions
fun identity<T>(value: T): T {
return value;
}
// Unknown
var a: ??? = {};
Questions
Privatives are required to avoid unneeded unboxing?
Type erasure?
Type Hierarchy? Unknown -> Object -> *
If everything extends Object this is why JVM auto un/boxes?
Example
Questions
Links