How much is in a square? Calculating functional programs with squares
Experience in teaching functional programming (FP) on a relational basis has led the author to focus on a graphical style of expression and reasoning in which a geometric construct shines: the (semi) commutative square. In the classroom this is termed the “magic square” (MS), since virtually everything that we do in logic, FP, database modeling, formal semantics and so on fits in some MS geometry. The sides of each magic square are binary relations and the square itself is a comparison of two paths, each involving two sides. MSs compose and have a number of useful properties. Among several examples given in the paper ranging over different application domains, free-theorem MSs are shown to be particularly elegant and productive. Helped by a little bit of Galois connections, a generic, induction-free theory for foldr and foldl is given, showing in particular that foldl s = foldr (flip_s) holds under conditions milder than usually advocated.
I am professor of Computer Science at the Informatics Department of University of Minho and researcher at HASLab/ INESC TEC. I am also a member of IFIP WG 2.1 (Algorithmic Languages and Calculi) and of the Formal Methods Europe (FME) Association. I serve on the editorial board of Springer journal Formal Aspects of Computing.
My research interests are focused on formal methods, algebra of programming (program calculation) and functional programming. I’ve published recently on relation algebra and its application to programming. Currently, I am developing a linear algebra of programming which I want to apply to the verification of complex software systems, including quantum programming.
Wed 15 OctDisplayed time zone: Perth change
10:50 - 12:05 | ParametricityICFP Papers / JFP First Papers at Orchid Plenary Ballroom Chair(s): Philip Wadler IOG; University of Edinburgh | ||
10:50 25mTalk | A Bargain for Mergesorts: How to Prove Your Mergesort Correct and Stable, Almost for Free ICFP Papers Cyril Cohen Inria - CNRS - ENS Lyon - Université Claude Bernard Lyon 1 - LIP - UMR 5668, Kazuhiko Sakaguchi CNRS - ENS Lyon - Université Claude Bernard Lyon 1 - LIP - UMR 5668 DOI Pre-print Media Attached | ||
11:15 25mTalk | CRDT Emulation, Simulation, and Representation Independence ICFP Papers Nathan Liittschwager University of California, Santa Cruz, Jonathan Castello University of California, Santa Cruz, Stelios Tsampas University of Southern Denmark, Lindsey Kuper University of California, Santa Cruz DOI Pre-print | ||
11:40 25mPaper | How much is in a square? Calculating functional programs with squares JFP First Papers Jose Nuno Oliveira University of Minho; INESC TEC DOI | ||
