Parsing updates for unicode

- Allow unicode characters in indents and operators
- Show lexing errors
This commit is contained in:
2024-11-02 10:22:04 -07:00
parent d41558c219
commit 6164893da5
13 changed files with 152 additions and 101 deletions

View File

@@ -15,7 +15,7 @@ head (x :: xs) = x
-- These came from a Conor McBride lecture where they use SHE
vapp : {s t: U} {k : Nat} -> Vect k (s -> t) -> Vect k s -> Vect k t
vapp : {s t : U} {k : Nat} -> Vect k (s -> t) -> Vect k s -> Vect k t
vapp (f :: fs) (t :: ts) = f t :: vapp fs ts
vapp Nil Nil = Nil
@@ -32,7 +32,7 @@ fmap f (x :: xs) = (f x :: fmap f xs)
pure : {a : U} {n : Nat} -> a -> Vect n a
pure {a} {n} = vec n
_<*>_ : {s t: U} {k : Nat} -> Vect k (s -> t) -> Vect k s -> Vect k t
_<*>_ : {s t : U} {k : Nat} -> Vect k (s -> t) -> Vect k s -> Vect k t
_<*>_ = vapp
-- and idiom brackets (maybe someday)

View File

@@ -12,7 +12,7 @@ group1 : {A B : U}(x y z : A) -> B -> B
group1 = \x y z b => b
group2 : {A B}(x y z : A) -> B -> B
group2 = \x y z b=> b
group2 = \x y z b => b
-- explicit id function used for annotation as in Idris
the : (A : _) -> A -> A