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

Proposal: production ready scalamacros #30

Merged
merged 7 commits into from Sep 12, 2017

Conversation

Projects
None yet
7 participants
@andyscott
Contributor

andyscott commented Aug 21, 2017

This proposal is the collaborative effort of many, including members of 47 Degrees, SAP, and Twitter.

I am opening the proposal PR so that we can begin public discussion and make adjustments more easily. For the sake of tracking, I will address feedback with incremental commits which we can squash later, if desired.

/cc @raulraja @xeno-by @olafurpg

@fommil

This comment has been minimized.

Show comment
Hide comment
@fommil

fommil Aug 21, 2017

Contributor

getting scala.meta working in the REPL, presentation compiler (i.e. ensime and scalaide) and docs is essential. I basically can't even use the gsoc project I'm mentoring because it just crashes.

Beyond this, having a larger support for for comprehensions is essential for working with async / monadic code. I've had problems with it parsing it incorrectly.

In many ways, I wish scala.meta's parser was the parser. It feels like there is a lot of duplication going on with tree generation.

Contributor

fommil commented Aug 21, 2017

getting scala.meta working in the REPL, presentation compiler (i.e. ensime and scalaide) and docs is essential. I basically can't even use the gsoc project I'm mentoring because it just crashes.

Beyond this, having a larger support for for comprehensions is essential for working with async / monadic code. I've had problems with it parsing it incorrectly.

In many ways, I wish scala.meta's parser was the parser. It feels like there is a lot of duplication going on with tree generation.

@andyscott

This comment has been minimized.

Show comment
Hide comment
@andyscott

andyscott Aug 21, 2017

Contributor

The note about support for macros on for-comprehensions is specifically for annotation macros. As far as I know, def macros should be able to handle trees for for-comprehensions.

I'd like to qualify the bullet for materializer macros with a reasonable assessment of what can be accomplished and the expected limitations. I'm not qualified enough to make those adjustments, so feedback is certainly welcomed.

Contributor

andyscott commented Aug 21, 2017

The note about support for macros on for-comprehensions is specifically for annotation macros. As far as I know, def macros should be able to handle trees for for-comprehensions.

I'd like to qualify the bullet for materializer macros with a reasonable assessment of what can be accomplished and the expected limitations. I'm not qualified enough to make those adjustments, so feedback is certainly welcomed.

andyscott added some commits Aug 24, 2017

@andyscott

This comment has been minimized.

Show comment
Hide comment
@andyscott

andyscott Aug 25, 2017

Contributor

I believe I've addressed all the feedback. If there's anything else to add or adjust, be sure to let me know before the meeting.

Contributor

andyscott commented Aug 25, 2017

I believe I've addressed all the feedback. If there's anything else to add or adjust, be sure to let me know before the meeting.

@fommil

This comment has been minimized.

Show comment
Hide comment
@fommil

fommil Aug 25, 2017

Contributor

Except to say that I think scala.meta is perhaps the single most important future technology in IDE tooling (one ring to bind them), I have nothing more to add 😄

Contributor

fommil commented Aug 25, 2017

Except to say that I think scala.meta is perhaps the single most important future technology in IDE tooling (one ring to bind them), I have nothing more to add 😄

@adriaanm

This comment has been minimized.

Show comment
Hide comment
@adriaanm

adriaanm Sep 11, 2017

Contributor

Very happy to see this proposal. I do have my reservations about introducing this in the 2.12 series due to the implied maintenance burden.

Contributor

adriaanm commented Sep 11, 2017

Very happy to see this proposal. I do have my reservations about introducing this in the 2.12 series due to the implied maintenance burden.

@propensive propensive merged commit 296e7d6 into scalacenter:master Sep 12, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment