⍝ Quad_SYL
⍝ ----------------------------------

      )CLEAR
CLEAR WS

      ⎕IO←1

]NEXTFILE

⍝ SI limit ----------------------------------

      )CHECK
OK      - no stale functions
OK      - no stale values
OK      - no stale indices
OK      - no duplicate parents

      )SIC

      ⎕SYL[1;2]
0

      ⍝ system limit on SI depth
      ⍝
      )CHECK
OK      - no stale functions
OK      - no stale values
OK      - no stale indices
OK      - no duplicate parents


      ⎕SYL[1;2]←10
      )CHECK
OK      - no stale functions
OK      - no stale values
OK      - no stale indices
OK      - no duplicate parents


      ⎕SYL[1;2]
10


      ⎕SYL[1]←12
      ⎕SYL[1;2]
12

      ⍝ a function with infinite recursion
      ⍝
      )ERASE FOO
∇A FOO B;C;D;E;F;G;H;I;J;K;L
 'A FOO B with B:' B
 C←D←E←F←G←H←I←J←K←L←(A,A)⍴42
 A FOO B+1
∇

      0 FOO 0
 A FOO B with B: 0 
 A FOO B with B: 1 
 A FOO B with B: 2 
 A FOO B with B: 3 
 A FOO B with B: 4 
 A FOO B with B: 5 
 A FOO B with B: 6 
 A FOO B with B: 7 
 A FOO B with B: 8 
 A FOO B with B: 9 
 A FOO B with B: 10 
 A FOO B with B: 11 
 A FOO B with B: 12 
INTERRUPT+
FOO[1]  'A FOO B with B:' B
        ^

      )MORE
the system limit on SI depth (as set in ⎕SYL[1;2]) was reached
(and to avoid lock-up, this system limit in ⎕SYL was automatically cleared).

      ⍝ when ⎕SYL[1] triggers then it shall clear itself.
      ⎕SYL[1;2]
0

      )SI
FOO[1]
FOO[3]
FOO[3]
FOO[3]
FOO[3]
FOO[3]
FOO[3]
FOO[3]
FOO[3]
FOO[3]
FOO[3]
FOO[3]
FOO[3]
⋆

      )MORE
NO )MORE ERROR INFO

      )SIC
      )SI
      )CHECK
OK      - no stale functions
OK      - no stale values
OK      - no stale indices
OK      - no duplicate parents



⍝ value count limit ----------------------------------

      ⎕SYL[2;2]
0

      ⍝ system limit on value count
      ⍝
      )SIC

      ⎕SYL[2;2]←600
      ⎕SYL[2;2]
600

      ⎕SYL[2]←400
      ⎕SYL[2;2]
400

      0 FOO 0
 A FOO B with B: 0 
 A FOO B with B: 1 
 A FOO B with B: 2 
 A FOO B with B: 3 
 A FOO B with B: 4 
 A FOO B with B: 5 
 A FOO B with B: 6 
 A FOO B with B: 7 
 A FOO B with B: 8 
 A FOO B with B: 9 
 A FOO B with B: 10 
 A FOO B with B: 11 
 A FOO B with B: 12 
 A FOO B with B: 13 
 A FOO B with B: 14 
 A FOO B with B: 15 
 A FOO B with B: 16 
INTERRUPT+
FOO[2]  C←D←E←F←G←H←I←J←K←L←(A,A)⍴42
        ^

      )MORE
the system limit on the APL value count (as set in ⎕SYL[2;2]) was reached
(and to avoid lock-up, this system limit in ⎕SYL was automatically cleared).

      ⎕SYL[2;2]
0

      )SIC
      )SI

⍝ ravel cell memory limit ----------------------------------

      ⎕SYL[3;2]
0

      ⍝ system limit on ravel cell memory
      ⍝
      ⎕SYL[3;2]←3000000
      ⎕SYL[3;2]
3000000

      ⎕SYL[3]←349992
      ⎕SYL[3;2]
349992

      100 FOO 0
 A FOO B with B: 0 
INTERRUPT+
FOO[2]  C←D←E←F←G←H←I←J←K←L←(A,A)⍴42
        ^

      ⎕SYL[3;2]
0

      )SIC

      )ERASE FOO

      )CHECK
OK      - no stale functions
OK      - no stale values
OK      - no stale indices
OK      - no duplicate parents


⍝ ==================================
