plutils

programming language utilities
git clone git://git.rr3.xyz/plutils
Log | Files | Refs | Submodules

commit 34739462219d755862e3e5aba8144d2260ccc114
parent 76c59d52a1a5db2e10db04071b1a35189bc35dec
Author: Robert Russell <robert@rr3.xyz>
Date:   Sat, 26 Jul 2025 19:22:30 -0700

Change Int to Nat in ShadowMap.lookup

Diffstat:
Msrc/PlUtils/ShadowMap.hs | 5+++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/PlUtils/ShadowMap.hs b/src/PlUtils/ShadowMap.hs @@ -8,6 +8,7 @@ module PlUtils.ShadowMap ( import Data.List ((!?)) import Data.Map.Strict (Map) import Data.Map.Strict qualified as Map +import Naturals.Nat import Prelude hiding (lookup) insertOrAdjust :: (Ord k) => v -> (v -> v) -> k -> Map k v -> Map k v @@ -25,5 +26,5 @@ empty = ShadowMap Map.empty assign :: (Ord k) => k -> v -> ShadowMap k v -> ShadowMap k v assign k v (ShadowMap m) = ShadowMap (insertOrAdjust [v] (v :) k m) -lookup :: (Ord k) => k -> Int -> ShadowMap k v -> Maybe v -lookup k i (ShadowMap m) = Map.lookup k m >>= (!? i) +lookup :: (Ord k) => k -> Nat -> ShadowMap k v -> Maybe v +lookup k i (ShadowMap m) = Map.lookup k m >>= (!? fromNat i)