Workshop for
Commercial Users of Functional Programming 2014
Sponsored by SIGPLAN
[CUFP 2014](
Co-located with ICFP 2014
Gothenburg, Sweden
Sep 4-6
Talk Proposal Submission Deadline: 27 June 2014

CUFP 2014 Presentation Submission Form


In light of the burgeoning length of the ongoing record discussion sparked off by Simon Peyton-Jones in October, I would like to propose that we recognize an extension to Wadler's law (supplied in bold), which I'll refer to as the "Weak Record Conjecture" below.

In any language design, the total time spent discussing a feature in this list is proportional to two raised to the power of its position.

  • 0. Semantics
  • 1. Syntax
  • 2. Lexical syntax
  • 3. Lexical syntax of comments
  • 4. Semantics of records


I almost have the blog integrated with the old slipwave wiki content. I kludged something together to display it in WordPress. While I may add a flashy dynamic in-page loading feature like TiddlyWiki, for right now its functional and backwards compatible with my old content and gracefully degrades in the absence of javascript.

By way of example, you might try to view some Haskell source code.

This also might provide better context when I start to talk about things like continuations because I can link right inline to more extended static content.

This also provides me with a more convenient venue for static content than WordPress' default page management system.

Please, let me know if some bit of markup doesn't show up right.

import qualified Control.Comonad as Comonad
import qualified Edward hiding (personal_details)
import Blog.Software
-- Hello, World!
instance Blog Comonad.Reader where
    url = ""
    author = Edward.Kmett
main = forever $ post stuff

Syntax highlighting works.

 \inference{}{\Gamma, x:\tau \vdash x:\tau}[var]

 \inference{\Gamma,x:\sigma \vdash M:\tau}{\Gamma \vdash \lambda x : \sigma. M : \sigma \rightarrow \tau}[abs]

 \inference{\Gamma \vdash M : \sigma \rightarrow \tau & \Gamma \vdash N:\sigma}{\Gamma \vdash M N : \tau}[app]

Apparently, \LaTeX works.

\bfig \square/>>`>`>` >->/[A`B`C`D;e`f`g`m] \morphism(500,500)|m|/.>/< -500,-500>[B`C;h] \efig

Commutative diagrams, check.

All systems go.

World, meet blog; blog, meet world.