HBAL Typechecker
Examples:
test_arith.hbal
test_call.hbal
test_jumps.hbal
test_list_paper.hbal
test_move.hbal
test_move_macro.hbal
test_parser.hbal
test_trees.hbal
(* list example from the hbal paper *) sign main: { sp: [[code]+]+, r5:[<>]+, r6:[<>]+ } <> main: (* create the list 2::nil * result in r6 *) use r5 L(int+); foldnil int+, r5[0]; arithi r3 <- r0 + 2; use r6 L(int+); store r6[1] <- r3; store r6[2] <- r5; foldcons int+, r6[0]; ret main; <>