Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

selectively bind arguments in a multi-lambda? #61

Open
ecavallo opened this issue May 8, 2020 · 2 comments
Open

selectively bind arguments in a multi-lambda? #61

ecavallo opened this issue May 8, 2020 · 2 comments
Labels
enhancement New feature or request

Comments

@ecavallo
Copy link
Collaborator

ecavallo commented May 8, 2020

Not sure if this is a good idea. Sometimes I'm defining a cube and for whatever reason it's more convenient if I flip it along some diagonal first. I could define a flip : (dim -> dim -> A) -> (dim -> dim -> A), but then when I write flip ? I won't have any boundary information in the hole. So maybe it would be useful to be able to write something like this:

def cool : {
  (A : univ)
  (p : dim -> dim -> A)
  -> sub {dim -> dim -> A} #t {\i j => p j i}
} = {
  \A p * j => p j
}

where * means "skip over binding this variable". It should be possible for a tactic like that to propagate boundary info, right?

@jonsterling
Copy link
Collaborator

I think this is a sick idea. Maybe with a different notation.

@ecavallo ecavallo added the enhancement New feature or request label May 8, 2020
@favonia
Copy link
Collaborator

favonia commented May 8, 2020

To be clear, \ * => id, \x * => x and \x * * => x are all identity functions, right?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants