location_city Online schedule Mar 26th 06:00 - 06:45 PM IST place Zoom people 25 Interested

The Chunk data structure powers the fs2 (Functional Streams for Scala) streaming library. In this talk, we’ll look at the design of Chunk and in particular, how design constraints guided its evolution.

 
 

Outline/Structure of the Talk

Tour of design decisions leading to creation of the fs2.Chunk data type and its evolution over a number of years.

Learning Outcome

API design, collection asymptotics, power of constraints in design decision making

Target Audience

Folks interested in Scala and library evolution

Prerequisites for Attendees

Basic knowledge of Scala would be beneficial but not required

Video


schedule Submitted 5 months ago

  • Dean Wampler
    keyboard_arrow_down

    Dean Wampler - Lessons Learned from 15 Years of Scala in the Wild

    Dean Wampler
    Dean Wampler
    Director of Engineering
    IBM Research
    schedule 5 months ago
    Sold Out!
    45 Mins
    Keynote
    Advanced

    Scala 3 was introduced last year. It introduced significant changes to the language, many of which were motivated by the lessons learned from the past 15 or so years of actual use in many open-source and commercial applications.

    I'll explore these lessons and how Scala 3 addresses them. Many revolve around the pros and cons of implicits. Also, changes to the type system make it more "regular", robust, and expressive. Finally, the new, optional, and controversial "Python-like" syntax promotes even more brevity. It also acknowledges how influential and pervasive Python has become across our industry.

    But there are many practical areas where future work is required, many of which are larger than the scope of Scala itself. We still live in "dependency hell". We still use too many obsolete idioms that hide accidental complexity, rather than forcing us to fix it. What should we do about these issues? 

  • Bartosz Milewski
    keyboard_arrow_down

    Bartosz Milewski - Teaching Optics through Conspiracy Theories

    Bartosz Milewski
    Bartosz Milewski
    Math Evangelist
    Programming Cafe
    schedule 5 months ago
    Sold Out!
    45 Mins
    Keynote
    Advanced

    With polymorphic functions you can often tell how they are implemented by looking at their outputs. The more polymorphic the function, the more you can tell about its internal workings. Lenses, as well as more general optics, have convenient polymorphic implementations in terms of functors and profunctors. But under layers of abstractions they are hiding some simple truths. We are going to get to the bottom of this conspiracy.

  • Ben Evans
    keyboard_arrow_down

    Ben Evans - Do We Really Do FP in Java?

    Ben Evans
    Ben Evans
    Senior Principal Engineer
    Red Hat
    schedule 5 months ago
    Sold Out!
    45 Mins
    Talk
    Beginner

    Many Java developers believe that FP arrived in Java 8, with the addition of first-class lambda expressions and the Streams API. But is this really true? In this talk, Ben Evans will talk about what FP really is, examine whether Java can really be said to be FP or not - and consider whether things have improved with more recent versions, as well as some possibilities of how we could have done things differently (in another world).

  • Mourjo Sen
    keyboard_arrow_down

    Mourjo Sen - The metacircular impact of teaching FP

    Mourjo Sen
    Mourjo Sen
    Software Engineer
    Gojek
    schedule 5 months ago
    Sold Out!
    45 Mins
    Case Study
    Advanced

    Doordash recently made their software engineers deliver food to better understand how the product works. https://twitter.com/briannawu/status/1475953356644532230

    Likewise, organisations that hire junior engineers should also explore into teaching/mentoring to better understand how to not just build a team but to create a self-sustaining legacy.

    Over the last five years, I have taught programming to six people. The most consciously intentional effort being in the last eight months, where I taught programming to an experienced individual from a field that is completely unrelated to Computer Science. https://otee.dev

    In this talk, I wish to summarise my findings about what I thought would work, what actually worked, and what I could improve on in hindsight.

    It is also a critical appreciation of how functional programming concepts play a role in expediting the learner’s journey, even though it’s hard at first.

    Lastly, I also wish to introspect on how the act of teaching has changed the way I think: primarily on how teaching has made a better engineer at my day job. 

    Footnote: Learning by teaching, oddly resembles the metacircular evaluator popularised through SICP.

help