F-Algebras _and_ Backpack to Work
Details
F-algebras or: How I Learned to Stop Worrying and Love the Type System
F-algebras are a concept in Category Theory that deal with data structures that can be used as functors. In essence, F-algebras allow the programmer to reduce complicated recursive evaluation schemes into simple rules where the lower-level elements can be thought of as already evaluated, so then the programmer merely needs to combine them. In addition to a basic overview, this talk will discuss how to delay evaluation of certain parts of your data structure as well as how to thread monads through the the evaluation.
Anthony Burzillo is a software engineer in Manhattan, NY. He currently works at Bloomberg LP creating applications for the Listed Derivatives market using Haskell and C++. He has previously contributed to the Yesod Project and created the Feval functional programming language (utilizing F-algebras) in Haskell.
Backpack to Work: Towards Backpack in Practice
The universal organizing principle for large software systems in
programming languages today is the package, the unit by which reusable
code may be versioned and distributed. However, most package systems
provide only a weak form of modularity, where packages depend directly
on other packages. Backpack breaks new ground by arguing mixin packages
can be a good fit for package-level modularity. Unfortunately, Backpack
as was described in POPL'14 cannot be easily implemented for most
existing languages today (including Haskell), because it tightly couples
the compiler with the package manager. In this talk, I describe an
evolution of the Backpack design which respects the division between
package manager and compiler. This is not a paper design: it is
principally motivated by our implementation of Backpack in
GHC and the Cabal package system, which will be released with GHC 8.2.
Edward Z. Yang is a 5th year PhD student at Stanford University. When
not doing useful research, he spends his time hacking on GHC and Cabal.
