Skip to content

Instantly share code, notes, and snippets.

@edwinb
Created February 8, 2014 12:27
Show Gist options
  • Select an option

  • Save edwinb/8882942 to your computer and use it in GitHub Desktop.

Select an option

Save edwinb/8882942 to your computer and use it in GitHub Desktop.
Half baked idea: Inference command?
foo : (xs : Vect n a) -> (ys : Vect m a) -> ?noIdea
foo xs ys = xs ++ ys
Currently this gives:
Can't unify
Vect (n + m) a
with
?noIdea
Instead: how about the elaborator noting this is an incomplete type, and making the unification errors visible to the \o command, meaning that solving the metavaraiable would give:
foo : (xs : Vect n a) -> (ys : Vect m a) -> Vect (n + m) a
foo xs ys = xs ++ ys
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment