aboutsummaryrefslogtreecommitdiffstats
path: root/core/module.h
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-09-28 00:21:09 +0100
committereunhhu <[email protected]>2026-09-28 00:21:09 +0100
commitc7a4178b1b2b8702cc2798aa3d31447bd02389e4 (patch)
tree2175bd395df80661397d3695e5cf396e32e53244 /core/module.h
parent44740eb93a69a052ee7b4c46f2ccac384c9d4f36 (diff)
downloadpure-c7a4178b1b2b8702cc2798aa3d31447bd02389e4.tar.gz
pure-c7a4178b1b2b8702cc2798aa3d31447bd02389e4.zip
Let a fold that runs in a column read the column's row
OUTER_ROW pushes the row of the column a fold's block runs for, as an index of the column's list; ROW inside the block stays the fold's own item. The verifier accepts it only in a fold's block inside a column, naming that column's list (a fold in a handler, a plain view or a filter has no outer row). So a column can hold a correlated fold: per branch, the sum of its accounts; per account, how many are richer. aup compiles the column's row inside a fold to it.
Diffstat (limited to 'core/module.h')
-rw-r--r--core/module.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/core/module.h b/core/module.h
index b9a3450..328c358 100644
--- a/core/module.h
+++ b/core/module.h
@@ -38,7 +38,7 @@ typedef enum {
PURE_OP_ITEM_GET, PURE_OP_ITEM_SET, PURE_OP_INDEX_LOAD, PURE_OP_INDEX_STORE,
PURE_OP_INDEX_MOVE, PURE_OP_INDEX_FIRST, PURE_OP_INDEX_LAST, PURE_OP_INDEX_NUM, PURE_OP_ROW,
PURE_OP_PICK, PURE_OP_SLIDE, PURE_OP_FOLD, PURE_OP_TEXT_COMPARE, PURE_OP_LIST_FIND, PURE_OP_LIST_HAS,
- PURE_OP_NOW, PURE_OP_FLOOR, PURE_OP_MOD, PURE_OP_SEND,
+ PURE_OP_NOW, PURE_OP_FLOOR, PURE_OP_MOD, PURE_OP_SEND, PURE_OP_OUTER_ROW,
PURE_OP_COUNT
} PureOpcode;
/* FOLD's argument: the kind (bits 0-7), the list state (8-15) and the length