split check and checkType. UAny is kill

This commit is contained in:
rhiannon morris 2023-03-05 13:14:25 +01:00
parent 21da2d1d21
commit 02b94ab705
6 changed files with 142 additions and 67 deletions

View file

@ -9,22 +9,18 @@ import Derive.Prelude
%language ElabReflection
||| `UAny` doesn't show up in programs, but when checking something is
||| just some type (e.g. in a signature) it's checked against `Star UAny`
public export
data Universe = U Nat | UAny
data Universe = U Nat
%name Universe l
%runElab derive "Universe" [Eq, Ord, Show]
export
PrettyHL Universe where
prettyM UAny = pure $ hl Delim "_"
prettyM (U l) = pure $ hl Free $ pretty l
export
prettyUnivSuffix : Pretty.HasEnv m => Universe -> m (Doc HL)
prettyUnivSuffix UAny = ifUnicode "_" ""
prettyUnivSuffix (U l) =
ifUnicode (pretty $ pack $ map sub $ unpack $ show l) (pretty l)
where