Lambda World
Lambda World
  • 107
  • 606 620
Lambda World 2024 is BACK!
Lambda World 2024 is back in Cadiz next 2-4 October.
The largest functional programming conference from South Europe is coming stronger than ever with topics such as AI & ML with FP, Software Architecture & System Design, FP in Web Development, Data with FP, Computation in functional technologies, Emerging FP Tools & Trends, etc.
3 days full of workshops, talks and social events.
Bring up your Monads buddies!
More info at: www.lambda.world
zhlédnutí: 280

Video

Lambda World 2019 - Unconference
zhlédnutí 2,3KPřed 4 lety
This functional programming unconference took place at Lambda World 2019 in Cádiz, Spain. Speaker 1 (begins at 0:00:14 - czcams.com/video/KGBLX0y-55U/video.html): Alejandro Serrano trupill Talk: Agda´s Greatest Hit Speaker 2 (begins at 0:10:48 - czcams.com/video/KGBLX0y-55U/video.html): Tomás Ruiz tomasruizlopez Talk: Functional Programming in Swift with Bow Speaker 3 (b...
Lambda World 2019 - The Reason for ReasonML - Tianyu Pu
zhlédnutí 8KPřed 4 lety
In this Lambda World 2019 presentation, Tianyu Pu provides an introduction to ReasonML, and explains the benefits of using it. Presentation Description: JavaScript is a critical part of today's programming landscape, and not just for web applications. However, its lack of static typing has given lots of developers grief over the years as they struggled with cryptic runtime error messages such a...
Lambda World 2019 - So I used Erlang...is my system as scalable as they say it'd be? - Laura Castro
zhlédnutí 3,8KPřed 4 lety
In this Lambda World 2019 presentation, Laura Castro looks at the process of testing the robustness of an Erlang-based system. Presentation Description: In the world of distributed, highly concurrent and scalable systems, few technologies can live up to Erlang/OTP's potential. But, as we often hear, with great power comes great responsibility . . . What if we have designed the architecture of o...
Lambda World 2019 - You Don't Own Me - J Haigh
zhlédnutí 1,2KPřed 4 lety
In this Lambda World 2019 presentation, J Haigh discusses the Rust programming language. Full Presentation Description: For people coming from functional languages, you may wonder when you would want to use Rust. Rust has functional patterns and takes ideas from substructural type systems. A combination of functional patterns, the borrow checker, and drop checker enable us to have nice program ...
Lambda World 2019 - What FP Can Learn From Static Introspection - Aditya Siram (Deech)
zhlédnutí 3,6KPřed 4 lety
Aditya Siram (Deech) discusses what Functional Programming can learn from static introspection. This presentation was delivered at Lambda World in Cádiz, Spain on October 18, 2019. Presentation Description: What if compile time and type level programming in functional programming languages were easy, something you reach for without even thinking about it? What if you could debug type errors wit...
Lambda World 2019 - Fun With Categories - Marco Perone
zhlédnutí 6KPřed 4 lety
In this Lambda World 2019 presentation, Marco Perone shows benefit examples of defining concepts of category theory using Idris. Full Presentation Description: Category theory provides us the setting and a common language to talk about computation and composition. Its usage pervades and inspires languages such as Haskell and Scala, lending concepts like functors and monads. Still, functional pr...
Lambda World 2019 - Implicits Revisited - Martin Odersky
zhlédnutí 5KPřed 4 lety
In this Lambda World 2019 keynote, Martin Odersky discusses the history of Scala’s implicits. He then presents the revised implicit design of Scala 3. Keynote description: I’ll talk about the history of Scala’s implicits: how they evolved, some mistakes we could have avoided in hindsight, as well as aspects I believe we got right. I then present the revised implicit design of Scala 3 and explai...
Lambda World 2019 - Language-Oriented Programming with Racket - Matthias Felleisen
zhlédnutí 20KPřed 4 lety
Lambda World 2019 - Language-Oriented Programming with Racket - Matthias Felleisen
Lambda World 2019 - A Series of Unfortunate Effects - Robert M. Avram
zhlédnutí 5KPřed 4 lety
Lambda World 2019 - A Series of Unfortunate Effects - Robert M. Avram
Lambda World 2019 - Optimising your code with math - April Gonçalves
zhlédnutí 2,9KPřed 4 lety
Lambda World 2019 - Optimising your code with math - April Gonçalves
Lambda World 2019 - Painless software development with Haskell - Paweł Szulc
zhlédnutí 30KPřed 4 lety
Lambda World 2019 - Painless software development with Haskell - Paweł Szulc
Lambda World 2019 - Arrow Meta - Enabling Functional Programming in the Kotlin Compiler
zhlédnutí 5KPřed 4 lety
Lambda World 2019 - Arrow Meta - Enabling Functional Programming in the Kotlin Compiler
Lambda World 2019 - Thinking Like a Data Scientist - Em Grasmeder
zhlédnutí 2,7KPřed 4 lety
Lambda World 2019 - Thinking Like a Data Scientist - Em Grasmeder
Lambda World 2019 - A categorical view of computational effects - Emily Riehl
zhlédnutí 25KPřed 4 lety
In this Lambda World 2019 keynote, Emily Riehl discusses category theory and computational effects. Slides are available here: www.math.jhu.edu/~eriehl/lambda.pdf Follow: - lambda_world - 47deg - emilyriehl Visit: -www.47deg.com/events for more details -www.lambda.world
Lambda World 2019 - What the F(p) is Kotlin? - Katie Levy & Shelby Cohen
zhlédnutí 3,1KPřed 4 lety
In this Lambda World 2019 presentation, software engineers Katie Levy and Shelby Cohen share their experience introducing Kotlin and Functional Programming at Intuit. Presentation description: We, as two entry level engineers, took on the challenge of introducing Kotlin and Functional Programming to our company, Intuit. Even though you all know Kotlin is a great language, we overcame the obstac...
Lambda World 2019 - Refactoring Recursion - Harold Carr
zhlédnutí 2,7KPřed 4 lety
In this Lambda World 2019 presentation, Harold Carr shows patterns of recursion using Haskell, which makes it easier for beginners to understand recursion schemes by focusing on their operation with lists. Full Presentation Description: Recursion is the fundamental looping mechanism in functional programming. This talk shows patterns of recursion using Haskell. It shows those patterns for list ...
Lambda World 2019 - Time-sensitive protocol: Links From Design to Implementation - Laura Bocchi
zhlédnutí 568Před 4 lety
This presentation by Laura Bocchi was delivered on October 18 at Lambda World 2019. Full Presentation Description: This talk will centre on developing systems where distributed components interact via asynchronous message passing, and need to follow specific interaction patterns, e.g., ad-hoc application-level protocols, such as POP2. I will discuss ongoing work towards establishing relationshi...
Lambda World 2019 - Functional Smart Contracts - Manuel Chakravarty
zhlédnutí 3,3KPřed 4 lety
In this Lambda World 2019 presentation, Manuel Chakravarty shows how blockchains are a well-suited application area for functional programming techniques. Full Presentation Description: Functional programming and blockchains are a match made in heaven! The immutable and reproducible nature of distributed ledgers is mirrored in the semantic foundation of functional programming. Moreover, the con...
A look inside Lambda World Cadiz 2019
zhlédnutí 1,6KPřed 4 lety
A look inside Lambda World Cadiz 2019
Lambda World Cádiz is returning this October
zhlédnutí 1KPřed 5 lety
Lambda World Cádiz is returning this October
Lambda World 2018 - Functional Programming Unconference
zhlédnutí 1,1KPřed 5 lety
Lambda World 2018 - Functional Programming Unconference
Lambda World 2018 - Imposter Syndrome and Individual Competence - Jessica Rose
zhlédnutí 991Před 5 lety
Lambda World 2018 - Imposter Syndrome and Individual Competence - Jessica Rose
Lambda World 2018 - Boring use cases for exciting types - Itamar Ravid
zhlédnutí 1,8KPřed 5 lety
Lambda World 2018 - Boring use cases for exciting types - Itamar Ravid
Lambda World 2018 - Rust and Haskell, sitting in a tree - Lisa Passing
zhlédnutí 10KPřed 5 lety
Lambda World 2018 - Rust and Haskell, sitting in a tree - Lisa Passing
Lambda World 2018 - The Complexity Trap: Think Before You Leap - Daniel Westheide
zhlédnutí 2,5KPřed 5 lety
Lambda World 2018 - The Complexity Trap: Think Before You Leap - Daniel Westheide
Lambda World 2018 - Functional Programming in Anger - David Nolen
zhlédnutí 10KPřed 5 lety
Lambda World 2018 - Functional Programming in Anger - David Nolen
Lambda World 2018 - How to make ad hoc proof automation less ad hoc - Aleksandar Nanevski
zhlédnutí 507Před 5 lety
Lambda World 2018 - How to make ad hoc proof automation less ad hoc - Aleksandar Nanevski
Lambda World 2018 - MirageOS, towards a smaller and safer OS - Romain Calascibetta
zhlédnutí 3,3KPřed 5 lety
Lambda World 2018 - MirageOS, towards a smaller and safer OS - Romain Calascibetta
Lambda World 2018 - A roadtrip with monads: from MTL, through tagless to BIO - Paweł Szulc
zhlédnutí 2,7KPřed 5 lety
Lambda World 2018 - A roadtrip with monads: from MTL, through tagless to BIO - Paweł Szulc

Komentáře

  • @MrTruthAndFacts
    @MrTruthAndFacts Před 6 dny

    Finally. One of the best functional programming conferences

  • @alexeychikilevsky4655

    Здорово упростили. Выкинув из выступление понятие монойда. Но все-таки стоило бы оставить.Иначе сразу непонятно зачем там IdA например. Для чего.

  • @maxg3626
    @maxg3626 Před 13 dny

    that's why I'm in love in Haskell

  • @letslearnwithbob
    @letslearnwithbob Před 23 dny

    REBOL, Red and Meta!!

  • @OriginalFootprintz
    @OriginalFootprintz Před měsícem

    Complexity would be fiddling with the mic adjusting its settings, instead of switching to a different one

  • @skibaa1
    @skibaa1 Před 6 měsíci

    27:23 I understand this question as is there another way except flatMap to fulfil the monad conditions with lists? Any bind with return should do nothing and any f looking like A -> list(B) should give the same result if instead of calling on A it would be called on return(A) followed by bind(f). It is not easy to come with a working example for lists, and for Maybe there simply no other implementation obiding these rules

  • @laughingvampire7555
    @laughingvampire7555 Před 10 měsíci

    I wouldn't say that functional programming concentrates in computing results rather than performing actions, I would say decouples computing results from performing actions, giving a clean semantics to both of them.

  • @laughingvampire7555
    @laughingvampire7555 Před 10 měsíci

    what we need is an audio filter to automatically remove breathing from the recording.

  • @laughingvampire7555
    @laughingvampire7555 Před 10 měsíci

    The problem of this approach is that arrives too late, arrives when people already did that in those scripting languages, people already had their DSL obsession in Ruby and other scripting languages. Another thing is that the Haskell community have done an amazing job, proving to the entire world with code and not just with talks that types matter and types are an excellent tool to conquer complexity. And this is why TypeScript and Rust have won lots of followers. For instance in the world of the web, Elm is the superior option and is a DSL that abstracts a FRP framework, and is amazing and a lot more helpful and the reason is that it had careful development for years. All languages to be useful rely on tooling to support them, syntax highlighting, style checking, etc. We also come form the massive industry headache with microservices and we have learned the importance of having monoliths and scaling vertically first before considering the possibility of distributed systems. Meaning that we have to use languages that perform faster so we need types for performance as much as types for verification. So this talk sounds obsolete, unless he is willing to do what he doesn't want to do and is to get involved in sophisticated typing with dependent types that help to produce fast performing software because most of the scripting languages perform at 8% of compiled languages like Rust and at 20% of compiled languages like Go.

  • @laughingvampire7555
    @laughingvampire7555 Před 10 měsíci

    well, verification and GADTs have proven to conquer complexity and untyped languages like lisp have proven to increment complexity. and I agree that behind every library there is a language that wants to come up, but the way we can make all these language interact successfully for all the goals of software in general and products in particular is with a robust, flexible, powerful and ergonomic Verification system.

  • @ColbyARussell
    @ColbyARussell Před 10 měsíci

    At ~@4:00 Aditya is talking about custom visualizers for one's libraries. Around the release of Firefox 4, when some folks who had worked on Firebug were tapped to work on Firefox's new, integrated inspector and other Web Developer tools (ultimately set to displace Firebug itself-which it did-and obviate the need for the older, XUL-based DOM Inspector-which it did not), I had been maintaining the original DOM Inspector, still useful for browser extension developers and people hacking on Firefox's own UI, and I realized based on the way things were going with the work that the new devtools team who'd gotten spliced in were doing, all they were really going to achieve was to pull off Firebug-in-the-browser at best. So I set out at the time to write a replacement for the legacy DOM Inspector that both retained and highlighted some aspects of its architecture that Firebug and its clones lacked. Hewitt had done a really good job at that part, so the inspector's "framework" was basically akin to UNIX pipes, but in graphical form-with pluggable viewers that could take the output of one as the input to another-there just wasn't a lot of obvious visual affordance for it in the UI that made it clear that this was happening under the hood or that you could string them together in sequence to the nth degree (rather than a fixed, two-pane inspector layout, with the document tree on the left and e.g. the CSS viewer on the right). While I was still maintaining the legacy DOM Inspector, I started on a from-scratch rewrite that would also incorporate the sort of Miller columns-inspired design that ultimately ended up in Glamorous Toolkit. That was in 2013, 2014, though-and then the-powers-that-be at Mozilla Corp announced finally that XUL was *definitely* going to go by the wayside as the Firefox product team began chasing Chrome's tail and would implement instead its newer but unfortunately far more limited WebExtension standard. This would have completely killed the ability to install a replacement inspector, so I stopped working on it (and called it quits on my involvement with Mozilla once and for all, which I had been contributing to since 2006). Huge bummer. I'm not saying I need to have been to have done it, but we'd be way better off today (not to mention in the meantime) with an inspector that was designed to embody these principles and fostered the culture that Aditya talks about at the very top of this presentation. And there's no reason it should have needed to be constrained to the browser, either-a general purpose framework for inspecting/debugging any and every application and component on one's desktop at any given moment would have been a huge boon to system introspectability, developer productivity, end-user control, and free/open source software and computing generally. Unfortunately, we just ended up with Firebug-reimplemented-inside-the-browser instead...

  • @jeanrodrigues6249
    @jeanrodrigues6249 Před rokem

    sudo

  • @jeanrodrigues6249
    @jeanrodrigues6249 Před rokem

    declare

  • @nomoredarts8918
    @nomoredarts8918 Před rokem

    It's funny how we fix javascript/typescript issues with tools like ReasonML, ReScript and Elm, but still fallback to use TS because of business decisions that in the end cost millions of dollars

  • @jameskim4274
    @jameskim4274 Před rokem

    Rename it to "Painless software development with cabal")

  • @FilosSofo
    @FilosSofo Před rokem

    Heh. You spelled "painful" wrong.

  • @AhmedKhaled-sj1zx
    @AhmedKhaled-sj1zx Před rokem

    The Accent tho

  • @logauit
    @logauit Před rokem

    interesting talk! Thank you!

  • @roymath
    @roymath Před rokem

    What a great presentation. I particularly liked the implementation of compose and curry, and this made lenses more comprehensible

  • @kinjalbasu1999
    @kinjalbasu1999 Před rokem

    Video starts at 3:50

  • @michakobukowski1309

    Maybe it is painless later. But to setup Haskell on the computer is excruciating. I could never figure out how to do it correctly. Always a bunch of installation errors. Ghcup, stack, doesn't matter. You will loose hours to make it work for a day. It'll stop working another day and you won't be able to figure out why.

  • @NoahNobody
    @NoahNobody Před rokem

    I'm just discovering smalltalk and found this to be a great introduction to the environment.

  • @eadwacer524
    @eadwacer524 Před rokem

    Take a drink every time computation or computational is said.

  • @Bratjuuc
    @Bratjuuc Před rokem

    That's some overcomplicated way to tell the associativity of monad's "join" natural transformation property join . fmap join == join . join "join" after "joining" within is the same as "joining" after "joining" from outside

  • @sbditto85
    @sbditto85 Před rokem

    I want this as a “childrens book” so someone could read it and show me the pictures every night. Very cool style of talk!

  • @adorinadorin
    @adorinadorin Před rokem

    Intriguing...

  • @librarygangster9108
    @librarygangster9108 Před 2 lety

    Very clear. ty very much!

  • @francois9184
    @francois9184 Před 2 lety

    hello Ben, how can i create a random between two values to control a parameter in Faust?

  • @sasek118
    @sasek118 Před 2 lety

    Reksio <3

  • @michaelkohlhaas4427
    @michaelkohlhaas4427 Před 2 lety

    *Thank you!*

  • @micknamens8659
    @micknamens8659 Před 2 lety

    Another cool feature in the finder is search by example. You provide the input parameter values and the expected result value. The finder shows you all methods which pass this test in a second.

  • @micknamens8659
    @micknamens8659 Před 2 lety

    Why not using the Kleisli algebras for the monads? What's the difference?

  • @micknamens8659
    @micknamens8659 Před 2 lety

    38:15 What is the definitions of "Ty" and "Inn"?

  • @micknamens8659
    @micknamens8659 Před 2 lety

    37:40 Why is the productId a Unit? It would be more realistic to have an enumeration type in the range 1..4 or ProductId = A | B | C | D.

  • @petergoodall6258
    @petergoodall6258 Před 2 lety

    Identity required for isomorphism - my question answered ✅

  • @a0um
    @a0um Před 2 lety

    Rule of thumb for better presentations: if your slide is mostly blank you should increase the font size.

  • @user-zq8bt6hv9k
    @user-zq8bt6hv9k Před 2 lety

    5:51

  • @code_report
    @code_report Před 2 lety

    Amazing talk.

  • @DanyilDvorianov
    @DanyilDvorianov Před 2 lety

    So Polysemy is the same as free monads (freer library)? Or what is the difference?

    • @murakas55
      @murakas55 Před 2 lety

      The readme says "It's like freer-simple but more powerful", unfortunately don't know what that "more powerful" means there :)

  • @bradspicer5102
    @bradspicer5102 Před 2 lety

    Very good and funny videos bring a great sense of entertainment!

  • @maxyazhbin826
    @maxyazhbin826 Před 2 lety

    One of the best talks

  • @badwolf8112
    @badwolf8112 Před 2 lety

    programming language people focus on verification because it's the easier problem? not sure if it was a joke but i heard proving incrementing a variable is hard

  • @haskellacademy7497
    @haskellacademy7497 Před 2 lety

    25:31

  • @bibliusz777
    @bibliusz777 Před 2 lety

    🙏

  • @lopezb
    @lopezb Před 2 lety

    The category of natural numbers with matrices only seems strange because this underlying structure is hidden: associate each number n with R^n. Then it's also clear why 0 is not allowed. There's no vector space R^0.

    • @jonathanlong4042
      @jonathanlong4042 Před rokem

      R^0 is a perfectly good vector space. It's zero-dimensional, has only one element (zero) and has a basis given by the empty set. (In fact it's a rather important space, being both the initial and terminal object in any category of vector spaces.) I think the only reason zero is excluded in the example brought up in this talk is that we usually don't have empty matrices in mind when we think of matrices. But there's nothing wrong with them, they're certainly useful in programming, and in fact Emily includes zero in her later ACT 2020 talk (czcams.com/video/SsgEvrDFJsM/video.html).

    • @lopezb
      @lopezb Před rokem

      @@jonathanlong4042 Of course you are right about R^0, 0-dimensional with basis the empty set. Exactly! Maybe I was thinking something else? I will check out your link...

  • @lopezb
    @lopezb Před 2 lety

    "associative" is easy to motivate: composition is defined for 2 things, and associativity tells you how to compose 3 things. (More precisely, it tells you that the two natural ways are equal).

  • @automatescellulaires8543

    It's been 50 years from the begining of smalltalk, nearly 4 years from when this talk occured. Has anything changed ?

    • @lyingcat9022
      @lyingcat9022 Před rokem

      And 1 year from this comment… I’ll go on a limb and say No, no it hasn’t;)

    • @automatescellulaires8543
      @automatescellulaires8543 Před rokem

      @@lyingcat9022 oh boy, already 1 year.

    • @David-iq1kd
      @David-iq1kd Před 10 měsíci

      @@automatescellulaires8543 another year! Darklang had an interesting IDE, but killed it recently in favor of VS Code.

  • @MrMirville
    @MrMirville Před 3 lety

    OO might no longer be the absolute king but putting nails in his coffin and sharpening the guillotine might lead to even harsher a tyranny : evolving towards an OO constitutional monarchy might spare a lot of trouble to the future denizens of software engineering.

  • @bocckoka
    @bocckoka Před 3 lety

    excellent for SW copyrights! (JK)

  • @Yetipfote
    @Yetipfote Před 3 lety

    me, listening to the talk: media.giphy.com/media/3jN3GziOKUEmI/giphy.gif