Skip to content
This repository has been archived by the owner on Jan 18, 2024. It is now read-only.

Version 0.1.4

Compare
Choose a tag to compare
@hedgar2017 hedgar2017 released this 08 Apr 07:55
c34a01e

Changelog

Language

  • added the Schnorr signature verification to the standard library
  • made enumerations strongly typed, not just groups of constants
  • match scrutinee can be any expression again (including structure literals)
  • implemented automatic loop bounds range type upcasting
  • implemented arithmetic assignment operators (+=, -=, *=, /=, %=)
  • allowed constant expressions as array sizes (both types and literals)
  • field division (i.e. multiplication by inverted value)
  • field comparison (treated as unsigned numbers)

Compiler

  • implemented advanced errors with Rust-like formatting, hints, location pointers
  • added constant overflow checking at compile-time
  • the constant expression Euclidean division and remainder now works just like in VM

Virtual machine

  • fixed 'unconstrained' variables in hash functions
  • fixed constraint generation when the same variable is encountered multiple times in the same expression
  • fixed some type errors
  • optimized constraint generation for deterministic expressions

Overall

  • added the Schnorr signature tool