mirror of
https://github.com/github/semantic.git
synced 2024-12-22 22:31:36 +03:00
Cell types uniquely determine location types.
This commit is contained in:
parent
3b4e4bcff1
commit
3e71e57358
@ -1,4 +1,4 @@
|
||||
{-# LANGUAGE AllowAmbiguousTypes, DataKinds, FlexibleContexts, FlexibleInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies, TypeOperators, UndecidableInstances #-}
|
||||
{-# LANGUAGE AllowAmbiguousTypes, DataKinds, FlexibleContexts, FlexibleInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, ScopedTypeVariables, TypeFamilyDependencies, TypeFamilies, TypeOperators, UndecidableInstances #-}
|
||||
module Abstract.Store
|
||||
( Precise(..)
|
||||
, Monovariant(..)
|
||||
@ -67,7 +67,7 @@ modifyStore f = getStore >>= putStore . f
|
||||
|
||||
|
||||
class (Ord l, Pointed (Cell l), Monad m) => MonadAddress l m where
|
||||
type Cell l :: * -> *
|
||||
type Cell (l :: *) = (res :: * -> *) | res -> l
|
||||
|
||||
deref :: (MonadStore l a m, MonadFail m) => Address l a -> m a
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user