Harvard-PRINCESS / Guppy

A very adaptable fish.
Other
1 stars 3 forks source link

Master Ticket: Understanding Filet-o-Fish #57

Open mwookawa opened 7 years ago

mwookawa commented 7 years ago

Filet-o-Fish is a meta-DSL, that is, a programming language for describing (domain-specific) programming languages, written in Haskell by Pierre-Evariste Dagand.

There are two papers that describe the implementation and functionality of Filet-o-Fish.

The most accessible document is the PLOS'09 paper: https://pages.lip6.fr/Pierre-Evariste.Dagand/papers/fof.pdf

Second, the library is written in literate Haskell and the document resulting from its compilation is here: https://github.com/Harvard-PRINCESS/Guppy/blob/dev_deliterate_fof/tools/fof/FiletOFish.pdf

If you do not have a working understanding of functors, many of the notations in the literate haskell file will be very difficult to understand.

mwookawa commented 7 years ago

as per alex, what should the output of this ticket look like?

mwookawa commented 7 years ago

one thing i'd like you both to take from this is that it is one pretty valid way of writing a metalanguage. it may hold itself to principle and at the expense of some measures of simplicity, but there is a document both based on the code and a paper on it. it's rare to find new metalanguages with this much associated documentation.

mwookawa commented 7 years ago

Steve Chong and I had an idea for how to evolve hamlet (that we call alewife, because that is the best name ever) that seems like it would be faster and easier to implement without using FoF as the backend. I am currently working on the pen and paper for this alewife language and will revisit whether we do need to understand FoF at a later date.

hence, sticking this into the backlog.

mwookawa commented 7 years ago

july release has an update to FoF and removes the literate portion of the literate haskell.