Blogs (28) >>
ICFP 2017
Sun 3 - Sat 9 September 2017 Oxford, United Kingdom

Functional Programming has been at the forefront of a new generation of programming technologies, and companies have been successfully utilizing functional programming to enable more flexible, robust, and effective software development.

The annual CUFP workshop is designed to serve the growing community of commercial users of functional programming. Practitioners meet and collaborate, language designers and users share ideas about the future of their languages, and experts share their expertise on practical functional programming.

The external web site is here: CUFP 2017.

Dates
You're viewing the program in a time zone which is different from your device's time zone change time zone

Thu 7 Sep

Displayed time zone: Belfast change

09:00 - 10:00
CUFP Tutorials C2CUFP at L5
Chair(s): Runhang Li Twitter, Inc
09:00
60m
Other
Tutorial C2: Extensible Effects: understanding them, implementing them, using them
CUFP
09:00 - 10:00
CUFP Tutorials C1CUFP at L6
Chair(s): Runhang Li Twitter, Inc
09:00
60m
Other
Tutorial C1: Online Applications with Incremental
CUFP
T: Yaron Minsky , T: Sebastian Funk Jane Street
10:30 - 11:30
CUFP Tutorials C1CUFP at L6
10:30
60m
Talk
Tutorial C1: Online Applications with Incremental (part 2)
CUFP
T: Yaron Minsky , T: Sebastian Funk Jane Street
12:00 - 12:30
CUFP Tutorials C1CUFP at L6
12:00
30m
Talk
Tutorial C1: Online Applications with Incremental (part 3)
CUFP
T: Yaron Minsky , T: Sebastian Funk Jane Street
14:00 - 15:00
CUFP Tutorials C3CUFP at L5
Chair(s): Runhang Li Twitter, Inc
14:00
60m
Other
Tutorial C3: Concurrent Programming with Effect Handlers
CUFP
T: Daniel Hillerström The University of Edinburgh, T: KC Sivaramakrishnan University of Cambridge
14:00 - 15:00
CUFP Tutorials C4CUFP at L6
Chair(s): Runhang Li Twitter, Inc
14:00
60m
Talk
Tutorial C4: Git under the hood with OCaml
CUFP
15:30 - 16:20
CUFP Tutorials C3CUFP at L5
15:30
50m
Talk
Tutorial C3: Concurrent Programming with Effect Handlers (part 2)
CUFP
T: Daniel Hillerström , T: KC Sivaramakrishnan University of Cambridge
15:30 - 16:20
CUFP Tutorials C4CUFP at L6
15:30
50m
Talk
Tutorial C4: Git under the hood with OCaml (part 2)
CUFP
16:50 - 17:30
CUFP Tutorials C3CUFP at L5
16:50
40m
Talk
Tutorial C3: Concurrent Programming with Effect Handlers (part 3)
CUFP
T: Daniel Hillerström The University of Edinburgh, T: KC Sivaramakrishnan University of Cambridge
16:50 - 17:30
CUFP Tutorials C4CUFP at L6
16:50
40m
Talk
Tutorial C4: Git under the hood with OCaml (part 3)
CUFP

Fri 8 Sep

Displayed time zone: Belfast change

09:00 - 10:00
CUFP Tutorials C6CUFP at L5
Chair(s): Runhang Li Twitter, Inc
09:00
60m
Talk
Tutorial C6: Transducers in Practice
CUFP
09:00 - 10:00
CUFP Tutorials C5CUFP at L6
Chair(s): Runhang Li Twitter, Inc
09:00
60m
Talk
Tutorial C5: Teaching Functional Programming
CUFP
Michael Sperber Active Group GmbH
10:30 - 11:30
CUFP Tutorials C6CUFP at L5
10:30
60m
Talk
Tutorial C6: Transducers in Practice (part 2)
CUFP
T: Renzo Borgatti uSwitch
10:30 - 11:30
CUFP Tutorials C5CUFP at L6
10:30
60m
Talk
Tutorial C5: Teaching Functional Programming (part 2)
CUFP
T: Michael Sperber Active Group GmbH
12:00 - 12:30
CUFP Tutorials C6CUFP at L5
12:00
30m
Talk
Tutorial C6: Transducers in Practice (part 3)
CUFP
T: Renzo Borgatti uSwitch
12:00 - 12:30
CUFP Tutorials C5CUFP at L6
12:00
30m
Talk
Tutorial C5: Teaching Functional Programming (part 3)
CUFP
T: Michael Sperber Active Group GmbH
14:00 - 15:00
CUFP Tutorials C8CUFP at L5
Chair(s): Runhang Li Twitter, Inc
14:00
60m
Talk
Tutorial C8: GraphQL Servers in OCaml
CUFP
T: Andreas Garnæs Zendesk
14:00 - 15:00
CUFP Tutorials C7CUFP at L6
Chair(s): Runhang Li Twitter, Inc
14:00
60m
Talk
Tutorial C7: Owl - Data Science in OCaml
CUFP
T: Liang Wang University of Cambridge
15:30 - 16:20
CUFP Tutorials C8CUFP at L5
15:30
50m
Talk
Tutorial C8: GraphQL Servers in OCaml (part 2)
CUFP
T: Andreas Garnæs Zendesk
15:30 - 16:20
CUFP Tutorials C7CUFP at L6
15:30
50m
Talk
Tutorial C7: Owl - Data Science in OCaml (part 2)
CUFP
T: Liang Wang University of Cambridge
16:50 - 17:30
CUFP Tutorials C8CUFP at L5
16:50
40m
Talk
Tutorial C8: GraphQL Servers in OCaml (part 3)
CUFP
T: Andreas Garnæs Zendesk
16:50 - 17:30
CUFP Tutorials C7CUFP at L6
16:50
40m
Talk
Tutorial C7: Owl - Data Science in OCaml (part 3)
CUFP
T: Liang Wang University of Cambridge

Sat 9 Sep

Displayed time zone: Belfast change

09:10 - 10:00
CUFP Talks 1CUFP at L2
09:10
25m
Talk
Keynote: Are We There Yet?
CUFP
Bodil Stokke Church of Emacs
09:35
25m
Talk
Bonsai: a DSL for serverless firm real-time decisioning
CUFP
12:00 - 12:25
CUFP Talks 3CUFP at L2
12:00
25m
Talk
Gens N' Roses: Appetite for Reduction
CUFP
14:00 - 14:50
CUFP Talks 4CUFP at L2
14:00
25m
Talk
Formally Verifying a Smart-Contract Language Implementation with Isabelle
CUFP
Simon Meier Digital Asset
14:25
25m
Talk
Haskell games and apps for iOS and Android
CUFP
Ivan Perez University of Nottingham, UK
15:30 - 16:20
CUFP Talks 5CUFP at L2
15:30
25m
Talk
Using Haskell to run a datacenter
CUFP
15:55
25m
Talk
Functional Facades over Legacy Code
CUFP
Nicholas Cowle G-Research, Robin Kay G-Research

2017 Call for Presentations

Workshop for
Commercial Users of Functional Programming 2017
Sponsored by SIGPLAN
CUFP 2017
Co-located with ICFP 2017
Oxford, UK
September 7-9
Talk Proposal Submission Deadline: 9 June 2017
CUFP 2017 Presentation Submission Form

The annual CUFP event is a place where people can see how others are using functional programming to solve real world problems; where practitioners meet and collaborate; where language designers and users can share ideas about the future of their favorite language; and where one can learn practical techniques and approaches for putting functional programming to work.

Giving a CUFP Talk

If you have experience using functional languages in a practical setting, we invite you to submit a proposal to give a talk at the event. We’re looking for two kinds of talks:

Retrospective reports are typically 25 minutes long. Now that CUFP has run for more than a decade, we intend to invite past speakers to share what they’ve learned after a decade spent as commercial users of functional programming. We will favour experience reports that include technical content.

Technical talks are also 25 minutes long, and should focus on teaching the audience something about a particular technique or methodology, from the point of view of someone who has seen it play out in practice. These talks could cover anything from techniques for building functional concurrent applications, to managing dynamic reconfigurations, to design recipes for using types effectively in large-scale applications. While these talks will often be based on a particular language, they should be accessible to a broad range of programmers.

We strongly encourage submissions from people in communities that are underrepresented in functional programming, including but not limited to women; people of color; people in gender, sexual and romantic minorities; people with disabilities; people residing in Asia, Africa, or Latin America; and people who have never presented at a conference before. We recognize that inclusion is an important part of our ission to promote functional programming. So that CUFP can be a safe environment in which participants openly exchange ideas, we abide by the SIGPLAN Conference Anti-Harassment Policy.

If you are interested in offering a talk, or nominating someone to do so, please submit your presentation before 09 June 2017 via the

CUFP 2017 Presentation Submission Form

You do not need to submit a paper, just a short proposal for your talk. There will be a short scribe’s report of the presentations and discussions but not of the details of individual talks, as the meeting is intended to be more of a discussion forum than a technical interchange.

Nevertheless, presentations will be recorded and presenters will be expected to sign an ACM copyright release form.

Note that we will need presenters to register for the CUFP workshop and travel to Oxford at their own expense. There are some funds available to would-be presenters who require assistance in this respect.

Program Committee

  • Alex Lang (Tsuru Capital), co-chair
  • Rachel Reese (Mulberry Labs), co-chair
  • Garrett Smith (CloudBees)
  • Danielle Sucher (Jane Street)
  • Jasper Van der Jeugt (Fugue)
  • Yukitoshi Suzuki
  • Evelina Gabasova (University of Cambridge)
  • Brian Mitchell (Jet.com)

More information

For more information on CUFP, including videos of presentations from previous years, take a look at the CUFP website at http://cufp.org. Note that presenters, like other attendees, will need to register for the event. Acceptance and rejection letters will be sent out by July 15th.

Guidance on giving a great CUFP talk

Focus on the interesting bits: Think about what will distinguish your talk, and what will engage the audience, and focus there. There are a number of places to look for those interesting bits.

  • Setting: FP is pretty well-established in some areas, including formal verification, financial processing, and server-side web services. An unusual setting can be a source of interest. If you’re deploying FP-based mobile UIs or building servers on oil rigs, then the challenges of that scenario are worth focusing on. Did FP help or hinder in adapting to the setting?

  • Technology: The CUFP audience is hungry to learn about how FP techniques work in practice. What design patterns have you applied, and to what areas? Did you use functional reactive programming for user interfaces, or DSLs for playing chess, or fault-tolerant actors for large-scale geological data processing? Teach us something about the techniques you used, and why we should consider using them ourselves.

  • Getting things done: How did you deal with large-scale software development in the absence of pre-existing support tools that are often expected in larger commercial environments (IDEs, coverage tools, debuggers, profilers) and without larger, proven bodies of libraries? Did you hit any brick walls that required support from the community?

  • Don’t just be a cheerleader: It’s easy to write a rah-rah talk about how well FP worked for you, but CUFP is more interesting when the talks also cover what doesn’t work. Even when the results were all great, you should spend more time on the challenges along the way than on the parts that went smoothly.