{-# LANGUAGE DataKinds #-} {-# LANGUAGE GADTs #-} -- | Common utilities for Sunroof. module Language.Sunroof.Utils ( comment, fixJS ) where import Language.Sunroof.Classes import Language.Sunroof.Types -- ------------------------------------------------------------- -- Comments -- ------------------------------------------------------------- -- | Write a JavaScript comment into the generated source. comment :: String -> JS t () comment = single . JS_Comment -- ------------------------------------------------------------- -- Fixpoint combinator -- ------------------------------------------------------------- -- | @jsfix@ is the @mfix@ for the JS Monad. fixJS :: (SunroofArgument a) => (a -> JSA a) -> JS t a fixJS = single . JS_Fix