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.

Jason
_______________________________________________
darcs-users mailing list
[email protected]
http://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to