Thank you for following the latest in Tezos smart contract language development!
Let us know if you have:
- feedback or suggestions
- a language you would like to add
Recent development
Albert
No recent updates from the Albert team.
Archetype
version 0.1.13
The Archetype team just released version 0.1.13, which is the last alpha version before the 1.0 release. For more details please see: https://github.com/edukera/archetype-lang/blob/dev/CHANGES.md
Notable changes:
- multi-criteria sort function for assets
archetype multi_sort asset my_asset identified by id { id : string; v1 : int; v2 : int; v3 : int; } initialized by { {"id0"; 1; 2; 7}; {"id1"; 1; 3; 9}; {"id2"; 1; 3; 8}; {"id3"; 1; 2; 6} } action exec () { effect { var res = my_asset.sort(v1, asc(v2), desc (v3)) (* res = ["id0"; "id3", "id1", "id2"] *) } } - Transformations of intermediate representation
- Bug fixes
- Continuing to write language reference documentation https://docs.archetype-lang.org/archetype-language/archetype-reference
LIGO
The LIGO team continues working to improve the core of the language. Recent and upcoming developments include:
- Added a tail recursive function to the language
- Adding an AST pretty-printer to help debugging programs
- Adding optimization passes
Beyond the work on LIGO, the team is also
- Adding new features to Michelson for better interactions between smart-contracts
- Adding new helpers to Michelson for integration with higher-level languages
- Writing blog posts that detail how Tezos can be made simpler, and Michelson better
New website development includes
- dark mode
- a new logo
- continued improvements to the documentation
Michelson
No recent updates from the Michelson team.
SCaml
version 1.1.0
The SCaml team released SCaml 1.1.0 “Salting” just after Tezos protocol upgrade 006 “Carthage”.
Since Carthage is a maintenance release of Tezos 005 “Babylon” there is no big change in Salting. It fixes some bugs and improves usability. Specifically:
- SCaml is now installable via a simple shell script using Docker.
- SCaml specific errors now have error codes.
- Added more tests and examples.
- SCaml record field and variant constructor names are now annotated to Michelson.
- Added
--scaml-convertand--scaml-revertfor value conversion between SCaml and Michelson. - Michelson’s type “classes”, such as comparable, packable, parameterable types, etc. are now checked by the SCaml type checker.
Documented surprises
SCaml is a strict subset of OCaml. Ideally, within its limited language features, any valid OCaml program should be valid SCaml. Unfortunately there are some exceptions, therefore we have detailed surprises OCaml programmers may encounter in SCaml.
The most unintuitive SCaml surprise is the restriction of no unpackable free variable occurrence in function bodies. This comes from the same restriction in Michelson’s function closures, so the other functional language compilers to Michelson should have the same kind of restrictions. We have documented several ways to work around this restriction.
Social: the virus turned every meeting virtual
Japan and other Asian countries are experiencing 2019-nCoV situation few weeks prior to Western countries. All meetups are canceled around us to slow down the epidemic.
Our Tezos hands-on using SCaml planned on 2020-03-21 is not an exception, but we are planning to make it virtual. This is a challenge since hands-ons are more bidirectional than usual tech meetups, but it is an unstoppable change in tech communities this year.
SmartPy
No recent updates from the SmartPy team.
Thank you for reading, and check back soon for our next update!
Eowyn on behalf of the LIGOlang team