9.1. The ProgBuilder Monad
Programs are built using ProgBuilder, which tracks:
-
Emitted instructions via
ProgBuilder.emit -
Label definitions via
ProgBuilder.label -
A fresh label counter
#check ProgBuilder
#check ProgBuilder.emit
#check ProgBuilder.label
Build a complete program with ProgBuilder.buildProg:
#check ProgBuilder.buildProg