Skip to content
This repository has been archived by the owner on Sep 7, 2023. It is now read-only.

Releases: accordproject/ergo

Ergo v0.4.1

15 Sep 15:53
Compare
Choose a tag to compare
Ergo v0.4.1 Pre-release
Pre-release

This is a bug fix and improvement release.

Stdlib

  • New operation inArray checks if an element is in the given array
  • New operation containsAll checks if all the element of the first array are in the second array

Bug fixes

  • 🐞 bug in arraySubtract (#450)

Ergo v0.4.0

11 Sep 16:16
Compare
Choose a tag to compare
Ergo v0.4.0 Pre-release
Pre-release

This is a release for strongly typed Ergo! The type checker is now enabled on the compiler.

Additional changes include:

Type checker

  • 👩‍⚕️More better error messages (#374)
  • 🔬You cannot instantiate an abstract class anymore, and rightly so (#370)

Build

  • Cleaner and faster CircleCI build from source

Bug fixes

  • 🐞 bug in optional chaining implementation (#321)
  • 🐞 bug in importing type hierarchy from CTO files

Ergo v0.3.4

29 Aug 18:46
Compare
Choose a tag to compare
Ergo v0.3.4 Pre-release
Pre-release

This is mostly a consolidation and bug-fix release

But also the REPL is now online!

  • 👩‍⚕️Better error messages (#425 #371 #374 #419)
  • 🐞 fix to evaluate button in online REPL (#431)
  • 🐞 critical fix to lexer (#428)
  • 🐞 critical fix to namespace imports (#429)

Ergo v0.3.3

17 Aug 14:54
Compare
Choose a tag to compare
Ergo v0.3.3 Pre-release
Pre-release

This is a bug-fix release

  • 🐞 main method creation fails on non-concept types ( #419 )
  • 🐞 package.json are consistent again
  • 🐞 automatic release script should work again

Ergo v0.3.1

15 Aug 23:46
Compare
Choose a tag to compare
Ergo v0.3.1 Pre-release
Pre-release

🍸 The Ergo REPL (Read-Eval-Print-Loop) is out!

Try it by installing the latest release of Ergo with:

npm i -g @accordproject/ergo-cli

Then start the REPL in a terminal with:

ergotop

You can type in Ergo expressions (or even load contracts) and try them interactively. The REPL showcases the upcoming type system for Ergo. When you write an expression or load a contract, it will check types for you and tell you if it finds mistakes in your code.

Sample Ergo contracts that work in the REPL can be found in ./examples/typechecked

screen shot 2018-08-15 at 6 23 27 pm

Other changes in this release:

Language:

  • Output types on functions and clauses are now optional
  • Built in functions on DateTime renamed from moment* to dateTime*
  • Optional values use none and some(...) consistently
  • Empty value (resp. type) now called unit (resp. Unit)
  • match expressions now understand the composer models type hierarchy

Compiler:

  • Switched to Coq 8.8.1
  • Switched to Q*cert 1.2.0

Tooling

  • New VIM mode (contribution @kach) can be found in ergo.vim

Bug fixes:

  • 🐞 Inlining bug for constants (#389)
  • 🐞 Prevent redefining types with the same name (#408)

Ergo v0.2.0

02 Aug 06:49
Compare
Choose a tag to compare
Ergo v0.2.0 Pre-release
Pre-release

A new release, modules and typing are the highlight.

Install the latest release of the Ergo command-line tool with
npm i -g @accordproject/ergo-cli

Compiler

  • Multiple Ergo files/modules can be passed to the command line
  • Automatically reorders input CTOs and Ergo modules based on dependency
  • Initial compiler support for type checking

Tooling

  • new ergodep command line tool calculates dependencies

REPL (contribution @kach)

  • REPL now checks/infers types (alpha)

Ergo v0.1.3

23 Jul 21:39
43949cd
Compare
Choose a tag to compare
Ergo v0.1.3 Pre-release
Pre-release

The language is slowly but surely getting more mature. Many thanks to our contributors @kach, @jbesq777 @mttrbrts!

Install the latest release of the Ergo command-line tool with
npm i -g @accordproject/ergo-cli

Language

  • Instead of new Concept{ ... } we now write: Concept{ ... } (#326)
  • Fully qualified names prefixed with ~ to avoid parsing ambiguity (#310)
  • New syntax to set contract instance and call clauses (#277)

Compiler

  • Brand new inlining phase (contribution @kach)
  • Revisions/bug fixes to namespace resolution and context management
  • Compiler and REPL share common compilation pipeline

REPL (contribution @kach @jeromesimeon)

  • Interface improvements (multiline input, better error reporting, handles empty input gracefully)
  • Support for state changes
  • Support for match, set contract and call

Ergo v0.1.2

09 Jul 17:31
Compare
Choose a tag to compare
Ergo v0.1.2 Pre-release
Pre-release
  • Bug Fix npm install bug (#270)
  • AST: Better location information
  • AST: function body is expression rather than statement
  • Compiler: Revision to ergo -> ergo calculus compilation phase (#223)
  • Tooling: Initial design for REPL (#25) (contribution by @kach)
  • Syntax: throws and emit declarations can be in any order

Ergo v0.1.1

05 Jul 15:59
Compare
Choose a tag to compare
Ergo v0.1.1 Pre-release
Pre-release
  • Bump version 0.1.1

Ergo v0.1.0

05 Jul 15:02
Compare
Choose a tag to compare
Ergo v0.1.0 Pre-release
Pre-release
  • Revised namespace resolution
  • Cleaner compilation calls