Manual:Operators:Operators That Apply Functions To Results:>=

>>> from lepl import *
>>> (Literal('a') >= lambda x: print(x)).parse('abc')
  File "<stdin>", line 1
    (Literal('a') >= lambda x: print(x)).parse('abc')
                          ^
SyntaxError: invalid syntax
>>> Apply(Literal('a'), lambda x: print(x)).parse('abc')
['a']
[None]
>>> Apply(Literal('a'), lambda x: print("*", x, "*")).parse('abc')
* ['a'] *
[None]
>>> def star_show(x):
...     print("*", x, "*")
...     return x
...
>>> (Literal('a') >= star_show).parse('abc')
* ['a'] *
['a']
>>> ((Literal('a') & 'b') >= star_show).parse('abc')
* ['a', 'b'] *
['a', 'b']