Opcode: null

Parameters

``

Description

Evaluates to the immediate null value, regardless of any parameters.

Details

  • Permissions required: none
  • Allows concurrency: false
  • Requires entity: false
  • Creates new scope: false
  • Creates new target scope: false
  • Value newness (whether references existing node): null

    Examples

    Example:

    .null
    

    Output:

    .null
    

    Example:

    (lambda .null )
    

    Output:

    .null
    

    Example:

    (lambda
    	
     #annotation
     .null
    )
    

    Output:

    #annotation
    .null
    

Amalgam Opcodes

Opcode: bool

Parameters

``

Description

A boolean value that may hold true and false as .true and .false respectively.

Details

  • Permissions required: none
  • Allows concurrency: false
  • Requires entity: false
  • Creates new scope: false
  • Creates new target scope: false
  • Value newness (whether references existing node): new

    Examples

    Example:

    .true
    

    Output:

    .true
    

    Example:

    .false
    

    Output:

    .false
    

Amalgam Opcodes

Opcode: number

Parameters

``

Description

A 64-bit floating point value. Note that .infinity and -.infinity are used to denote infinite values and not-a-number is transformed into a null value.

Details

  • Permissions required: none
  • Allows concurrency: false
  • Requires entity: false
  • Creates new scope: false
  • Creates new target scope: false
  • Value newness (whether references existing node): new

    Examples

    Example:

    1
    

    Output:

    1
    

    Example:

    1.5
    

    Output:

    1.5
    

    Example:

    6.02214076e+23
    

    Output:

    6.02214076e+23
    

    Example:

    .infinity
    

    Output:

    .infinity
    

    Example:

    (-
     (* 3 .infinity)
    )
    

    Output:

    -.infinity
    

Amalgam Opcodes

Opcode: string

Parameters

``

Description

A string. Many opcodes assume UTF-8 formatted strings, but many, such as format, can work with any bytes. Any non double-quote character is considered valid.

Details

  • Permissions required: none
  • Allows concurrency: false
  • Requires entity: false
  • Creates new scope: false
  • Creates new target scope: false
  • Value newness (whether references existing node): new

    Examples

    Example:

    "hello"
    

    Output:

    "hello"
    

    Example:

    "	Hello
    \"Hello\""
    

    Output:

    "	Hello
    \"Hello\""
    

Amalgam Opcodes

Opcode: list

Parameters

[* node1] [* node2] ... [* nodeN]

Description

Evaluates to a list with the parameters as elements. Pushes a new target scope such that (target), (current_index), and (current_value) access the list itself, the current index, and the current value. If []’s are used instead of parenthesis, the keyword list may be omitted. [] are considered identical to (list).

Details

  • Permissions required: none
  • Allows concurrency: true
  • Requires entity: false
  • Creates new scope: false
  • Creates new target scope: true
  • Value newness (whether references existing node): conditional

    Examples

    Example:

    ["a" 1 "b"]
    

    Output:

    ["a" 1 "b"]
    

Amalgam Opcodes

Opcode: unordered_list

Parameters

[* node1] [* node2] ... [* nodeN]

Description

Evaluates to the list specified by parameters as elements. Pushes a new target scope such that (target), (current_index), and (current_value) access the unordered list itself, the current index, and the current value. It operates like a list, except any operations that would normally consider a list’s order. For example, union, intersect, and mix, will consider the values unordered.

Details

  • Permissions required: none
  • Allows concurrency: true
  • Requires entity: false
  • Creates new scope: false
  • Creates new target scope: true
  • Value newness (whether references existing node): conditional

    Examples

    Example:

    (unordered_list 4 4 5)
    

    Output:

    (unordered_list 4 4 5)
    

    Example:

    (unordered_list
     (unordered_list 4 4 5)
     (unordered_list 4 5 6)
    )
    

    Output:

    (unordered_list
     (unordered_list 4 4 5)
     (unordered_list 4 5 6)
    )
    

    Example:

    (=
     (unordered_list 4 4 5)
     (unordered_list 4 4 5)
    )
    

    Output:

    .true
    

    Example:

    (=
     (unordered_list 4 4 5)
     (unordered_list 4 4 6)
    )
    

    Output:

    .false
    

    Example:

    (=
     (unordered_list 4 4 5)
     (unordered_list 4 4 5)
    )
    

    Output:

    .true
    

    Example:

    (=
     (set_type
         (range 0 100)
         "unordered_list"
     )
     (set_type
         (reverse
             (range 0 100)
         )
         "unordered_list"
     )
    )
    

    Output:

    .true
    

Amalgam Opcodes

Opcode: assoc

Parameters

[bstring index1] [* value1] [bstring index1] [* value2] ...

Description

Evaluates to an associative list, where each pair of parameters (e.g., index1 and value1) comprises a index-value pair. Pushes a new target scope such that (target), (current_index), and (current_value) access the assoc, the current index, and the current value. If any of the bareword strings (bstrings) do not have reserved characters or whitespace, then quotes are optional; if whitespace or reserved characters are present, then quotes are required. If {}’s are used instead of parenthesis, the keyword assoc may be omitted. {} are considered identical to (assoc)

Details

  • Permissions required: none
  • Allows concurrency: true
  • Requires entity: false
  • Creates new scope: false
  • Creates new target scope: true
  • Value newness (whether references existing node): conditional

    Examples

    Example:

    (unparse
     {b 2 c 3}
    )
    

    Output:

    "{b 2 c 3}"
    

    Example:

    (unparse
     {.null 0 (+ 1 2) 3}
    )
    

    Output:

    "{.null 0 (+ 1 2) 3}"
    

Amalgam Opcodes


This site uses Just the Docs, a documentation theme for Jekyll.