Skip to content

Instantly share code, notes, and snippets.

@xeno-by
Last active September 9, 2016 09:15
Show Gist options
  • Star 7 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save xeno-by/9d7a709b1ba7c2ee64cfedcc5d264bd5 to your computer and use it in GitHub Desktop.
Save xeno-by/9d7a709b1ba7c2ee64cfedcc5d264bd5 to your computer and use it in GitHub Desktop.
SIP-NN: Inline/meta
@xeno-by
Copy link
Author

xeno-by commented Sep 8, 2016

@axel22 Really sorry for not noticing your message before. It looks like gists don't notify authors about comments. I will answer to your comments tomorrow.

@xeno-by
Copy link
Author

xeno-by commented Sep 9, 2016

  1. That's a typo.

  2. We plan to handle this via facilities for interactive macro expansion in IDEs. With these facilities, it should become possible to expand macros on case-by-case basis, seeing exactly what's wrong with macro expansions using the standard "red squiggles" idiom of the IDE workflow.

  3. We plan to address this with scala.meta, because its language model doesn't have the problems of owner chain corruption. Additional experimentation is required to see how far we can get. I'm fairly optimistic.

  4. Yes, the import could be moved to the top level without any change to the semantics of the code.

  5. Yes, it will.

  6. Yes, you're right. I will provide more examples here.

  7. It is possible to call inline methods inside the bodies of inline methods.

  8. Could you provide an example of what you'd like to achieve?

  9. This handles applications 1, 3 and 4 of whiteboxity, which are the most important ones anyway. Dynamic manipulation of availability of implicits wouldn't be covered, but maybe that's not something that we want to support in the future.

@xeno-by
Copy link
Author

xeno-by commented Sep 9, 2016

I'd like to ask everyone to use the gitter link above for discussion. I don't get notifications about comments, so it is possible that I won't notice your feedback in a timely manner.

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