summaryrefslogtreecommitdiff
blob: 95ee992e4457fae99c0c696538c58c9abb13cbdd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
---
title: Instructions
weight: 3
---
Instructions do not return values, but modify the memory in some way or
interact with the interpreter. Computations are valid instructions, and will be
automatically converted into `[TEXT]` to be displayed.

### ASSERT
{{< fatecode >}}(assert [BOOL] [TEXT]){{< /fatecode >}}

Raises the exception `[TEXT]` to the interpreter if `[BOOL]` yields
false.

### DONE
{{< fatecode >}}(done){{< /fatecode >}}

Completes the execution of the current sequence.

### END
{{< fatecode >}}(end){{< /fatecode >}}

Completes the execution of the script.

### SET VALUE
{{< fatecode >}}(set [REFERENCE] [COMPUTATION]){{< /fatecode >}}

Gives the value `[COMPUTATION]` to `[REFERENCE]`.

### VISIT SEQUENCE
{{< fatecode >}}(visit {String} [C0 = COMPUTATION] ... [CN = COMPUTATION]){{< /fatecode >}}

{{< fatecode >}}(visit [SEQUENCE] [C0 = COMPUTATION] ... [CN = COMPUTATION]){{< /fatecode >}}

Visits the sequence named `{String}` (or stored in `[SEQUENCE]`), with `C0` ...
`CN` as arguments. That sequence does not need to already have been defined.
Visiting a sequence means that the execution of the current sequence continues
once the visited sequence has completed.

### JUMP TO SEQUENCE
{{< fatecode >}}(jump_to {String} [C0 = COMPUTATION] ... [CN = COMPUTATION]){{< /fatecode >}}

{{< fatecode >}}(jump_to [SEQUENCE] [C0 = COMPUTATION] ... [CN = COMPUTATION]){{< /fatecode >}}

Jumps to the sequence named `{String}` (or stored in `[SEQUENCE]`), with `C0`
... `CN` as arguments. That sequence does not need to already have been
defined. Jumping to a sequence means that the execution of the current sequence
is replaced by that of the target sequence.

### INSTRUCTION LIST
{{< fatecode >}}([C0 = INSTRUCTION] ... [CN = INSTRUCTION]){{< /fatecode >}}

Instruction corresponding to the execution of `[C0]` ... `[CN]` in order.