Version 0.1.3 of the Rebar addon is now available to download and install!

Reminder that incomplete features must be enabled with feature toggles.

What’s new in this release:

  • The Option data type is now stable, so it no longer requires a feature toggle to enable.
    • Added the None constructor node, which outputs Option<T>::None values. The output type of None is determined through type inference, so it generally must be combined with some other downstream node.
    • Loop output tunnels that receive inputs of type T now output Option<T>; the output value will be Option<T>::Some(x), where x was the last value output, if the loop executes at least one iteration, and Option<T>::None otherwise.
  • Added the Modulus node for integer types.
  • Added comparison (Equal, Not Equal, Greater Than, Greater Than or Equal, Less Than, Less Than or Equal) for integer types.
  • The compiler now inserts Drop calls for types that require it: String and FileHandle (see below), Option<T> where T: Drop
  • Incomplete features:
    • The Rebar compile target now supports an LLVM-based backend; this will eventually replace the current backend, and some features below are only implemented on the LLVM backend.
    • String data type:
      • string constants (currently outputs a String; will output a static string slice later)
      • String From Slice: given a string slice reference (&str), creates a new String by copying the slice.
      • String To Slice: creates a &str that references the entirety of the input &String.
      • Append To String: appends the contents of a &str to the end of a mutable &String.
      • Concat Strings: creates a new String from the concatenation of two &strs.
    • Vectors and Slices: Insert Into Vector node
    • File Handle data type:
      • Open File Handle: Given a &str path, attempts to open a handle to the file at that path; outputs Some(FileHandle) if this was successful and None otherwise.
      • Write String To File Handle: Given a mutable &FileHandle and a &str, writes the contents of the &str to the end of the file.
    • Output node: now supports Boolean and String inputs.
    • Support for all integer types (signed/unsigned 8-, 16-, 32-, and 64-bit integers)
    • Support for visualizing variable identities as wire colors