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!


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

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.

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.

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 11x F#/.NET MVP and the coauthor of five F# books, key F# community member and evangelist, a regular speaker at developer conferences and workshops, and the CEO of IntelliFactory, the F# company specializing in trainings, consulting, and developing functional, reactive web and cloud applications.

Adventures with types

Static type systems are the world’s most widely applied formal method, in daily use by millions of programmers.

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

Simon Peyton Jones, MA, MBCS, CEng, graduated from Trinity College Cambridge in 1980. Simon was a key contributor to the design of the now-standard functional language Haskell, and is the lead designer of the widely-used Glasgow Haskell Compiler (GHC). He has written two textbooks about the implementation of functional languages.

After two years in industry, he spent seven years as a lecturer at University College London, and nine years as a professor at Glasgow University before moving to Microsoft Research (Cambridge) in 1998.

His main research interest is in functional programming languages, their implementation, and their application. He has led a succession of research projects focused around the design and implementation of production-quality functional-language systems for both uniprocessors and parallel machines.

More generally, he is interested in language design, rich type systems, software component architectures, compiler technology, code generation, runtime systems, virtual machines, and garbage collection. He is particularly motivated by direct use of principled theory to practical language design and implementation -- that's one reason he loves functional programming so much.

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.

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.

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