mirror of
https://github.com/luau-lang/luau.git
synced 2025-05-04 10:33:46 +01:00
21 lines
515 B
Agda
21 lines
515 B
Agda
module Luau.Heap where
|
|
|
|
open import FFI.Data.Maybe using (Maybe; just)
|
|
open import FFI.Data.Vector using (Vector; length; snoc)
|
|
open import Luau.Addr using (Addr)
|
|
open import Luau.Value using (Value)
|
|
|
|
Heap = Vector Value
|
|
|
|
data _≡_⊕_↦_ : Heap → Heap → Addr → Value → Set where
|
|
|
|
defn : ∀ {H val} →
|
|
|
|
-----------------------------------
|
|
(snoc H val) ≡ H ⊕ (length H) ↦ val
|
|
|
|
lookup : Heap → Addr → Maybe Value
|
|
lookup = FFI.Data.Vector.lookup
|
|
|
|
emp : Heap
|
|
emp = FFI.Data.Vector.empty
|