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

--- Switch to new AST types --- #4995

Closed
wdanilo opened this issue Feb 5, 2023 · 1 comment
Closed

--- Switch to new AST types --- #4995

wdanilo opened this issue Feb 5, 2023 · 1 comment
Assignees
Labels
-parser p-low Low priority x-new-feature Type: new feature request
Milestone

Comments

@wdanilo
Copy link
Member

wdanilo commented Feb 5, 2023

This task is automatically imported from the old Task Issue Board and it was originally created by Keziah Wesley.
Original issue is here.


Switch to new enso-parser AST types in public APIs. Insert a call to a conversion function into all the old implementations. The conversion function will stringify the AST and reparse to old types; as we reimplement APIs based on the new types, we'll eliminate use of the conversion function.

Blockers:

#182970096 blocked
#182988419 blocked
#182973659 blocked
#182974161 blocked
#182974205 blocked

Comments:

Keziah Wesley reports a new STANDUP for yesterday (2022-11-23):

Progress: Working on "dual stack" frontend parsing. Mostly figuring out design issues today. It should be finished by 2022-11-29.

Next Day: Next day I will be working on the #182975925 task. Start implementing Rust-first parsing (with all APIs falling back to old-parser implementations initially). (Enso Bot - Nov 25, 2022)


**Keziah Wesley** reports a new **STANDUP** for yesterday (2022-11-24):

Progress: Still working on old/new tree bijection. It should be finished by 2022-11-29.

Next Day: Next day I will be working on the #182975925 task. Fix a potential performance problem, then get back to setting up the frontend transition (Enso Bot - Nov 26, 2022)


**Keziah Wesley** reports a new **STANDUP** for the last Friday (2022-11-25):

Progress: Still working on old/new tree bijection. Also implemented some fast widgets algorithms. It should be finished by 2022-11-29.

Next Day: Next day I will be working on the #182975925 task. Continue setting up incremental parser transition (Enso Bot - Nov 29, 2022)


**Keziah Wesley** reports a new **STANDUP** for yesterday (2022-11-28):

Progress: Implementing incremental parser transition support. It should be finished by 2022-11-29.

Next Day: Next day I will be working on the #182975925 task. Continue implementation. (Enso Bot - Nov 30, 2022)


**Keziah Wesley** reports a new **STANDUP** for yesterday (2022-11-29):

Progress: Implementing incremental parser transition support. Porting implementation of some APIs that would complicate the incremental-transition approach I've chosen, but that aren't used by graph editor directly. It should be finished by 2022-11-29.

Next Day: Next day I will be working on the #182975925 task. Continue implementation. (Enso Bot - Dec 1, 2022)


**Keziah Wesley** reports a new **🔴 DELAY** for yesterday (2022-11-30):

Summary: There is 3 days delay in implementation of the --- Switch to new AST types --- (#182975925) task.
It will cause 0 days delay for the delivery of this weekly plan.

Delay Cause: The scope has expanded a bit: I've found it will be simplest to port some minor APIs to the new types before dual-parser operation is introduced. (Enso Bot - Dec 2, 2022)


**Keziah Wesley** reports a new **🔴 DELAY** for yesterday (2022-11-30):

Summary: There is 6 days delay in implementation of the --- Switch to new AST types --- (#182975925) task.
It will cause 0 days delay for the delivery of this weekly plan.

Delay Cause: The scope has expanded a bit: I've found it will be simplest to port some minor APIs to the new types before dual-parser operation is introduced. [Fixing delay estimate--I didn't realize it counted weekdays] (Enso Bot - Dec 2, 2022)


**Keziah Wesley** reports a new **STANDUP** for yesterday (2022-11-30):

Progress: Implementing incremental parser transition support. (End date is monday, fighting with the bot about it) It should be finished by 2022-12-08.

Next Day: Next day I will be working on the #182975925 task. Continue implementation. (Enso Bot - Dec 2, 2022)


**Keziah Wesley** reports a new **STANDUP** for the last Friday (2022-12-02):

Progress: Implementing incremental parser transition support. It should be finished by 2022-12-08.

Next Day: Next day I will be working on the #182975925 task. Continue implementation. (Enso Bot - Dec 6, 2022)


**Keziah Wesley** reports a new **🔴 DELAY** for today (2023-01-09):

Summary: There is 36 days delay in implementation of the --- Switch to new AST types --- (#182975925) task.
It will cause 0 days delay for the delivery of this weekly plan.

Delay Cause: Scope expanded a bit to include replacing the old parser, and was interrupted by some more urgent features. (Enso Bot - Jan 10, 2023)


**Keziah Wesley** reports a new **STANDUP** for today (2023-01-09):

Progress: Worked on testing functionality for validate translation. It should be finished by 2023-01-13.

Next Day: Next day I will be working on the #182975925 task. Implementing AST translation: Work on replacing the macro-based Ast APIs with new Tree APIs. (Enso Bot - Jan 10, 2023)


**Keziah Wesley** reports a new **STANDUP** for yesterday (2023-01-11):

Progress: Implementing translation for the non-macro AST shapes first because that will make continuous testing easier. It should be finished by 2023-01-13.

Next Day: Next day I will be working on the #182975925 task. Continue implementing the core AST shapes and increasing passing equivalence-tests. (Enso Bot - Jan 13, 2023)


**Keziah Wesley** reports a new **STANDUP** for today (2023-01-12):

Progress: Non-macro AST shapes mostly implemented. It should be finished by 2023-01-13.

Next Day: Next day I will be working on the #182975925 task. Probably finish non-macro shapes, start translating the macros. (Enso Bot - Jan 13, 2023)


**Keziah Wesley** reports a new **STANDUP** for the last Friday (2023-01-13):

Progress: Translating more non-macro AST types. It should be finished by 2023-01-13.

Next Day: Next day I will be working on the #182975925 task. Implement remaining non-macro types. (Enso Bot - Jan 17, 2023)


**Keziah Wesley** reports a new **🔴 DELAY** for today (2023-01-16):

Summary: There is 7 days delay in implementation of the --- Switch to new AST types --- (#182975925) task.
It will cause 0 days delay for the delivery of this weekly plan.

Delay Cause: It's a big project. Initial estimate was optimistic. (Enso Bot - Jan 17, 2023)


**Keziah Wesley** reports a new **STANDUP** for today (2023-01-16):

Progress: Have most non-macro types implemented, and a lot of syntax is working. Ready to start porting macros. It should be finished by 2023-01-20.

Next Day: Next day I will be working on the #182975925 task. Start porting macro types. (Enso Bot - Jan 17, 2023)


**Keziah Wesley** reports a new **STANDUP** for today (2023-01-19):

Progress: Debugged a lexer problem. Working on porting the import macros. It should be finished by 2023-01-20.

Next Day: Next day I will be working on the #182975925 task. Finish import macros. (Enso Bot - Jan 20, 2023)


**Keziah Wesley** reports a new **STANDUP** for the last Friday (2023-01-20):

Progress: Working on porting macro syntaxes. Encountered some minor prerequisites necessary before macro types can be replaced. It should be finished by 2023-01-20.

Next Day: Next day I will be working on the #182975925 task. Continue working on macros. (Enso Bot - Jan 24, 2023)


**Keziah Wesley** reports a new **🔴 DELAY** for the last Friday (2023-01-20):

Summary: There is 7 days delay in implementation of the --- Switch to new AST types --- (#182975925) task.
It will cause 0 days delay for the delivery of this weekly plan.

Delay Cause: My initial factoring into tasks was for a different transition plan. This approach will allow replacing the old parser sooner than the original plan, but I haven't broken down this approach into tasks. (Enso Bot - Jan 24, 2023)


**Keziah Wesley** reports a new **STANDUP** for today (2023-01-23):

Progress: Adding abstraction layer to the parser entry points / metadata API. This will enable incremental delivery and testing of the more complex API ports. It should be finished by 2023-01-27.

Next Day: Next day I will be working on the #182975925 task. Finish abstraction layer and deliver first part of transition. (Enso Bot - Jan 24, 2023)


**Keziah Wesley** reports a new **STANDUP** for yesterday (2023-01-24):

Progress: Continued replacing the top-level API. Found that the incremental porting approach I was thinking
about yesterday would add too much work--there's just no way to test individual API ports until they're all done. It should be finished by 2023-01-27.

Next Day: Next day I will be working on the #182975925 task. Finish eliminating coupling between Scala parser and Ast, so I can freely modify the Ast type. (Enso Bot - Jan 26, 2023)


**Keziah Wesley** reports a new **STANDUP** for today (2023-01-25):

Progress: scala-parser is fully replaced (with implementations of translated variants, and stubs of variants that will be wrapped Trees). It should be finished by 2023-01-27.

Next Day: Next day I will be working on the #182975925 task. Embedding Tree types in Ast for its macro-based variants, and implementing APIs for them (mainly Crumbs and Node). (Enso Bot - Jan 26, 2023)


**Keziah Wesley** reports a new **STANDUP** for today (2023-01-26):

Progress: I've reached a point where I can test functionality in the IDE, without the old parser. The remaining work is straightforward trait implementation. It should be finished by 2023-01-27.

Next Day: Next day I will be working on the #182975925 task. Implementing Ast traits for Tree types. (Enso Bot - Jan 27, 2023)


**Keziah Wesley** reports a new **🔴 DELAY** for the last Friday (2023-01-27):

Summary: There is 5 days delay in implementation of the --- Switch to new AST types --- (#182975925) task.
It will cause 0 days delay for the delivery of this weekly plan.

Delay Cause: I have not been able to make the transition as incrementally as I hoped, so this issue has grown to include a lot of work I had planned to defer (#182988419, #182970096). (Enso Bot - Jan 31, 2023)


**Keziah Wesley** reports a new **STANDUP** for the last Friday (2023-01-27):

Progress: Implementing generation of a SpanTree intermediate representation embedded in Ast. It should be finished by 2023-02-01.

Next Day: Next day I will be working on the #182975925 task. Continue using the new representation to implement the SpanTree / Crumbs APIs. (Enso Bot - Jan 31, 2023)


**Keziah Wesley** reports a new **STANDUP** for today (2023-01-30):

Progress: Working on representation of whitespace in translation. There are a lot of cases to handle, but this is an area that's highly testable. It should be finished by 2023-02-01.

Next Day: Next day I will be working on the #182975925 task. Continue using the new representation to implement the SpanTree / Crumbs APIs. (Enso Bot - Jan 31, 2023)


**Keziah Wesley** reports a new **STANDUP** for yesterday (2023-01-31):

Progress: Implementing traits. Ran into an issue with invalid SpanTrees. It should be finished by 2023-02-01.

Next Day: Next day I will be working on the #182975925 task. Continue implementing traits. (Enso Bot - Feb 2, 2023)


**Keziah Wesley** reports a new **🔴 DELAY** for today (2023-02-01):

Summary: There is 2 days delay in implementation of the --- Switch to new AST types --- (#182975925) task.
It will cause 0 days delay for the delivery of this weekly plan.

Delay Cause: SpanTrees are taking a little longer than I hoped. Still planning to finish this week. (Enso Bot - Feb 2, 2023)


**Keziah Wesley** reports a new **STANDUP** for today (2023-02-01):

Progress: Everything implemented is working. Several features still TODO but they're all small. It should be finished by 2023-02-03.

Next Day: Next day I will be working on the #182975925 task. Support DocComments; attach IDs to nodes. (Enso Bot - Feb 2, 2023)


**Keziah Wesley** reports a new **STANDUP** for today (2023-02-02):

Progress: Several TODOs remaining before all test pass, but graph editor is usable with no obvious bugs. It should be finished by 2023-02-03.

Next Day: Next day I will be working on the #182975925 task. Get all tests passing; write some missing docs. (Enso Bot - Feb 2, 2023)


@kazcw
Copy link
Contributor

kazcw commented Feb 10, 2023

Transition completed in #4113

@kazcw kazcw closed this as completed Feb 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-parser p-low Low priority x-new-feature Type: new feature request
Projects
Archived in project
Development

No branches or pull requests

2 participants