[Haskell-beginners] Doing IO in terms of Arrow
freizl at gmail.com
Mon Jun 27 19:03:36 CEST 2011
You find point I need the correct type signatures.
And seems like it is (missed IO in your description)
Kleisli IO FilePath [FilePath]
Thanks a lot!
On Tue, Jun 28, 2011 at 12:38 AM, Ertugrul Soeylemez <es at ertes.de> wrote:
> Haisheng Wu <freizl at gmail.com> wrote:
> > I'm wondering if it is possible doing IO in terms of Arrow.
> > I got a function search all files under directory recursively and
> > I'd like to refartoring using Arrow terms.
> Yes, it's possible using Kleisli, but it's not very convenient, because
> you need the Kleisli wrapper around everything. Also usually there is
> really little reason to do that, because monads are more expressive.
> For example they allow you to encode computations with only outputs
> directly, without wrapping them in a computation, which takes a stub
> > I tried to define a function like below but failed.
> > isDirExist = Kleisli doesDirectoryExist
> > Do I need to define a instance for IO to be Arrow? Or is there any
> > existing solutions?
> No, the needed instances are already there, but you need to change your
> type signatures:
> myGetFilesInDir :: Kleisli FilePath [FilePath]
> nightmare = unsafePerformIO (getWrongWife >>= sex)
> Beginners mailing list
> Beginners at haskell.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Beginners