Syntax for elaboration time control flow.

The do command syntax groups multiple similarly indented commands together. The group can then be passed to another command that usually only accepts a single command (e.g., meta if).

Instances For
    Instances For

      The meta if command has two forms:

      meta if  then 
      meta if  then  else 

      It expands to the command a if the term c evaluates to true (at elaboration time). Otherwise, it expands to command b (if an else clause is provided).

      One can use this command to specify, for example, external library targets only available on specific platforms:

      meta if System.Platform.isWindows then
      extern_lib winOnlyLib := ...
      else meta if System.Platform.isOSX then
      extern_lib macOnlyLib := ...
      extern_lib linuxOnlyLib := ...
      Instances For