<div dir="ltr"><span style="font-size:small;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">This doesn't directly answer your question, however in the case that all you want is to get started with a simple Reflex-DOM app, I'd suggest starting with obelisk:</span><div style="font-size:small;text-decoration-style:initial;text-decoration-color:initial">-<span> </span><a href="https://github.com/obsidiansystems/obelisk" target="_blank" style="color:rgb(17,85,204)">https://github.com/obsidiansystems/obelisk</a></div><div style="font-size:small;text-decoration-style:initial;text-decoration-color:initial">- <a href="https://youtu.be/riJuXDIUMA0?t=30m15s" target="_blank" style="color:rgb(17,85,204)">https://youtu.be/riJuXDIUMA0?t=30m15s</a></div><div style="font-size:small;text-decoration-style:initial;text-decoration-color:initial"><br></div><div style="font-size:small;text-decoration-style:initial;text-decoration-color:initial">Then you can just run `ob repl` to get into the repl.</div><div style="font-size:small;text-decoration-style:initial;text-decoration-color:initial"><br></div><div style="font-size:small;text-decoration-style:initial;text-decoration-color:initial">cheers,</div><div style="font-size:small;text-decoration-style:initial;text-decoration-color:initial">-srid</div><div style="font-size:small;text-decoration-style:initial;text-decoration-color:initial"><a href="https://www.srid.ca/" target="_blank" style="color:rgb(17,85,204)">https://www.srid.ca/</a></div><br></div><br><div class="gmail_quote"><div dir="ltr">On Tue, 24 Jul 2018 at 14:04, Michael Litchard <<a href="mailto:litchard.michael@gmail.com">litchard.michael@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><p style="box-sizing:border-box;margin:0px 0px 0.357143em;padding:0px;font-size:14px;line-height:1.42857em;color:rgb(77,87,99);font-family:verdana,arial,helvetica,sans-serif;text-decoration-style:initial;text-decoration-color:initial">I've created a minimal example to show you what I've tried. Below is also a truncated error log. Could someone help me figure out how to get ghci working with this example?</p><p style="box-sizing:border-box;margin:0.357143em 0px;padding:0px;font-size:14px;line-height:1.42857em;color:rgb(77,87,99);font-family:verdana,arial,helvetica,sans-serif;text-decoration-style:initial;text-decoration-color:initial"><a href="https://github.com/mlitchard/reflex-todo" style="box-sizing:border-box;text-decoration:none;color:rgb(125,93,138);margin:0px" target="_blank">https://github.com/mlitchard/reflex-todo</a></p><p style="box-sizing:border-box;margin:0.357143em 0px;padding:0px;font-size:14px;line-height:1.42857em;color:rgb(77,87,99);font-family:verdana,arial,helvetica,sans-serif;text-decoration-style:initial;text-decoration-color:initial">stack repl --stack-yaml=stack-ghc.yaml</p><p style="box-sizing:border-box;margin:0.357143em 0px;padding:0px;font-size:14px;line-height:1.42857em;color:rgb(77,87,99);font-family:verdana,arial,helvetica,sans-serif;text-decoration-style:initial;text-decoration-color:initial">Truncated error log</p><br><div><span style="color:rgb(77,87,99);font-family:verdana,arial,helvetica,sans-serif;font-size:14px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Error: -- While building custom Setup.hs for package jsaddle-dom-0.9.2.0 using: /home/mlitchard/.stack/setup-exe-cache/x86_64-linux/Cabal-simple_mPHDZzAJ_1.24.2.0_ghc-8.0.2 --builddir=.stack-work/dist/x86_64-linux/Cabal-1.24.2.0 build lib:jsaddle-dom --ghc-options " -ddump-hi -ddump-to-file" Process exited with code: ExitFailure 1 Logs have been written to: /home/mlitchard/projects/git/reflex-todo/.stack-work/logs/jsaddle-dom-0.9.2.0.log</span><br></div><div><span style="color:rgb(77,87,99);font-family:verdana,arial,helvetica,sans-serif;font-size:14px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div><span style="color:rgb(77,87,99);font-family:verdana,arial,helvetica,sans-serif;font-size:14px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="font-family:monospace,monospace;white-space:pre-wrap;text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Preprocessing library jsaddle-dom-0.9.2.0...
[587 of 599] Compiling JSDOM.Custom.XMLHttpRequest ( src/JSDOM/Custom/XMLHttpRequest.hs, .stack-work/dist/x86_64-linux/Cabal-1.24.2.0/build/JSDOM/Custom/XMLHttpRequest.o )

/home/mlitchard/projects/git/reflex-todo/.stack-work/downloaded/Vheiln5kqwE0/src/JSDOM/Custom/XMLHttpRequest.hs:39:46: error:
    • Could not deduce (Control.Monad.Catch.MonadThrow
                          Language.Javascript.JSaddle.Types.JSM)
        arising from a use of ‘throwM’
      from the context: MonadDOM m
        bound by the type signature for:
                   throwXHRError :: MonadDOM m => Maybe XHRError -> m ()
        at src/JSDOM/Custom/XMLHttpRequest.hs:38:1-53
    • In the second argument of ‘(.)’, namely ‘throwM’
      In the second argument of ‘maybe’, namely ‘(liftDOM . throwM)’
      In the expression: maybe (return ()) (liftDOM . throwM)

/home/mlitchard/projects/git/reflex-todo/.stack-work/downloaded/Vheiln5kqwE0/src/JSDOM/Custom/XMLHttpRequest.hs:42:20: error:
    • No instance for (Control.Monad.Catch.MonadMask
                         Language.Javascript.JSaddle.Types.JSM)
        arising from a use of ‘bracket’
    • In the first argument of ‘(.)’, namely ‘bracket aquire id’
      In the expression: bracket aquire id . const
      In an equation for ‘withEvent’:
          withEvent aquire = bracket aquire id . const

/home/mlitchard/projects/git/reflex-todo/.stack-work/downloaded/Vheiln5kqwE0/src/JSDOM/Custom/XMLHttpRequest.hs:45:31: error:
    • Could not deduce (Control.Monad.Catch.MonadCatch
                          Language.Javascript.JSaddle.Types.JSM)
        arising from an operator section
      from the context: MonadDOM m
        bound by the type signature for:
                   send' :: MonadDOM m => XMLHttpRequest -> Maybe JSVal -> m ()
        at src/JSDOM/Custom/XMLHttpRequest.hs:44:1-62
    • In the expression: (`onException` abort self)
      In the second argument of ‘($)’, namely
        ‘(`onException` abort self)
         $ do { result <- liftIO newEmptyMVar;
                r <- withEvent
                       (onAsync self Generated.error . liftIO
                        $ putMVar result (Just XHRError))
                     $ withEvent
                         (onAsync self abortEvent . liftIO
                          $ putMVar result (Just XHRAborted))
                       $ withEvent (onAsync self load . liftIO $ putMVar result Nothing)
                         $ do { void
                                $ case mbVal of {
                                    Nothing -> ...
                                    Just val -> ... };
                                liftIO $ takeMVar result };
                throwXHRError r }’
      In the expression:
        liftDOM
        $ (`onException` abort self)
          $ do { result <- liftIO newEmptyMVar;
                 r <- withEvent
                        (onAsync self Generated.error . liftIO
                         $ putMVar result (Just XHRError))
                      $ withEvent
                          (onAsync self abortEvent . liftIO
                           $ putMVar result (Just XHRAborted))
                        $ withEvent (onAsync self load . liftIO $ putMVar result Nothing)
                          $ do { void
                                 $ case mbVal of {
                                     Nothing -> ...
                                     Just val -> ... };
                                 liftIO $ takeMVar result };
                 throwXHRError r }</span><br></span></div></div>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
To (un)subscribe, modify options or view archives go to:<br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
Only members subscribed via the mailman list are allowed to post.</blockquote></div>