12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- \documentclass{article}
- \usepackage{agda}
- \begin{document}
- \AgdaHide{
- \begin{code}
- module LaTeX-succeed where
- \end{code}
- }
- \begin{code}
- data Bool : Set where
- true : Bool
- false : Bool
- if_then_else_ : {A : Set} → Bool → A → A → A
- if true then t else f = t
- if false then t else f = f
- data ℕ : Set where
- zero : ℕ
- suc : ℕ → ℕ
- _+_ : ℕ → ℕ → ℕ
- zero + n = n
- suc m {- ugh -} + n = suc (m + n)
- {-# BUILTIN NATURAL ℕ #-}
- alignment : (m n o p : ℕ) → ℕ
- alignment 0 1 2 3 = 4
- alignment 1 2 3 4 = 5
- alignment 2 3 4 5 = 6
- alignment _ _ _ _ = 0
- \end{code}
- \begin{code}
- data ⊥ : Set where
- record R : Set₁ where
- field
- f : Set
- g : Set
- record R′ (A B : Set) : Set₁ where
- field
- h : Set
- j : Set
- r : R
- \end{code}
- \begin{code}
- module M where
- r′ : ∀ {A B : Set} → R′ A B
- r′ = record
- { h = ⊥
- ; j = ⊥
- ; r = record
- { f = ⊥
- ; g = ⊥
- }
- }
- \end{code}
- Andreas, 2018-04-03: The following two modules test the highlighting of projection patterns.
- \begin{code}
- module QualifiedProjectionPatterns where
- r : R
- r .R.f = Bool
- r .R.g = ⊥
- r′ : R′ Bool ⊥
- R′.h r′ = ⊥
- R′.j r′ = Bool → Bool
- R′.r r′ = r
- \end{code}
- \begin{code}
- module UnqualifiedProjectionPatterns where
- open R; open R′
- r₀ : R
- r₀ .f = Bool
- r₀ .g = ⊥
- r′ : R′ Bool ⊥
- h r′ = ⊥
- j r′ = Bool → Bool
- r r′ = r₀
- \end{code}
- \end{document}
|