Overview

Basic, fundamental types in MUFL roughly correspond to domains with some additions:

  • any - represents any value
  • nil - a single-value type to indicate a missing value, nil. The value is of domain NIL. This type is also used to specify that a function does not return a value.
  • true - value for true from domain TRUE
  • true+ - a boolean type with only the values TRUE and NIL
  • int - all values from domain INTEGER
  • str - all values from domain STRING
  • bin - all values from domain BINARY
  • hash - values from domain HASH_CODE
  • db - all values from domain PACKET
  • sr - all values from domain SAFEREF
  • time - all values from domain TIME
  • crypto - all cryptographically-relevant data from domain CRYPTO_ELEMENT

Cryptographic Data Subtypes

Additionally, the crypto type can be used to indicate any cryptographically-relevant data. MUFL presents specific kinds of cryptographic data available via these subtypes of crypto:

  • secretkey_sign - a private signing key
  • publickey_sign - a public signing key
  • secretkey_encrypt - a private encryption key
  • publickey_encrypt - a public encryption key
  • crypto_signature - a cryptographic signature
  • crypto_message - an encrypted message

For more information, refer to Cryptography in MUFL.