Shpadoinkle-backend-snabbdom-0.1.0.1: Use the high-performance Snabbdom virtual dom library written in JavaScript.

Safe HaskellNone
LanguageHaskell2010

Shpadoinkle.Backend.Snabbdom

Documentation

newtype SnabbdomT model m a Source #

Constructors

Snabbdom 

Fields

Instances
MonadTrans (SnabbdomT model) Source # 
Instance details

Defined in Shpadoinkle.Backend.Snabbdom

Methods

lift :: Monad m => m a -> SnabbdomT model m a #

(MonadJSM m, Eq a) => Backend (SnabbdomT a) m a Source # 
Instance details

Defined in Shpadoinkle.Backend.Snabbdom

Associated Types

type VNode (SnabbdomT a) m :: Type

Methods

interpret :: (m ~> JSM) -> Html (SnabbdomT a m) a -> SnabbdomT a m (VNode (SnabbdomT a) m)

patch :: RawNode -> Maybe (VNode (SnabbdomT a) m) -> VNode (SnabbdomT a) m -> SnabbdomT a m (VNode (SnabbdomT a) m)

setup :: JSM () -> SnabbdomT a m ()

Monad m => MonadReader (TVar model) (SnabbdomT model m) Source # 
Instance details

Defined in Shpadoinkle.Backend.Snabbdom

Methods

ask :: SnabbdomT model m (TVar model) #

local :: (TVar model -> TVar model) -> SnabbdomT model m a -> SnabbdomT model m a #

reader :: (TVar model -> a) -> SnabbdomT model m a #

Monad m => Monad (SnabbdomT model m) Source # 
Instance details

Defined in Shpadoinkle.Backend.Snabbdom

Methods

(>>=) :: SnabbdomT model m a -> (a -> SnabbdomT model m b) -> SnabbdomT model m b #

(>>) :: SnabbdomT model m a -> SnabbdomT model m b -> SnabbdomT model m b #

return :: a -> SnabbdomT model m a #

fail :: String -> SnabbdomT model m a #

Functor m => Functor (SnabbdomT model m) Source # 
Instance details

Defined in Shpadoinkle.Backend.Snabbdom

Methods

fmap :: (a -> b) -> SnabbdomT model m a -> SnabbdomT model m b #

(<$) :: a -> SnabbdomT model m b -> SnabbdomT model m a #

Applicative m => Applicative (SnabbdomT model m) Source # 
Instance details

Defined in Shpadoinkle.Backend.Snabbdom

Methods

pure :: a -> SnabbdomT model m a #

(<*>) :: SnabbdomT model m (a -> b) -> SnabbdomT model m a -> SnabbdomT model m b #

liftA2 :: (a -> b -> c) -> SnabbdomT model m a -> SnabbdomT model m b -> SnabbdomT model m c #

(*>) :: SnabbdomT model m a -> SnabbdomT model m b -> SnabbdomT model m b #

(<*) :: SnabbdomT model m a -> SnabbdomT model m b -> SnabbdomT model m a #

MonadIO m => MonadIO (SnabbdomT model m) Source # 
Instance details

Defined in Shpadoinkle.Backend.Snabbdom

Methods

liftIO :: IO a -> SnabbdomT model m a #

MonadJSM m => MonadJSM (SnabbdomT model m) Source # 
Instance details

Defined in Shpadoinkle.Backend.Snabbdom

Methods

liftJSM' :: JSM a -> SnabbdomT model m a #

type VNode (SnabbdomT a) m Source # 
Instance details

Defined in Shpadoinkle.Backend.Snabbdom

type VNode (SnabbdomT a) m

runSnabbdom :: TVar model -> SnabbdomT model m a -> m a Source #

stage :: MonadJSM m => SnabbdomT a m RawNode Source #