
Frontend Engineering Sydney talks – You Don't Know Functional
Kyle Simpson
Canva was proud to host Frontend Engineering Sydney for the third time earlier this month. Kyle Simpson, open web evangelist and author of “You Don’t Know JS”, Cathy Lill of Data61 and Canva’s own Damon Oehlman spoke about different aspects of functional programming for frontend development.
Kyle Simpson - FPO and fasy
Kyle began his talk with the “world’s quickest functional programming primer”, covering pure functions, higher order functions and closure, partial application and currying, composition and iterations in five slides. He then talked about two Functional libraries he has written, FPO and fasy.
FPO (pronounced eff-poh) stands for “functional programming in object style”, and allows you to name arguments instead of juggling argument order. Fasy (pronounced like “Tracy”) allows you to apply functional programming concepts like map and reduce to asynchronous programming. Both were initially written as teaching tools, but Kyle and many others have since used them in production code.
Kyle Simpson came to us courtesy of the Web Directions Summit conference, and his latest book, “Functional-Light JS” went on sale this month and is also available on github.
The slides from @getify’s talk at Frontend Engineering Sydney last week are up: https://t.co/iidM81t2gZ
— Canva Engineering (@CanvaTech) November 12, 2017
Cathy Lill - Intro to Reflex FRP
Cathy Lill is a software engineer at Data61 (CSIRO), and spoke about Reflex, a Haskell library for building UIs. Reflex allows you to write Haskell and output JavaScript thanks to the ghcjs compiler. Cathy first took us through getting up and running with Reflex and an introduction to Functional Reactive Programming. She continued with some demonstrations (apologies that the video hasn’t captured the screen well here) and wrapped up with a comparison between Reflex and React.
Damon Oehlman - Pull Streams
Canva front end engineer Damon Oehlman took us through an “unloved but extremely useful” piece of technology, pull streams. Pull streams are a reinvention of node streams, as Damon describes:
Picture yourself drinking from a bubbler - you turn the bubbler on, and you drink from it as fast as the water comes out. That’s like getting data from a traditional node stream. Pull streams are more like drinking from a straw. You can determine the pace that you consume the data at.
Damon took us through the basic structure of pull streams and the top-level logic of a couple of examples he wrote, including a demo that pulls images from Flickr.
FE Events: Pull Streams Talk by Damon Oehlman
Many thanks to everyone who attended! Keep an eye on @canvatech on Twitter for details of the next Frontend Engineering Sydney event, and remember to tag #frontendsyd.
Inspiring introduction from @getify at #frontendsyd:
— Joe Bell (@joebell_) November 8, 2017
Being a good person is the most important skill of any developer pic.twitter.com/CW9BjG2Wsc
@canva @CanvaTech Frontend Engineering Event ft. Kyle Simpson (@getify) + great food #frontendsyd pic.twitter.com/17DbeoH1A2
— Nicholas (@nickw444) November 8, 2017
Always a fun night at @canva for #frontendsyd - Learned all about Functional Reactive Programming with Cathy Lill. Haskell to JS, interesting! pic.twitter.com/dSfgn6b7nG
— Eamonn Bell (@eamonnbell) November 8, 2017
Last presentation: @DamonOehlman talks about pull streams and what makes them different from regular streams. pic.twitter.com/knkCPbVEIX
— Jonathan Weiss (@jonathan_weiss) November 8, 2017
loving @cathyblabla's talk for this @CanvaTech meetup. nice little gem... :) pic.twitter.com/SJPKFVCApu
— getify (@getify) November 8, 2017
Fantastic talk last nite by @DamonOehlman at the @CanvaTech meetup, about "pull streams". These seem very similar to observables, need to research more to understand similarities/differences.
— getify (@getify) November 8, 2017