Skip to content

Releases: melt-umn/silver

Silver 0.5.1

22 Oct 21:02
9229e9f
Compare
Choose a tag to compare

Final planned release of Silver prior to significant breaking change to typing for undecoration.

New features

  • Permit _ in lambda parameter syntax. Breaking change: _ :: SomeType for anonymous lambda params instead of SomeType.
  • Concise function syntax
  • nondecorated local/nondecorated production attributes
  • Initial implementation of dispatch signatures and signature sharing, with incomplete support in the flow analysis
  • Permit referencing the forwardParent
  • Add ^ as a new unary operator shorthand for new

Other changes

  • Remove experimental "unique reference" types, simplify semantics of @ tree sharing operator
  • Significant refactoring to origin tracking API and implementation
  • Change over the Silver compiler to use origin tracking

Full Changelog: v0.5.0...v0.5.1

Silver 0.5.0

26 Sep 23:40
7a38df9
Compare
Choose a tag to compare

New features

  • Finish support for unique references, tree sharing operator and associated uniqueness analysis
  • Reference-site flow projections, to permit using inherited attributes supplied to a shared tree
  • Translation attributes
  • Forward production attributes
  • Data nonterminals, not permitted to have inherited attributes, for performance and simplicity
  • Deriving mechanism for Eq and Ord, supporting polymorphic and data nonterminals
  • Threaded collection attributes
  • Improvements to scripts and build infrastructure
  • Other bug fixes and refactoring in the flow analysis implementation

Breaking changes

  • Removed support for autocopy
  • Change Pair to be a data nonterminal, with fst and snd as annotations

New Contributors

Full Changelog: v0.4.5...v0.5.0

Silver 0.4.5

08 Oct 05:25
Compare
Choose a tag to compare

Changes

  • Add support for type classes, and refactor the standard library to use them
  • Higher-kinded types
  • Decorated types are now parameterized by a (possibly polymorphic) set of inherited attributes present, instead of a global reference set
  • Globals can now be polymorphic
  • Pattern match completeness checking
  • Tuple syntax
  • Convenience aspect syntax
  • Revised do-notation, supporting applicative do and mutually-recursive mdo
  • Change the inherited portion of equality attributes into a separate feature, "destruct" attributes
  • Rewrite random tree generation extension to make use of type classes and allow specifying what grammars should be included
  • Implement ordering attributes
  • runtimeTypeable built-in type constraint for use with reflection
  • typeError built-in type constraint for custom instance resolution failure error messages
  • Native term serialization library to/from binary format
  • Subprocess library
  • Literate Silver
  • Rename IO -> IOToken, IOMonad -> IO and rename associated functions
  • Major refactors to driver/build process
    • Construct copper parsers using the API, rather than generating an XML file
    • Transitively rebuild dependent grammars, fixing issues with incorrect error messages / invalid java code generated from non-clean builds
  • Bug fixes and improvements to type checking, flow analysis, implicit monads, origin tracking, automatic attributes, string/document templates and documentation generation
  • Language server protocol implementation using lsp4j and VS Code extension, with some language-agnostic features for building LSP implementations
  • Remove the old eclipse IDE plugin generation extension and infrastructure

Experimental/unstable features

  • "Partially decorated" references
  • Attribute occurs-on type constraints (probably stable-ish)
  • Inherited attribute subset type constraints

Silver 0.4.4

08 Oct 02:57
Compare
Choose a tag to compare
  • Implement strategy attributes
  • Fixes to pattern matching order semantics
  • Other minor changes to rule semantics for consistency with papers

Silver 0.4.3

13 Sep 23:11
7f925ad
Compare
Choose a tag to compare
  • Implement and use monoid attributes
  • Other misc. changes corresponding to the reflection COLA paper

Silver 0.4.2

21 Apr 18:56
267ed8e
Compare
Choose a tag to compare
  • Add reflection-based library/extension for term rewriting
  • Enhancements/fixes to lexer classes, transparent prefixes and disambiguation
  • Better semantics for determining concrete production layout
  • Allow for generalized pattern antiquotation in meta-translation library
  • Refactor silver:host grammar to export all default modifications and extensions

Silver 0.4.1

05 Sep 06:33
Compare
Choose a tag to compare
  • Add support for concrete object language syntax embedding
  • Implement disambiguation classes
  • New syntax for specifying extension composition
  • Improvements to pattern matching
  • Eliminate RunSilver.jar
  • Refactoring to the Eclipse IDE plugin
  • Fixes to IO
  • Bug fixes and improvements to error messages
  • Other misc. bug fixes and improvements

Silver 0.4.0

25 Oct 11:54
Compare
Choose a tag to compare
v0.4.0

update reported version number for release

Silver 0.3.6

25 Oct 00:56
Compare
Choose a tag to compare
v0.3.6

Version 0.3.6, updated history.

Silver 0.3.5

25 Oct 00:55
Compare
Choose a tag to compare
v0.3.5

Release 0.3.5.