Upgrade to Pro — share decks privately, control downloads, hide ads and more …

FRP. Reflex

FRP. Reflex

OdHUG June 2016 - FRP. Reflex

Sergey Bushnyak

June 25, 2016
Tweet

More Decks by Sergey Bushnyak

Other Decks in Programming

Transcript

  1. Типичные примеры • HDLs (Hardware Description Language) • Табличный редактор

    • Естественный параллелизм FRP.Reactive Programming
  2. FRP.Functional Reactive Programming • Графический интерфейс (UI) – Элементы выбора

    – Действия с мышью (устройствами ввода) • Обновление коллекций • Анимация
  3. • Reflex - cпецификация FRP и ее реализация • Образует

    платформу reflex-platform – reflex – reflex-dom – reflex-contrib FRP.Reflex
  4. • Практичный ФРП должен быть выразительными, понятными и эффективными •

    Практичный ФРП должен иметь динамическое обновление потока данных • Практичный ФРП должен использовать идеоматический Haskell FRP.Reflex
  5. Event t a Behaviour t a never :: Event t

    a constant :: a -> Behavior t a push :: (a -> PushM t (Maybe b)) -> Event t a -> Event t b pull :: PullM t a -> Behavior t a merge :: GCompare k => DMap (WrapArg (Event t) k) -> Event t (DMap k) fan :: GCompare k => Event t (DMap k) -> EventSelector t k select :: EventSelector t k -> k a -> Event t a switch :: Behavior t (Event t a) -> Event t a coincidence :: Event t (Event t a) -> Event t a FRP.Reflex
  6. Dynamic t a = Dynamic (Behavior t a) (Event t

    a) комбинация поведения и события FRP.Reflex