addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobegmailgooglegroupshelp-with-circleimageimagesinstagramlinklocation-pinm-swarmSearchmailmessagesminusmoremuplabelShape 3 + Rectangle 1ShapeoutlookpersonJoin Group on CardStartprice-ribbonShapeShapeShapeShapeImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruserwarningyahoo

Advanced API Design (Alexander Bernauer)

We use Hoopl as a show case on how to use advanced language features such as generalized algebraic data types, type families and monad transformers to design good APIs.

Hoopl is a framework for data flow analysis and transformation of control flow graphs. It is used in the code generator back-end of GHC. The API manages to hide the complexity of Lerner-Groove-Chambers' interleaved analysis and transformation while supporting used-defined AST data types.

While we focus on Haskell language features as opposed to compiler construction, we will learn how to implement a liveness analysis as a running example.

Some links:

 

Join or login to comment.

20 went

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy