• Double whammy: The web as a monad and C# can be functional too!

    After some excellent talks and a lovely friendly evening at the last meetup we've decided to get this show back on the road. Come along and wallow in an evening of smart people talking about cool functional stuff as well as pizza, beer and easter themed goodies to line your stomachs. And what do I always say? Why have one scoop of functional goodness when you can have 2! First up will be Luke Tebbs, a contractor and occasional trainer who has been programming in Scala for about 6 years. Luke has devised a technique and library to allow a programmer to define a user-interaction as an abstract program which can then in turn be used to derive a CLI, GUI and Web user-interface simultaneously. Cutting down on development time considerably, future-proofing code against changes in technology stacks and making it trivial to produce tests. During this talk you will learn about this library and how to use it. Next in the whammy is Dave Mateer, a C# OO programmer who has been experimenting heavily with the functional side of C# for the last 9 months. C# has gained more functional features over the last decade. This will be a beginners level 'show and tell' of Dave's journey so far. He will demo as much code and tooling as possible and finish with a real-world application. We're at The Skiff, entrance in Blackman Street. Doors open 19:00 for a 19:30 start. Afterwards there will be a jolly at the pub to have a nice chat. Tell your friends and come along! See you there.

  • Double bill: tagless final, monad transformers

    After sinking into obscurity over a year ago, the functional Brighton meet-up is making a comeback to educate and inspire like-minded folk in the dark art of functional programming. Come along to sink your teeth into some cutting edge topics in FP (and some tasty pizza too!). Watch presentations from passionate speakers and discuss your thoughts in an open, friendly environment. Their first session features two presentations: Firstly, under the guidance of Peter Perháč, we will look into monad transformers (MT); what they are, why and how to use them. Since Monad type class is not part of the Scala standard library, we will be leaning on abstractions and using data types from the Typelevel Cats library. The aim of this session is to get everyone acquainted with the idea of monad transformers (and with Cats). We will explore different ways they can be used to make your code neater and help with everyday tasks. Look at using MTs in for-comprehensions and covering a couple of lifting techniques to achieve this. We'll also explore using MTs outside of for-comprehensions, getting familiar with methods like `subflatMap`, `semiflatMap`, etc. Understanding monads and type classes is not a prerequisite for this session (though having a rough idea what they are will help). Next up, Doug Clinton will be talking about Finally Tagless in Scala, a technique for abstracting out effects, showing how this can make it easier to test your code and how it impacts the overall architecture of an application. We're at The Skiff, entrance in Blackman Street. Doors open 19:00 for a 19:30 start.

    2
  • Functional Katas

    The Skiff

    Bring your favourite functional programming language, bring a laptop (or gather around someone else’s), and we’ll start working through some Functional Katas! The Functional Kats (https://twitter.com/functionalKats) user group in Dublin describe Katas as: "a fun way to practise coding, explore new programming languages and paradigms, whether you’re new to programming or have a lot of experience. Choose a simple problem to work on, then form groups to pair program on a solution for about an hour. Each group chooses a programming language that they want to work in. At the end, groups show their solutions for fun and (non-)profit. Laughs are had." We'll accept submissions in any programming language, functional or otherwise, and compare notes to see how we can solve problems in different ways. Doors: 6.30pm Start: 7.00pm Pub: 9.00pm

    6
  • Learn You a Haskell Reading Group: Part 10

    The Skiff

    One. More. Chapter. And that chapter is... For a Few Monads More http://learnyouahaskell.com/for-a-few-monads-more We will look at reader, writer, state, and writing our own monads. Join us at 18:45 for a 19:00 start. Usual format: read the chapter, and we'll work through the text and maybe a bit of coding. Who would like to volunteer to lead the session?

    2
  • Learn You a Haskell Reading Group: Part 9

    The Skiff

    Our next (possibly last?) step with LYAHFGG is: A Fistful of Monads. In the on-line version, this is chapter 12: http://learnyouahaskell.com/a-fistful-of-monads Doors 18:45 for a 19:00 start. Would someone please volunteer to lead the session. The prep work is to read the chapter (which you'd do anyway, right? right?), and walk us through the examples, perhaps present an exercise. (https://github.com/noelmarkham/learn-you-a-haskell-exercises/blob/master/12-a-fistful-of-monads.hs)

    3
  • Learn You a Haskell Reading Group: Part 8

    The Skiff

    It's been a while since our last Learn You a Haskell session, so we'll do a quick Haskell catch up summary (Tom) and then pick off the Monoids chapter of the book (Richard). In the on-line version, Monoids is the last section of chapter 11: http://learnyouahaskell.com/functors-applicative-functors-and-monoids#monoids In some print editions, it is a chapter all to itself. Doors 18:45 for a 19:00 start.

    3
  • Learn You a Haskell Reading Group: Part 7

    The Skiff

    Our mission continues in learning Haskell using "Learn you as Haskell for Great Good". This time we we look at: • Functors, Applicative Functors and Monoids (http://learnyouahaskell.com/functors-applicative-functors-and-monoids) We are four chapters from completing the book! As usual, please read the chapter before the event, and we'll recap, discuss, and work on exercises. The chapter is online at: http://learnyouahaskell.com/functors-applicative-functors-and-monoids Thank you to Felix, Danielle, Tom, and Dave for hosting the sessions so far. Can someone please volunteer to take us through this section. Thank you! Use the comments below, or email one of the organizers. Doors open around 18:45 for a 19:00 start.

    7
  • Learn You a Haskell Reading Group: Part 6

    The Skiff

    "Functionally Solving Problems" is our topic. This is the next step in our mission to learn Haskell. As before, please read the relevant sections of Learn you a Haskell for Great Good: http://learnyouahaskell.com/functionally-solving-problems This is a relatively short chapter, so we will split the session into two: - a recap of Haskell so far - the usual notes from the chapter, discusion, hacking on an exercise. We can share the work for this session. Who would like to lead either of these two sections? Use the comments below to volunteer. Doors from 18:45 for a 19:00 start.

    2
  • Learn You a Haskell Reading Group: Part 5

    The Skiff

    More of Learn You a Haskell for Great Good (http://learnyouahaskell.com/chapters): • Input and Output (http://learnyouahaskell.com/input-and-output) This is one chapter online, but may be split into two chapters if you have a print copy of the book. Remember to read the chapter before the event. As usual we will recap what's in the chapter, work on some exercises. If you'd like to run the event, please say so in the comments for this event. We'll try to have some xmas beers and mince pies. If your company would like to sponsor the beer and cake, please let us know.

    6
  • Learn You a Haskell Reading Group: Part 4

    The Skiff

    Having "mastered" the first 6 chapters of Learn You a Haskell for Great Good (http://learnyouahaskell.com/chapters), this time we will tackle: • Modules (http://learnyouahaskell.com/modules) • Making Our Own Types and Typeclasses (http://learnyouahaskell.com/making-our-own-types-and-typeclasses) Remember to read the chapters before the event! The format will be the same as last time: we will recap what's in the chapter, work on some exercises, and then recover in the pub.

    2