1
1
mirror of https://github.com/github/semantic.git synced 2024-12-02 02:08:48 +03:00

fix hash carrier instance for concrete domain

This commit is contained in:
Ayman Nadeem 2019-01-14 15:29:15 -05:00
parent 7e9b5aee94
commit dbf197d366

View File

@ -274,17 +274,11 @@ instance ( Member (Reader ModuleInfo) sig
Abstract.AsArray (Array addresses) k -> runArrayC (k addresses) Abstract.AsArray (Array addresses) k -> runArrayC (k addresses)
Abstract.AsArray val k -> (throwBaseError $ ArrayError val) >>= runArrayC . k) Abstract.AsArray val k -> (throwBaseError $ ArrayError val) >>= runArrayC . k)
instance ( Member (Reader ModuleInfo) sig instance ( Carrier sig m ) => Carrier (Abstract.Hash (Value term address) :+: sig) (HashC (Value term address) m) where
, Member (Reader Span) sig
, Member (Resumable (BaseError (ValueError term address))) sig
, Carrier sig m
, Monad m
)
=> Carrier (Abstract.Hash (Value term address) :+: sig) (HashC (Value term address) m) where
ret = HashC . ret ret = HashC . ret
eff = HashC . handleSum (eff . handleCoercible) (\case eff = HashC . handleSum (eff . handleCoercible) (\case
Abstract.Hash t k -> runHashC (k ((Hash . map (uncurry KVPair)) t)) Abstract.Hash t k -> runHashC (k ((Hash . map (uncurry KVPair)) t))
Abstract.KVPair t v k -> runHashC (k KVPair)) Abstract.KvPair t v k -> runHashC (k (KVPair t v)))
instance AbstractHole (Value term address) where instance AbstractHole (Value term address) where