Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/retronym/scalac-survival-guide
https://github.com/retronym/scalac-survival-guide
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/retronym/scalac-survival-guide
- Owner: retronym
- License: bsd-3-clause
- Created: 2015-08-10T12:37:25.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2020-03-22T23:21:59.000Z (almost 5 years ago)
- Last Synced: 2024-10-14T15:35:24.933Z (2 months ago)
- Language: Scala
- Size: 50.8 KB
- Stars: 84
- Watchers: 12
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Scalac Survival Guide
Tips and Tricks for working with Scala reflection, macros, and compiler internals.
## Info
As a programmer, tinkering with the implementation of the very language
you work with (and think in) is a uniquely satisfying endeavour. Scala
offers lots of avenues to try this: you can author compiler plugins to
perform static analysis, use macros to generate boilerplate, or modify
the compiler to fix bugs or implement your own pet feature. More
generally, thinking about the meta-aspects of the language invariably
lead to a fresh perspective and deeper understanding that benefit your
regular coding, too.But all of these tasks can at times seem daunting, infuriating, or out
of reach. This guide will issue you with the map, compass, flashlight,
and roll of duct tape that you need to embark on this journey. It is
drawn from the tools and techniques that I use on a daily basis when
I'm working on the compiler.## Further Learning
The [Reflection](http://docs.scala-lang.org/overviews/reflection/overview.html)
and [Macro](http://docs.scala-lang.org/overviews/macros/usecases.html)
guides include a handy overview of the Trees / Symbols / Types.