Skip to content

dfjhunt/tagless-talk

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 

tagless-talk

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)

References

Finally Tagless, Partially Evaluated:
Tagless Staged Interpreters for Simpler Typed Languages
http://okmij.org/ftp/tagless-final/

Please send question, corrections, ideas, solutions, etc. to:
Me: Dan Hunt
Email: dfjhunt@gmail.com
LinkedIn: linkedin.com/in/daniel-hunt-4825395a

About

Material for PHASE Tagless Final Talk

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages