Cicero v0.6.0
Pre-releaseThis week's release includes bug fixes and performance improvements. It also includes support for Ergo 0.3.1, which comes with a brand new tool for interactive construction, execution and debugging of Ergo program.
💔 Beware that we have again some breaking changes in this release on the Ergo side
Install the latest release of the Cicero command-line tool with
npm i -g @accordproject/cicero-cli
Fixes
- 🐞The creation of hashes for templates is now more robust and consistent (Thanks to @mttrbrts! PR #186)
- 🐇Avoid loading external models when we don't have to which improves performance (Also Thanks to @mttrbrts ! PR #188 )
- 🐞Inlining bug for constants (accordproject/ergo#389)
- 🐞Prevent redefining types with the same name (accordproject/ergo#408)
Ergo
Ergo 0.3.1 is out!
🍸 Ergo REPL!
There is a brand new tool for interactive development and testing of Ergo programs called the REPL (Read-Eval-Print-Loop) (@kach and @jeromesimeon)
Try it by installing the latest release of Ergo with:
npm i -g @accordproject/ergo-cli
Then start the REPL by typing in a terminal:
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 https://github.com/accordproject/ergo/tree/v0.3.1/examples/typechecked
Language
- Output types on functions and clauses are now optional
- Built in functions on DateTime renamed from
moment*
todateTime*
- Optional values use
none
andsome(...)
consistently - Empty value (resp. type) now called
unit
(resp.Unit
) - match expressions now understand the composer models type hierarchy
Tooling
- New VIM mode (contribution @kach) can be found in
ergo.vim
Templates
🚗 Payment Upon Delivery (in English). A new payment clause thanks to @DianaLease and @Michael-Grover-C
Documentation
🏁 And finally, thanks to @FelixKuehl for some improvements to the Quick Start tutorial in the documentation, https://docs.accordproject.org/docs/cicero-tutorial_001.html