align-toparrow-leftarrow-rightbackbellblockcalendarcamerachatcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-crosscrosseditfacebookglobegoogleimagesinstagramlocation-pinmagnifying-glassmailmoremuplabelShape 3 + Rectangle 1outlookpersonplusImported LayersImported LayersImported Layersshieldstartwitteryahoo

Functional JS and Monad Transformers

If you get lost or stuck outside please call Tony on: [masked] or Steven on [masked].

Functional (Angular)JS by Ian Phillips

This short talk on FP in javascript will be from Ian Phillips. Ian has been programming for 40 years, cutting his teeth on Fortran and assembly language on a DEC mainframe at UQ. He was condemned to Basic when he purchased the first Apple II in Queensland, but quickly moved back to assembly language on the tiny little Apple. Ram was 4k bytes. Then discovered C. Joy, freedom, abstraction. In the 90's worked in Oracle SQL and Borland Delphi. After 2000, met java and wondered why J2ee had so much unmanageable state. Started adopting FP ideas into whatever language was being used. Has lots of python and xml. The only FP languages he has used are xquery and scala. Because javascript is the language of the web, he is acquainting himself with it. Tonight's talk is an introduction to angularjs, a powerful new declarative client-side framework, and the place of FP in such tools.

Monad Transformers by Tony Morris

What are monad transformers? Why would I use them? Why do they exist? Why do monads get transformers, but others do not?

In this talk, we will first revisit monads, then take the necessary steps to re-discover why monad transformers have come to exist and in what situations they might be used. As with all things monads, a bit of mythbusting will be necessary too. After this talk, you should be equipped to explain the reason monad transformers are a useful tool, applicable to many every-day programming situations.

Join or login to comment.

  • A former member
    A former member

    Just watched on Vimeo, so great! Thank you for the excellent talk.

    October 11, 2013

  • Steven S.

    My favourite up-and-coming language, Idris went[masked]http://www.idris-lang.org/idris-0-9-9-released/

    Edwin Brady - designer of Idris - has written a paper on an alternative to monad transformers so this spam is very pertinent to the recent talk! "Monad transformers can quickly become unwieldy when there are lots of effects to manage, leading to a temptation in larger programs to combine everything into one coarse-grained state and exception monad. In this paper I describe an alternative approach based on handling algebraic effects, implemented in the Idris programming language. I show how to describe side effecting computations, how to write programs which compose multiple fine-grained effects, and how, using dependent types, we can use this approach to reason about states in effectful programs." http://edwinb.wordpress.com/2013/03/28/programming-and-reasoning-with-algebraic-effects-and-dependent-types/

    Sadly, I haven't read the paper but I'd love to hear a talk on it!

    </spam>

    September 9, 2013

  • Steven S.

    September 9, 2013

  • Steven S.

    I noticed that Ohad Kammar has kindly uploaded those videos of Conor McBride's "Dependently-Typed Metaprogramming (in Agda)" given at the Cambridge University Computer Laboratory during August 2013. http://www.youtube.com/channel/UCqm9psjm_czCS0EXCjr3A4w/videos?view=0&sort=dd&live_view=500&flow=list

    Previously on YouTube, "Dependently Type Programming: an Agda Introduction - A series of lectures given by Conor McBride at the University of Edinburgh, Jan-March 2011". http://www.youtube.com/playlist?list=PL44F162A8B8CB7C87

    While I'm at it, don't miss the hilarious "ICFP 2012 Monday keynote. Conor McBride: Agda-curious?". http://www.youtube.com/watch?v=XGyJ519RY6Y

    September 9, 2013

  • Ian P.

    Functional-JS references were on slide 28 of http://public.phlps.com/fp-javascript.odp

    I particularly recommend the references Snoyman, Coglan.

    There's a quite well done new release from O'Reilly. Functional Javascript by Michael Fogus. Good stuff on pipelining, trampolines, protocols.

    September 6, 2013

  • Rob M.

    Ian's talk is up here now:
    http://vimeo.com/73724189
    (but I won't get to tidy up the text trimmings till tonight)

    1 · September 4, 2013

  • Rob M.

    Tony's talk is up here now:
    https://vimeo.com/73648150

    September 3, 2013

  • Rob M.

    Video processing getting some attention now. Should appear over next days.

    September 2, 2013

    • Rob M.

      I feel very affirmed. My dying wish is to apply the vector calculus from my 80's engineering degree, to code a web app using monads, to legally climb Crookneck, Beerwah and Lost World again and to own a Jota. I concede any one out of those four might be a very tall order. #2 might be my best chance ... and Play?

      1 · September 2, 2013

    • Rob M.

      (No, I'm not dying, that was stage-setting the joke.)

      1 · September 2, 2013

  • Rob M.

    Nick's news segment:
    https://vimeo.com/73607771

    September 2, 2013

  • john

    Is the code from the AngularJS demo available please.

    August 29, 2013

  • Lachlan

    Martin Odersky's Scala course is running again soon on coursera. It is an excellent introduction/refresher to FP.
    https://www.coursera.org/course/progfun

    1 · August 28, 2013

    • Steven S.

      Recommended. Then you can roll right into the 2nd part of this course: Principles of Reactive Programming https://www.coursera.o...­ with Martin Odersky, Erik Meijer and Roland Kuhn.

      August 29, 2013

  • Akitaka S.

    I find a lot of new things which I avoided. I'm trying and struggling to read contents of Monad.
    Maybe, they talked a matter of deep interest. I gaze into the depths of it.
    I didn't notice that technique can adapt ordinary language at all.

    August 27, 2013

  • Ben K.

    Whoever was chatting to me after the meetup about wanting to do a talk on their experiences with Clojure can you please hit me up? I mistakenly assumed that you were heading to the pub with us so I didn't catch your name!

    August 27, 2013

  • Raahul K.

    I'm also curious as to the best way to program functionally in JS. There are so many different ways. Which is the best way? Out of LispyScript, compiling Scala to JS, Fay, and all the other different ways. Can someone lend me a guide to the One True Way?

    August 27, 2013

  • Nick P.

    We haven't done a News session for a while, should we do that tonight as well?

    1 · August 27, 2013

    • Ben K.

      I'd say so, if you have some news. I'm always terrible at thinking of news on the spot though!

      August 27, 2013

  • George W.

    The phone number for Tony seems to be one digit short.
    I suppose I'll have to be punctual.

    August 27, 2013

    • Ben K.

      Whoops, fixed! Thanks!

      August 27, 2013

  • Rob M.

    Usual video duties.

    1 · August 19, 2013

    • Ben K.

      Thanks rob!

      August 20, 2013

  • Indika

    Definitely want to listen to Ian's wisdom. Haven't ventured into functional programming yet.

    August 19, 2013

  • Kevin P.

    New grad, Bcom infomation science, new to Bris. Keen to met up with some folk. Java

    August 12, 2013

Our Sponsors

  • iSeek Communications

    Coverage of the cost of pizza for attendees

  • NICTA

    Venue sponsor, and provides pizzas and drinks for Hack Nights

  • Red Hat

    Venue sponsor

  • Skedulo

    Coverage of the cost of pizza for attendees

People in this
Meetup are also in:

Start the perfect Meetup for you

We'll help you find just the right people

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy