[Haskell-cafe] Need some help figuring out how to use the repl with reflex using only stack

Sridhar Ratnakumar pervasiveproximity at gmail.com
Fri Jul 27 14:47:05 UTC 2018


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:
- https://github.com/obsidiansystems/obelisk
- https://youtu.be/riJuXDIUMA0?t=30m15s

Then you can just run `ob repl` to get into the repl.

cheers,
-srid
https://www.srid.ca/


On Tue, 24 Jul 2018 at 14:04, Michael Litchard <litchard.michael at gmail.com>
wrote:

> 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?
>
> https://github.com/mlitchard/reflex-todo
>
> stack repl --stack-yaml=stack-ghc.yaml
>
> Truncated error log
>
> 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
>
> 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 }
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20180727/7ef95ce6/attachment.html>


More information about the Haskell-Cafe mailing list