Тёмный

The Essence & Origins of Functional Reactive Programming • Conal Elliott • YOW! 2015 

GOTO Conferences
Подписаться 1 млн
Просмотров 4,2 тыс.
50% 1

This presentation was recorded at YOW! 2015. #GOTOcon #YOW
yowcon.com
Conal Elliott - Independent Researcher
ABSTRACT
Functional Reactive Programming (FRP) is now 20 years old. Although originally motivated by interactive 3D computer graphics, FRP is a general paradigm for describing dynamic (time-varying) information. Such information had traditionally been described in software only indirectly, as successive side effects of sequential execution. In contrast, FRP expressions describe entire evolutions of values over time, representing these evolutions directly as first-class values. From the start, FRP has been based on two simple and fundamental principles, namely (a) having a precise and simple denotation and (b) continuous time. The first property, which Peter Landin called “denotative” (and “genuinely functional”), applies across problem domains and ensures a precise, implementation-independent specification, insulated from operational details as found in efficient implementations. As such, denotative systems can be reasoned about practically and rigorously. The second property (temporal continuity) is domain-specific and is crucial for simple composability, natural specification of behavior via integration and differentiation, and adaptively efficient implementations.
Over the last few years, something about FRP has generated a lot of interest among programmers, inspiring several so-called “FRP” systems implemented in various programming languages. Most of these systems, however, lack both of FRP’s fundamental properties. Missing a denotation, they’re defined only in vague and/or operational terms (e.g. “graphs” and “update propagation”). Missing continuous time, they fail to provide temporal modularity (sampling-independence and natural temporal transformability), committing prematurely to sampling rates that may turn out to be too low for accuracy or too high for efficiency. (Discrete notions of imagery have these same drawbacks, remedied by vector graphics and other continuous models.) For the same reason, these systems cannot express behaviors as integrals or derivatives and must instead express explicit approximations, leading to cluttered code with poor quality and/or performance.
In this talk, I’ll share with you the essence of the original (denotative and continuous) FRP. You’ll see the thought processes that led to its design, including the care I took to keep the specification both precise and simple, and hopefully, you’ll get a sense of why you might care. As a more in-depth follow-up, the “Denotational Design” workshop explores how to use denotations to design libraries in general. [...]
RECOMMENDED BOOKS
Eric Normand • Grokking Simplicity • amzn.to/3gz7o3C
Daniel Higginbotham • Clojure for the Brave and True • amzn.to/38tZjsF
Ulisses Almeida • Learn Functional Programming with Elixir • amzn.to/389grn6
Neal Ford • Functional Thinking • amzn.to/3DdP35B
Petricek & Skeet • Real-World Functional Programming • amzn.to/38diF4M
Venkat Subramaniam • Functional Programming in Java • amzn.to/2WlOXIt
Cristian Salcescu • Functional Programming in JavaScript • amzn.to/3y75jBS
Richard Feldman • Elm in Action • amzn.to/387kujI
Jeremy Fairbank • Programming Elm • amzn.to/2WhZCE8
Wolfgang Loder • Web Applications with Elm • amzn.to/3jblQ3q
/ gotocon
/ goto-
/ gotoconferences
#FRP #FunctionalReactiveProgramming #FunctionalProgramming #ReactiveSystems #SoftwareArchitecture #EventSourcing #ConalElliott #JamesWatson #YOWcon
Looking for a unique learning experience?
Attend the next GOTO conference near you! Get your ticket at gotopia.tech
Sign up for updates and specials at gotopia.tech/n...
SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily.
www.youtube.co...

Опубликовано:

 

14 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 5   
@GOTO-
@GOTO- 2 месяца назад
We are currently releasing older YOW! videos to serve as a valuable archive, preserving historical content. It is possible that a video is perceived as outdated. We believe it offers insightful glimpses into the past, enriching our understanding of history and development.
@mistermagic4507
@mistermagic4507 Год назад
"FRP lays out values in one dimension, the dimension that we refer to as time" - I love it!
@AndreiGeorgescu-j9p
@AndreiGeorgescu-j9p 8 месяцев назад
This guy has serial killer vibes
@PlerbyMcFlerb
@PlerbyMcFlerb 6 месяцев назад
What specifically?
@musicalintuition
@musicalintuition 5 месяцев назад
I don't agree. I get a "zen" vibe.
Далее
ТИПИЧНОЕ ПОВЕДЕНИЕ МАМЫ
00:21
Просмотров 1,3 млн
Applied Category Theory • Ken Scambler • YOW! 2019
24:51
[Haskell'23] The Essence of Reactivity
28:54
Programming Paradigms - Computerphile
10:44
Просмотров 683 тыс.