Past Meetup

Implementing lazy functional languages on stock hardware (Joe Jevnik)

This Meetup is past

22 people went

Location image of event venue

Details

Join us for some programming language pragmatics! Joe Jevnik will present Simon Peyton Jone's "Implementing lazy functional languages on stock hardware: the Spineless Tagless G-machine (https://www.microsoft.com/en-us/research/wp-content/uploads/1992/04/spineless-tagless-gmachine.pdf)".

Paper abstract:

The Spineless Tagless G-machine is an abstract machine designed to support nonstrict higher-order functional languages. This presentation of the machine falls into three parts. Firstly, we give a general discussion of the design issues involved in implementing non-strict functional languages.

Next, we present the STG language, an austere but recognisably-functional language, which as well as a denotational meaning has a well-defi ned operational semantics. The STG language is the "abstract machine code" for the Spineless Tagless G-machine.

Lastly, we discuss the mapping of the STG language onto stock hardware. The success of an abstract machine model depends largely on how e cient this mapping can be made, though this topic is often relegated to a short section. Instead, we give a detailed discussion of the design issues and the choices we have made. Our principal target is the C language, treating the C compiler as a portable assembler.