Data structure editor


New data structure

{{ active_data_structure.name || 'Untitled' }}


Basic properties

{{ new_field_error.message }}

{{ new_operation_error.message }}

Delete data structure

Model of computation

Pointer machine

A model of computation in which nodes of fixed or bounded size are linked. The following primitive operations are supported:

  • node = make_node(data)

    Create a new node. Optionally, a data object may be provided which is used to initialize the fields of the node. At attempt to initialize fields that are not listed above is an error.

  • node.remove()

    Delete a node. An error will be raised if any other nodes (or the root) point(s) to it.

  • node.field

    Read from or write to a field of a node. At attempt to read from or write to a field not listed above is an error.

  • global.root

    The global entry point into the data structure. This pointer may be written to and read from. At attempt to assign this pointer to anything other than a node or null is an error.

Data structure explorer


Switch to the Edit view and define a data structure.

{{ active_data_structure.name || 'Untitled' }}


Basic properties

Model of computation: {{ models[active_data_structure.model].name }}

Switch to the Edit view and define some node fields.

Switch to the Edit view and define some operations.

  • {{ operation.name }}(, {{ arg }})
Visualization
Use the prompt on the right!
Command history
  • empty
  • {{ command.str }}
    • {{ step.repr }}
    • {{ makeString(command.return_value) }}

{{ new_command_error.name }}: {{ new_command_error.message }}

  • {{ line }}

Reset