enso-org / enso

Hybrid visual and textual functional programming.
https://enso.org
Apache License 2.0
7.31k stars 318 forks source link

Inferring types of method calls on Atoms #9812

Open radeusgd opened 2 months ago

radeusgd commented 2 months ago

This ticket is part of #9811.

We currently are able to propagate types through calls of local functions that have (checked) type signatures.

However, currently we do not have any information on calls on objects. Most of Enso code relies on such calls however.

The idea of this ticket is to:

enso-bot[bot] commented 2 weeks ago

Radosław Waśko reports a new STANDUP for the provided date (2024-06-14):

Progress: Work on resolution of method types. Created StaticModuleScope prototype. Was able to resolve types of some method calls! 😁 still TODO: module methods, fixing lots of stuff that's not working and cleaning up the PoC to be actually ready for merge. It should be finished by 2024-06-18.

Next Day: Next day I will be working on the #9486 task. Continue work on Snowflake dialect.

enso-bot[bot] commented 1 week ago

Radosław Waśko reports a new 🔴 DELAY for today (2024-06-27):

Summary: There is 40 days delay in implementation of the Inferring types of method calls on Atoms (#9812) task. It will cause 0 days delay for the delivery of this weekly plan.

Delay Cause: Hard to estimate when working just 1 day a week on this, and sometimes working even less than one day when prioritizing current tasks + past 3 Thursdays (the "Types" day) I was off (vacation, public holiday and sick day). Also working only a day a week makes me lose a bit more time in 'context switch' and remembering where I left off last time, especially if the break was longer than a week if I was off on a Thursday.

Possible solutions: Working full time on this would make estimations easier and progress much much faster. But probably not proposing that for now, since I do understand our priorities. But since the delay form asks for this, I do note that fact :)

enso-bot[bot] commented 1 week ago

Radosław Waśko reports a new STANDUP for today (2024-06-27):

Progress: Prototyping resolution of methods. Added cases to ensure that we can resolve static methods defined in a module. Some other minor improvements to testing the inference. It should be finished by 2024-07-28.

Next Day: Next day I will be working on the #9486 task. Next steps are: add tests for static methods on atom type and static syntax for member methods. Then I will need to extract needed abtstractions to ensure logic is synchronized between compiler and interpreter. Tomorrow I will continue work on Snowflake