Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
d6967f7
Vm initial boilerplate
ascandone Jun 26, 2026
bc5346c
impl decoder
ascandone Jun 26, 2026
d85d3ea
runtime module draft
ascandone Jun 26, 2026
259c9d9
alligned runtime with interpreter semantics
ascandone Jun 26, 2026
c68e878
update impl to bigint
ascandone Jun 26, 2026
8ef0023
handle backtracking
ascandone Jun 26, 2026
45fd5ae
impl save related code
ascandone Jun 26, 2026
fd1eceb
impl prewarm
ascandone Jun 26, 2026
4654bab
refactor: migrate impl to runtime
ascandone Jun 26, 2026
5528dc6
cleanup pull method intf
ascandone Jun 26, 2026
ce4e8bc
impl pull instructions
ascandone Jun 26, 2026
8610ec1
impl Op_SendToAccount
ascandone Jun 26, 2026
04dab55
impl Op_CheckEnoughFunds
ascandone Jun 26, 2026
f5c6e4a
impl allotment utility
ascandone Jun 26, 2026
a0c3fe8
migrate allot
ascandone Jun 26, 2026
bf8e04f
refactor allot
ascandone Jun 26, 2026
a685979
impl allotment opcode
ascandone Jun 26, 2026
a010be9
reduce allocs
ascandone Jun 26, 2026
ebd9494
refactor: edit PullUncapped api
ascandone Jun 26, 2026
acda484
fix
ascandone Jun 26, 2026
711f484
add skipped test
ascandone Jun 26, 2026
7eeb706
impl virtual instructions
ascandone Jun 26, 2026
d4b7907
compiled simple program
ascandone Jun 27, 2026
308f5e8
made fields public
ascandone Jun 27, 2026
dbc8289
fix
ascandone Jun 28, 2026
7ddce3e
impl assembler
ascandone Jun 28, 2026
17772a6
impl test and fixed errs
ascandone Jun 28, 2026
4813449
bench
ascandone Jun 28, 2026
bec4a7d
feat: assemble jmp and label
ascandone Jun 28, 2026
62fb267
compiler inorder
ascandone Jun 28, 2026
706b950
add utility
ascandone Jun 28, 2026
2cae11f
add e2e test
ascandone Jun 28, 2026
82b6c25
compiled max clause
ascandone Jun 28, 2026
5460bb1
add e2e test
ascandone Jun 28, 2026
4bdf824
more benchs
ascandone Jun 28, 2026
bd47205
feat: impl inorder dest
ascandone Jul 13, 2026
7e5b591
feat: edit formatting
ascandone Jul 13, 2026
7af4676
feat: impl kept
ascandone Jul 13, 2026
8284d29
fmt
ascandone Jul 13, 2026
a3eccd9
add new instr
ascandone Jul 13, 2026
21cf8bf
compile allot
ascandone Jul 13, 2026
5eba6af
fix destination compilation
ascandone Jul 13, 2026
d869c63
fix: allow bounded sources in bounded context
ascandone Jul 13, 2026
ca04839
feat: forbid invalid assets
ascandone Jul 13, 2026
0033f15
run previous test suite
ascandone Jul 13, 2026
9ab6f17
feat: compile save statement
ascandone Jul 13, 2026
aca2766
refactor: scriptsBlacklist map -> slice
ascandone Jul 13, 2026
d06efb4
test: track feature-flag specs in the blacklist too
ascandone Jul 13, 2026
a35f268
feat: impl internal vars
ascandone Jul 13, 2026
49db0e3
refactor: claude-generated refactor of typechecker
ascandone Jul 13, 2026
c30a51e
feat: include typechecker in compiler and compiler int +
ascandone Jul 13, 2026
3aa9ca7
feat: impl - for int
ascandone Jul 13, 2026
340b12b
feat: impl + for monetary
ascandone Jul 13, 2026
b4f61da
refactor: removed redundant opcode
ascandone Jul 13, 2026
691ca76
refactor: shared builtins
ascandone Jul 13, 2026
f08bfdf
feat: impl get_amount
ascandone Jul 13, 2026
658fefc
feat: impl get_asset fn
ascandone Jul 13, 2026
f5ae30f
feat: prefix - for int and monetary
ascandone Jul 13, 2026
c26770e
feat: balance call
ascandone Jul 13, 2026
ce4ae7a
feat: - for monetaries
ascandone Jul 13, 2026
8b45971
test: remove tests from blacklist
ascandone Jul 13, 2026
b44e35a
feat: impl add_string vinstr
ascandone Jul 13, 2026
fcde795
feat: impl account interp
ascandone Jul 13, 2026
f9398e9
feat: impl int_to_string vintrs
ascandone Jul 13, 2026
0501646
feat: allow int interp in account
ascandone Jul 13, 2026
185d89a
add TODO comment
ascandone Jul 13, 2026
3234374
feat: impl vars in vm
ascandone Jul 13, 2026
27c0957
feat: impl load_var<T> vm vistr
ascandone Jul 14, 2026
c224934
refactor: unexpose Assemble and reworked compiler intf boundary
ascandone Jul 14, 2026
fff0652
feat: vars
ascandone Jul 14, 2026
e4b6b4f
refactor: stringify tx meta, and shared execution result
ascandone Jul 14, 2026
c6f099f
refactor: return ExecutionResult from vm
ascandone Jul 14, 2026
eb1cb4d
feat: impl set_tx_meta instr in the vm
ascandone Jul 14, 2026
6ebda99
feat: compiled set_tx_meta
ascandone Jul 14, 2026
8237429
feat: set_tx_meta for portions and monetaries
ascandone Jul 14, 2026
9cb0f7f
feat: impl set_account_meta opcode for vm
ascandone Jul 14, 2026
83ed4c9
feat: compile set_account_meta
ascandone Jul 14, 2026
9506948
refactor: shared code with interpreter
ascandone Jul 14, 2026
11067d8
feat: impl vm get meta opcodes
ascandone Jul 14, 2026
b3ff15d
refactor: improve assembler
ascandone Jul 14, 2026
8e34e07
feat: impl meta() call
ascandone Jul 14, 2026
1b9b0b5
feat: clamping neg cap in runtime
ascandone Jul 14, 2026
9210f37
feat: compiled unbounded inorder
ascandone Jul 14, 2026
2c3e617
test: new test
ascandone Jul 14, 2026
ce79c4c
feat: catch invalid cast at compile time
ascandone Jul 14, 2026
eb22f90
feat: add invalid account name opcode
ascandone Jul 14, 2026
12b2950
feat: add invalid account compilation
ascandone Jul 14, 2026
c02ccc3
feat: impl overdraft function
ascandone Jul 14, 2026
d33ba4a
fix: impl non neg check for balance() call
ascandone Jul 14, 2026
8e881ac
add test
ascandone Jul 14, 2026
f8d8f9e
feat: emit divide by zero
ascandone Jul 14, 2026
08652d3
fix: prevent panic on unknown opcode
ascandone Jul 14, 2026
10cbcab
add todos
ascandone Jul 14, 2026
e4f33a0
impl regs typechecker
ascandone Jul 14, 2026
f56d9dd
feat: expose API
ascandone Jul 14, 2026
f9d5bcc
api demo
ascandone Jul 14, 2026
d043db2
Merge remote-tracking branch 'origin/main' into feat/exp/vm
ascandone Jul 15, 2026
ca1bba9
refactor: share Posting type via runtime
ascandone Jul 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added compiler.test
Binary file not shown.
11 changes: 11 additions & 0 deletions internal/builtins/builtins.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package builtins

const (
SetTxMeta = "set_tx_meta"
SetAccountMeta = "set_account_meta"
Meta = "meta"
Balance = "balance"
Overdraft = "overdraft"
GetAsset = "get_asset"
GetAmount = "get_amount"
)
Loading
Loading