-- Agda Sample File -- https://github.com/agda/agda/blob/master/examples/syntax/highlighting/Test.agda -- This test file currently lacks module-related stuff. {- Nested {- comment. -} -} module Test where infix 12 _! infixl 7 _+_ _-_ infixr 2 -_ postulate x : Set f : (Set -> Set -> Set) -> Set f _*_ = x * x data ℕ : Set where zero : ℕ suc : ℕ -> ℕ _+_ : ℕ -> ℕ -> ℕ zero + n = n suc m + n = suc (m + n) postulate _-_ : ℕ -> ℕ -> ℕ -_ : ℕ -> ℕ - n = n _! : ℕ -> ℕ zero ! = suc zero suc n ! = n - n ! record Equiv {a : Set} (_≈_ : a -> a -> Set) : Set where field refl : forall x -> x ≈ x sym : {x y : a} -> x ≈ y -> y ≈ x _`trans`_ : forall {x y z} -> x ≈ y -> y ≈ z -> x ≈ z data _≡_ {a : Set} (x : a) : a -> Set where refl : x ≡ x subst : forall {a x y} -> (P : a -> Set) -> x ≡ y -> P x -> P y subst {x = x} .{y = x} _ refl p = p Equiv-≡ : forall {a} -> Equiv {a} _≡_ Equiv-≡ {a} = record { refl = \_ -> refl ; sym = sym ; _`trans`_ = _`trans`_ } where sym : {x y : a} -> x ≡ y -> y ≡ x sym refl = refl _`trans`_ : {x y z : a} -> x ≡ y -> y ≡ z -> x ≡ z refl `trans` refl = refl postulate String : Set Char : Set Float : Set data Int : Set where pos : ℕ → Int negsuc : ℕ → Int {-# BUILTIN STRING String #-} {-# BUILTIN CHAR Char #-} {-# BUILTIN FLOAT Float #-} {-# BUILTIN NATURAL ℕ #-} {-# BUILTIN INTEGER Int #-} {-# BUILTIN INTEGERPOS pos #-} {-# BUILTIN INTEGERNEGSUC negsuc #-} data [_] (a : Set) : Set where [] : [ a ] _∷_ : a -> [ a ] -> [ a ] {-# BUILTIN LIST [_] #-} {-# BUILTIN NIL [] #-} {-# BUILTIN CONS _∷_ #-} primitive primStringToList : String -> [ Char ] string : [ Char ] string = primStringToList "∃ apa" char : Char char = '∀' anotherString : String anotherString = "¬ be\ \pa" nat : ℕ nat = 45 float : Float float = 45.0e-37 -- Testing qualified names. open import Test Eq = Test.Equiv {Test.ℕ}