On Fri, Sep 05, 2008 at 04:06:27AM -0700, Jason Dagit wrote:
> On Fri, Sep 5, 2008 at 3:47 AM, David Roundy <[EMAIL PROTECTED]> wrote:
> > On Fri, Sep 5, 2008 at 5:09 AM, Eric Kow <[EMAIL PROTECTED]> wrote:
> >> On Thu, Sep 04, 2008 at 11:07:25 -0700, Jason Dagit wrote:
> >>> >> +  withRepository [] $ do
> >>> >> +    r <- getRepository
> >>> >> +    s <- rIO $ slurp_pending r
> >>> >> +    return $ (map drop_dotslash . list_slurpy) s
> >>> >
> >>> > I wonder if something like a withRepositoryRIO could have helped us
> >>> > here, and in the rest of the code.  Oh well :-)
> >>>
> >>> What is withRepositoryRIO?
> >>
> >> I'm sorry.  I had hallucinated some kind of re-arrangement of things, so
> >> higher order function which would let pass a repository to an IO action
> >> via rIO.  But now I can't work out quite what I meant.  Maybe something
> >> like
> >>
> >>  thingy job = withRepository [] (getRepository >>= rIO . job)
> >>
> >> But now it doesn't seem like it would be all that helpful :-(
> >
> > Actually, that was the transition that I was envisioning, to leave all
> > the Commands code (and withRepository) untouched, and introduce a new
> > way of doing things that allows type witnesses.  Then we could
> > gradually convert code over to use RIO (and support type witnesses
> > correctly at the same time).
> 
> Ah, I went by the types you suggested in the RIO thread, perhaps too
> literally.  I didn't understand that you wanted to create with*
> variants for RIO and slip them into place incrementally.  Now that
> I've done it the other way, I hope you're not expecting me to redo
> that aspect.  With the approach I've taken it seems that the
> incremental refinement is in removing the uses of getRepository.

That's all right, we can go with your approach.
-- 
David Roundy
http://www.darcs.net
_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to