Skip to content

Instantly share code, notes, and snippets.

@baroquebobcat
Last active August 29, 2015 14:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save baroquebobcat/f1e7ed6875be7028c978 to your computer and use it in GitHub Desktop.
Save baroquebobcat/f1e7ed6875be7028c978 to your computer and use it in GitHub Desktop.
mirah_one_point_oh_feature_list

TODO List For 1.0

  • 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
  • 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
  • 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:

  • mirah/mirah#277

  • better boxing

  • issues:

  • mirah/mirah#266

Pie in the sky

  • macro definable intrinsics?
  • it'd be cool if you could write a macro that drops ASM
  • goto?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment