()
| 19 | // large number of binding environments — millions of internal match steps |
| 20 | // when the env cap is high |
| 21 | const heavyPat = (): Pat => ({ |
| 22 | kind: 'node', |
| 23 | op: 'Multiply', |
| 24 | ac: true, |
| 25 | ops: Array.from({ length: 9 }, (_, i) => ({ |
| 26 | kind: 'slot' as const, |
| 27 | name: 's' + i, |
| 28 | })), |
| 29 | }); |
| 30 | const heavyExpr = () => ce.expr(['Multiply', ...'abcdefghi'.split('')]); |
| 31 | |
| 32 | test('without a deadline, enumeration runs to the cap', () => { |