-
Notifications
You must be signed in to change notification settings - Fork 246
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
Snoclists? #2684
Comments
Strong YES from me. Not only is your reasoning sound, one can also witness that Agda is used a lot by people doing PL meta-theory. We should strive to make their lives easier. |
Can this be implemented as pattern synonyms on |
Yes from me as well. To @Taneb , at least from my memory of trying this the last time I refactored the To @gallais given the intimate intertwining of the two datatypes, does it make sense to have them both defined, in And: naming... will we be able to agree on names for all the gadgets? Eg. reusing Ob: names. We have |
Pattern synonyms don't lead to cleaner goals which is the point of this. |
Sigh - another case where metaprogramming would probably be a reasonable solution. I've been having many discussions (with @TOTBWF ) about how I think we ought to be able to inform our ITPs about even more of our intentional information (yes, with a 't' here, but I'll live with being able to be more intensional if that's all I can get). |
STRONG +1 on this: we've been using https://opam.ocaml.org/packages/bwd/ in RedPRL projects for years and it makes life so much easier. |
I just had my last lecture for this (academic) year earlier today so should have a bit |
Snoclists (lists that grow on the right rather than the left) are commonly used when
representing syntaxes with binding because they grow the same way contexts grow
which allows you to transcribe everything without having to "think backwards".
They're also really useful to represent the intermediate state of a computation slowly
going through a list left-to-right with the "fish" combinator having elements in the
middle freely flow from one side of the divide to the other without the need to deploy
rewrite rules (which you would need if you were using a pair of lists instead).
Are we open to adding them to the stdlib (I'm finally open this up because I need them
for the nth time and they're not available)? They're part of Idris 2's prelude for instance.
The text was updated successfully, but these errors were encountered: