meeting_050902 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. Overall structure
  2. It might be useful to distinguish between meta variables and holes.
  3. Meta variables: id _ x, only filled in internally
  4. Holes: f x = ?, used for interaction, filled in by the user
  5. scope type
  6. parser analysis checking
  7. Text -----> Concrete -------> Internal -------> Value
  8. syntax syntax
  9. Internal syntax
  10. Abstract with views, otherwise as agdaLight
  11. Values
  12. No types, split into values and types with explicit El. Types annotated
  13. with sorts. We think we can infer the different types of lam and app.
  14. app : (A : El Set)(B : El A -> El Set) : El (Fun A B) -> ((x : El A) -> El (B x))
  15. lam : (A : El Set)(B : El A -> El Set) : ((x : El A) -> El (B x)) -> El (Fun A B)
  16. Idea: change the conversion algorithm to put in the coercions:
  17. m:A ≤ m':A', meaning m of type A can be coerced to m' of type A'.
  18. Type checking rule:
  19. Γ ⊢ e => m' : A' m':A' ≤ m:A
  20. ------------------------------
  21. Γ ⊢ e : A => m
  22. vim: sts=2 sw=2 tw=75