Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- checkRecDef :: DefInfo -> QName -> UniverseCheck -> RecordDirectives -> DataDefParams -> Expr -> [Field] -> TCM ()
- addCompositionForRecord :: QName -> ConHead -> Telescope -> [Arg QName] -> Telescope -> Type -> TCM ()
- defineCompKitR :: QName -> Telescope -> Telescope -> [Arg QName] -> Type -> TCM CompKit
- defineTranspOrHCompR :: TranspOrHComp -> QName -> Telescope -> Telescope -> [Arg QName] -> Type -> TCM (Maybe QName)
- checkRecordProjections :: ModuleName -> QName -> Bool -> ConHead -> Telescope -> Telescope -> [Declaration] -> TCM ()
Records
:: DefInfo | Position and other info. |
-> QName | Record type identifier. |
-> UniverseCheck | Check universes? |
-> RecordDirectives | (Co)Inductive, (No)Eta, (Co)Pattern, Constructor? |
-> DataDefParams | Record parameters. |
-> Expr | Approximate type of constructor ( |
-> [Field] | Field signatures. |
-> TCM () |
checkRecDef i name con ps contel fields
name
- Record type identifier.
con
- Maybe constructor name and info.
ps
- Record parameters.
contel
- Approximate type of constructor (
fields
-> Set). Does not include record parameters. fields
- List of field signatures.
checkRecordProjections :: ModuleName -> QName -> Bool -> ConHead -> Telescope -> Telescope -> [Declaration] -> TCM () Source #
checkRecordProjections m r q tel ftel fs
.
m
- name of the generated module
r
- name of the record type
con
- name of the record constructor
tel
- parameters and record variable r ("self")
ftel
- telescope of fields
fs
- the fields to be checked