From 0092723895da4136a68f71f34a816b33586d9ccb Mon Sep 17 00:00:00 2001 From: Mirek Kratochvil Date: Sun, 26 Feb 2023 21:43:25 +0100 Subject: microlens and an ugly parse of ,(something,something) btw we triggered a ghc bug here with iscallTok in parser. Apparently it kills `call` for whichever reason. New ghc solved it. --- app/Heap.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'app/Heap.hs') diff --git a/app/Heap.hs b/app/Heap.hs index 4108089..1daa52f 100644 --- a/app/Heap.hs +++ b/app/Heap.hs @@ -5,7 +5,7 @@ import CodeLens import Data.Foldable (traverse_) import qualified Data.Map as M import IR (Id(..)) -import Lens.Family2.State +import Lens.Micro.Mtl data Dereferenced = FreeRef Int @@ -27,7 +27,7 @@ deref' h@(Heap _ hmap) x = derefHeap = deref' --TODO remove deref :: Int -> PrlgEnv Dereferenced -deref = uses (cur . heap) . flip deref' +deref x = flip deref' x <$> use (cur . heap) writeHeap :: Int -> Datum -> PrlgEnv () writeHeap a v = cur . heap %= (\(Heap nxt m) -> Heap nxt $ M.insert a v m) -- cgit v1.2.3