Final Programme TFP12 Tue 12.6. 8:30 Registration 8:45 Welcome 9:00 Invited Talk "The History of Lazy Functional Programming Languages" David Turner 9:45 Short Break Session: Across Languages (Chair: Kevin Hammond) 9:55 "Lingua franca of Functional Programming" Petr Kourzanov and Henk Sips 10:15 "The Functional Programming Language R and the Paradigm of Dynamic Scientific Programming" Baltasar Trancon y Widemann, Carl Friedrich Bolz and Clemens Grelck 10:35 "Skew Generic Test Data Generation" Pieter Koopman and Rinus Plasmeijer 10:55 Coffee Break Session: Types (Chair: Marko van Eekelen) 11:20 "The Blame Theorem for a Linear Lambda Calculus with Type Dynamic" Luminous Fennell and Peter Thiemann 11:40 "Type Checking SQL for Secure Database Access" James Caldwell and Ryan Roan 12:00 "Higher-Order Strictness Typing" Sjaak Smetsers and Marko Van Eekelen 12:20 "Well-typed Islands Parse Faster" Erik Silkensen and Jeremy Siek 12:40 Lunch Session: Analysis (Chair: Henrik Nilsson) 14:00 "Size Calculus for a Higher-Order Functional Language" Attila Gobi, Olha Shkaravska and Marko Van Eekelen 14:20 "Functional SMT solving with Z3 and Racket" Siddharth Agarwal and Amey Karkare 14:40 "Static analysis for an extension of pattern matching" Gergely Devai 15:00 Coffee Break Session: Dynamics (Chair: Pieter Koopman) 15:30 "Automated Heap Sizing in the Poly/ML Runtime" Jeremy Singer and David Matthews 15:50 "Functional Video Games in CS1 III--Distributed Programming for First-Year Students" Marco T. Morazan 16:10 "Syntax Matters: Writing abstract computations in F#" Tomas Petricek and Don Syme 16:30 Short Break Session: Language Technology (Chair: Kostis Sagonas) 16:50 "Multi-Purpose Shared Data Sources in a Functional Language" Steffen Michels and Rinus Plasmeijer 17:10 "OCaml-Java: OCaml on the JVM" Xavier Clerc 17:30 "Combining Deep and Shallow Embedding for EDSL" Josef Svenningsson and Emil Axelsson 17:50 End 19:00 Whisky Tasting Parliament Hall, South St Finish around 20:30 Wed 13.6. 7:00 Olympic Torch in St Andrews Torch Route proceeds from the University Quad (North St) through the streets of St Andrews Session: Foundations 1 (Chair: Phil Trinder) 9:00 "Call-by-Value Semantics for Mutually Recursive First-Class Modules" Judith Rohloff and Florian Lorenzen 9:20 "A New Solution to the Expression Problem" David Christiansen and Peter Sestoft 9:40 "Matching problem for regular expressions with variables" Vladimir Komendantsky 10:00 Short Break Session: Foundations 2 (Chair: Rex Page) 10:15 "Mathematical Structures for Data Types with Restricted Parametricity" Dominic Orchard and Alan Mycroft 10:35 "A Foundation for Programmable Binders in Statically Typed Functional Languages" Florian Lorenzen 10:55 "Haskell Gets Argumentative" Bas van Gijzel and Henrik Nilsson 11:15 Coffee Break Session: Distribution (Chair: Marco T. Morazan) 11:40 "Data Change Notifications for Cooperative Web Applications" Bob van der Linden, Steffen Michels and Rinus Plasmeijer 12:00 "Client-side evaluation for iTask3 using generalized client-embedded micro applications" Laszlo Domoszlai and Rinus Plasmeijer 12:20 "RELEASE: A High-level Paradigm for Reliable Large-scale Server Software" Olivier Boudeville, Francesco Cesarini, Natalia Chechina, Kenneth Lundin, Nikolaos Papaspyrou, Konstantinos Sagonas, Simon Thompson, Phil Trinder and Ulf Wiger 12:40 Lunch Session: Parallelism 1 (Chair: Zoltan Horvath) 14:00 "On Using Erlang for Parallelization: Experience from Parallelizing Dialyzer" Stavros Aronis and Konstantinos Sagonas 14:20 "Supervised Workpools for Reliable Parallel Computing" Robert Stewart, Phil Trinder and Patrick Maier 14:40 "HdpHprof: A Profiler for Haskell Distributed Parallel Haskell" Majed Al Saeed, Patrick Maier, Phil Trinder and Lilia Georgieva 15:00 Coffee Break Session: Functional Hardware Description (Chair: Mary Sheeran) 15:20 "Implementing an Electronic Design Automation Tool for Cryptographic Hardware using Functional Languages" Davy Wolfs, Kris Aerts and Nele Mentens 15:40 "Compiling Functional Circuit Specifications into Fast Simulators" Cordelia V. Hall, Mozhgan Kabiri Chimeh and John T. O'Donnell 16:00 Social Event 19:30 Reception and Symposium Dinner Lower College Hall, University Quad, North St Finish around 22:00 Thu 14.6. Session: Verification (Chair: Peter Achten) 9:00 "The Design of a Practical Proof Checker for a Lazy Functional Language" Adam Procter, William L. Harrison and Aaron Stump 9:20 "Towards a Framework for Building Formally Verified Supercompilers in Coq" Dimitur Krustev 9:40 "Verifying the Consistency of Transactional Variables in STM Haskell" Romain Demeyer and Wim Vanhoof 10:00 Short Break Session: Parallelism 2 (Chair: Clemens Grelck) 10:15 "Automating the Parallelization of Functional Programs" Michael Dever and Geoff Hamilton 10:35 "Refactoring Multi-processor Hume Programs with the Box Calculus" Greg Michaelson and Gudmund Grov 10:55 "Generating Parallel Erlang Programs from High-Level Patterns using Refactoring" Christopher Brown, Sonia Campa, Kevin Hammond, Marco Danelutto, Peter Kilpatrick and Massimo Torquati 11:15 Coffee Break Session: Parallelism 3 (Chair: Viktoria Zsok) 11:40 "Haskell vs. C vs. OpenCL on CPUs and GPUs: Parallel High-performance Implementation of a Seismic Exploration Algorithm" Alexandros Gremm, Benjamin Schubert and George Giorgidze 12:00 "Supporting Heterogenous Computing Environments in SaC" Miguel Diogo and Clemens Grelck 12:20 "Pricing composable contracts using GPGPU" Michael Flaeno Werk, Joakim Ahnfelt-Ronne and Ken Friis Larsen 12:40 Lunch Session: Pre-Release/ParaPhrase (Chair: Hans-Wolfgang Loidl) 14:00 "Repeating History: Execution Replay for Parallel Haskell Programs" Henrique Ferreiro, Laura M. Castro, Vladimir Janjic and Kevin Hammond 14:20 "A universal VPC-Sigma Interpreter for Erlang" Hao Huang 14:40 Closing Remarks & End of TFP12 14:45 Coffee Break 15:10 ParaPhrase/Release Workshop 15:10 ParaPhrase overview Kevin Hammond 15:30 Release overview Phil Trinder 15:50 Break 16:20 Virtualisation in ParaPhrase Horacio Gonzalez-Velez 16:45 Discussion 17:15 End