Skip to content

Version 1.01

Compare
Choose a tag to compare
@mebsout mebsout released this 08 Mar 13:09
· 307 commits to next since this release

NEW FEATURES

  • Revamped module system for function exports
    (This allows to write reusable libraries.)
  • Private functions/values with [@private]
  • Disable inlining per function with [@noinline]
  • Modules and contract aliases
  • ReasonML syntax
  • Parameterized type definitions
  • Type inference
  • Polymorphic values and polymorphic inference
  • External custom instructions
  • Multiple entry points
  • Encoding of types with Michelson annotations
  • Decompilation of records, enumerations and operations
  • New syntaxes for contract calls
  • Labelled arguments for some built-in functions
  • Contract signatures
  • Instruction Loop.left
  • Compilation of tail-recursive functions
  • Compile multiple contracts in separate files
  • Option --main to compile a specific contract

IMPROVEMENTS

  • Lambdas in constants
  • Better type inference when overloading
  • Parse ReasonML expressions
  • Option --call-arg to print arguments for tezos clients
  • More peephole optimizations
  • Tezos as submodule
  • Allow unit patterns ()
  • Client command --pack
  • Examples of documentation are in the test suite
    (This way, the documentation is always up to date.)
  • Namespacing for externals
  • Support type annotations in expressions
  • Support for digestif 0.7
  • Warning for failing code
  • Better compilation of wildcard pattern matching
  • Syntax C.at addr for (Contact.at addr : C.instance option)
  • Better locations reporting
  • Syntactic sugar val%entry : param -> _ in signatures
  • Allow empty (non-toplevel) contracts
  • Patterns in entry point arguments
  • Better decompilation

BUG FIXES

  • Fix bad computation of free variables in Contract.create
  • Bring back support for string amounts, keys, etc.
  • Fix printing Michelson list and set constants
  • Fix Travis ubuntu reop
  • Fix parsing of Tezos node json errors
  • Remove unsupported Set.map, Set.map_fold
  • Bring --no-annot option back
  • Forbid Contract.self in non-inlined functions
  • Prevent redefinition of Map, Set constructors
  • Workaround Micheline pretty-printing bug
  • Documentation
  • Fix deployment issue with big maps
  • Fix json output of constants
  • Forbid source, sender in initializer