Material for PHASE Tagless Final Talk
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


This is the material used for my PHASE talk on tagless final. I added a few comments to the files that I didn't present.

src/Talk.scala - File created during the first part of the talk, goes over constructing the tagless final pattern.
src/Talk2.scala - File created during the second part of the talk, applies tagless final as an alternative to the free monad.

src/Addl/Help.scala - Contains the boolean expression language from the middle of the talk.

src/done/Done.scala - First part of the talk, finished beforehand.
src/done/Done2.scala - Second part of the talk, finished beforehand.
src/done/Done3.scala - Implemented an example of using an interpreter to convert the structure of a tagless final program.
src/done/Done4.scala - A different solution for structural conversion that leaves the interpretation more flexible. (see comments)


Finally Tagless, Partially Evaluated:
Tagless Staged Interpreters for Simpler Typed Languages

Please send question, corrections, ideas, solutions, etc. to:
Me: Dan Hunt