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.
Thu 7 SepDisplayed time zone: Belfast change
09:00 - 10:00 | |||
09:00 60mOther | Tutorial C2: Extensible Effects: understanding them, implementing them, using them CUFP |
09:00 - 10:00 | |||
09:00 60mOther | Tutorial C1: Online Applications with Incremental CUFP |
10:30 - 11:30 | |||
10:30 60mTalk | Tutorial C2: Extensible Effects: understanding them, implementing them, using them (part 2) CUFP |
10:30 - 11:30 | |||
10:30 60mTalk | Tutorial C1: Online Applications with Incremental (part 2) CUFP |
12:00 - 12:30 | |||
12:00 30mTalk | Tutorial C2: Extensible Effects: understanding them, implementing them, using them (part 3) CUFP |
12:00 - 12:30 | |||
12:00 30mTalk | Tutorial C1: Online Applications with Incremental (part 3) CUFP |
14:00 - 15:00 | |||
14:00 60mOther | Tutorial C3: Concurrent Programming with Effect Handlers CUFP |
14:00 - 15:00 | |||
14:00 60mTalk | Tutorial C4: Git under the hood with OCaml CUFP |
15:30 - 16:20 | |||
15:30 50mTalk | Tutorial C3: Concurrent Programming with Effect Handlers (part 2) CUFP |
15:30 - 16:20 | |||
15:30 50mTalk | Tutorial C4: Git under the hood with OCaml (part 2) CUFP |
16:50 - 17:30 | |||
16:50 40mTalk | Tutorial C3: Concurrent Programming with Effect Handlers (part 3) CUFP |
16:50 - 17:30 | |||
16:50 40mTalk | Tutorial C4: Git under the hood with OCaml (part 3) CUFP |
Fri 8 SepDisplayed time zone: Belfast change
09:00 - 10:00 | |||
09:00 60mTalk | Tutorial C6: Transducers in Practice CUFP Renzo Borgatti uSwitch |
09:00 - 10:00 | |||
09:00 60mTalk | Tutorial C5: Teaching Functional Programming CUFP Michael Sperber Active Group GmbH |
10:30 - 11:30 | |||
10:30 60mTalk | Tutorial C6: Transducers in Practice (part 2) CUFP |
10:30 - 11:30 | |||
10:30 60mTalk | Tutorial C5: Teaching Functional Programming (part 2) CUFP |
12:00 - 12:30 | |||
12:00 30mTalk | Tutorial C6: Transducers in Practice (part 3) CUFP |
12:00 - 12:30 | |||
12:00 30mTalk | Tutorial C5: Teaching Functional Programming (part 3) CUFP |
14:00 - 15:00 | |||
14:00 60mTalk | Tutorial C8: GraphQL Servers in OCaml CUFP |
14:00 - 15:00 | |||
14:00 60mTalk | Tutorial C7: Owl - Data Science in OCaml CUFP |
15:30 - 16:20 | |||
15:30 50mTalk | Tutorial C8: GraphQL Servers in OCaml (part 2) CUFP |
15:30 - 16:20 | |||
15:30 50mTalk | Tutorial C7: Owl - Data Science in OCaml (part 2) CUFP |
16:50 - 17:30 | |||
16:50 40mTalk | Tutorial C8: GraphQL Servers in OCaml (part 3) CUFP |
16:50 - 17:30 | |||
16:50 40mTalk | Tutorial C7: Owl - Data Science in OCaml (part 3) CUFP |
Sat 9 SepDisplayed time zone: Belfast change
09:10 - 10:00 | |||
09:10 25mTalk | Keynote: Are We There Yet? CUFP Bodil Stokke Church of Emacs | ||
09:35 25mTalk | Bonsai: a DSL for serverless firm real-time decisioning CUFP Jeremie Lasalle-Ratelle AppNexus |
10:30 - 11:20 | |||
10:30 25mTalk | Interfacing OCaml and Rust: picking the right tool for the job CUFP Joris Giovannangeli Ahrefs Research | ||
10:55 25mTalk | Distributed load testing with MZBench CUFP |
12:00 - 12:25 | |||
12:00 25mTalk | Gens N' Roses: Appetite for Reduction CUFP Jacob Stanley Ambiata |
14:00 - 14:50 | |||
14:00 25mTalk | Formally Verifying a Smart-Contract Language Implementation with Isabelle CUFP Simon Meier Digital Asset | ||
14:25 25mTalk | Haskell games and apps for iOS and Android CUFP Ivan Perez University of Nottingham, UK |
15:30 - 16:20 | |||
15:30 25mTalk | Using Haskell to run a datacenter CUFP | ||
15:55 25mTalk | Functional Facades over Legacy Code CUFP |
16:50 - 17:40 | |||
16:50 25mTalk | Building the largest payment sandbox on a tiny machine CUFP | ||
17:15 25mTalk | Using Functional Programming to Accelerate Translational Research at Pfizer CUFP Austin Huang Pfizer |
Accepted Talks
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.