Nikodemus Siivola
Nikodemus Siivola
1. Declared variable types to uses. 2. Method sends to known types to types of arguments after the send, and the return. 3. Compile-time warning when sending an unknown message...
`let` used to define immutable bindings, `var` used to define mutable ones. `:=` used with `var` in both declarations and assignments. Check for correctness during AST construction.
Expressions to determine if a value is in a range are relatively commonplace. A compound expression along the lines of `1
Profile performance of compiled code before going off on an assumption of where the problems lie.
MAYBE. Not entirely sure I like this -- but consitent with `define`. Given methods and definitions that end with a bang, classes no longer need to be terminated with "end"....
How to define a class that directly implements eg. Iterable? ``` class MyClass {} is direct Iterable .... end ``` ?
``` class Foo {} class method a: x b: y::Float [a, b] end > Foo a: 1 b: 1 PANIC: Float expected, got: Integer 1 001 Foo a: 1 b:...
``` class Foo {} method foo 42! 42! end ``` Reports "Instances of SyntaxLiteral do not understand: #addTo:" Should instead say something like "Literal where method or end expected", and...
1. Parser should generate a StringInterpolation expr instead of a message chain 2. Evaluator should use StringOutput to handle it Related to #171 but not identical: this one is about...