Safe Haskell | None |
---|---|
Language | Haskell2010 |
Agda.Utils.FileId
Description
Translating between file paths and ids.
This module allows you to build a dictionary from file paths to some unique identifier and to look up both file paths and identifiers in that dictionary.
Synopsis
- type File = AbsolutePath
- newtype FileId = FileId {}
- type FileToId = Map File FileId
- type IdToFile = EnumMap FileId File
- data FileDict = FileDict {}
- class GetFileId a where
- class GetIdFile a where
- data FileDictBuilder = FileDictBuilder {
- nextFileId :: FileId
- fileDict :: FileDict
- registerFileId :: File -> FileDictBuilder -> (FileId, FileDictBuilder)
- registerFileId' :: File -> FileDictBuilder -> ((FileId, Bool), FileDictBuilder)
- registerFileId'' :: File -> FileDictBuilder -> (FileId, Maybe FileDictBuilder)
- class Monad m => MonadFileId (m :: Type -> Type) where
- fileFromId :: FileId -> m File
- idFromFile :: File -> m FileId
Documentation
type File = AbsolutePath Source #
Unique identifier of a file.
Instances
GetFileId FileToId Source # | |||||
GetIdFile IdToFile Source # | |||||
NFData FileId Source # | |||||
Defined in Agda.Utils.FileId | |||||
Enum FileId Source # | |||||
Defined in Agda.Utils.FileId | |||||
Generic FileId Source # | |||||
Defined in Agda.Utils.FileId Associated Types
| |||||
Num FileId Source # | |||||
Show FileId Source # | |||||
Eq FileId Source # | |||||
Ord FileId Source # | |||||
type Rep FileId Source # | |||||
Defined in Agda.Utils.FileId |
Mapping between files and their unique identifiers.
Instances
class GetFileId a where Source #
Translate a file to an ID; mapping must exist.
Instances
class GetIdFile a where Source #
Translate a ID to a file; mapping must exist.
Instances
Constructing a mapping between files and their unique identifiers.
data FileDictBuilder Source #
Constructors
FileDictBuilder | |
Fields
|
Instances
GetFileId FileDictBuilder Source # | |||||
Defined in Agda.Utils.FileId | |||||
GetIdFile FileDictBuilder Source # | |||||
Defined in Agda.Utils.FileId | |||||
Null FileDictBuilder Source # | |||||
Defined in Agda.Utils.FileId | |||||
NFData FileDictBuilder Source # | |||||
Defined in Agda.Utils.FileId Methods rnf :: FileDictBuilder -> () # | |||||
Generic FileDictBuilder Source # | |||||
Defined in Agda.Utils.FileId Associated Types
Methods from :: FileDictBuilder -> Rep FileDictBuilder x # to :: Rep FileDictBuilder x -> FileDictBuilder # | |||||
type Rep FileDictBuilder Source # | |||||
Defined in Agda.Utils.FileId type Rep FileDictBuilder = D1 ('MetaData "FileDictBuilder" "Agda.Utils.FileId" "Agda-2.8.0-inplace" 'False) (C1 ('MetaCons "FileDictBuilder" 'PrefixI 'True) (S1 ('MetaSel ('Just "nextFileId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FileId) :*: S1 ('MetaSel ('Just "fileDict") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FileDict))) |
registerFileId :: File -> FileDictBuilder -> (FileId, FileDictBuilder) Source #
Register a new file identifier or retrieve an existing one.
registerFileId' :: File -> FileDictBuilder -> ((FileId, Bool), FileDictBuilder) Source #
registerFileId'' :: File -> FileDictBuilder -> (FileId, Maybe FileDictBuilder) Source #
Register a new file identifier or retrieve an existing one.
If Nothing
is returned, the file was already registered.
Monadic interface
class Monad m => MonadFileId (m :: Type -> Type) where Source #
Minimal complete definition
Nothing
Methods
fileFromId :: FileId -> m File Source #
default fileFromId :: forall (t :: (Type -> Type) -> Type -> Type) (n :: Type -> Type). (MonadTrans t, MonadFileId n, m ~ t n) => FileId -> m File Source #
idFromFile :: File -> m FileId Source #
default idFromFile :: forall (t :: (Type -> Type) -> Type -> Type) (n :: Type -> Type). (MonadTrans t, MonadFileId n, m ~ t n) => File -> m FileId Source #
Instances
MonadFileId IM Source # | |
Defined in Agda.Interaction.Monad | |
MonadIO m => MonadFileId (TCMT m) Source # | |
Defined in Agda.TypeChecking.Monad.State | |
MonadFileId m => MonadFileId (ExceptT e m) Source # | |
Defined in Agda.Utils.FileId | |
MonadFileId m => MonadFileId (ReaderT r m) Source # | |
Defined in Agda.Utils.FileId | |
MonadFileId m => MonadFileId (StateT s m) Source # | |
Defined in Agda.Utils.FileId |