[PRL] Interesting Things from ICFP 03

Mitchell Wand wand at ccs.neu.edu
Tue Sep 2 18:33:53 EDT 2003


Folks,

This is a list of papers and things that I marked down as worth
pointing out to one or more people.

1.  Heeran, Hage, and Swierstra had a paper on "Scripting the Type
    Inference Process".  They had a nifty little language for
    identifying (declaratively) the various unifications in a
    constraint-based type checker, and attaching error messages to
    them.  This was cute for at least two reasons:

    -- It solved an instance of the "error messages clutter code"
       problem, which I had proposed earlier as an interesting
       problem, and

    -- It was also a nice example of a domain-specific aspect
       language:  the unifications in the typechecker are the join
       points, there was a pcd language for specifying them (and
       passing info to the error processor), and the actions were
       printing a custom error message for each unification.

2.  LeBotlan and Remy, "ML^F:  Raising ML to the power of system F."
    They did some kind of an embedding of System F into ordinary ML.
    I didn't follow this in real time, but the folks I went to dinner
    with that night were very excited about this.

3.  Rex Page gave a paper about his finite-math course
    at Oklahoma.  He does induction and related topics, using
    programming examples (eg associativity of append...).  He
    definitely oversold it (his title was "Software is discrete
    mathematics"), but there might be some ideas and/or materials here
    that we could adapt.  He says to google Project Beseme.

4.  "Dynamic Rebinding for marshalling and update, with destruct-time
    lambda" by Biermann, Wansbrough and several others.  He proposed
    some variations on lambda-v that he claimed made things like
    marshalling and update easier/better.  I followed the talk very
    well, and marked it down as interesting, but I can't remember any
    of the details just now.

5.  "A user-centered approach to functions in Excel" by Peyton Jones,
    Blackwell, and Burnett.  Margaret Burnett gave a nice summary of
    the human-factors analysis they did in adding a user-defined
    function package to Excel.  The package is only mildly
    interesting, but her analyses may give us some tools for analyzing
    our human interfaces and new languages.

6.  "Parsing Polish, Step by Step (Functional Pearl)", by Hughes and
    Swierstra.  Modifying the parsing monad in Haskell so it works
    on-line rather than lazily.  I wrote "Dale V" next to this in my
    program, though again right now I don't remember why.

7.  "Boxes go Bananas:  Encoding Higher-order abstract syntax with
    parametric polymorphism" by Washburn and Weirich.  Neat discussion
    of higher-order bananas and why they're hard.

8.  "FreshML:  Programming with binders made simple" by Shinwell,
    Pitts, and M. Gabbay.  They've reduced Pitt's theory of bound
    names to a largely-understandable programming language.  I wonder
    if there are connections to hygiene??  Ryan should probably look
    at this.

9.  "Optimistic Evaluation:  An adaptive evaluation strategy for
    non-strict programs" by Ennals and Peyton Jones.  Nifty variations
    on speculative evaluation in a lazy system.  Apparently avoids the
    standard pitfalls of speculative evaluation and got some nice
    speedups.  I don't know if there's anything in here that we can
    use directly, but it's probably worth looking at.

--Mitch



More information about the PRL mailing list