SPLV 2019

The Scottish Programming Languages and Verification Summer School 2019 will take place in Glasgow 5–9 August 2019, hosted by the Mathematically Structured Programming Group at the University of Strathclyde.


The summer school will take place at the University of Strathclyde on the 3rd floor of the McCance Building.

Lectures, coffee breaks and lunches

All lectures will take place in room MC301, or one of the adjacent rooms MC303 and MC319. When entering the building head either straight up the stairs or take the lifts. Do not walk through the door to your right (as it leads into the wrong direction). There will be signs directing you from the entrance, which is on the north side of the building, on Richmond Street.

Registration, coffee breaks and lunches will be just outside MC301.


Labs are available on floor 11 of the Livingstone Tower.


The school will feature an invited course, two core courses taken by all participants, as well as four specialised courses from which participants choose according to their interests.

Invited course

Core courses

Specialised courses

  • Greg Michaelson and Rob Stewart (Heriot-Watt University): Domain-specific languages (Lecture 1 part 1, Lecture 1 part 2, Lecture 2, Lecture 3, Lecture 4)
    Domain Specific Languages (DSLs) are “small” programming languages that are specialised for particular problem areas. In this course, we’ll survey the ideas underpinning the design of DSLs, and the practicalities of their implementations, illustrated with both simple and real world examples.
  • Chris Brown (University of St Andrews): Parallel Programming (Lecture 1, Lecture 2 (Erlang), Lecture 2 (skel), Exercises)
  • Ornela Dardha (University of Glasgow): Session types (slides)
    In complex distributed systems, communicating participants agree on a protocol to follow, by specifying the type and direction of data exchanged. Session types are an elegant type formalism used to model structured communication-based programming. They guarantee privacy, communication safety and session fidelity. A binary session type describes communication among two participants, as opposed to multiparty session type, which describes communication among two or more participants. In these lectures we will focus mainly on binary session types and the pi-calculus, a core communication and concurrency calculus, which is the original and most successful framework for session types. We will give the statics and dynamics of the language and illustrate these with several examples and exercises. We will present some advanced topics on session types as well as their logical foundations. Finally, we will present how session types are integrated in mainstream programming languages, with main focus on Java, and a summary of session-based software tools for specifying and verifying communicating protocols in distributed scenarios.
  • Conor McBride (University of Strathclyde): Dependently Typed Programming (github repository)


The school is aimed at PhD students in programming languages, verification and related areas. Also researchers and practitioners will be very welcome, as will strong master’s students with the support of a supervisor. Participants will need to have a background in computer science, mathematics or a related discipline, and have basic familiarity with (functional) programming and logic.


Registration is now closed.

Since the school is sponsored by SICSA, attendance will be free for PhD students affiliated with Scottish universities. The registration fees in general are as follows:

SICSA student £0
Academic (non-student) £160
Industry £300

The registration fee covers coffee breaks, lunches and an excursion.

Early registration deadline: 4 July.
Final registration deadline: 22 July.


A schedule can be found here.

Lightning talks

All lightning talk slots are now full. More information, including a schedule, can be found here.


On Wednesday afternoon, we will go by bus to Loch Katrine in the Scottish Highlands. The bus leaves 12.45 from Richmond Street outside the McCance building. There there will be opportunities to go for a stroll along the lochshore, in the forest or up into the mountains, or to stay in the cafe and just enjoy the view. An Ordnance Survey map of the area can be found here. At 4pm, we will go on a steam boat tour of the loch, before returning to the coach at 5pm. Next we go down the road to the Loch Venachar Lochside restaurant, where we will have a three-course dinner before taking the coach back to Glasgow. We should be back around 10.30pm.

Here are some photos from the excursion.


Accommodation in student halls can no longer be reserved. However, there are plenty of hotels (e.g. Glasgow City Centre Premier Inn, the Z Hotel, the Brunswick Hotel, or Moxy), hostels (e.g. Eurohostel or Hostelling Scotland Glasgow Metro) and Airbnbs in central Glasgow.

Checking into student hall accommodation

Please check in at the Village Office on Weaver Street, in the middle of the Campus Village. If coming by taxi, please ask to be dropped off in Collins Street which is adjacent to the Village Office.
Check in time is from 2pm onwards on Sunday 4 August and rooms should be vacated by 10am Saturday 10 August. The Village Office is manned 24 hours a day.


The school will take place at the University of Strathclyde campus in central Glasgow.

Trains. See National Rail for trains within the UK. Note that if travelling together with someone, it might be cheaper to get a Two Together railcard (or a 16–25 railcard if you are a (PhD) student). Both Glasgow Central and Glasgow Queen Street Station are within walking distance of the University of Strathclyde.

Planes. The closest airports are Glasgow International Airport (30 minutes bus connection (bus 500) to George Square), Edinburgh Airport (1 hour bus connection (Citylink Air) to Buchanan Bus Station) and Glasgow Prestwick Airport (40-50 minutes train connection to Glasgow Central).

Getting around Glasgow. The city centre is quite compact, so walking is not a bad idea. Otherwise your options are suburban trains, the subway, bikes for hire, buses or taxis. You will need a separate ticket for each mode of transport.

  • You can buy train tickets using ticket machines at most stations (if you can’t, you can buy them on the train, or before leaving the destination station). Bafflingly, it’s sometimes cheaper to buy a return ticket, and even if not, the difference in price is going to be minimal, so you might as well always buy the return. After 9am, you can use a cheaper “off-peak” ticket.
  • The Subway is easy to use, but does not reach all parts of the city. A single ticket costs £1.70, and a return £3.20, so you might as well get two singles unless you are sure you are going to return on the subway again.
  • Nextbike operates a bike sharing scheme with stations all across the city. You sign up and then rent the bikes using an app on your phone, which will give you a code to unlock them. Without a yearly subscription, the price is £1/30 minutes; this should be enough time to get you to most places in Glasgow, and is the cheapest non-walking option.
  • Most buses in Glasgow are operated by First. You will need exact change (typically either £1.65 for a “short journey”, or £2.10; you can tell the bus driver where you are going, and they will hopefully tell you the price), or a contactless debit/credit card. It is probably easiest to use Google maps to figure out which bus to get, and when.
  • Taxis are reasonably priced in Glasgow. Decent companies include Hampden cars (phone number 0141 332 5050) and Network Private Hire (phone number 0141 557 1110). They both have apps for booking a ride, but there is also Uber in the city.


The summer school is generously sponsored by SICSA, the Scottish Informatics and Computer Science Alliance, and partially supported by ERC grant Skye (grant no 682315) and the UK Manycore Network.

We also offer a range of sponsorship opportunities for industry with attractive benefits — please get in touch if you are interested.


Bob Atkey robert.atkey@strath.ac.uk
Clemens Kupke clemens.kupke@strath.ac.uk
Fredrik Nordvall Forsberg fredrik.nordvall-forsberg@strath.ac.uk