Skip to content
This repository has been archived by the owner on Apr 18, 2020. It is now read-only.

WIP: Very early preview of generator merging #45

Closed
wants to merge 1 commit into from

Conversation

DavidDudson
Copy link
Member

DO NOT MERGE: For #44

I messed with this before christmas.

A couple of notes:

  • Each apply method in GeneratorApplication ends up being huge, this has to happen for each Tree type that could be annotated.
  • The cache's for Transmutation etc. have to be moved here, hopefully they will be removed entirely once Experiment: Use Tagged Tree's #24 is complete.
  • It may be easier to do both at the same time

sbt.version = 1.1.0-RC4
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1.1.0 is out now! 🎉

*
* They should return the exact identical object thats inputed.
*
* Structural equality is slow, thus we want to remain as efficient as possible here.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's possible to implement much faster structural equality than what we currently have, it will still be nut slow compared to referential equality. productPrefix and productIterator and scala.runtime.Statics should do the job.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

another undocumented point is that Tree.origin (private[meta]) contains the position and is preserved during tree transforms, this can also be used to test equality.

@DavidDudson
Copy link
Member Author

Closing as the real impl will be based on #52

@DavidDudson DavidDudson mentioned this pull request Jan 29, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants