-
Notifications
You must be signed in to change notification settings - Fork 110
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
Method not found when type checking Table
stemming from incomplete set of methods in global provides
#1693
Comments
I think the issue is that table type-checking has not really been touched in general. What is the return type of some of these methods? This is in some sense the entire research problem that inspired B2T2. |
Ahh, yes. Well I have now just about gone full circle. B2T2 was my starting point.
That is a good question. I was looking at some of the type signatures for While the one hardcoded method ( My opinion is maybe 🤷 . However, we don't really get much until we make progress on the table type work. |
Yeah, there needs to be design of types for |
Really what we're looking for now is a "good first issue" for Rob to build some familiarity with the Pyret typechecker. Rounding out the boring types ( Can you suggest another issue to try? Maybe #1662 ? |
I see! That context is helpful. Certainly it's probably better for this program to succeed and have some kind of any-ish I suspect that the type used for |
On a related note, linking #1422 (linked to #1662) since it looks like it's the same issue described above. First I fixed the
which ultimately points back to the global provides. |
Consider the following code:
When I execute without type checker all is well.
With type checker,
.row
is not found.I did quite a bit of digging and printing and I noticed that the fields on the
Table
data-type obeject resulting frominstantiate-data-type(obj-type, context)
were surprisingly limited:I expect many more methods than just this on
Table
. Eventually I landed on the global provides and noticed this:I reproduced locally by modifying
tests/type-check/good/table.arr
, then added the type signature forrow
to the global provides and it passed the type checker.I noticed
String-Dict
andReactor
both "provide" their own data-types. ShouldTable
do the same?60 seconds of ctrl-f made me realize just moving the data-type from global provides to table provides isn't as simple as it might seem... it seems it will require resolving some dependency/module loading. Wanted to confirm the desired behavior before venturing further :)
The text was updated successfully, but these errors were encountered: