mirror of
https://github.com/idris-lang/Idris2.git
synced 2024-12-15 22:32:19 +03:00
9865765d1d
* Move Context into its own file Just the core definition - this is so that we have access to it in Core.Core, for inclusion in error messages, to save normalisation of terms in errors until we actually show them. * Normalise errors on display, not when they arise This can save a lot of time in ambiguity resolution if the errors are complicated, because the errors might never be displayed if it's in an abandoned branch. This involves lifting 'Context' out of Core.Context, because we need to store it in Error, which is needed by Core, which in turn is needed in Core.Context. Also moved a couple of test caes from ttimp to idris2, so that the errors get rendered properly and won't need updating unnecessarily. In fact all of the ttimp tests - which were just part of the initial scaffolding - are probably now subsumed by the idris2 tests. * Add new coverage001 test files
12 lines
247 B
Idris
12 lines
247 B
Idris
|
|
%default partial
|
|
|
|
data Vect : Nat -> Type -> Type where
|
|
Nil : Vect Z a
|
|
(::) : a -> Vect k a -> Vect (S k) a
|
|
|
|
zip : Vect n a -> Vect n b -> Vect n (a, b)
|
|
zip [] Z impossible
|
|
zip [] [] = Nil
|
|
zip (x :: xs) (y :: ys) = (x, y) :: zip xs ys
|