WASM hello world

This commit is contained in:
Sidharth Kulkarni 2026-05-10 09:24:48 -07:00
parent 38838c47b9
commit 77ee0c0abb
Signed by: skulk
SSH key fingerprint: SHA256:Jby+S9d1WmwqnXIrngHgccYNHz+cYquxN1zm3ym3Kbg
9 changed files with 121 additions and 46 deletions

19
app/App.hs Normal file
View file

@ -0,0 +1,19 @@
module App where
import Reflex
import Reflex.Dom.Core
import Language.Javascript.JSaddle
testWidget ::
( DomBuilder t m
, DomBuilderSpace m ~ GhcjsDomSpace
, MonadHold t m
, PostBuild t m
) =>
m ()
testWidget = elAttr "div" ("class" =: "content") do
text "hello, world!"
start :: JSM ()
start = mainWidget testWidget

View file

@ -1,4 +1,12 @@
{-# LANGUAGE CPP #-}
module Main (main) where
import App qualified
import Language.Javascript.JSaddle
import Language.Javascript.JSaddle.Wasm qualified as W
foreign export javascript "hs_start" main :: IO ()
main :: IO ()
main = putStrLn "hi"
main = W.run $ App.start