[Haskell-cafe] Ternary infix expression parser

Jeffrey Brown jeffbrown.the at gmail.com
Sat Aug 19 19:14:48 UTC 2017


I appear to be able to read Text.Megaparsec.Expr! This is a breakthrough
for me. I think I refactor it. Thanks, and sorry for the noise.

On Sat, Aug 19, 2017 at 3:13 AM, S D Swierstra <doaitse.swierstra at gmail.com>
wrote:

> Make the #uses expr #because expr #needs part act like an operator?
>
> Doaitse
>
> Op 19 aug. 2017 om 05:56 heeft Jeffrey Brown <jeffbrown.the at gmail.com>
> het volgende geschreven:
>
> I want to write a parser that lets someone write "(a #uses b) #because (c
> #needs d)" and read it into a tree:
>
>   data Tree = Tree String Tree Tree | Leaf String
>   magic "(a #uses b) #because (c #needs d)"
>     = Tree "because" (Tree "uses" (Leaf "a") (Leaf "b"))
>                      (Tree "needs" (Leaf "c") (Leaf "d"))
>
> I thought I could use Text.Megaparsec.Expr for it, but now I realize it
> hadnles binary operations, and this is a ternary one.
>
> Suggestions?
>
>
> --
> Jeff Brown | Jeffrey Benjamin Brown
> Website <https://msu.edu/~brown202/>   |   Facebook
> <https://www.facebook.com/mejeff.younotjeff>   |   LinkedIn
> <https://www.linkedin.com/in/jeffreybenjaminbrown>(spammy, so I often
> miss messages here)   |   Github <https://github.com/jeffreybenjaminbrown>
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.
>
>


-- 
Jeff Brown | Jeffrey Benjamin Brown
Website <https://msu.edu/~brown202/>   |   Facebook
<https://www.facebook.com/mejeff.younotjeff>   |   LinkedIn
<https://www.linkedin.com/in/jeffreybenjaminbrown>(spammy, so I often miss
messages here)   |   Github <https://github.com/jeffreybenjaminbrown>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20170819/fe4aad37/attachment.html>


More information about the Haskell-Cafe mailing list