Functional Programming eXchange 2013

Topics covered at #functionalpx

Friday, 15th March in London

9 experts spoke.

Join Simon Peyton-Jones for an adventure with types. Find out the latest in F# with Don Syme. Learn what David Pollak has been up to developing Lift 3.0 and what Robert Rees thinks about Clojure & Scala. And benefit from the experience of Robert Pickering, Nic Ferrier, Adam Granicz, Alain Frisch, and Paul Dale.

Check out the packed programme, each session offers enlightened insight and exciting ideas.

Excited? Share it!


Adventures with types

The trouble is that weak type systems give types a bad name; they get in your way and stop you from writing the programs you want to write. And that leads to the familiar but fruitless static-vs-dynamic debate which I hope to avoid entirely.

Simon Peyton Jones

Senior Principal Researcher
Microsoft Research, Cambridge

Across Time and Address Space: Lift 3.0

This includes:

  • Using Scala 2.10's macro features to compile certain Scala code including form validation and actors into JavaScript the executes the same logic across the address spaces
  • Supporting asynchronous Actor messaging seamlessly across the HTTP connection and across address spaces
  • Detection of page building with Futures and Streams and automatically pushing those changes to the browser... doing page rendering across time
  • Simplified support for use of Futures and Streams in REST responses going across time
  • Enhancements to Lift's designer friendly templating system that gives the HTML side of the house more power
  • Automatic class reloading so that change to code get picked up on page reload without a restart... saving time.
David Pollak

David Pollak is a long time Scala dude, interested in Functional Programming, Scala, Clojure and making things better.

Elnode: the evented IO web server

In this session he walks through building a simple website using Elnode and talks about the emerging world of EmacsLisp build and development tools as well as recent developments in EmacsLisp like lexical scope and actor like asynchrony.

Nic Ferrier

He is a hacker. He's been described as London's leading Emacs pervert. He works as a consultant and coach, teaching companies about DevOps and modern development.

Comparing Scala and Clojure

In some ways they are very different creatures: Scala uses strong types, has come from an academic background and is influenced by ML and Haskell; Clojure is a straight-forward port of LISP with Java compatibility added, it has come from a pragmatic background of real-world problems.

Adherents of both languages tend to be unable to get past the fundamental difference in approach regarding typing, checking and compilation. However both share some fundamental aspects: both represent a distillation of understanding from working with object-orientated code, both rely on first-order functions and functional paradigms to deliver their most distinctive advantages, both aim to leverage an ecosystem to bring functional programming to the mass audience it has consistently failed to do hitherto.

As someone who has and does work with both languages I want to try and point what the real differences are between the two, what they have to learn from one another and speculate about what the future might look like in the world of "Enterprise".

Robert Rees

Robert Rees is Head of Development at We Got POP, a filmtech company that makes it easier to create great television and drama. Their product is used on shows like the Crown and Empire as well as films like Wonder Woman and Star Wars.

Developing with F# in the Cloud

Learn how to cater to full-scale data visualization, exploratory interactive development and advanced customizations too.

Adam Granicz

Adam Granicz is a 5x F# MVP and the author of 5 F# books, key F# community member and evangelist, and a regular speaker at developer conferences and workshops. Next to heading IntelliFactory, the F# company specializing in functional web and cloud applications and developer tools, he promotes the use of functional programming in industry at various events and venues.

Reducing cognitive bias in design with Scala

This presentation will describe an approach to doing this building on nothing more than Scala and Akka and demonstrate the approach abstracted away from the tedium of the backing implementation, of which several will be demonstrated.

Paul Dale

Paul is the Principal Architect for Elemica, a leading global Supply Chain services provider. Paul has led the charge transforming a traditional enterprise Java shop into a modern Scala-based team using Akka, Scala, and Lift. He has been slaying

LexiFi: describing financial contracts and extending OCaml

LexiFi has created an embedded domain-specific language to describe financial contracts. This symbolic description streamlines the processing chain for such contracts and greatly improves the time-to-market to support new kinds of contracts in our applications and those of our technology partners. LexiFi has built its technology on top of OCaml for more than ten years and this wonderful language has become so important to us that we are contributing more and more on improving OCaml itself.

Alain Frisch

Alain Frisch has enjoyed hacking in and on OCaml for more than 15 years. Before joining LexiFi, he used to work as a researcher in functional programming, type systems and XML transformations.

F# in the open source world

F# now includes contributions that range from Cloud IDE platforms, Cloud Compute frameworks, Data interoperability components, Cross-platform execution, Try F#, MonoDevelop, and even Emacs editor integration with surprising tooling support, as well as the Visual F# tools from Microsoft and the broader NuGet package ecosystem. Don will also talk about some of the latest contributions from Microsoft Research, including new type provider components for F#, and describe how his team work with the Visual F# team and other teams around Microsoft. There will also be demos of some fun new stuff that’s been going on with F# at MSR and the community.

Don Syme

Principal Researcher
Microsoft Research, Cambridge

Functional Data Storage

We will also look at how to bring functional reactive code to your data instead of bringing the data to the code as most stream processing systems work.

Greg Young

Greg Young coined the term "CQRS" (Command Query Responsibility Segregation) and it was instantly picked up by the community who have elaborated upon it ever since.

Other Years