less prototype, less bad code implementation of CCHM type theory
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
1.0 KiB

  1. module Elab.WiredIn where
  2. import GHC.Stack.Types
  3. import Syntax
  4. wiType :: WiredIn -> NFType
  5. wiValue :: WiredIn -> NFType
  6. iand, ior :: NFEndp -> NFEndp -> NFEndp
  7. inot :: NFEndp -> NFEndp
  8. ielim :: NFSort -> Value -> Value -> Value -> NFEndp -> Value
  9. outS :: HasCallStack => NFSort -> NFEndp -> Value -> Value -> Value
  10. comp :: HasCallStack => NFLine -> NFEndp -> Value -> Value -> Value
  11. fill :: HasCallStack => NFLine -> NFEndp -> Value -> Value -> Value -> Value
  12. hComp :: NFSort -> NFEndp -> Value -> Value -> Value
  13. glueType :: NFSort -> NFEndp -> NFPartial -> NFPartial -> Value
  14. glueElem :: NFSort -> NFEndp -> NFPartial -> NFPartial -> NFPartial -> Value -> Value
  15. unglue :: HasCallStack => NFSort -> NFEndp -> NFPartial -> NFPartial -> Value -> Value
  16. fun :: (Value -> Value) -> Value
  17. system :: (Value -> Value -> Value) -> Value
  18. strictK :: NFSort -> Value -> NFSort -> Value -> Value -> Value
  19. strictJ :: NFSort -> Value -> NFSort -> Value -> Value -> Value -> Value
  20. projIntoCase :: (Term -> Term) -> (Term, Int, Term) -> (Term, Int, Term)