On 3/12/06, Einar Karttunen <ekarttun@cs.helsinki.fi> wrote: > On 12.03 01:47, Shannon -jj Behrens wrote: > > monad. Perhaps controversially, I've continued to use |> in a bunch > > of places that the monad didn't get rid of because I think it's more > > readable, but I'm still open for argument on this topic. Using the > > What about using (>>>) from Control.Arrow? > > > -- For convenience: > > currTokType :: ParseContext -> TokenType > > currTokType ctx = ctx |> currTok |> tokenType > > currTokType = currTok >>> tokenType > > > currTokValue :: ParseContext -> String > > currTokValue ctx = ctx |> currTok |> tokenValue > > currTokValue = currTok >>> tokenValue > > > -- Create the final output string given a ParseContext. > > consolidateOutput :: ParseContext -> String > > consolidateOutput ctx = > > ctx |> output |> reverse |> concat > > consolidateOutput = output >>> reverse >>> concat > > and so on.
I'm sorry, I looked at Arrow.hs, and I just don't understand. The State monad is working just fine. I'm only using |> as a replacement for $ because I find it more readable to read left to right than right to left. Arrows looks like a replacement for monads. Are you saying I should drop my use of the State monad? If so, why? I like the readability of the do syntax. Are you saying that >>> can be used as a reversed version of $? Thanks for your patiences with my ignorance ;) Thanks, -jj _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe