diff options
| author | Mirek Kratochvil <exa.exa@gmail.com> | 2023-02-26 21:43:25 +0100 |
|---|---|---|
| committer | Mirek Kratochvil <exa.exa@gmail.com> | 2023-02-26 21:43:25 +0100 |
| commit | 0092723895da4136a68f71f34a816b33586d9ccb (patch) | |
| tree | f2ddf1c40dda994ac645ce848f32ae3e02529445 /app/Heap.hs | |
| parent | 0d52bcf663ead766ae83c8f30f90beaea5790789 (diff) | |
| download | prlg-0092723895da4136a68f71f34a816b33586d9ccb.tar.gz prlg-0092723895da4136a68f71f34a816b33586d9ccb.tar.bz2 | |
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.
Diffstat (limited to 'app/Heap.hs')
| -rw-r--r-- | app/Heap.hs | 4 |
1 files changed, 2 insertions, 2 deletions
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) |
