# This document will be processed by build.mers. # Lines starting with hashtags are comments and will be ignored. # Lines starting with dollar-signs insert special text. # To escape this, put a space before the hashtag or dollar sign. Mark :: mers

Mers


$welcome_script
      
some picture related to mers (todo)

Mers types

Mers uses a multiple-types system. It keeps track of which types a variable could have and constructs a type with that information.
For example, int/float can represent a number - int or float. Optional types can be []/[t] - either nothing or one value (tuple with length 0 or 1). Mers doesn't have null, it just has the empty tuple [].

No exceptions, no crashes

Errors in mers are passed as values. Because of the type system, you are forced to handle them explicitly. Mers will not crash in unexpected places, because the only way to crash it is by using one of the assume*() functions (similar to unwrap()s).

HTML preprocessor to help build this document written in mers:


$index.html
    

$build_script