diff options
Diffstat (limited to 'research/experiments/044-specs/probes-027')
9 files changed, 55 insertions, 0 deletions
diff --git a/research/experiments/044-specs/probes-027/p1-byte.aup b/research/experiments/044-specs/probes-027/p1-byte.aup new file mode 100644 index 0000000..678c51d --- /dev/null +++ b/research/experiments/044-specs/probes-027/p1-byte.aup @@ -0,0 +1,5 @@ +state first: i64 +input packet = message { data: bytes } +on packet { + first = packet.data[0] +} diff --git a/research/experiments/044-specs/probes-027/p2-bits.aup b/research/experiments/044-specs/probes-027/p2-bits.aup new file mode 100644 index 0000000..1e3fdca --- /dev/null +++ b/research/experiments/044-specs/probes-027/p2-bits.aup @@ -0,0 +1,5 @@ +state h: i64 +input word = message { w: i64 } +on word { + h = (h ^ word.w) << 3 +} diff --git a/research/experiments/044-specs/probes-027/p3-nested.aup b/research/experiments/044-specs/probes-027/p3-nested.aup new file mode 100644 index 0000000..0eb26eb --- /dev/null +++ b/research/experiments/044-specs/probes-027/p3-nested.aup @@ -0,0 +1,5 @@ +record Node { + name: text + children: list of Node +} +state root: list of Node diff --git a/research/experiments/044-specs/probes-027/p4-rec.aup b/research/experiments/044-specs/probes-027/p4-rec.aup new file mode 100644 index 0000000..a725d81 --- /dev/null +++ b/research/experiments/044-specs/probes-027/p4-rec.aup @@ -0,0 +1,6 @@ +fn depth(n) -> number = if n == 0 { 0 } else { 1 + depth(n - 1) } +state d = 0 +input go = key Space +on go.down { + d = depth(3) +} diff --git a/research/experiments/044-specs/probes-027/p4b-rec-view.aup b/research/experiments/044-specs/probes-027/p4b-rec-view.aup new file mode 100644 index 0000000..05dbca1 --- /dev/null +++ b/research/experiments/044-specs/probes-027/p4b-rec-view.aup @@ -0,0 +1,2 @@ +fn depth(n) -> number = if n == 0 { 0 } else { 1 + depth(n - 1) } +view d = depth(3) diff --git a/research/experiments/044-specs/probes-027/p5b-chars.aup b/research/experiments/044-specs/probes-027/p5b-chars.aup new file mode 100644 index 0000000..e81dafd --- /dev/null +++ b/research/experiments/044-specs/probes-027/p5b-chars.aup @@ -0,0 +1,8 @@ +state first: text +input line = message { t: text } +on line { + for c in line.t { + first = char(c) + break + } +} diff --git a/research/experiments/044-specs/probes-027/p6-variant.aup b/research/experiments/044-specs/probes-027/p6-variant.aup new file mode 100644 index 0000000..606b698 --- /dev/null +++ b/research/experiments/044-specs/probes-027/p6-variant.aup @@ -0,0 +1,8 @@ +record Leaf { + v = 0 +} +variant X { + leaf(Leaf) + word(text) +} +state x: X diff --git a/research/experiments/044-specs/probes-027/p6b-variant-field.aup b/research/experiments/044-specs/probes-027/p6b-variant-field.aup new file mode 100644 index 0000000..2b1504a --- /dev/null +++ b/research/experiments/044-specs/probes-027/p6b-variant-field.aup @@ -0,0 +1,11 @@ +record Leaf { + v = 0 +} +variant X { + leaf(Leaf) + word(text) +} +record Holder { + x: X +} +state xs: list of Holder diff --git a/research/experiments/044-specs/probes-027/p7-record-state.aup b/research/experiments/044-specs/probes-027/p7-record-state.aup new file mode 100644 index 0000000..ff339d2 --- /dev/null +++ b/research/experiments/044-specs/probes-027/p7-record-state.aup @@ -0,0 +1,5 @@ +record Point { + x = 0 + y = 0 +} +state at: Point |
