This is an error message from a function I'm currently working on that uses recursion:
ERROR: No matching function found: `drop`
Values on stack:
Candidate functions:
[Any]
Scope: `<root>`
Called by:
=> kr/src/std.kr:16:2
16 | drop
^^^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:12:7
12 | 1 - times
^^^^^
Called by:
=> kr/src/std.kr:15:3
15 | if
^^
Called by:
=> kr/src/std.kr:24:3
24 | clone # => symbol symbol
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
25 | to_list # => symbol [ word ]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
26 | swap wrap # => [ word ] [ symbol ]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
27 | swap prepend # => [ [ word ] symbol ]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
28 | ]
^^
29 | map
^^^^^
30 | unwrap
^^^^^^^^
31 | ]
^
32 | :export
^^^^^^^
33 | define
^^^^^^^
34 |
35 | [ :assert :fold :println :times :export ]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Called by:
=> kr/tests/times.kr:3:15
3 | 0 [ 1 + ] 100 times
^^^^^
The recursion leads to a lot of duplication in the stack trace. It would be much nicer, if we could detect the cycle and display it only once, plus a message about how many times it happened.
This is an error message from a function I'm currently working on that uses recursion:
The recursion leads to a lot of duplication in the stack trace. It would be much nicer, if we could detect the cycle and display it only once, plus a message about how many times it happened.