Releases: melt-umn/silver
Releases · melt-umn/silver
Silver 0.5.0
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
andOrd
, 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, withfst
andsnd
as annotations
New Contributors
- @keltono made their first contribution in #719
- @dependabot made their first contribution in #766
Full Changelog: v0.4.5...v0.5.0
Silver 0.4.5
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 reflectiontypeError
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
- Implement strategy attributes
- Fixes to pattern matching order semantics
- Other minor changes to rule semantics for consistency with papers
Silver 0.4.3
- Implement and use monoid attributes
- Other misc. changes corresponding to the reflection COLA paper
Silver 0.4.2
- 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
- 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
v0.4.0 update reported version number for release
Silver 0.3.6
v0.3.6 Version 0.3.6, updated history.
Silver 0.3.5
v0.3.5 Release 0.3.5.
Silver 0.3.4
v0.3.4 Updates to history, make-dist, for release preparation.