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

🧦 Splice Linter #300

Open
TOTBWF opened this issue Jan 28, 2022 · 3 comments
Open

🧦 Splice Linter #300

TOTBWF opened this issue Jan 28, 2022 · 3 comments

Comments

@TOTBWF
Copy link
Collaborator

TOTBWF commented Jan 28, 2022

When constructing things inside of the splicer, it's easy to make mistakes and accidentally produce ill-typed terms, which can be really hard to debug. This is especially true when dealing with universes, as it's quite easy to forget an el_in/el_out somewhere and then spend a while reading bad do_el traces to figure out your mistake.

It would be nice to add some sort of optional "splice linter" that could typecheck any terms that it produces against a provided type. This could be used during development, hopefully making life a little less painful!

@TOTBWF TOTBWF changed the title Splice Linter 🧦 Splice Linter Jan 28, 2022
@favonia
Copy link
Collaborator

favonia commented Jan 28, 2022

Is the following more radical approach possible? Give different OCaml types to genuine types and codes in universes.

@favonia
Copy link
Collaborator

favonia commented Mar 25, 2022

Are you looking for a runtime checker or some magical OCaml GADT tricks?

@favonia
Copy link
Collaborator

favonia commented Mar 25, 2022

Maybe we should just worship #189 and delete all the el_in and el_out...?

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

No branches or pull requests

2 participants