Meetings

Mar
21

March Lightning Talks

Get tickets on EventBrite (to stay informed) or just watch the Livestream.

We’re running another round of lightning talks this month at Lambda Lounge.

This month, we have four speakers:

  • Dan ‘ouroborus’ Strong: Policy-as-Code: a demo of the Rego query language

  • Veit Heller: The Glamorous Toolkit for the Functional Programmer.

  • Hakim Cassimally: Functional Bash

  • Charles Dixon - NuShell + Rust = CouchShell!

We are looking into meeting up again at some point this year, maybe? But in the meantime, please do join us on our new discord server.


Join us on our YouTube stream for the talk and afterwords on our Discord server.


Feb
21

Rust Smart Contracts

Rust Smart Contracts, or: how I learned to stop worrying and write Rust full-time despite not being very good at it

This talk has a meme:content ratio of 2:1 which its author can only apologise for. It should of course have more memes. In it, we will cover some of the essential moving parts in the CosmWasm smart contracts toolchain, as well as dig through the code of an example contract.

Speaker

the-frey is an engineer who often writes in the third person. After many years working in Clojure, they somehow found themselves working on smart contracts in Rust. Rust is cool and smart contracts are pretty cool too, so hopefully this talk will be cool.


Tickets are available here.


Join us on our YouTube stream for the talk and afterwords on our Discord server.


Jan
17

Extensible DSLs with Tagless Final

Working with domain experts can be frustrating for all parties involved - it’s very hard for them to get the subtle nuances of their craft across, and aggravating for developers to constantly tweak and refine code to reflect ever evolving specifications.

There is, fortunately, a solution: Domain Specific Languages, small, highly specialised languages that allow experts to write exactly what they mean, without needing to involve developers for each new tweak.

These DSLs can be a lot of fun to use and write, but are also easy to get wrong. The purpose of this talk is to walk through a slightly simplified version of a language currently used in production to process millions of documents, show the most common problems that need to be solved, and offer reasonable, easy to understand solutions.

At the end of the talk, attendants will have a solid understanding of how to design their own DSLs, and of the strengths of weaknesses of their standard encoding.

Speaker

Nicolas is the CTO of Besedo, where we use Scala to moderate large volumes of user generated content and do weird things to machine learning models.

After too many years as a Java programmer and a thankfully brief stint in marketing, Nicolas discovered Functional Programming through Scala and fell in love. Since then, he’s made it his mission to learn and explain the scary bits, by focusing on practical applications.

Nicolas is also the author and sole maintainer of a few useful OSS libraries, such as kantan.csv.


Tickets are available here.


Join us on our YouTube stream for the talk and afterwords on our Discord server.


Nov
15

An Introduction to Systems Thinking for Programmers

Jakob Durstberger provides an introduction to Systems thinking. Jakob has been very fortunate to have worked with a lot of different technologies in a lot of different domains. With that he has never got too attached to one technology and always found how to solve the problems more interesting than what tools to solve them with.

Systems thinking is the study of groups of related, interdependent parts. But more than that it is a way of comprehending your surroundings and how you got into them. I will first introduce some Systems Thinking basics and then explore how those can be applied to programming.

Join us on our YouTube stream for the talk and afterwords on our Discord server.


Sep
20

An Introduction to FS2

FS2 gives purely functional, effectful, and polymorphic stream processing library in the Scala programming language. In this talk Domas Poliakas introduces you to FS2’s beautiful abstractions and combinators that make stream processing a dream. From type safety to resource safety, from push to pull, from video to web api requests, accelerate your development and compute with FS2.

Domas Poliakas is a Senior Engineer at Precog and contributor to the FS2 and Cats Effect Libraries.

YouTube stream link: https://www.youtube.com/watch?v=HDlxoItyGZA

Join us on our YouTube stream for the talk and afterwords on our Discord server.


Mar
15

Building a compiler for the esoteric programming language Brainfuck, in Carp Lisp

Lisp macros are known to be a powerful and scary feature for metaprogramming. We rely on it heavily in Carp, a statically compiled and typed language, both to generate code and to build abstractions.

Continuing with our Lisp mini-season, we’re going to build a little Brainfuck compiler in the Carp macro system. This will emit Carp code true to the Brainfuck input program. What could be more fun than a compiler inside another compiler?”

Veit Heller is a jack of all trades, but a master of none. He frequently oscillates between compiler development, writing, creating generative art, and trying to get work done at his day job as a technologist at large.

Join us and help shape the exploration by commenting on our YouTube stream or Discord page.

Get tickets on EventBrite or see the box below. Watch the Livestream.


Feb
15

A journey through parsing and evaluating a small Lisp-like language.

Sam Marshall will take us on a journey through parsing and evaluating a small Lisp-like language. The interpreter is small and can be extended after the event is over (maybe the start of the next big programming language?).

No prior Elixir or Lisp experience is needed, as concepts will be explained as we go. If you’d like to code along, bring an Elixir install!

NB: The video Sam mentioned was [“The Most Beautiful Program Ever Written”(https://www.youtube.com/watch?v=OyfBQmvr2Hc&ab_channel=PapersWeLove)

Join us and help shape the exploration by commenting on our YouTube stream or Discord page.

Get tickets on EventBrite or see the box below. Watch the Livestream.


Jan
18

We welcome Michael Arnaldi to talk about effect-ts!

Practical FP in TypeScript with Effect-Ts

In this talk we are going to take a look at the fundamental modules of effect-ts, a full port of ZIO and ZIO-prelude in typescript. As in ZIO the backbone of effect-ts is a stack-safe, fiber-based, highly scalable, effect system that enables development of highly concurrent applications that performs well (up to 4x better compared to native javascript Promise) and are both pleasant to maintain and easy to write.

Furthermore the effect-system is used to provide a set of modules that target very common use cases that every application needs like: type-safe dependency injection, environment construction, managed resources, concurrent queues, streams and many more.

By leveraging the full power of the TypeScript static type system and its ability to infer really well we are able to provide both a very safe environment while not paying too much in terms of boilerplate.

With the effect-ts we are able target efficient development both in node.js (making it a perfect choice for io-bound workloads that don’t require the full power and tradeoffs of a JVM or of a native implementation) and in the browser (with lightweight dedicated data types).

Join us and help shape the exploration by commenting on our YouTube stream or Discord page.

Get tickets on EventBrite or see the box below. Watch the Livestream.


Nov
16

Exploring Carp in unison (No not that Unison!)

Next in our occasional series of “Let’s explore…” we’re going to look at Carp, a statically-typed Lisp with a Rust-like lifetime checker.

Carp is a small programming language designed to work well for interactive and performance sensitive use cases like games, sound synthesis and visualizations.

So we’ll explore and see what’s interesting about Carp. We’ll do a bit of research over the next 2 weeks, so when we stream, we’ll have taken literally just a few steps more than a complete newbie! This means YOU can help us to shape the exploration by commenting on our YouTube stream or Discord page, even if you’ve never looked at Carp (or Lisp or Rust) before!

A few random facts about Carp, gleaned from HARD and THOROUGH research (a quick google) to whet your appetite:

  • it has Haskell-like static type inference
  • … a Rust-like borrow-checker
  • … and a dynamic, untyped macro facility
  • (excitingly, classic Lisp lists and the famous cons and car keywords only exist for the dynamic compilation phase)
  • Carp compiles to readable C,
  • … and though an alpha project, it has a surprisingly rich set of libraries already
  • … including graphics and animation (its initial intended purpose)

Join us and help shape the exploration by commenting on our YouTube stream or Discord page.

Get tickets on EventBrite or see the box below. Watch the Livestream.


Oct
19

October meetup: Functional TypeScript

Get tickets on Skiddle or see the box below. Watch the Livestream.

Functional approaches in Typescript are nothing new, but what can we apply from FP to structuring a Typescript app in a functions-as-a-service framework?

Alex Lynham will introduce some practical FP approaches that have delivered the most consistent value in our project.

Join us and please comment on our YouTube stream or Discord page.

Obviously in the strange times that we live in we can’t go to the pub after the talks, however please do join us on our new discord server. We are still getting setup with this, so let us know if there is anything you would like to see on there.

To buy tickets for this event please visit our events page: Lambda Lounge - Functional Typescript tickets from Skiddle.

Ticket sales powered by Skiddle


Sep
21

Exploring Unison in… er… unison

Get tickets on Skiddle or see the box below. Watch the Livestream.

For our September online meetup, we’ll do something a little different, and explore Unison together!

Unison is an open source functional programming language based on a simple idea with big implications: code is content-addressed and immutable.’

Unison has been on our ‘That Looks Interesting’ list for a long time. At this meeting, we’ll live stream our first steps with the programming language, the environment, and see what we can learn.

Join us and help shape the exploration by commenting on our YouTube stream or Discord page.

Obviously in the strange times that we live in we can’t go to the pub after the talks, however please do join us on our new discord server. We are still getting setup with this, so let us know if there is anything you would like to see on there.

To buy tickets for this event please visit our events page: Lambda Lounge September - let's explore Unison tickets from Skiddle.

Tickets by Skiddle


Aug
17

August Lightning Talks

Get tickets on Skiddle or see the box below. Watch the Livestream.

We’re running another round of lightning talks this month at Lambda Lounge.

This month, we have four speakers:

Liam Griffin-Jowett - Rust

Have you ever wanted to know about the basics of the Rust ownership system? No? Well then don’t attend this talk, because it is about the basics of the Rust ownership system. We’ll cover things like ‘what even is borrowing?’, ‘what does ‘&mut ***i’ mean?’, and ‘ok, but what does a rest api look like?’. Sprinkled here and there will be opinions that I’ve stolen from smarter people on why Rust is good and why it’s the future.

Alex Lynham - Functional Serverless Typescript

Functional approaches in Typescript are nothing new, but what can we apply from FP to structuring a Typescript app in a functions-as-a-service framework? This lightning talk will quickly go over some practical FP approaches that have delivered the most consistent value in our project.

Conor Farrell - Functional + Java

Insert your favourite chocolate + peanut butter ad reference here! I’ll discuss some ways you can make your Java code more functional using Vavr, a library that provides persistent data types like Tuple and Seq and functional control structures like Try and Either.

Hakim Cassimally - Purescript

Learn about parsing Git diffs for fun and profit using Purescript!

Obviously in the strange times that we live in we can’t go to the pub after the talks, however please do join us on our new discord server. We are still getting setup with this, so let us know if there is anything you would like to see on there.

To buy tickets for this event please visit our events page: Lambda Lounge August - Lightning Talks tickets.


Jul
20

Introduction to Cats Effect and Weaver Test

Get tickets on Skiddle or see the box below. Watch the Livestream.

This month we have Olivier from Disney Streaming Services talking about effect types in Scala, what they are, why they matter, and introducing the Cats Effect project. Then he will introduce a new test framework, Weaver Test, that he has built using Cats Effect in Scala.

This meetup is in collaboration with Scala Manchester.

Obviously in the strange times that we live in we can’t go to the pub after the talks, however please do join us on our new discord server. We are still getting setup with this, so let us know if there is anything you would like to see on there.

To buy tickets for this event please visit our events page: Lambda Lounge July - Cats Effect and Weaver Test tickets from Skiddle.

Powered by Skiddle


Thanks also to ScalaTimes for linking to the event! Scala Times


Jun
15

After a bit of a gap (sorry about that!) we’re back and going online!

Watch the Livestream

We’ve three talks for you this month.

Jorge Gueorguiev Garcia - Lessons from doing production FP

On my first FP (Clojure) production project, I discovered that my approach was incorrect. This is a quick view of my errors and what I did to overcome them.

Andrew Whitehouse - TDD for Clojure and the Clojure Jupyter kernel

Conor Farrell - Kotlin for Scala Developers, and vice versa

Having finally managed to get paid to write all the major JVM languages, I’ll compare and contrast the two most recent, Scala and Kotlin.

Obviously in the strange times that we live in we can’t go to the pub after the talks, however please do join us on our new discord server. We are still getting setup with this, so let us know if there is anything you would like to see on there.


Feb
17

NB: Our March 2020 meeting is cancelled. Hope to see you all in April!

Our next meeting is on Monday 17th February at Barclays Eagle Labs in Albert Square (Union, Albert Square, Manchester, M2 6LW).

The meeting starts at the usual time of 1900 - we aim to start by 1905.

Please register to let us know you’ll be attending.


Reagent and Re-Frame are functional reactive tools and a micro-framework for React, written in Clojure(script) that have led the way in thinking about how React JS apps can be structured and written.

Examples of their influence are JS frameworks like Redux, and the introduction of Hooks into React.

In this workshop, you’ll build a simple Re-Frame application, learning along the way how the key concepts/dominoes in the Re-Frame system work:

  • App-db
  • Subs
  • Effects
  • Views

You’ll also see how to debug your apps, and how to integrate build tools like Shadow-CLJS, as well as interop with the Node libraries you know and love (if we have time!)

N.B. Please bring your laptop with you!

Before attending, you’ll need to make sure that you have:

  • Git installed
  • Node installed
  • The JVM installed

We’ll be cloning a repo from GitHub to get started, and then working from there.


Food and refreshments will be provided; please let us know of any special requirements.

This meeting is kindly supported by Equal Experts and Barclays Eagle Labs.


Jan
20

Our next meeting is on Monday 20th January at Dept’s offices (9th floor, Bridgewater House, Whitworth St, Manchester, M1 6LT).

The meeting starts at the usual time of 1900 - we aim to start by 1905.

Please register to let us know you’ll be attending.


Join us for Lambda Lounge this month as Codurance co-founder Mashooq Badar talks about Clojure and software craftsmanship:

“Programming in Clojure is an absolute joy! I will take you through a few features of the language that make it my favourite. The talk will be a series of live demos showcasing these features.”

During Mashooq’s diverse career, he has succeeded in creating highly effective software teams and departments. His broad and deep technical knowledge, organisational skills, craft focus, and empathy to people involved have been integral to his success. He prides himself at being a hands-on software developer and believes that software development skills are very hard to learn and the best way to maintain them is to apply them.


Please note the change of venue this month! Food and refreshments will be provided; please let us know of any special requirements.

This meeting is kindly supported by Dept and Codurance.


Nov
18

Our next meeting is on Monday 18th November at Barclays Eagle Labs in Albert Square (Union, Albert Square, Manchester, M2 6LW).

The meeting starts at the usual time of 1900 (doors open a little earlier, we aim to start by 1905).

Please register to let us know you’ll be attending.


This month we have lightning talks

Frankie Gough - What’s New in Scala 3 (and why you should care)

A brief guided tour of some of the highlights of Scala 3, and what they mean for everyday functional programming

Conor Farrell (@SectoidCmdr) - Functional Kotlin

A brief introduction to how you can use Kotlin functionally! Spoiler alert: it’s nicer than Java.

Alex Lynham (@hipsters_unite) - Monadic deferreds in Clojure - just ddo it!

A lightning talk on how (and why) we use monads as the building block for our work with deferreds at Yapster, and why this may be a useful tool in your Clojure(script) programs too.

Paul Wild (@pw_x)- Using F# to parse poker hand history

Any edge in online poker could mean the difference between winning that big pot or losing everything. Luckily every hand played is recorded in log files and analyzing this data could be the first step towards the final table of the world series.

With that goal in mind this talk will introduce F#s parser combinator library fparsec and apply it to understanding this log history. Expect plenty of code examples and a demo or two.


This meeting is kindly supported by Barclays Eagle Labs and CapsuleCRM.


Oct
21

Our next meeting is on Monday 21st October at Barclays Eagle Labs in Albert Square (Union, Albert Square, Manchester, M2 6LW).

Doors open from 1845 for a 1900 start.

Please register to let us know you’ll be attending.


This month, we’ll be learning about RIO, a standard library for developing applications in Haskell. This event is suitable for beginners and experienced Haskell programmers alike.

This talk will introduce RIO, a new standard library aimed at simplifying the development experience in Haskell particularly with regards to applications development. Amongst others, RIO is one tool that provides language beginners and experts alike with conveniences that alleviate many of the sticking points that developers and engineers often find themselves in when trying to learn and use the language.

We’ll discuss the basic motivation for RIO, how to get started and navigate the library, and walk through the basic anatomy of a RIO application. We’ll see how RIO can assist beginners in getting a better understanding of the Haskell ecosystem at large, and how it can assist seasoned Haskell developers in simplifying their existing codebases.

Dan Firth is an independent Haskell consultant and mathematician with experience in industry sectors such as automotive, finance, and web development. Dan has been writing and teaching Haskell for 7 years, and over that time has designed training programs aimed at bringing new developers unfamiliar with Haskell up to speed and writing applications in the language with confidence and fluency.

Food and refreshments will be available! Please let us know if you have any special dietary requirements.


This meeting is kindly supported by Codurance, who build well-crafted software and help development teams to get better at continuously delivering software through the application of Extreme Programming practices and Software Craftsmanship values, and Barclays Eagle Labs.


Sep
16

Our next meeting is on Monday 16th September at Barclays Eagle Labs in Albert Square (Union, Albert Square, Manchester, M2 6LW).

Doors open at 18:30 for reception, chat, and setup. Workshop will start at 19:00

Please register to let us know you’ll be attending.


This month we have an interactive music workshop with:

Jenn Kirby (composer and musician) - Workshop on Dataflow music programming

Dr Jenn Kirby is a composer, performer, lecturer and music technologist. Jenn teaches music at the University of the West of Scotland. Her output includes contemporary instrumental composition, electroacoustic music, sound art, noise music, experimental pop, laptop orchestra performance and solo live electronics. Jenn builds software, uses wearables and re-purposed games controllers as musical interfaces, to create and perform theatrical live electronic music.

Jenn is a prominent live-electronic music performer and has had music performed in Ireland, the United Kingdom, Austria, Switzerland, the Netherlands, Germany, Italy, Poland, Canada, the United States and Mexico.

The workshop will offer an introduction to programming music systems using the Pure Data programming environment. Participants will be introduced to audio synthesis and working with controllers to programme expressive digital musical instruments.

Through an in-depth look at software instruments, participants will have the opportunity to make music together finding new means of musical expression.

Resources needed: Laptop and headphones.

Participants will need to install Pd-Extended 0.43 and Pure Data 0.50.


This meeting is kindly supported by EqualExperts and Barclays Eagle Labs


Jun
17

Our next meeting is on Monday 17th June at Barclays Eagle Labs in Albert Square (Union, Albert Square, Manchester, M2 6LW).

The meeting starts at the usual time of 1900 (doors open a little earlier, we aim to start by 1905).

Please register to let us know you’ll be attending.


This month we have four excellent lightning talks, three of which are about functional python!

Nick Froud - Tidal Cycles

Nick Froud will give us an introduction to Tidal Cycles, a live coding music environment built with Haskell.

James Fielder (@James_Fielder) - Coconut, FP for the Python world

A very quick tour of Coconut, an FP language that is designed as a superset of Python (much as Typescript is to Javascript). We’ll have a look at the syntax and maybe see how we can use it to make some programs nicer.

Hakim Cassimally (@TechySquirrel) - Drawing squiggly lines in Python, functionally

If you’ve ever seen https://explainshell.com/ and thought “That’s great, but shouldn’t it be in the shell?” (and can it explain itself?) then this is the talk for you. Hakim will show a shell explainer written in FP Python.

Alex Lynham (@hipsters_unite) - Fun with Python functools

Even without something like Coconut, Python does have some support for functional programming. Let’s take a look at some functional Python together, and maybe even deploy it to AWS Lambda while we’re at it.


This meeting is kindly supported by Dunnhumby and Barclays Eagle Labs


May
20

Our next meeting is on Monday 20th May at Barclays Eagle Labs in Albert Square (Union, Albert Square, Manchester, M2 6LW).

The meeting starts at the usual time of 1900 (doors open a little earlier, we aim to start by 1905).

Please register to let us know you’ll be attending.


Where we’re going, we don’t need servers!

Our own Alex Lynham (@hipsters_unite - blog) will help us find out how the Serverless framework and ClojureScript can be used in anger, what the gotchas are, and how you might go about making a development workflow using it.

By the end of the session, you should have a mini-API using Lambdas and ClojureScript deployed on AWS, as well as some idea of how these tools fit together with your text editor and development process.

Warning! Contains parens!

N.B. We’re just going to be focussing on using these two together during the session, we won’t be deep diving into Lambda Layers or any peripheral cool stuff, though we can talk about it at the pub!

Please ensure that you have:

  • Installed Clojure, preferably via Leiningen
  • Installed Node.js
  • An AWS account (please double-check that billing limits are set!)
  • Your favourite text editor

Food and refreshments will be provided.


This meeting is kindly supported by Dunnhumby and Barclays Eagle Labs


Apr
15

Our next meeting is on Monday 15th April at Barclays Eagle Labs in Albert Square (Union, Albert Square, Manchester, M2 6LW).

The meeting starts at the usual time of 1900 (doors open a little earlier, we aim to start by 1905).

Please register to let us know you’ll be attending.


Liam Griffin-Jowett (@gryff - blog) of Codurance will show us a practical approach to solving the bank kata in Haskell. He’ll cover:

  • * using the compiler and tests to drive the design
  • * using monad transformers to compose the use of several side effects
  • * showing how to test monadic code

Food and refreshments will be provided.


This meeting is kindly supported by Dunnhumby and Barclays Eagle Labs


Mar
18

Our next meeting is on Monday 18th March at Barclays Eagle Labs in Albert Square (Union, Albert Square, Manchester, M2 6LW).

The meeting starts at the usual time of 1900 (doors open a little earlier, we aim to start by 1905).

Please register to let us know you’ll be attending.


Our own Conor Farrell will talk about FaunaDB, a distributed NoSQL database written in Scala and with a functional query language. It claims to combine the scale and flexibility of NoSQL with the safety and data integrity of relational databases. Does it live up to the hype?

Luce Carter will give a lightning fast (pun intended) introduction to F# Cross-Platform Mobile Development with Xamarin and Fabulous. In this talk, Luce will give you a very quick demo of what Fabulous is and how it can be used to create fully native mobile apps for iOS, Android, UWP and more with full 100% native API access.

Food and refreshments will be provided.


This meeting is kindly supported by Dunnhumby and Barclays Eagle Labs


Feb
18

Our next meeting is on Monday 18th February at Barclays Eagle Labs in Albert Square (Union, Albert Square, Manchester, M2 6LW).

The meeting starts at the usual time of 1900 (doors open a little earlier, we aim to start by 1905).

Please register to let us know you’ll be attending.


Join Chris Bacon as he explains how Tracsis uses Haskell to help solve real world data capture, reporting and resource optimisation problems.

He’ll also discuss lessons learned about using Haskell in production, in particular:

  • how to incorporate SOLID into Haskell code
  • further use cases that might be good fits for Haskell.

Food and refreshments will be provided.


This meeting is kindly supported by Tracsis and Barclays Eagle Labs.

(Again, please register to let us know you’ll be coming!)

(And please get in touch if you’d like to talk at a future event: (contact the mailing list, ping @lambdamcr, or speak to us at the event! We’re a very supportive crowd, do let us know if you have any questions!)


Jan
21

Our next meeting is on Monday 21st January at Co-op Digital’s offices at Federation House (2 Federation Street, Manchester, M4 4BF).

PLEASE NOTE THE EARLIER THAN USUAL START TIME

The workshop starts at 6:30pm (doors open a little earlier, we aim to start by 6:35pm).

Please register to let us know you’ll be attending, we will need to give your name to reception.


For this month’s session, we’ll be running a beginner’s workshop on building and deploying Clojure web applications.

Although you don’t have to be an expert programmer, some familiarity with another programming language, and a bit of experience with using tools like Git will be useful. If you don’t have that, then don’t worry, just install the pre-requisites below and sign up.

We’ll go through some common toolchains for building Clojure web applications and then build and deploy a simple example on Heroku.

After that, we’ll look at how you can add templating, and how REPL-driven development works for web applications.

By the end of the workshop you should have a small web application deployed to Heroku.

As the session is a workshop format, attendees will need to bring their own laptop. Please ensure that you have:

Installed Clojure, preferably via Leiningen

Installed the Heroku toolbelt

Cloned this repo to your laptop


This event is generously sponsored by Dunnhumby, a world leader in consumer data science and a heavy adopter of Scala.

(Again, please register to let us know you’ll be coming!)

(And please get in touch if you’d like to talk at a future event: (contact the mailing list, ping @lambdamcr, or speak to us at the event! We’re a very supportive crowd, do let us know if you have any questions!)


Nov
19

Our next meeting is on Monday 19th November.

IMPORTANT: the venue has been changed to Federation House We’ll be in the “Solidarity” room!

The meeting starts at 7pm (doors open a little earlier, we aim to start by 7:05pm).

Please register to let us know you’ll be attending.


Daira Hopwood, a LamdaLounge regular, will tell us about Zero-knowledge proofs, a fascinating area of cryptography with wide applications for security and the blockchain.

Zero-knowledge proofs allow Alice to prove to Bob that she knows a secret, without having to reveal it.

With zero-knowledge proofs, you can validate in O(1) space and time that an arbitrary amount of computation occurred correctly. This remarkable property depends, at least for now, on writing programs in a peculiar (and peculiarly terrible) mathematical language called R1CS (Rank 1 constraint systems).

This talk is an introduction to writing efficient R1CS programs.


This event is generously sponsored by Equal Experts, a network of talented, experienced software consultants, specialising in agile delivery.

(Please register to let us know you’ll be coming!)

(And please get in touch if you’d like to talk at a future event: (contact the mailing list, ping @lambdamcr, or speak to us at the event! We’re a very supportive crowd, do let us know if you have any questions!)


Oct
15

Our next meeting is on Monday 15th October at MadLab’s new venue at PLANT NOMA (Redfern, Dantzic Street, NOMA, M60 0AE).

The meeting starts at 7pm (doors open a little earlier, we aim to start by 7:05pm).

Please register to let us know you’ll be attending.


This month we have lightning talks from James Fielder, Becky Arrowsmith, Alex Lynham and more TBC.

James Fielder (Dunnhumby): What is pattern matching in functional languages?

Becky Arrowsmith (Co-op Digital): Keyboards are love, Keyboards are life

Alex Lynham (Co-op Digital): Very functional python (in functions (as a service))


This event is generously sponsored by Dunnhumby, a world leader in consumer data science and a heavy adopter of Scala.

(Please register to let us know you’ll be coming!)

(And please get in touch if you’d like to talk at a future event: (contact the mailing list, ping @lambdamcr, or speak to us at the event! We’re a very supportive crowd, do let us know if you have any questions!)


Sep
17

Our next meeting is on Monday 17th September at MadLab’s PLANT NOMA (Redfern, Dantzic Street, NOMA, M60 0AE).

The meeting starts at 7pm (doors open a little earlier, we aim to start by 7:05pm).

Please register to let us know you’ll be attending.


Come and learn some some Lisp with us! Clojure is a powerful dynamically typed language with a strong focus on immutability. It runs on the Java virtual machine, making interoperability with Java code easy. It’s not just a back-end language, though - there’s also a ClojureScript dialect which can be compiled to JavaScript, so you can use it for your full stack.

This month, we’re running a workshop where we’ll help you set up a Clojure development environment and run through some simple exercises to get you started. No experience required, but please bring your laptop!

If you’re a more experienced Clojure developer, feel free to come and help out or work on your own project!


This event is generously sponsored by Equal Experts, a network of talented, experienced software consultants, specialising in agile delivery. Equal Experts will be providing refreshments! Equal Experts Logo

Please register to let us know you’ll be coming!

(And please get in touch if you’d like to talk at a future event: contact the mailing list or ping @lambdamcr, or speak to us at the event! We’re a very supportive crowd, do let us know if you have any questions!)


Jul
16

Our next meeting is on Monday 16th July at MadLab’s new venue at PLANT NOMA (Redfern, Dantzic Street, NOMA, M60 0AE).

The meeting starts at 7pm (doors open a little earlier, we aim to start by 7:05pm).

Please register to let us know you’ll be attending.


This month we have lightning talks from Hakim Cassimally, Chris Bacon, Sam Marshall and Alex Lynham.

Hakim Cassimally (BBC): Inform7, a declarative, ‘plain English’ language

Chris Bacon (BBC): Using monoids to build UI

Sam Marshall (Digital Bridge): A Functional Programmer’s adventures in OOP

Alex Lynham (Co-op Digital): Serverless clojurescript in 10 mins


This event is generously sponsored by Dunnhumby, a world leader in consumer data science and a heavy adopter of Scala.

(Please register to let us know you’ll be coming!)

(And please get in touch if you’d like to talk at a future event: (contact the mailing list, ping @lambdamcr, or speak to us at the event! We’re a very supportive crowd, do let us know if you have any questions!)


Jun
18

Our next meeting is on Monday 18th June at MadLab’s new venue at PLANT NOMA (Redfern, Dantzic Street, NOMA, M60 0AE).

The meeting starts at 7pm (doors open a little earlier, we aim to start by 7:05pm).

Please register to let us know you’ll be attending.


This month Conor Farrell (@SectoidCmdr) will give us an Introduction to Idris.

Idris is a purely functional language that has a number of interesting features like dependent types and totality checking. It can also be used as a proof assistant, similar to Coq and Agda.

In this talk I’ll cover development using Idris and how you can use types to help you write your code - rather than thinking of types just as things that need to be checked, we can instead see them as a plan for producing a robust program by following the three steps of type, define and refine.

You don’t need any experience with Idris or functional programming as I’ll be starting from the basics, but if you do happen to know Haskell you’ll probably see some similarities!


This event is generously sponsored by Equal Experts, a network of talented, experienced software consultants, specialising in agile delivery. Equal Experts will be providing refreshments, yay! Equal Experts Logo

(Please register to let us know you’ll be coming!)

(And please get in touch if you’d like to talk at a future event: (contact the mailing list or ping @lambdamcr, or speak to us at the event! We’re a very supportive crowd, do let us know if you have any questions!)


May
21

So this is very exciting for several reasons: our next meeting is on Monday 21st May at MadLab’s new venue at PLANT NOMA (Redfern, Dantzic Street, NOMA, M60 0AE).

(See MadLab’s announcement for more details.)

We’ll be learning about Audio Synthesis in F# with John Stovin. This is a re-run of his very popular workshop at F# Exchange this year, and should be lots of fun! This meeting is brought to you in collaboration with the Manchester F# User Group.

Planning for the usual 7pm (doors open a little earlier, we aim to start by 7:05pm), but do keep an eye out for any changes, as it’s a slightly new setup.

Please register to let us know you’ll be attending.


In this workshop, John Stovin will show how several features in F# work together make it an ideal platform for creating high-performing real-time applications for a wide variety of application areas. Specifically, John will share with you how reactive event handling and lazy sequences can be used together to create a simple software-based audio synthesizer.

No knowledge of signal processing theory is required. John will start with a simple, non-technical and non-mathematical explanation of the basic concepts of digital signal processing. John will then build on that explanation to show how to design a basic signal flow and processing elements using pure functional elements, and how to make this signal flow interact with external devices in real time.

Functional topics covered will include: Seq & List; Event Handling; Sequence comprehension; Higher-order functions, particularly unfold.


Have you done audio or music work with a functional programming language. Let us know on twitter or at beginning of the session, and we should have time for some show-and-tell at the end of the session!

(Please register to let us know you’ll be coming!)


(And please get in touch if you’d like to talk at a future event: (contact the mailing list or ping @lambdamcr, or speak to us at the event! We’re a very supportive crowd, do let us know if you have any questions!)

Apr
16

We’ll meet on Monday 16th April, 7pm (doors open a little earlier, we aim to start by 7:05pm) at MadLab for a meeting about Real World uses of Functional Programming! Please register to let us know you’ll be attending.

Dan Meyers will be telling us about how his team at the BBC uses Clojure with the Kafka stream processing platform. Dan will be giving us an exclusive sneak preview of the talk he’s had accepted to the Kafka Summit in London later this month. Dan writes:

“In the beginning was PIPs, an API backed by a relational database used to store all the BBC’s programme metadata. But as more clients came, with more requirements and ever more complex queries, it became untenable to build one system able to service them all and maintain performance. Each client wanted a simple interface to be able to ask their specific complex questions, about subjects like availability and scheduling.

“The Programme Metadata team turned to a combination of Kafka and Clojure (a functional, immutable, Lisp dialect) running in AWS to produce multiple pipelines, one per client requirement. This setup turns the normal ETL pipeline on its head, with one homogenous backend and multiple heterogenous outputs. At each level you can see the same pattern repeated, which extends even into the structure of the Clojure code itself. In this talk we’ll go through some of the things we’ve learned, look at how the structure of Clojure mirrors and supports the way Kafka is used, and see how simple commodity microservices can be reused in multiple pipelines to rapidly satisfy new client requirements.”

Do you have a Real World use of functional programming that you’d like to talk about? We’ll have some time after Dan’s talk for you to talk about your project, either as an informal discussion or a 5 minute “lightning talk”! (We may be able to fit in a longer ~20 min talk if that’s preferred.)

Please let me know asap if you’d like to talk (contact the mailing list or ping @lambdamcr) but we may also be able to accept some short talks on the night. (We’re a very supportive crowd, do let us know if you have any questions!)

(Please register to let us know you’ll be coming!)

Mar
19

We’ll meet on Monday 19th March, 7pm (doors open a little earlier, we aim to start by 7:05pm) at MadLab for a meeting about Elm! Please register to let us know you’ll be attending.

Michael Jones who runs the new Elm Manchester meetup, will be showing us how to get started with Elm!

Elm is a friendly language for front-end development that promises ‘no runtime exceptions’. It has a functional approach with a solid type system and a focus on simplicity. Michael will demonstrate how to get going with a basic Elm application and illustrate how some of the features of the language and the compiler lead to a smooth & enjoyable development experience.

We’ll start with a demo and some live-coding. There’ll be plenty of time for discussion, and do bring along your own laptop if you’d like to play along!

(Please register to let us know you’ll be coming!)

Looking forward to seeing old and new faces, we should have some time after the session to chat about what people been playing since we last met. Please shout on the night, or contact the mailing list or ping @lambdamcr to let us know if you have a talk you’d like to give. (We’re a very supportive crowd, do let us know if you have any questions!)

Feb
19

We’ll meet on Monday 19th February, 7pm (doors open a little earlier, we aim to start by 7:05pm) at MadLab for the first meeting of the new year! Please register to let us know you’ll be attending.

Paul Brabban from def_shef in Sheffield will talk us through implementing a classic machine learning algorithm. This is a workshop session, so do bring your laptop to play along if you can! Paul writes:

The algorithm behind the k-nearest neighbour classifier dates back to the early days of computer science. Its simplicity, amongst other properties, make it a great introduction to machine learning algorithms.

In the workshop, you’ll implement a kNN classifier in the functional language of your choice, including training and testing against real data sets using k-fold cross validation. I’ll help anyone who’s having problems, and for FP experts who finish the implementation quickly, there’ll be several suggestions for further exploration.

If any of those terms are new to you, don’t worry! We’ll assume no previous Machine Learning knowledge.

(Please register to let us know you’ll be coming!)

Looking forward to seeing old and new faces, we should have some time after the session to chat about what people been playing since we last met in November. Please shout on the night, or contact the mailing list or ping @lambdamcr to let us know if you have a talk you’d like to give. (We’re a very supportive crowd, do let us know if you have any questions!)

Nov
20

We’ll meet on Monday 20th November, 7pm (doors open a little earlier, we aim to start by 7:10pm) at MadLab for the final meeting of the year! We’ll do a Show and Tell of projects that people have been involved and some Discussion on topics of interest.

We still have space for topics! We’re looking for short talks (5-15 minutes) on any topic of interest to Functional Programmers, and about Any Programming Language. So whether you’re using Monads in Python, doing Internet of Things with Haskell, FRP in Javascript, or an MMORPG in Erlang, feel free to suggest a talk!

  • Paul Brabban (defshef) discussion on “intro to FP” workshop
  • James Fielder “So you’re stuck with Java/C++ and you want to do FP…”
  • Giambattista Pieretti Erlang & Internet of Things, with the Wemos D1 mini (Arduino compatible board)
  • Hakim Cassimally a Clojure macro to make declaring XML data simpler

Really looking forward to seeing what people have been playing with over the year! Please reply to the mailing list or ping @lambdamcr to propose a topic!

(Alternatively, feel free to bring an idea on the night and we may be able to fit you in.)

Oct
16

We’ll meet on Monday 16th October, 7pm (doors open a little earlier, we aim to start by 7:10pm) at MadLab to learn about macros in Clojure.

(We don’t know yet if we’ll be in the main section or the next door FabLab - will be clearly signed and we’ll try to tweet details beforehand!)

Clojure Macros - with great power comes much confusion

Dan Meyers (BBC Programme Metadata, @Carr0t) will go through the basic building blocks of macros and how they differ from functions. He writes:

“Anyone who’s written any Clojure has probably used macros that are in the language core, even if they didn’t realise it, but a lot of people might not have written their own macros.

We’ll go through two examples covering what I see as the major use-cases of macros – logging and code readability. We’ll do this bit by bit to see how they do what they do, and then look at the results of that.”

The talk starts from fairly basic principles and building on that so you don’t need to know Clojure or anything to understand it. A few brief slides at the beginning give you all the info you need to understand what’s going on even if you’ve not really looked at a Lisp-like language before.

Sep
18

Back to School evening

As we reach the end of the Glorious British Summer, it’s time to pick up our new exercise books and pencil cases and learn some new techniques on Javascript (and a bit of Clojure) in the field!

LambdaLounge is pleased to present an evening suitable for all, and especially newcomers to Functional Programming on Monday 18th September at 7pm at MadLab.

A Functional JS Field Guide

Katie Fenn (@katie_fenn) is a software engineer at npm. She works with all aspects of the web, particularly JavaScript, CSS, Node.JS and ops. When not at her desk, she is usually in the pool or on her bike in the Peak District.

JavaScript is a language of two flavours: object-oriented and functional. Some would say functional is JavaScript’s dominant flavour, but only recently have we started exploring its uses fully. I will show how lessons from functional programming takes advantage of JavaScript’s better features, and may even change the future of computing.

In this talk I will introduce the basic ingredients of functional programming and explain why embracing them makes JavaScript easier to work with. It will be aimed at JavaScript developers of all experience levels and backgrounds.

Writing a tile-matching game in Clojure (first steps)

Ever wondered how to write a tile-matching game (like Candy Crush and the earlier Bejeweled)? And how do you even write a game (with graphics, and state, and user interaction!) functionally? Regular speaker and co-organizer Hakim is just starting to explore this process, and will present some of the basics of modelling the game grid, and playing a basic event loop, introducing some important concepts in functional programming.

Jul
17

Hacknight: The Functional Internet of Things

We’re meeting on Monday 17th July at 7pm at MadLab to play with microcontrollers and functional languages! We will have some instructions for very simple projects that you can extend. Alternatively, you are welcome to work on a project of your own, or join other attendees to help them.

After our May talks on IoT we’ll meet to work together on various Internet of Things projects. This will be a Hands On session, so please do bring:

 * laptop
 * any electronics kit you have that you'd like to play with

But don’t worry: we will bring various microcontrollers: ESP8266, Arduino, some BBC micro:bits etc.

We’ll start by getting software installed and things setup, so do feel free to arrive early if you can. Then we’ll do a brief brainstorming exercise, and form into small teams (or work alone if you prepare) on our projects!

May
15

The Functional Internet of Things

We’re meeting on Monday 15th May at 7pm at MadLab to talk about how Functional Programming can be used to interact with the Internet of Things.

Firstly, Qambar Raza (@QambarRaza) (BBC), who is starting an exciting project using the ESP8266 IC, Clojure, and Firmata and is blogging all the way up to his talk and demo at LambdaLounge.

Our second confirmed speaker, Spencer Marsden (@spencermarsden) (a creative technologist at the BBC’s consumer technology showcase, the Blue Room) will give an overview of some of the exciting projects and technology he’s worked on.

We can still make time for one or two more speakers! could you get involved?

Perhaps you’ve written some dataflow based code on the Raspberry PI with NodeRED? Or you’ve been experimenting with Haskell and hArduino? Or have you been sneaking Functional concepts into C++ code on a PIC?

Whether you are enthusiastically tinkering on a hobby project, or have used these technologies in a successful enterprise, we’d love to hear from you!

We’re really keen to get a diverse range of speakers, from a wide range of backgrounds and experience, whether you’re a relative newcomer to functional programming, a veteran developer, or an academic, we always provide a warm welcome! See our call for speakers for more details or ping us at @lambdamcr!

Mar
20

Discovering the beauty of recursion and pattern matching

We’re meeting on Monday 20th Mar at 7pm at MadLab where DJ Adams will speak about one of the essential features of functional programming: recursion.

Moving from an imperative mindset across to a more functional one requires some rewiring of your brain. One of the areas where this is particularly noticeable is understanding how iteration is achieved in languages without explicit loop constructs. In this talk, we’ll look at recursion as a fundamental building block, and discover how pattern matching in Haskell, Clojure, Elm, Elixir and even JavaScript is a beautiful thing.

Feb
20
We're meeting on Monday 20th Feb at 7pm at madlab to learn Elixir!
Elixir is a dynamic, functional language with Ruby-like syntax that runs on the Erlang virtual machine. With first class support for concurrency, scalability, fault tolerance and high availability, all courtesy of its Erlang roots, it can be described as the language for today's real time, hyper-connected world.

In this short introduction to Elixir presented by Chi-chi Ekweozor, learn how to use the ubiquitous pipeline operator |> to consume functions as data, pattern matching, modules, lists and other language constructs. Level up and get writing distributed software applications that go beyond the browser on to mobile and the Internet of Things.

** Please note: Hands-on Session **
This is a hands-on session, to follow along please come with a laptop with Elixir pre-installed. There are instructions for installing Elixir and Erlang on most operating systems on the Elixir-lang website.
Jan
16
This month Hakim Cassimally is presenting on Data Structures for Text Editors.   We're meeting on Monday 16th Jan in madlab at the normal time of 7pm.
To support the features that we need as programmers, text editors arrange textual data in rather different ways than we might expect from other text-processing tasks, where we commonly use strings and streams of characters.
We'll first look at some classic text editor data-structures like Lists of lines (vi, Atom), the Gap Buffer (Emacs), and then at purely functional data structures that fit better with functional languages - structures like Piece Tables (Abiword, Bravo), various sorts of tree (the infamous Xanadu, GtkTextBuffer) and Zippers (yi).
I'll be showing a few examples in Clojure, but the approaches are valuable in any language (I've done previous prototypes in Perl, Java, and Haskell!)
Oct
17

This Monday at 7pm Chi-chi Ekweozor is giving a talk on the soft real-time aspects of Elixir/Phoenix and its web sockets implementation (aka Phoenix channels) - which was the main draw for building a real-time Q&A service with it over at assenty.com. And, yes, there will be a live demo!

Sep
18
This Monday at 7pm Alex Weaver is giving a talk on deep learning for functional programmers.
Deep learning has improved on the state of the art in several fields of machine learning, and is beginning to be used in commercial settings. This talk aims to provide a grounding in the core concepts of the topic, explore parallels with functional programming and introduce some promising recent research.
Aug
15
This Monday at 7pm we're pleased to announce we have another talk by Lee Kitching, this time on Property Based Testing a Regex Processor in F# with FsCheck.

Traditional unit testing requires the programmer to manually generate test cases, which are highly specific but give poor coverage of the range of possible inputs.

Property-based testing is used to specify the behaviour of programs and assert the adherence of the implementation to the specification by randomly exploring the input space.

This talk introduces property-based testing FsCheck, an F# port of Quickcheck. The API will be introduced before being demonstrated in development of a simple regular expression engine, and used to check invariants for data structures.
Jul
18
This monday at 7pm Rick Moynihan is talking about Clojure, the functional Lisp for the JVM.

The interactive REPL driven demonstration will try and provide a whistlestop tour of Clojure and its workflow, showcasing unique aspects of the language and its workflows.  Depending on what people want to see, we can touch on topics ranging from macros and meta programming to interacting with Lisp at the REPL, using profilers to diagnose performance issues, tools such as Leiningen, nREPL, Paredit, or CIDER, or the concurrency options available to you such as futures, promises, agents, atoms and the Software Transactional Memory.

Or perhaps any other core language features such as protocols, multimethods, persistent data structures, lazy sequences, transducers, that I can talk about.

I won't be able to cover everything, but I'll try my best to give you a flavour of this practical language.

Jun
20
This month we have another talk from Jaakko Pallari, this time on the Apache Spark platform. 

Spark provides a functional programming interface for building parallel, distributed data processing jobs.  Jaakko will talk about what Spark is and how to set it up, whilst demonstrating examples of developing with Sparqk.
We'll be meeting at 7pm at madlab as normal.
May
16
This monday at 7pm we have PLT guru Lee Kitching talking about Pipes.

Pipes is a Haskell library based on a composable push/pull streaming abstraction.

Laziness is crucial for defining reusable algorithms which can be freely composed together, and most modern languages define an abstractions for lazy sequences such as Java 8 Streams and IEnumerable in C#. However laziness is problematic when streams are derived from resources such as file handles which are consumed incrementally and require prompt cleanup since streams hide the nature of the source from the consumer. This presents a risk of resource leaks if clients fail to consume the entire stream, or inefficient use of resources if the problem is avoided by consuming the entire stream eagerly.

This talk describes the abstraction defined by the Pipes library and demonstrates how it can be used to define reusable streaming components.
Apr
18
This month Hakim Cassimally is presenting on why "Haskell is an acceptable Perl".  We're meeting on Monday in madlab at the normal time of 7pm... 

So, Haskell is "an advanced purely-functional programming language" which supports writing "declarative, statically typed code". It may be optimized for academic buzzwords you've never heard of but... is it any good for writing code in the way that you'd write Perl, Python, or Ruby?
What are strong types, and why are we so frightened of them anyway? Can you develop interactively in  Haskell, the way you would in a dynamic language?

Does Haskell have "whipuptitude" (being able to get things done quickly) as well as "manipulexity" (being able to manipulate complex things)? And perhaps most importantly, can writing Haskell be *fun*?
Haskell is founded on decades of the finest mathematical and computer science research.  Perl, quite demonstrably isn't... but why do so many Perl programmers also love Haskell?

Audrey Tang wrote the first prototype for Perl 6, Pugs, in Haskell, and coined the phrase "lambdacamel" for the substantial crossover between the languages.
What does a Perl programmer make of Haskell?  What are the lessons that can be learned (in either direction).  And do the languages have more in common than you might have thought?
Mar
21
This month after a brief hiatus we return at the usual time of 7pm with a talk by DJ Adams entitled:

Learning by Doing: Beginning Clojure by Solving Puzzles.

DJ had this to say about his talk:

"I'm teaching myself Clojure, because awesome. In this talk, I'll relate some of my experiences in trying to discover how natives speak, by tackling puzzles in Project Euler and Advent of Code.  If you're a Clojure beginner too, or even if you're not, this might give you some confidence in taking a similar journey; if you're more experienced, it might be a comedy half hour. Either way it will be fun :-)"

So come and join us for an interesting tour in applying a modern Lisp to classic computing and problems
Nov
16
This month saw Scala developer, Jaakko Pallari, talk about how Free monads are a general way of deriving monads for functor data types.

Besides reducing the boilerplate for creating new monads, they allow customising how the monads are interpreted.

Jakko demonstrated what free monads can be used for in practice, as well as how the free monad itself is structured.

The code examples in Haskell can be applied to other functional programming languages as well.
Oct
19
This month we have Lee Kitching giving us a talk on  Servant, a Haskell DSL for creating HTTP APIs.

We'll be meeting @madlabuk at the usual time of 7pm.

API endpoints in Servant are represented as types which ensures implementations conform to the definition and enables safe routing and automatic client generation.

The talk will cover how to use Servant to create web APIs, and examine some of the features of the Haskell type system which make it possible.
Sep
20

Show and Tell

The lambda lounge this Monday are doing a show and tell.  We'll meet at @madlabuk at 7pm as usual.

It's going to be a pretty informal round table discussion, so bring something along to chat about that you think will be interesting to the Lambda Lounge!

Things you could bring...

- A cool book you've read on Functional Programming or Computer Science

- An interesting paper, you've read on Computer Science, Types, Functional Programming etc...

- A neat algorithm

- An awesome API you've found

- A blog article you've found interesting.

Ideally you should be able to talk about what you've brought for a minute or two.  Feel free to bring as many things as you want to chat about - just try and keep them relevant to computer science and/or PLT

Don't worry if you don't have anything to bring - just come and join the conversations.

Aug
17
This Monday at 7pm, we'll be looking at Split-Apply-Combine a strategy for analysing data: split up the problem, apply a function, and combine the pieces.

Adopting this pattern will free you to focus on the unique aspects of your problem.

The strategy was first described by Hadley Wickham with a implementation he wrote in GNU-R. With roots in Scheme and S, R is a statistical language and computing environment offering both functional programming features (first class functions, higher-order functions, and closures) and support for objects.

Robin Gower, of Infonomics, is a data scientist with many years experience using R and he will be providing us with an overview of the split-apply-combine strategy and some live coded examples.
Jul
20

Application development with Purescript


Join us on the 20th July at 7pm at Madlab, where Becky Conning tells us about her path from Javascript to Purescript.

Becky's team uses Javascript for everything and over time has found the approaches and technologies that were helping them the most have their roots in functional programming.

Purescript is written in and inspired by Haskell. Luckily for us web developers, Purescript modules compile to CommonJS modules making  it surprisingly easy to interface between Javascript and Purescript in both directions.

There are also versions of Purescript in development that compile to Python and C++.

Becky will be sharing her excitement about the possibilities of functional programming for application development with you and we’ll building a small application to help get you motivated.

So whether you’re a Javascript developer, a seasoned functional programmer or just interested in applications come on down and get excited about Purescript and functional programming for applications!
Jun
15

Introducing Rust

This Monday at the usual time of 7pm, Michael Jones will introduce the Rust programming language from Mozilla with an overview of the goals of the project, what has been achieved so far and a focus on some of the functional influences in the language.

Rust is a systems programming language, that is gaining traction.  Its features include an innovative borrow checker, and many zero-cost abstractions to ensure type and memory safety.

May
18

Calling all Javascripters!

This Monday we have two talks talking about how to write better Javascript by using functional programming techniques.

Firstly Matthew Cannon will tell us about how the functional features of Javascript and the lodash framework helped deoderise his nodejs code.

This will be followed by Rick Moynihan giving a brief talk and discussion on why Javascripters might want to learn other functional languages.

We’re meeting at the usual time of 7pm @madlabuk, so we’ll see you there!

Mar
16
This month on Monday 16th @7pm we have Claudia Doppioslash talking about the adventures she's been having exploring the Elm programming language.

Elm is a Functional Reactive Programming language that targets the web (Javascript, Html, CSS). Reactive Programming, which has gotten in the mainstream with the Microsoft Rx extensions, is basically a better abstraction for anything that requires interactivity, like GUIs and games.

Some useful features of Elm are a Time Travelling debugger (which is remarkably similar to Bret Victors'), hot code swapping, immutability, Union Types, type inference and of course FRP.

We will be meeting at Madlab as usual.
Feb
16
On Monday February 16th at 7pm we're hosting a series of lightning talks @madlabuk.

The first talk by Michael Jones is on Facebook's React, a Javascript framework for functional DOM manipulation. 

This talk will then segway  nicely into a talk by Andrew Kirkham on the advantages of using React for Clojurescript UI's via either Om or Reagent.

In our third talk Daira Hopwood gives an introduction to the cool things you can do with dependent types and how they can help you write safer code.

We still have room for another lightning talk so if you'd like to talk for ~10-20mins, we'd love to listen!

Jan
29
This Monday @RickMoynihan will be introducing Grafter, an opensource Clojure DSL developed by Swirrl to solve the hard graft of linked data ETL

We'll look at how Clojure's affordances make it a natural language for simplifying the process of cleaning tabular data and converting it into linked graph data and how we're  building an interactive environment for lay users to write purely functional programs.

As usual we'll be meeting at 7pm at Madlab.