Adam,
On Mon, 2013-05-20 at 13:37 +0100, Adam Gundry wrote:
> Hi Nicolas,
>
> Your design doesn't look too unreasonable, though I haven't looked at in
> detail. I do have a quick observation regarding the implementation that
> I hope might help. Your gist defines
>
> > class MonadLog m a where
>
Miguel,
On Mon, 2013-05-20 at 16:38 +0400, Miguel Mitrofanov wrote:
> :t runMemLog (runTransitionT $ demo 1)
> runMemLog (runTransitionT $ demo 1)
> :: MonadLog (MemLog a) () => Log a -> ((), [Command ()])
>
> That means, that "foo", if you manage to compile it, would have type MonadLog
> (Mem
Hi Nicolas,
Your design doesn't look too unreasonable, though I haven't looked at in
detail. I do have a quick observation regarding the implementation that
I hope might help. Your gist defines
> class MonadLog m a where
> getEntry :: Index -> m (Entry a)
>
> instance MonadLog (MemLog a) a
and
:t runMemLog (runTransitionT $ demo 1)
runMemLog (runTransitionT $ demo 1)
:: MonadLog (MemLog a) () => Log a -> ((), [Command ()])
That means, that "foo", if you manage to compile it, would have type MonadLog
(MemLog a) () => ((), [Command ()]). That means that in each call for foo it
would b
All,
Since I'm stuck on a coding problem and can't figure out how to proceed,
I decided to call for help.
I'm unable to get some code to typecheck, so maybe I'm missing something
obvious on the implementation side, or more likely the design is
completely wrong.
Here's the idea: I have some code