Manual:Error Reporting:Operators, Functions and Classes:make_error

>>> from lepl import *
>>> make_error("foo")
<function fun at 0xb7acad2c>
>>> make_error("foo")()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: fun() takes exactly 3 positional arguments (0 given)
>>> make_error("foo")("abc", "bc", ["a"])
Error(...)
>>> print(make_error("foo")("abc", "bc", ["a"]))
foo (<unknown> - use stream for better error reporting, line -1)