Implementation status - Glow-Lang/glow GitHub Wiki

This document summarizes where glow-the-language is in terms of implementation (last updated Jun 11, 2021)

Much of what exists can be gleaned from the language reference:

https://glow-lang.org/docs/Glow_Reference_Manual.html

Though note that ByteString support mentioned in the manual is incomplete. Summary:

  • We support some basic domain specific operations like
    • cryptographic operations (hashing, signing).
    • depositing & withdrawing funds.
    • verifying the results of other participants' actions
    • @-notation for interleaving operations by different participants in the same program.
  • From a generic programming language perspective, right now we can define functions, work with scalar values, and we support conditionals (switch, which is similar to the match expressions used in most ML-family languages). However, many standard programming language features are not yet implemented:
    • We don't currently support recursive functions.
    • Anything that requires dynamic memory allocation, including:
      • Values of variable size (ByteStrings, BigInts)
      • recursive data types
    • Anything else where the language spec says "NOTE: This feature is not supported yet"