Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    "Controlling Time and Space: understanding the many formulations of FRP" by Evan Czaplicki

    Strange Loop Conference

    5 HN recommenders · recommended in 8 months, 2014–2026

    YouTube

    40:55 · 69K views · Sep 21, 2014

    Evan Czaplicki's Strange Loop 2014 talk surveys the many formulations of functional reactive programming and how they relate historically and theoretically. It then shows how Elm's variant enables hot-swapping and its time-traveling debugger.

    HN people point to it as the clearest explanation of what FRP actually means and how its flavors differ.

    Software Engineering & LanguagesFunctional programmingWeb developmentTesting, debugging & developer tools
    1. 43:04
      "Stop Writing Dead Programs" by Jack Rusher (Strange Loop 2022)Strange Loop Conference468K views • 4 years ago
    2. 31:14
      "Make the Back-End Team Jealous: Elm in Production" by Richard FeldmanStrange Loop Conference36K views • 11 years ago
    3. 34:55
      "Outperforming Imperative with Pure Functional Languages" by Richard FeldmanStrange Loop Conference98K views • 5 years ago
    4. 44:36
      Hacker Way: Rethinking Web App Development at FacebookMeta Developers900K views • 12 years ago
    5. 36:18
      "Data Driven UIs, Incrementally" by Yaron MinskyStrange Loop Conference20K views • 8 years ago
    6. 36:31
      Hey Underscore, You're Doing It Wrong!InfoQ141K views • 13 years ago
    7. 46:09
      Why Isn't Functional Programming the Norm? – Richard FeldmanMetosin1.6M views • 7 years ago
    8. 41:06
      "Unison: a new distributed programming language" by Paul ChiusanoStrange Loop Conference45K views • 7 years ago
    9. 30:41
      Dan Abramov - Live React: Hot Reloading with Time Travel at react-europe 2015ReactEurope472K views • 11 years ago
    10. 58:23
      Evan Czaplicki - Let's be mainstream! User focused design in Elm - Curry OnCurry On!82K views • 11 years ago
    11. 42:31
      "Datafun: a functional query language" by Michael ArntzeniusStrange Loop Conference9.2K views • 9 years ago
    12. 1:02:26
      Solving Problems the Clojure Way - Rafal DittwaldClojure/north87K views • 7 years ago
    13. 1:12:56
      Lecture 1A: Overview and Introduction to LispMIT OpenCourseWare421K views • 7 years ago
    14. 35:32
      Cheng Lou - On the Spectrum of Abstraction at react-europe 2016ReactEurope63K views • 10 years ago
    15. 1:12:10
      Practical Common LispGoogle TechTalks98K views • 19 years ago
    16. 43:58
      "The Economics of Programming Languages" by Evan Czaplicki (Strange Loop 2023)Strange Loop Conference141K views • 3 years ago
    17. 1:01:39
      "Simple Made Easy" - Rich Hickey (2011)Strange Loop Conference220K views • 5 years ago
    18. 1:05:51
      The Functional Programmer's Toolkit - Scott WlaschinNDC Conferences79K views • 7 years ago
    19. 31:11
      React.js Conf 2015 - Immutable Data and ReactMeta Developers159K views • 11 years ago
    20. 35:12
      Jake Archibald on the web browser event loop, setTimeout, micro tasks, requestAnimationFrame, ...JSConf808K views • 8 years ago

    11 comments from Hacker News

    1. @modulovalueMar 2026· in “We've had front end reactivity since 2018 – via Async Iterables”

      There's an important issue with async iterables: what's the initial value of derived "signals"? In the Dart/Flutter world, async iterables are known as streams. The biggest problem is that they are asynchronous so if you derive new streams from existing streams, you won't have a value immediately for those streams available, you'll have to wait a frame for values to propagate. That's not a problem if you're just processing data, but if you're using them in a UI framework and your UI framework is coupled to the event loop, then you have a problem. This doesn't happen with the ReactiveX approach because things are evaluated immediately, one doesn't have to wait for the event loop to tick. (A fun historical artifact is that ReactiveX has not caught on in the Dart/Flutter community around 2019-ish because it was eventually migrated to use Streams and the initial-value-problem was a real problem that made the benefits of ReactiveX not carry its weight nobody noticed that but I was heavily involved and I am still using a custom framework derived from my observations back then). If we zoom out a bit, the problem is actually that we are trying to define a computation graph and then need a strategy for evaluation it. I think Elm has actually made the biggest progress on that front (here's THE talk on that topic that shows how complicated working out all the kinks can be: this video ) I still think that functional reactive programming solves most of the problems we have in UI-land, but th

      Strongly recommendsView on HN
    2. @dcreDec 2014· in “Elm 0.14 – Simpler Core, Better Tools”

      If you're interested in Elm but don't really know what it's about, I highly recommend Evan's Strange Loop talk, "Controlling Time and Space: understanding the many formulations of FRP." It will help to already have a bit of background in functional programming. this video

      Strongly recommendsView on HN
    3. @michaelsbradleyNov 2015· in “React vs. Angular 2”

      It's been around in various forms, and implemented on top of various languages, for quite some time. The earliest full-fledged FRP implementation for JavaScript was Flapjax – work on it dates all the way back to 2006! [LINK] The paper Flapjax: A Programming Language for Ajax Applications is worth reading. [LINK] The principal designer and maintainer of the Elm Language (a functional reactive lang that compiles to JS) did his Master's Thesis on FRP, and that's a great resource if you want the big picture: [LINK] See also Controlling Time and Space: understanding the many formulations of FRP , by the same author: this video

      RecommendsView on HN
    4. @ghuntleyJan 2016· in “New Adventures for Elm”

      For those just getting started in FRP or whom may have not seen the presentations at StangeLoop: - this video - Controlling Time and Space: understanding the many formulations of FRP by Evan Czaplicki (Elm language designer/Prezi) - [LINK] - FRP In Practice: Taking a look at Reactive[UI/Cocoa] by Paul Betts (Slack/GitHub) - [LINK] - ReactiveUI - It's pretty neat by Brendan Forster (GitHub)

      RecommendsView on HN
    5. @platzNov 2014· in “Introduction to Reactive Programming”

      > "FRP is programming with asynchronous data streams." Maybe, if you drop the F. For clarification on FRP there was a great talk at strangeloop this year: this video

      RecommendsView on HN