Adrian Kunz
Adrian Kunz
Allow For Each to iterate over arbitrary objects defining an `iterator` method or `next` and `hasNext` methods. **_Example**_: ``` class MyIterable { MyIterator iterator() = ...; } class MyIterator {...
Add an additional phase that converts the high-level AST to a low-level intermediate bytecode representation. We can use this for some handy optimizations that are not possible on the AST...
Add the special `fallthrough` keyword for use in Match Expressions and Switch Statements. When used, this will cause execution to jump to the next Case statement or block without checking...
Add support for Triple-Quoted String Literals. They can be used to insert code as Strings without the trouble of having to escape Double Quotes. As with normal String Literals, using...
Allow Tuples, Tuple Types and Function Types to define Named Parameters. **_Example**_: ``` swift var t = (name: "Jack", age: 20) // t: (name: String, age: int) var f =...
Add Support for Visibility Modifiers on `import`, `using`, `include`, `operator` and `type` declarations. The visibility modifiers define which header elements are selectable for `include`s.
Add an additional compiler flag (`-i`, `--incremental`) to make the compiler only recompile changed source files.
Add Structural Types, types that are recognized by their methods and fields rather than their name. A variable of a structural type that defines a `foo():String` method can hold any...
When comparing an integer to `0`, the compiler should use the `IFEQ`, `IFLT`, ... instructions instead of `IF_ICMPEQ`, `IF_ICMPLT`, ...
When formatting or printing a Binary or Hex Literal, it gets converted to a Decimal one.