Refactor to hopefully avoid compiler bugs

This commit is contained in:
Aly 2021-03-09 16:01:09 -08:00
parent ffdcfd2789
commit 02f5ff2b20
10 changed files with 770 additions and 139 deletions

26
oot/save_context.ml Normal file
View file

@ -0,0 +1,26 @@
open import "prelude.ml"
open import "../pretty.ml"
open import "../mem/decode.ml"
open import "../mem/int.ml"
type save_context = SaveContext of {
rupees: s16
}
instance decode save_context begin
let decode addr = SaveContext {
rupees = decode (addr + 0x0034)
}
end
instance prettyrecord save_context begin
let name _ = "SaveContext"
let fields (SaveContext x) =
[
("rupees", S x.rupees)
]
end
instance pretty save_context begin
let pretty = pretty_from_record
end