YOW! Lambda Jam 2021 Day 1

Wed, May 5
Timezone: Australia/Melbourne (AEST)
08:45

    Session Overviews and Introductions - 15 mins

09:00
  • Added to My Schedule
    keyboard_arrow_down
    Don Syme

    Don Syme - What’s new in F# 5.0 and beyond

    schedule  09:00 - 09:45 AM place Grand Ball Room 1 star_halfRate

    The F# language delivers practical, enjoyable, and productive programming for the era of the cloud. At the core of F# is succinct, performant functional-first programming, compiling to both .NET and Javascript, with cross-platform, open-source toolchains for those at home in either ecosystem.

    In this talk I’ll describe how in F# 5.0 and beyond we are adding more magic right across the F# stack – keeping programming simple and correct yet delivering the features you need for maximum productivity:

    • Added expressivity and performance for DSLs using F# computation expressions
    • High-performance state machines and resumable code for functional DSLs for collections, tasks, asynchronous sequences, and more
    • Improved package management integration in F# scripting
    • Interactive notebooks and a wide range of other tooling improvements
    • F# analyzers, e.g. for additional shape checking in AI tensor programming
    • Turnkey programming stacks for the client, server, and full-stack programming

    Join me for this walk through the latest in 2021 for F#

09:45

    Break / Q&A with Don Syme - 25 mins

10:10
10:40

    Break / Q&A with Bruce Tate - 25 mins

11:05
11:35

    Break / Q&A with Daniel Spiewak - 25 mins

12:00
  • Added to My Schedule
    keyboard_arrow_down
    Dana Ma

    Dana Ma - Abstract Fun-sense: a functional perspective on life

    schedule  12:00 - 12:30 PM place Grand Ball Room 1 star_halfRate

    Everything can be a function if you look at it the right way; we can characterise familiar concepts like sets, lists and even plain values as functions.

    Thinking about such basic objects as functions can seem unnecessarily abstract, but it isn’t just an exercise in increasingly intimidating notation! It turns out to be an elegant perspective that allows us to glimpse a more powerful abstraction.

    In this talk, we’ll see how playing with this notion leads to the Yoneda Lemma, a key result in category theory. We’ll build up some intuition and motivation for the Yoneda Lemma, and return to the notion of viewing objects as functions to appreciate some of its implications.

12:30

    Break / Q&A with Dana Ma - 25 mins

12:55

    Lunch - 30 mins

13:25
  • Added to My Schedule
    keyboard_arrow_down
    K C Sivaramakrishnan

    K C Sivaramakrishnan - Effective Programming in OCaml

    schedule  01:25 - 01:55 PM place Grand Ball Room 1 star_halfRate

    Effect handlers have been gathering momentum as a mechanism for modular programming with user-defined effects. Effect handlers allow for non-local control flow mechanisms such as generators, async/await, lightweight threads and coroutines to be composably expressed. The Multicore OCaml project retrofits effect handlers to the OCaml programming language to serve as a modular basis of concurrent programming. In this talk, I will introduce effect handlers in OCaml, walk through several examples that illustrate their utility, describe the retrofitting challenges and how we overcome them without breaking the existing OCaml code. Our implementation imposes negligible overhead on code that does not use effect handles and is efficient for code that does. Effect handlers are slated to land in OCaml after the addition of parallelism support.

13:55

    Break / Q&A with KC Sivaramakrishnan - 25 mins

14:20
  • Added to My Schedule
    keyboard_arrow_down
    Jakub Kozłowski

    Jakub Kozłowski - Connecting the dots - building and structuring a functional application in Scala

    schedule  02:20 - 02:50 PM place Grand Ball Room 1 star_halfRate

    Functional programming relies on building programs from orthogonal, composable blocks. That's likely one of the reasons why full-blown application frameworks haven't gained much traction in the functional ecosystem.

    However, we still need to structure our code and wire up our applications in a way that lets us keep them modular, testable and simply pleasant to work with - in this talk, we will learn how to do just that!

    In this talk, we will walk through the architecture design and testing setup for a functional app on the Typelevel stack that integrates with several third-party services to process data in a streaming fashion, and expose its results to downstream clients.

14:50

    Break / Q&A with Jakub Kozłowski - 25 mins

15:15
  • Added to My Schedule
    keyboard_arrow_down
    Lars Hupel

    Lars Hupel - A History of Enterprise Monads

    schedule  03:15 - 03:45 PM place Grand Ball Room 1 star_halfRate
     

    The early 2010’s were exciting times for Scala. The language & ecosystem started to professionalize, both from a technical (binary compatibility) and a community point of view (many conferences were started). Not too long after Lightbend – then Typesafe – was founded, I registered the typelevel.org domain on a whim and put together a rudimentary website advertising a few FP-minded Scala libraries. Fast forward to today: Typelevel is known for a wealth of functional libraries, beginner-friendly educational resources, a series of conferences and a distinct ecosystem – including a custom compiler – within the Scala community. In this talk, I’d like to examine what got us there and into the mainstream.

15:45

    Break / Q&A with Lars Hupel - 25 mins

16:10
16:40

    Break / Q&A with Yann Hamdaoui - 25 mins

17:05
17:50

    Break / Q&A with Simon Peyton Jones - 25 mins

YOW! Lambda Jam 2021 Day 2

Thu, May 6
08:45

    Session Overviews and Introductions - 15 mins

09:00
09:45

    Break / Q&A with Rúnar Bjarnason - 25 mins

10:10
10:40

    Break / Q&A with Jonathan Carstens - 25 mins

11:05
11:35

    Break / Q&A with David Vollbracht and Trevis Elser - 25 mins

12:00
12:30

    Break / Q&A with Noam Zilberstein - 25 mins

12:55

    Lunch - 30 mins

13:25
  • Added to My Schedule
    keyboard_arrow_down
    Robin Hilliard

    Robin Hilliard - Elixir for UAV Avionics

    schedule  01:25 - 01:55 PM place Grand Ball Room 1 star_halfRate

    Fault tolerant, concurrent, distributed and functional with superior binary wrangling capabilities and network/device connectivity - the Erlang platform designed to run the world's telephony systems also turns out to be a perfect fit for autonomous aerial vehicle control software.

    In this presentation Robin will give a brief introduction to  the world of autonomous aircraft, autopilots, onboard companion computers, ground stations and communication links. He will demonstrate the use of his open source Elixir MAVLink library to communicate with an Ardupilot autopilot from Elixir code, which in turn will control an  accurate X-Plane simulation of a large UAV he has been working with since 2014.

13:55

    Break / Q&A with Robin Hilliard - 25 mins

14:20
  • Added to My Schedule
    keyboard_arrow_down
    George Wilson

    George Wilson - Cultivating an Engineering Dialect

    schedule  02:20 - 02:50 PM place Grand Ball Room 1 star_halfRate

    Haskell has seen success in commercial environments, with teams of professional engineers choosing it for its claims of reliability, a rapid development pace, and easier maintenance over the long term. On top of that, a large community of hobbyist tinkerers and academic researchers are always releasing new and exciting abstractions, libraries, and language extensions, each offering improved ways to structure, build, and test our programs.

    Engineering teams have diverse knowledge and skill levels, and new team members need to come up to speed to work effectively. This poses us a challenge: which abstractions, libraries, and language extensions should we choose from the ever-growing pool? How should we determine what level of Haskell to adopt? Should we always embrace the cutting-edge to squeeze out every advantage, leaving new hires in the dust? Should we reject novelty and focus only on the “simple” or “boring” ways of doing things, even if doing so gives up some potential effectiveness?

    This talk will bring clarity to these questions. Rather than prescribe a uniform solution, we offer you the tools of thought to make informed, intentional decisions, and cultivate an engineering dialect that works for you.

14:50

    Break / Q&A with George Wilson - 25 mins

15:15
  • Added to My Schedule
    keyboard_arrow_down
    Dr. Niki Vazou

    Dr. Niki Vazou - Resource Analysis with Refinement Types

    schedule  03:15 - 03:45 PM place Grand Ball Room 1 star_halfRate

    Liquid Haskell is an extension of Haskell’s Type system that allows annotating types with refinement predicates. It’s great for ensuring the correctness of your code, but it can also be used to improve the performance of your code.

    If you track your resources then Liquid Haskell can be used to statically bound the resources needed at runtime, thus statically deciding how performant your code is. You are liquidating your assets.

    To track resource we define a `Tick monad that ticks each time a resource (ranging recursive calls to thunks) is used. Then we use refinement types to statically approximate the number of ticks that can occur at runtime. This reasoning aids runtime code optimization, since it can be used to compare resource usage of two different programs.

    In this talk, I will present this technique through small examples (sorting algorithms and mapping) and discuss the advantage and current limitations on real-world code adaptation.

15:45

    Break / Q&A with Dr Niki Vazou - 25 mins

16:10
16:40

    Break / Q&A with John Hughes - 25 mins

17:05
17:50

    Break / Q&A with José Valim - 25 mins

help