Allow for recursive types - #1
Conversation
|
Here is an example that fails because the join of |
|
Do you agree that writing |
Yes, those are not helpful in practice. Checking this is a bit more involved though because we have to make sure some "terminal" is reachable. This sounds possible to check. The structure reminds me a bit of a context free grammar. |
|
I also noticed that typclingo is quite lax. It accepts the following: This is currently by design as typclingo just looks for empty joins. Here we are sneaking in a zero into predicate |
|
@namcsi Maybe you can have a look and see if this is enough to type your meta encodings? |
|
@namcsi I tried to implement the traffic light examples from you metaasp-temporal paper. They are in the examples folder. |
|
Hey! Thanks for letting me know, I will play around with this branch a bit and go through the examples you mentioned @FrancoisLaferriere next week when I have a bit more time:) |
|
@FrancoisLaferriere, I went over the meet definition and trying to only put the recursion checks where actually necessary. I still don't fully thought things through. What do you think about the last commit? |
|
@rkaminsk, I believe it is correct, we only need the check when unfolding type constants. |
0fc8897 to
b81b18e
Compare
e782a4e to
51dff7b
Compare
No description provided.