parser then that.
parser then that. Since that is a Parser the result is
parser then that.
parser then that. Since that is a Parser the result is
parse between values.
parse between values. Since values are Parser
the result is
This is the usual monadic composition, but you should much prefer to use ~ or Apply.product, *>, <*, etc if you can since it is much more efficient.
This is the usual monadic composition, but you should much prefer to use ~ or Apply.product, *>, <*, etc if you can since it is much more efficient. This has to call fn on each parse, which could be a lot of extra work is you already know the result as is the case for ~
If we can parse this then that, do so, if we fail that without consuming, rewind before this without consuming.
If we can parse this then that, do so, if we fail that without consuming, rewind before this without consuming. If either consume 1 or more, do not rewind
parse surrounded by that.
parse surrounded by that. Since that is a Parser the result is
parser then that.
parser then that. Since that is a Parser the result is
Enables syntax to access product01, product and flatMap01 This helps us build Parser instances when starting from a Parser0