Skip to content

Releases: melt-umn/silver

Silver 0.6.0

13 Feb 17:48
568c95d
Compare
Choose a tag to compare

Major new release of Silver, with breaking changes to simplify the type system, removing implicit undecoration. MWDA support for tree sharing is completed and enhanced. Also significant enhancements to the build system, the Silver compiler can now depend on pre-built grammars from jar files. This is used in re-factoring the build for the Silver compiler itself into multiple separate artifact jars.

What's Changed

  • Require explicit new for undecoration by @krame505 in #849
  • Permit building against jars containing compiled grammars by @krame505 in #852
  • Fix Jenkinsfile bug, avoid running fetch-jars when building a PR merge by @krame505 in #856
  • Permit transattr.decorate in flowtype specs by @krame505 in #857
  • Fix overly-permissive exemption for cycles involving dispatch prods in inh completeness checks by @krame505 in #858
  • Fix translation bug with dispatching by @krame505 in #860
  • Make diagnostic output readable when showing nested messages with generated origins by @krame505 in #859
  • Adds uniq and uniqBy. by @remexre in #862
  • A few fixes related to decoration sites translation attributes by @krame505 in #861
  • Add MWDA check for dispatch depending on inh attributes supplied by the target production by @krame505 in #865
  • Fix flow deps for taking a reference to an instance of a translation attribute by @krame505 in #866
  • Refactor/rename root to file by @allen-liaoo in #875
  • Include annotations in native serialization format by @krame505 in #874
  • Add error message instead of silently doing nothing when JAVA_HOME isn't set by @krame505 in #872
  • Overload function application syntax with named arguments for annotation update by @krame505 in #877
  • Fixes bug with undeclared lambda parameter type declarations by @unironically in #871
  • No annotations can have the same short name on nonterminal by @allen-liaoo in #878
  • Make supplying a type optional in do bindings by @tardism in #876
  • Fixes and cleanup to MWDA related to translation attributes by @krame505 in #869
  • Fix Tuple Selector Error Message by @tardism in #879
  • Test/fetch unshallow by @allen-liaoo in #882
  • Silver now reports its latest git tag as its version by @allen-liaoo in #881
  • Merge master into develop by @krame505 in #883
  • Include default production graphs in flow type inference by @krame505 in #880
  • Revert "Disable comparison of dataness/trackedness in NT unification" by @krame505 in #884

New Contributors

Full Changelog: v0.5.1...v0.6.0

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.