| status | ysh | |
| pass | 25 | |
| total | 25 | |
| case | ysh | description |
| 0 | pass | Identity function |
| 1 | pass | Too many args |
| 2 | pass | Too few args |
| 3 | pass | Positional args |
| 4 | pass | named args |
| 5 | pass | Named args with ...rest |
| 6 | pass | Spread/splat of named args: f(...more) |
| 7 | pass | Multiple spreads |
| 8 | pass | Proc-style return in a func is error |
| 9 | pass | Typed return in a proc is error |
| 10 | pass | Redefining functions is allowed |
| 11 | pass | Functions can redefine vars |
| 12 | pass | Multiple func calls |
| 13 | pass | Undefined var in function |
| 14 | pass | Param binding semantics |
| 15 | pass | Recursive functions |
| 16 | pass | Recursive functions with LRU Cache |
| 17 | pass | Varadic arguments, no other args |
| 18 | pass | Varadic arguments, other args |
| 19 | pass | Varadic arguments, too few args |
| 20 | pass | Userland max |
| 21 | pass | Functions share a namespace with variables |
| 22 | pass | We can store funcs in dictionaries |
| 23 | pass | Functions can be nested |
| 24 | pass | Functions can be shadowed |
25 passed, 0 OK, 0 not implemented, 0 BUG, 0 failed, 0 timeouts, 0 cases skipped