Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 97 Next »

Considering our limited human resources and time constraints, it is hard to give definitive and accurate estimates of the milestones we are going to release.

Groovy 2.1 (just released)

Groovy 2.1 is the latest stable version of Groovy.

Feature set

  • offers full support for the JDK 7 “invoke dynamic” bytecode instruction and API for improved performance,
  • goes beyond conventional static type checking capabilities with a special annotation to assist with documentation and type safety of Domain-Specific Languages,
  • adds static type checker extensions,
  • provides additional compilation customization options,
  • features a meta-annotation facility for combining annotations elegantly.

Releases

  • Groovy 2.1 beta: end of December 2012 (tick)
  • Groovy 2.1 RC: early January 2013 (tick)
  • Groovy 2.1 final: end of January 2013 (tick)

Groovy 3.0 (2013)

Feature set

  • New Meta-Object Protocol dedicated to fully leverage "invoke dynamic"
  • Rewrite the Groovy grammar from scratch with Antlr 4 (moved to Groovy 4)
  • Retrofitting Groovy closures to accommodate JDK 8 upcoming closures for interoperability

Groovy 4.0 (2014)

Feature set

  • Rewrite the Groovy grammar from scratch with Antlr 4

Other topics we could consider for later Groovy

  • add static "trait" capabilities
  • compiler related:
    • investigate the integration of the Eclipse joint compiler to replace the Groovy stub-based joint compiler
    • investigate making the groovyc compiler multithreaded
    • Incremental compiler
  • a treturn keyword or dedicated AST transformation for tail calls for closures and methods
  • ability to pass expression trees / AST nodes as parameters (see C# 4's own expression tree)
  • lexical categories
  • a symbol concept, a bit like Ruby's :symbol, or like Java interned strings
  • co-routines and/or generators
  • pattern matching
  • parser combinators
  • a native template engine compiling to AST (faster, correct line numbers for error reporting, optimized outputting, etc.)
  • ...
  • No labels