Skip to content
tagless final macro
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
core/src
examples/src/main/scala/tfm/examples
project
.gitignore
LICENSE
README.md
build.sbt

README.md

tfm

tfm is "tagless final macro" - the project is intended to eliminate the boilerplate associated with setting up an EDSL encoded in the finally tagless approach, specifically the approach taken in this article.

Documentation

Currently the documentation is all in the Scaladoc. Examples can be found in the examples sub-project.

Limitations

  • For algebras with effectful parameters (e.g. have shape F[_]) the macro will replace each occurence of F with the name of the algebra. However, if the F[_] appears as part of a more complex type (e.g. A => F[B]), the macro cannot figure out how to make the appropriate interpreter call and will fail.

Reading

License

Code is provided under the MIT license available at http://opensource.org/licenses/MIT, as well as the LICENSE file.

You can’t perform that action at this time.