-
Finish closures
- wrap new closure implementation so that this isn't an issue: mirah/mirah#276
- stabby lambdas
- potato: add to parser w/ compiler error
- non-local return
- potato: just disallow return inside blocks converted into closures that aren't lambdas
- nested bindings: they should work nicely
- Java 8 MetaLambdaing when targeting 8. It'd be cool if we could use Java 8's lambda impl when on 8
-
access level modifiers / synchronized
- modify class scope so that it has retains state about access levels
- attach modifiers to method definitions based on access level state
- read modifiers from code gen--some of this is done
-
case expression
- potato
- add to parser w/o adding to compiler. done
- convert to naive if elsif
- figure out what the callback for when is
- wire into typer / compiler
- specialize certain types for case statements--eg enums / nums should -> jump table
- potato
-
extensions
- define syntax in parser
- wire in implementation
- add extension methods to arrays / lists to bring them to partity
- mirah/mirah#265
-
interface default methods
- jvms before 8?
- linearize interfaces w/ default methods, get set of signatures, c&p impl into class
- issues:
- mirah/mirah#279
- jvms before 8?
-
generics
- decide on syntax
- potato: add syntax to parser
-
define operator set
- == / ===
- <=>
- etc
-
finish constants
-
they've got scope issues -- private constants aren't helpful
-
they are not lookupable from subclasses
-
issues:
-
better boxing
-
issues:
- macro definable intrinsics?
- it'd be cool if you could write a macro that drops ASM
- goto?