module Examples.Grapefruit.Simple (
mainCircuit
) where
import Control.Applicative as Applicative
import Control.Arrow as Arrow
import Data.Record as Record
import FRP.Grapefruit.Signal.Discrete as DSignal
import FRP.Grapefruit.Signal.Segmented as SSignal
import Graphics.UI.Grapefruit.Item as UIItem
import Graphics.UI.Grapefruit.Circuit as UICircuit
import Graphics.UI.Grapefruit.Backend.Basic as BasicUIBackend
mainCircuit :: (BasicUIBackend uiBackend) => UICircuit Window uiBackend era () (DSignal era ())
mainCircuit = proc () -> do
rec let
title = pure "Simple"
text = SSignal.scan "*" (const . ('*' :)) push
X :& Closure := closure `With` X :& Push := push
<- window `with` just pushButton
-< X :& Title := title `With` X :& Text := text
returnA -< closure