• *** BCS FACS - Annual Peter Landin Semantics Seminar: Compiling Without

    From paul.boca@googlemail.com@21:1/5 to All on Sun Sep 10 10:57:46 2017
    BCS FACS - Annual Peter Landin Semantics Seminar: Compiling Without Continuations

    Date/Time: Tuesday 12 December 2017, 6.00pm - 9.00pm

    Venue: BCS, 1st Floor, The Davidson Building, 5 Southampton Street, London, WC2E 7HA

    Speaker: Professor Simon Peyton Jones, FRS (Microsoft Research)

    Cost: Free

    Booking: https://events.bcs.org/book/2701/

    Synopsis:

    Peter Landin (1930 - 2009) was a pioneer whose ideas underpin modern computing. In the 1950s and 1960s, Landin showed that programs could be defined in terms of mathematical functions, translated into functional expressions in the lambda calculus, and
    their meaning calculated with an abstract mathematical machine. Compiler writers and designers of modern-day programming languages alike owe much to Landin's pioneering work.

    Each year, a leading figure in computer science will pay tribute to Landin's contribution to computing through a public seminar. This year's seminar is entitled “Compiling Without Continuations” and will be given by Professor Simon Peyton Jones, FRS (
    Microsoft Research).

    Programme

    5.15pm Coffee

    6.00pm Welcome & Introduction

    6.05pm Peter Landin Semantics Seminar

    Compiling Without Continuations

    Professor Simon Peyton Jones, FRS (Microsoft Research)

    7.20pm Drinks Reception


    Seminar details

    GHC compiles Haskell via Core, a tiny intermediate language based closely on the lambda calculus. Almost all GHC’s optimisations happen in Core, but until recently there was an important kind of optimisation that Core really did not handle well. In
    this talk I’ll show you what the problem was, and how Core’s new “join points” solve it simply and beautifully, by effectively allowing Core to express control flow as well as data flow; there are strong links to so-called “continuation passing
    style” (CPS) here.

    Understanding join points can help you are a programmer too, because you can write code confident that it will optimise well. I’ll show you a rather compelling example this: “skip-less streams” now fuse well, for the first time, which allows us
    to drop the previous (ingenious but awkward) workarounds.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)