# ACCFun

# ACCFun: Algorithmic Calculi for Constraint Functional Programming

(A "by invitation only"-workshop in the GRACeFUL project.)

The GRACeFUL project develops connections between functional and constraint programming, requiring a unified expression of programs, constraints, traditional numerical mathematical models and qualitative models. The members of the IFIP Working Group 2.1 on Algorithmic Languages and Calculi have developed a large body of expertise in the design of notations for calculating programs from specifications, covering all programming paradigms. Such a notation could provide the glue between functional and constraint programming, required in GRACeFUL. On the other hand, the various programs developed in GRACeFUL can provide a test-bed for the notation and suggest extensions or improvements to it. The aim of this workshop is to create a close connection between GRACeFUL and IFIP2.1. The workshop is co-located with the 73rd IFIP WG 2.1 meeting organised in Göteborg.

## Main topics:

- UniFormal
- unified notation for programming languages
- independent of paradigm
- includes mathematical modelling
- relationship between UniFormal and the description language of the *Global Constraint Catalog*

- Relations
- relational algebra as a bridge between functional and constraint programming
- representing relations
- in functional programming
- in dependently-typed programming languages

- set-based representations

- Comprehensions
- calculating with comprehensions
- comprehensions to generalise qualitative models

## Agenda:

Three "keynotes" and talks by the participants

- keynote 1: A short introduction to GRACeFUL and its relation to IFIP2.1 (Cezar Ionescu)
- keynote 2: "Fixing Nondeterminism" (Tom Schrijver)
- keynote 3: A description of the main topics ("open problems")

Talks:

- Day 1:
- Cezar Ionescu, The GRACeFUL project (Monday, August 24, 2015, 10:45)
- Conor McBride, Testing to reveal the absence of bugs (Monday, August 24, 2015, 11:01)
- Florian Rabe, MMT - A Foundation-Independent Approach to Declarative Languages (Monday, August 24, 2015, 14:04)
- Bernhard Möller, Antichain algebras (Monday, August 24, 2015, 16:07)
- Walter Guttmann, Relation-algebraic verification of Prim's minimum spanning tree algorithm (Monday, August 24, 2015, 17:10)

- Day 2:
- Patrik Jansson + Cezar Ionescu, DSLM - Presenting Mathematical Analysis Using Functional Programming (Tuesday, August 25, 2015, 9:02)
- Lennart Augustsson, Haskell types for a C++ relation library (Tuesday, August 25, 2015, 11:32)
- Jeremy Gibbons, Comprehending monadic queries (Tuesday, August 25, 2015, 14:01)
- Andres Löh, Datatype-generic data migrations (Tuesday, August 25, 2015, 16:00)

- Day 3:
- Tom Schrijvers, Fixing nondeterminsm (Wednesday, August 26, 2015, 9:04)
- Jose N. Oliveira , Programming from Metaphorisms (Wednesdayday, August 26, 2015, 10:45)
- Tom Schrijvers, From monoids to semirings (Wednesday, August 26, 2015, 11:39)

- Day 4:
- Tarmo Uustalu, Semirings and weighted nondeterminism (Thursday, August 27, 2015, 9:09)
- Peter Höfner, Shapes (Thursday, August 27, 2015, 11:56)
- Florian Rabe, MMT Tutorial (Thursday, August 27, 2015, 14:00)
- Patrik Jansson, Open problems in GRACeFUL: causal loops and relational programming (Thursday, August 27, 2015, 16:00)

- Day 5:
- Cezar Ionescu, UniFormal: towards a European consortium
- Tom Schrijvers, Syntax and semantics of hyper-distributions
- Patrik Jansson, Report on GRACeFUL concept maps, causal loops and relational programming

Links: