\begin{patch}{ugLangLoopsWhilePagePatch1}
\begin{paste}{ugLangLoopsWhilePageFull1}{ugLangLoopsWhilePageEmpty1}
\pastebutton{ugLangLoopsWhilePageFull1}{\hidepaste}
\tab{5}\spadcommand{i := 1\bound{i }}
\indentrel{3}\begin{verbatim}
   (1)  1
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsWhilePageEmpty1}
\begin{paste}{ugLangLoopsWhilePageEmpty1}{ugLangLoopsWhilePagePatch1}
\pastebutton{ugLangLoopsWhilePageEmpty1}{\showpaste}
\tab{5}\spadcommand{i := 1\bound{i }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsWhilePagePatch2}
\begin{paste}{ugLangLoopsWhilePageFull2}{ugLangLoopsWhilePageEmpty2}
\pastebutton{ugLangLoopsWhilePageFull2}{\hidepaste}
\tab{5}\spadcommand{while i < 1 repeat
  output "hello"
  i := i + 1
\free{i }}
\indentrel{3}\begin{verbatim}
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsWhilePageEmpty2}
\begin{paste}{ugLangLoopsWhilePageEmpty2}{ugLangLoopsWhilePagePatch2}
\pastebutton{ugLangLoopsWhilePageEmpty2}{\showpaste}
\tab{5}\spadcommand{while i < 1 repeat
  output "hello"
  i := i + 1
\free{i }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsWhilePagePatch3}
\begin{paste}{ugLangLoopsWhilePageFull3}{ugLangLoopsWhilePageEmpty3}
\pastebutton{ugLangLoopsWhilePageFull3}{\hidepaste}
\tab{5}\spadcommand{(x, y) := (1, 1)\bound{x }\bound{y }}
\indentrel{3}\begin{verbatim}
   (3)  1
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsWhilePageEmpty3}
\begin{paste}{ugLangLoopsWhilePageEmpty3}{ugLangLoopsWhilePagePatch3}
\pastebutton{ugLangLoopsWhilePageEmpty3}{\showpaste}
\tab{5}\spadcommand{(x, y) := (1, 1)\bound{x }\bound{y }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsWhilePagePatch4}
\begin{paste}{ugLangLoopsWhilePageFull4}{ugLangLoopsWhilePageEmpty4}
\pastebutton{ugLangLoopsWhilePageFull4}{\hidepaste}
\tab{5}\spadcommand{while x < 4 and y < 10 repeat
  output [x,y]
  x := x + 1
  y := y + 2
\free{x y }}
\indentrel{3}\begin{verbatim}
   [1,1]
   [2,3]
   [3,5]
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsWhilePageEmpty4}
\begin{paste}{ugLangLoopsWhilePageEmpty4}{ugLangLoopsWhilePagePatch4}
\pastebutton{ugLangLoopsWhilePageEmpty4}{\showpaste}
\tab{5}\spadcommand{while x < 4 and y < 10 repeat
  output [x,y]
  x := x + 1
  y := y + 2
\free{x y }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsWhilePagePatch5}
\begin{paste}{ugLangLoopsWhilePageFull5}{ugLangLoopsWhilePageEmpty5}
\pastebutton{ugLangLoopsWhilePageFull5}{\hidepaste}
\tab{5}\spadcommand{(x, y) := (1, 1)\bound{x1 }\bound{y1 }}
\indentrel{3}\begin{verbatim}
   (5)  1
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsWhilePageEmpty5}
\begin{paste}{ugLangLoopsWhilePageEmpty5}{ugLangLoopsWhilePagePatch5}
\pastebutton{ugLangLoopsWhilePageEmpty5}{\showpaste}
\tab{5}\spadcommand{(x, y) := (1, 1)\bound{x1 }\bound{y1 }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsWhilePagePatch6}
\begin{paste}{ugLangLoopsWhilePageFull6}{ugLangLoopsWhilePageEmpty6}
\pastebutton{ugLangLoopsWhilePageFull6}{\hidepaste}
\tab{5}\spadcommand{while x < 4 while y < 10 repeat
  if x + y > 7 then break
  output [x,y]
  x := x + 1
  y := y + 2
\free{x1 y1 }}
\indentrel{3}\begin{verbatim}
   [1,1]
   [2,3]
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsWhilePageEmpty6}
\begin{paste}{ugLangLoopsWhilePageEmpty6}{ugLangLoopsWhilePagePatch6}
\pastebutton{ugLangLoopsWhilePageEmpty6}{\showpaste}
\tab{5}\spadcommand{while x < 4 while y < 10 repeat
  if x + y > 7 then break
  output [x,y]
  x := x + 1
  y := y + 2
\free{x1 y1 }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsWhilePagePatch7}
\begin{paste}{ugLangLoopsWhilePageFull7}{ugLangLoopsWhilePageEmpty7}
\pastebutton{ugLangLoopsWhilePageFull7}{\hidepaste}
\tab{5}\spadcommand{m := matrix [[21,37,53,14], [8,-24,22,-16], [2,10,15,14], [26,33,55,-13]]\bound{m2 }}
\indentrel{3}\begin{verbatim}
        +21   37   53   14 +
        |                  |
        |8   - 24  22  - 16|
   (7)  |                  |
        |2    10   15   14 |
        |                  |
        +26   33   55  - 13+
                                  Type: Matrix(Integer)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsWhilePageEmpty7}
\begin{paste}{ugLangLoopsWhilePageEmpty7}{ugLangLoopsWhilePagePatch7}
\pastebutton{ugLangLoopsWhilePageEmpty7}{\showpaste}
\tab{5}\spadcommand{m := matrix [[21,37,53,14], [8,-24,22,-16], [2,10,15,14], [26,33,55,-13]]\bound{m2 }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsWhilePagePatch8}
\begin{paste}{ugLangLoopsWhilePageFull8}{ugLangLoopsWhilePageEmpty8}
\pastebutton{ugLangLoopsWhilePageFull8}{\hidepaste}
\tab{5}\spadcommand{r := 1\bound{r }}
\indentrel{3}\begin{verbatim}
   (8)  1
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsWhilePageEmpty8}
\begin{paste}{ugLangLoopsWhilePageEmpty8}{ugLangLoopsWhilePagePatch8}
\pastebutton{ugLangLoopsWhilePageEmpty8}{\showpaste}
\tab{5}\spadcommand{r := 1\bound{r }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsWhilePagePatch9}
\begin{paste}{ugLangLoopsWhilePageFull9}{ugLangLoopsWhilePageEmpty9}
\pastebutton{ugLangLoopsWhilePageFull9}{\hidepaste}
\tab{5}\spadcommand{(lastrow, lastcol) := (nrows(m), ncols(m))\bound{lastrow }\bound{lastcol }\free{m2 }}
\indentrel{3}\begin{verbatim}
   (9)  4
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsWhilePageEmpty9}
\begin{paste}{ugLangLoopsWhilePageEmpty9}{ugLangLoopsWhilePagePatch9}
\pastebutton{ugLangLoopsWhilePageEmpty9}{\showpaste}
\tab{5}\spadcommand{(lastrow, lastcol) := (nrows(m), ncols(m))\bound{lastrow }\bound{lastcol }\free{m2 }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsWhilePagePatch10}
\begin{paste}{ugLangLoopsWhilePageFull10}{ugLangLoopsWhilePageEmpty10}
\pastebutton{ugLangLoopsWhilePageFull10}{\hidepaste}
\tab{5}\spadcommand{while r <= lastrow repeat
  c := 1  -- index of first column
  while c <= lastcol repeat
    if elt(m,r,c) < 0 then
      output [r, c, elt(m,r,c)]
      r := lastrow
      break     -- don't look any further
    c := c + 1
  r := r + 1
\free{m2 r lastrow lastcol }}
\indentrel{3}\begin{verbatim}
   [2,2,- 24]
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsWhilePageEmpty10}
\begin{paste}{ugLangLoopsWhilePageEmpty10}{ugLangLoopsWhilePagePatch10}
\pastebutton{ugLangLoopsWhilePageEmpty10}{\showpaste}
\tab{5}\spadcommand{while r <= lastrow repeat
  c := 1  -- index of first column
  while c <= lastcol repeat
    if elt(m,r,c) < 0 then
      output [r, c, elt(m,r,c)]
      r := lastrow
      break     -- don't look any further
    c := c + 1
  r := r + 1
\free{m2 r lastrow lastcol }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInNPagePatch1}
\begin{paste}{ugLangLoopsForInNPageFull1}{ugLangLoopsForInNPageEmpty1}
\pastebutton{ugLangLoopsForInNPageFull1}{\hidepaste}
\tab{5}\spadcommand{for i in 15.. while not prime?(i) repeat output(i)}
\indentrel{3}\begin{verbatim}
   15
   16
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInNPageEmpty1}
\begin{paste}{ugLangLoopsForInNPageEmpty1}{ugLangLoopsForInNPagePatch1}
\pastebutton{ugLangLoopsForInNPageEmpty1}{\showpaste}
\tab{5}\spadcommand{for i in 15.. while not prime?(i) repeat output(i)}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInNMPagePatch1}
\begin{paste}{ugLangLoopsForInNMPageFull1}{ugLangLoopsForInNMPageEmpty1}
\pastebutton{ugLangLoopsForInNMPageFull1}{\hidepaste}
\tab{5}\spadcommand{for i in 10..12 repeat output(i^3)}
\indentrel{3}\begin{verbatim}
   1000
   1331
   1728
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInNMPageEmpty1}
\begin{paste}{ugLangLoopsForInNMPageEmpty1}{ugLangLoopsForInNMPagePatch1}
\pastebutton{ugLangLoopsForInNMPageEmpty1}{\showpaste}
\tab{5}\spadcommand{for i in 10..12 repeat output(i^3)}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInNMPagePatch2}
\begin{paste}{ugLangLoopsForInNMPageFull2}{ugLangLoopsForInNMPageEmpty2}
\pastebutton{ugLangLoopsForInNMPageFull2}{\hidepaste}
\tab{5}\spadcommand{a := [1,2,3]\bound{a }}
\indentrel{3}\begin{verbatim}
   (2)  [1,2,3]
                            Type: List(PositiveInteger)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInNMPageEmpty2}
\begin{paste}{ugLangLoopsForInNMPageEmpty2}{ugLangLoopsForInNMPagePatch2}
\pastebutton{ugLangLoopsForInNMPageEmpty2}{\showpaste}
\tab{5}\spadcommand{a := [1,2,3]\bound{a }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInNMPagePatch3}
\begin{paste}{ugLangLoopsForInNMPageFull3}{ugLangLoopsForInNMPageEmpty3}
\pastebutton{ugLangLoopsForInNMPageFull3}{\hidepaste}
\tab{5}\spadcommand{for i in 1..\#a repeat output(a.i)\free{a }}
\indentrel{3}\begin{verbatim}
   1
   2
   3
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInNMPageEmpty3}
\begin{paste}{ugLangLoopsForInNMPageEmpty3}{ugLangLoopsForInNMPagePatch3}
\pastebutton{ugLangLoopsForInNMPageEmpty3}{\showpaste}
\tab{5}\spadcommand{for i in 1..\#a repeat output(a.i)\free{a }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInNMPagePatch4}
\begin{paste}{ugLangLoopsForInNMPageFull4}{ugLangLoopsForInNMPageEmpty4}
\pastebutton{ugLangLoopsForInNMPageFull4}{\hidepaste}
\tab{5}\spadcommand{m := matrix [[1,2],[4,3],[9,0]]\bound{m }}
\indentrel{3}\begin{verbatim}
        +1  2+
        |    |
   (4)  |4  3|
        |    |
        +9  0+
                                  Type: Matrix(Integer)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInNMPageEmpty4}
\begin{paste}{ugLangLoopsForInNMPageEmpty4}{ugLangLoopsForInNMPagePatch4}
\pastebutton{ugLangLoopsForInNMPageEmpty4}{\showpaste}
\tab{5}\spadcommand{m := matrix [[1,2],[4,3],[9,0]]\bound{m }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInNMPagePatch5}
\begin{paste}{ugLangLoopsForInNMPageFull5}{ugLangLoopsForInNMPageEmpty5}
\pastebutton{ugLangLoopsForInNMPageFull5}{\hidepaste}
\tab{5}\spadcommand{for i in 1..nrows(m) repeat output row(m,i)\free{m }}
\indentrel{3}\begin{verbatim}
   [1,2]
   [4,3]
   [9,0]
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInNMPageEmpty5}
\begin{paste}{ugLangLoopsForInNMPageEmpty5}{ugLangLoopsForInNMPagePatch5}
\pastebutton{ugLangLoopsForInNMPageEmpty5}{\showpaste}
\tab{5}\spadcommand{for i in 1..nrows(m) repeat output row(m,i)\free{m }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInNMPagePatch6}
\begin{paste}{ugLangLoopsForInNMPageFull6}{ugLangLoopsForInNMPageEmpty6}
\pastebutton{ugLangLoopsForInNMPageFull6}{\hidepaste}
\tab{5}\spadcommand{for i in 1..5 repeat
  if odd?(i) then iterate
  output(i)
}
\indentrel{3}\begin{verbatim}
   2
   4
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInNMPageEmpty6}
\begin{paste}{ugLangLoopsForInNMPageEmpty6}{ugLangLoopsForInNMPagePatch6}
\pastebutton{ugLangLoopsForInNMPageEmpty6}{\showpaste}
\tab{5}\spadcommand{for i in 1..5 repeat
  if odd?(i) then iterate
  output(i)
}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsReturnPagePatch1}
\begin{paste}{ugLangLoopsReturnPageFull1}{ugLangLoopsReturnPageEmpty1}
\pastebutton{ugLangLoopsReturnPageFull1}{\hidepaste}
\tab{5}\spadcommand{f() ==
  i := 1
  repeat
    if factorial(i) > 1000 then return i
    i := i + 1
\bound{f }}
\indentrel{3}\begin{verbatim}
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsReturnPageEmpty1}
\begin{paste}{ugLangLoopsReturnPageEmpty1}{ugLangLoopsReturnPagePatch1}
\pastebutton{ugLangLoopsReturnPageEmpty1}{\showpaste}
\tab{5}\spadcommand{f() ==
  i := 1
  repeat
    if factorial(i) > 1000 then return i
    i := i + 1
\bound{f }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsReturnPagePatch2}
\begin{paste}{ugLangLoopsReturnPageFull2}{ugLangLoopsReturnPageEmpty2}
\pastebutton{ugLangLoopsReturnPageFull2}{\hidepaste}
\tab{5}\spadcommand{f()\free{f }}
\indentrel{3}\begin{verbatim}
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsReturnPageEmpty2}
\begin{paste}{ugLangLoopsReturnPageEmpty2}{ugLangLoopsReturnPagePatch2}
\pastebutton{ugLangLoopsReturnPageEmpty2}{\showpaste}
\tab{5}\spadcommand{f()\free{f }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsReturnPagePatch3}
\begin{paste}{ugLangLoopsReturnPageFull3}{ugLangLoopsReturnPageEmpty3}
\pastebutton{ugLangLoopsReturnPageFull3}{\hidepaste}
\tab{5}\spadcommand{f() ==
  i := 1
  repeat
    if factorial(i) > 1000 then return i
    i := i + 1
  0
\bound{f1 }}
\indentrel{3}\begin{verbatim}
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsReturnPageEmpty3}
\begin{paste}{ugLangLoopsReturnPageEmpty3}{ugLangLoopsReturnPagePatch3}
\pastebutton{ugLangLoopsReturnPageEmpty3}{\showpaste}
\tab{5}\spadcommand{f() ==
  i := 1
  repeat
    if factorial(i) > 1000 then return i
    i := i + 1
  0
\bound{f1 }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsReturnPagePatch4}
\begin{paste}{ugLangLoopsReturnPageFull4}{ugLangLoopsReturnPageEmpty4}
\pastebutton{ugLangLoopsReturnPageFull4}{\hidepaste}
\tab{5}\spadcommand{f()\free{f1 }}
\indentrel{3}\begin{verbatim}
   (4)  7
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsReturnPageEmpty4}
\begin{paste}{ugLangLoopsReturnPageEmpty4}{ugLangLoopsReturnPagePatch4}
\pastebutton{ugLangLoopsReturnPageEmpty4}{\showpaste}
\tab{5}\spadcommand{f()\free{f1 }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInXLPagePatch1}
\begin{paste}{ugLangLoopsForInXLPageFull1}{ugLangLoopsForInXLPageEmpty1}
\pastebutton{ugLangLoopsForInXLPageFull1}{\hidepaste}
\tab{5}\spadcommand{l := [0,-5,3]\bound{l }}
\indentrel{3}\begin{verbatim}
   (1)  [0,- 5,3]
                                    Type: List(Integer)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInXLPageEmpty1}
\begin{paste}{ugLangLoopsForInXLPageEmpty1}{ugLangLoopsForInXLPagePatch1}
\pastebutton{ugLangLoopsForInXLPageEmpty1}{\showpaste}
\tab{5}\spadcommand{l := [0,-5,3]\bound{l }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInXLPagePatch2}
\begin{paste}{ugLangLoopsForInXLPageFull2}{ugLangLoopsForInXLPageEmpty2}
\pastebutton{ugLangLoopsForInXLPageFull2}{\hidepaste}
\tab{5}\spadcommand{for x in l repeat output(x)\free{l }}
\indentrel{3}\begin{verbatim}
   0
   - 5
   3
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInXLPageEmpty2}
\begin{paste}{ugLangLoopsForInXLPageEmpty2}{ugLangLoopsForInXLPagePatch2}
\pastebutton{ugLangLoopsForInXLPageEmpty2}{\showpaste}
\tab{5}\spadcommand{for x in l repeat output(x)\free{l }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInXLPagePatch3}
\begin{paste}{ugLangLoopsForInXLPageFull3}{ugLangLoopsForInXLPageEmpty3}
\pastebutton{ugLangLoopsForInXLPageFull3}{\hidepaste}
\tab{5}\spadcommand{for f in factors(factor(2400000)) repeat output(f)}
\indentrel{3}\begin{verbatim}
   [factor= 2,exponent= 8]
   [factor= 3,exponent= 1]
   [factor= 5,exponent= 5]
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInXLPageEmpty3}
\begin{paste}{ugLangLoopsForInXLPageEmpty3}{ugLangLoopsForInXLPagePatch3}
\pastebutton{ugLangLoopsForInXLPageEmpty3}{\showpaste}
\tab{5}\spadcommand{for f in factors(factor(2400000)) repeat output(f)}
\end{paste}\end{patch}

\begin{patch}{ugLangIfPagePatch1}
\begin{paste}{ugLangIfPageFull1}{ugLangIfPageEmpty1}
\pastebutton{ugLangIfPageFull1}{\hidepaste}
\tab{5}\spadcommand{x + 1 = y}
\indentrel{3}\begin{verbatim}
   (1)  x + 1= y
                    Type: Equation(Polynomial(Integer))
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangIfPageEmpty1}
\begin{paste}{ugLangIfPageEmpty1}{ugLangIfPagePatch1}
\pastebutton{ugLangIfPageEmpty1}{\showpaste}
\tab{5}\spadcommand{x + 1 = y}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInNMSPagePatch1}
\begin{paste}{ugLangLoopsForInNMSPageFull1}{ugLangLoopsForInNMSPageEmpty1}
\pastebutton{ugLangLoopsForInNMSPageFull1}{\hidepaste}
\tab{5}\spadcommand{for i in 1..5 by 2 repeat output(i)}
\indentrel{3}\begin{verbatim}
   1
   3
   5
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInNMSPageEmpty1}
\begin{paste}{ugLangLoopsForInNMSPageEmpty1}{ugLangLoopsForInNMSPagePatch1}
\pastebutton{ugLangLoopsForInNMSPageEmpty1}{\showpaste}
\tab{5}\spadcommand{for i in 1..5 by 2 repeat output(i)}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInNMSPagePatch2}
\begin{paste}{ugLangLoopsForInNMSPageFull2}{ugLangLoopsForInNMSPageEmpty2}
\pastebutton{ugLangLoopsForInNMSPageFull2}{\hidepaste}
\tab{5}\spadcommand{for i in 5..1 by -2 repeat output(i)}
\indentrel{3}\begin{verbatim}
   5
   3
   1
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInNMSPageEmpty2}
\begin{paste}{ugLangLoopsForInNMSPageEmpty2}{ugLangLoopsForInNMSPagePatch2}
\pastebutton{ugLangLoopsForInNMSPageEmpty2}{\showpaste}
\tab{5}\spadcommand{for i in 5..1 by -2 repeat output(i)}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsIteratePagePatch1}
\begin{paste}{ugLangLoopsIteratePageFull1}{ugLangLoopsIteratePageEmpty1}
\pastebutton{ugLangLoopsIteratePageFull1}{\hidepaste}
\tab{5}\spadcommand{i := 0\bound{i }}
\indentrel{3}\begin{verbatim}
   (1)  0
                               Type: NonNegativeInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsIteratePageEmpty1}
\begin{paste}{ugLangLoopsIteratePageEmpty1}{ugLangLoopsIteratePagePatch1}
\pastebutton{ugLangLoopsIteratePageEmpty1}{\showpaste}
\tab{5}\spadcommand{i := 0\bound{i }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsIteratePagePatch2}
\begin{paste}{ugLangLoopsIteratePageFull2}{ugLangLoopsIteratePageEmpty2}
\pastebutton{ugLangLoopsIteratePageFull2}{\hidepaste}
\tab{5}\spadcommand{repeat
  i := i + 1
  if i > 5 then break
  if odd?(i) then iterate
  output(i)
\free{i }}
\indentrel{3}\begin{verbatim}
   2
   4
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsIteratePageEmpty2}
\begin{paste}{ugLangLoopsIteratePageEmpty2}{ugLangLoopsIteratePagePatch2}
\pastebutton{ugLangLoopsIteratePageEmpty2}{\showpaste}
\tab{5}\spadcommand{repeat
  i := i + 1
  if i > 5 then break
  if odd?(i) then iterate
  output(i)
\free{i }}
\end{paste}\end{patch}

\begin{patch}{ugLangItsPagePatch1}
\begin{paste}{ugLangItsPageFull1}{ugLangItsPageEmpty1}
\pastebutton{ugLangItsPageFull1}{\hidepaste}
\tab{5}\spadcommand{list := [i for i in 1..10]\bound{list }}
\indentrel{3}\begin{verbatim}
   (1)  [1,2,3,4,5,6,7,8,9,10]
                            Type: List(PositiveInteger)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangItsPageEmpty1}
\begin{paste}{ugLangItsPageEmpty1}{ugLangItsPagePatch1}
\pastebutton{ugLangItsPageEmpty1}{\showpaste}
\tab{5}\spadcommand{list := [i for i in 1..10]\bound{list }}
\end{paste}\end{patch}

\begin{patch}{ugLangItsPagePatch2}
\begin{paste}{ugLangItsPageFull2}{ugLangItsPageEmpty2}
\pastebutton{ugLangItsPageFull2}{\hidepaste}
\tab{5}\spadcommand{stream := [i for i in 1..]\bound{stream }}
\indentrel{3}\begin{verbatim}
   (2)  [1,2,3,4,5,6,7,8,9,10,...]
                          Type: Stream(PositiveInteger)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangItsPageEmpty2}
\begin{paste}{ugLangItsPageEmpty2}{ugLangItsPagePatch2}
\pastebutton{ugLangItsPageEmpty2}{\showpaste}
\tab{5}\spadcommand{stream := [i for i in 1..]\bound{stream }}
\end{paste}\end{patch}

\begin{patch}{ugLangItsPagePatch3}
\begin{paste}{ugLangItsPageFull3}{ugLangItsPageEmpty3}
\pastebutton{ugLangItsPageFull3}{\hidepaste}
\tab{5}\spadcommand{[i for i in 1..10 | prime? i]}
\indentrel{3}\begin{verbatim}
   (3)  [2,3,5,7]
                            Type: List(PositiveInteger)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangItsPageEmpty3}
\begin{paste}{ugLangItsPageEmpty3}{ugLangItsPagePatch3}
\pastebutton{ugLangItsPageEmpty3}{\showpaste}
\tab{5}\spadcommand{[i for i in 1..10 | prime? i]}
\end{paste}\end{patch}

\begin{patch}{ugLangItsPagePatch4}
\begin{paste}{ugLangItsPageFull4}{ugLangItsPageEmpty4}
\pastebutton{ugLangItsPageFull4}{\hidepaste}
\tab{5}\spadcommand{[i for i in 1.. | prime? i]}
\indentrel{3}\begin{verbatim}
   (4)  [2,3,5,7,11,13,17,19,23,29,...]
                          Type: Stream(PositiveInteger)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangItsPageEmpty4}
\begin{paste}{ugLangItsPageEmpty4}{ugLangItsPagePatch4}
\pastebutton{ugLangItsPageEmpty4}{\showpaste}
\tab{5}\spadcommand{[i for i in 1.. | prime? i]}
\end{paste}\end{patch}

\begin{patch}{ugLangItsPagePatch5}
\begin{paste}{ugLangItsPageFull5}{ugLangItsPageEmpty5}
\pastebutton{ugLangItsPageFull5}{\hidepaste}
\tab{5}\spadcommand{[i for i in 1..10 while i*i < 700]}
\indentrel{3}\begin{verbatim}
   (5)  [1,2,3,4,5,6,7,8,9,10]
                            Type: List(PositiveInteger)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangItsPageEmpty5}
\begin{paste}{ugLangItsPageEmpty5}{ugLangItsPagePatch5}
\pastebutton{ugLangItsPageEmpty5}{\showpaste}
\tab{5}\spadcommand{[i for i in 1..10 while i*i < 700]}
\end{paste}\end{patch}

\begin{patch}{ugLangItsPagePatch6}
\begin{paste}{ugLangItsPageFull6}{ugLangItsPageEmpty6}
\pastebutton{ugLangItsPageFull6}{\hidepaste}
\tab{5}\spadcommand{[i for i in 1.. while i*i < 700]}
\indentrel{3}\begin{verbatim}
   (6)  [1,2,3,4,5,6,7,8,9,10,...]
                          Type: Stream(PositiveInteger)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangItsPageEmpty6}
\begin{paste}{ugLangItsPageEmpty6}{ugLangItsPagePatch6}
\pastebutton{ugLangItsPageEmpty6}{\showpaste}
\tab{5}\spadcommand{[i for i in 1.. while i*i < 700]}
\end{paste}\end{patch}

\begin{patch}{ugLangItsPagePatch7}
\begin{paste}{ugLangItsPageFull7}{ugLangItsPageEmpty7}
\pastebutton{ugLangItsPageFull7}{\hidepaste}
\tab{5}\spadcommand{matrix [[x^i+j for i in 1..3] for j in 10..12]}
\indentrel{3}\begin{verbatim}
        +         2        3     +
        |x + 10  x  + 10  x  + 10|
        |                        |
   (7)  |         2        3     |
        |x + 11  x  + 11  x  + 11|
        |                        |
        |         2        3     |
        +x + 12  x  + 12  x  + 12+
                      Type: Matrix(Polynomial(Integer))
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangItsPageEmpty7}
\begin{paste}{ugLangItsPageEmpty7}{ugLangItsPagePatch7}
\pastebutton{ugLangItsPageEmpty7}{\showpaste}
\tab{5}\spadcommand{matrix [[x^i+j for i in 1..3] for j in 10..12]}
\end{paste}\end{patch}

\begin{patch}{ugLangItsPagePatch8}
\begin{paste}{ugLangItsPageFull8}{ugLangItsPageEmpty8}
\pastebutton{ugLangItsPageFull8}{\hidepaste}
\tab{5}\spadcommand{[[i/j for i in j+1..] for j in 1..]}
\indentrel{3}\begin{verbatim}
   (8)
   [[2,3,4,5,6,7,8,9,10,11,...],
     3   5   7   9   11
    [-,2,-,3,-,4,-,5,--,6,...],
     2   2   2   2    2
     4 5   7 8   10 11   13
    [-,-,2,-,-,3,--,--,4,--,...],
     3 3   3 3    3  3    3
     5 3 7   9 5 11   13 7
    [-,-,-,2,-,-,--,3,--,-,...],
     4 2 4   4 2  4    4 2
     6 7 8 9   11 12 13 14
    [-,-,-,-,2,--,--,--,--,3,...],
     5 5 5 5    5  5  5  5
     7 4 3 5 11   13 7 5 8
    [-,-,-,-,--,2,--,-,-,-,...],
     6 3 2 3  6    6 3 2 3
     8 9 10 11 12 13   15 16 17
    [-,-,--,--,--,--,2,--,--,--,...],
     7 7  7  7  7  7    7  7  7
     9 5 11 3 13 7 15   17 9
    [-,-,--,-,--,-,--,2,--,-,...],
     8 4  8 2  8 4  8    8 4
     10 11 4 13 14 5 16 17   19
    [--,--,-,--,--,-,--,--,2,--,...],
      9  9 3  9  9 3  9  9    9
     11 6 13 7 3 8 17 9 19
    [--,-,--,-,-,-,--,-,--,2,...], ...]
     10 5 10 5 2 5 10 5 10
                Type: Stream(Stream(Fraction(Integer)))
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangItsPageEmpty8}
\begin{paste}{ugLangItsPageEmpty8}{ugLangItsPagePatch8}
\pastebutton{ugLangItsPageEmpty8}{\showpaste}
\tab{5}\spadcommand{[[i/j for i in j+1..] for j in 1..]}
\end{paste}\end{patch}

\begin{patch}{ugLangItsPagePatch9}
\begin{paste}{ugLangItsPageFull9}{ugLangItsPageEmpty9}
\pastebutton{ugLangItsPageFull9}{\hidepaste}
\tab{5}\spadcommand{[i/j for i in 3.. by 10 for j in 2..]}
\indentrel{3}\begin{verbatim}
         3 13 23 33 43 53 63 73 83 93
   (9)  [-,--,--,--,--,--,--,--,--,--,...]
         2  3  4  5  6  7  8  9 10 11
                        Type: Stream(Fraction(Integer))
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangItsPageEmpty9}
\begin{paste}{ugLangItsPageEmpty9}{ugLangItsPagePatch9}
\pastebutton{ugLangItsPageEmpty9}{\showpaste}
\tab{5}\spadcommand{[i/j for i in 3.. by 10 for j in 2..]}
\end{paste}\end{patch}

\begin{patch}{ugLangItsPagePatch10}
\begin{paste}{ugLangItsPageFull10}{ugLangItsPageEmpty10}
\pastebutton{ugLangItsPageFull10}{\hidepaste}
\tab{5}\spadcommand{[i^j for i in 1..7 for j in 2.. ]}
\indentrel{3}\begin{verbatim}
   (10)  [1,8,81,1024,15625,279936,5764801]
                                  Type: Stream(Integer)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangItsPageEmpty10}
\begin{paste}{ugLangItsPageEmpty10}{ugLangItsPagePatch10}
\pastebutton{ugLangItsPageEmpty10}{\showpaste}
\tab{5}\spadcommand{[i^j for i in 1..7 for j in 2.. ]}
\end{paste}\end{patch}

\begin{patch}{ugLangItsPagePatch11}
\begin{paste}{ugLangItsPageFull11}{ugLangItsPageEmpty11}
\pastebutton{ugLangItsPageFull11}{\hidepaste}
\tab{5}\spadcommand{[[[i,j] for i in 10..15 | prime? i] for j in 17..22 | j = squareFreePart j]}
\indentrel{3}\begin{verbatim}
   (11)
   [[[11,17],[13,17]], [[11,19],[13,19]],
    [[11,21],[13,21]], [[11,22],[13,22]]]
                Type: List(List(List(PositiveInteger)))
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangItsPageEmpty11}
\begin{paste}{ugLangItsPageEmpty11}{ugLangItsPagePatch11}
\pastebutton{ugLangItsPageEmpty11}{\showpaste}
\tab{5}\spadcommand{[[[i,j] for i in 10..15 | prime? i] for j in 17..22 | j = squareFreePart j]}
\end{paste}\end{patch}

\begin{patch}{ugLangStreamsPrimesPagePatch1}
\begin{paste}{ugLangStreamsPrimesPageFull1}{ugLangStreamsPrimesPageEmpty1}
\pastebutton{ugLangStreamsPrimesPageFull1}{\hidepaste}
\tab{5}\spadcommand{primes : Stream Integer := [i for i in 2.. | prime? i]}
\indentrel{3}\begin{verbatim}
   (1)  [2,3,5,7,11,13,17,19,23,29,...]
                                  Type: Stream(Integer)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangStreamsPrimesPageEmpty1}
\begin{paste}{ugLangStreamsPrimesPageEmpty1}{ugLangStreamsPrimesPagePatch1}
\pastebutton{ugLangStreamsPrimesPageEmpty1}{\showpaste}
\tab{5}\spadcommand{primes : Stream Integer := [i for i in 2.. | prime? i]}
\end{paste}\end{patch}

\begin{patch}{ugLangStreamsPrimesPagePatch2}
\begin{paste}{ugLangStreamsPrimesPageFull2}{ugLangStreamsPrimesPageEmpty2}
\pastebutton{ugLangStreamsPrimesPageFull2}{\hidepaste}
\tab{5}\spadcommand{primes := generate(nextPrime,2)}
\indentrel{3}\begin{verbatim}
   (2)  [2,3,5,7,11,13,17,19,23,29,...]
                                  Type: Stream(Integer)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangStreamsPrimesPageEmpty2}
\begin{paste}{ugLangStreamsPrimesPageEmpty2}{ugLangStreamsPrimesPagePatch2}
\pastebutton{ugLangStreamsPrimesPageEmpty2}{\showpaste}
\tab{5}\spadcommand{primes := generate(nextPrime,2)}
\end{paste}\end{patch}

\begin{patch}{ugLangStreamsPrimesPagePatch3}
\begin{paste}{ugLangStreamsPrimesPageFull3}{ugLangStreamsPrimesPageEmpty3}
\pastebutton{ugLangStreamsPrimesPageFull3}{\hidepaste}
\tab{5}\spadcommand{smallPrimes := [p for p in primes | p > 1000]\bound{smallPrimes }}
\indentrel{3}\begin{verbatim}
   (3)
   [1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,...]
                                  Type: Stream(Integer)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangStreamsPrimesPageEmpty3}
\begin{paste}{ugLangStreamsPrimesPageEmpty3}{ugLangStreamsPrimesPagePatch3}
\pastebutton{ugLangStreamsPrimesPageEmpty3}{\showpaste}
\tab{5}\spadcommand{smallPrimes := [p for p in primes | p > 1000]\bound{smallPrimes }}
\end{paste}\end{patch}

\begin{patch}{ugLangStreamsPrimesPagePatch4}
\begin{paste}{ugLangStreamsPrimesPageFull4}{ugLangStreamsPrimesPageEmpty4}
\pastebutton{ugLangStreamsPrimesPageFull4}{\hidepaste}
\tab{5}\spadcommand{[p for p in smallPrimes for i in 1..11]\free{smallPrimes }}
\indentrel{3}\begin{verbatim}
   (4)
   [1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,...]
                                  Type: Stream(Integer)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangStreamsPrimesPageEmpty4}
\begin{paste}{ugLangStreamsPrimesPageEmpty4}{ugLangStreamsPrimesPagePatch4}
\pastebutton{ugLangStreamsPrimesPageEmpty4}{\showpaste}
\tab{5}\spadcommand{[p for p in smallPrimes for i in 1..11]\free{smallPrimes }}
\end{paste}\end{patch}

\begin{patch}{ugLangStreamsPrimesPagePatch5}
\begin{paste}{ugLangStreamsPrimesPageFull5}{ugLangStreamsPrimesPageEmpty5}
\pastebutton{ugLangStreamsPrimesPageFull5}{\hidepaste}
\tab{5}\spadcommand{[p for p in smallPrimes while p < 1200]\free{smallPrimes }}
\indentrel{3}\begin{verbatim}
   (5)
   [1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,...]
                                  Type: Stream(Integer)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangStreamsPrimesPageEmpty5}
\begin{paste}{ugLangStreamsPrimesPageEmpty5}{ugLangStreamsPrimesPagePatch5}
\pastebutton{ugLangStreamsPrimesPageEmpty5}{\showpaste}
\tab{5}\spadcommand{[p for p in smallPrimes while p < 1200]\free{smallPrimes }}
\end{paste}\end{patch}

\begin{patch}{ugLangStreamsPrimesPagePatch6}
\begin{paste}{ugLangStreamsPrimesPageFull6}{ugLangStreamsPrimesPageEmpty6}
\pastebutton{ugLangStreamsPrimesPageFull6}{\hidepaste}
\tab{5}\spadcommand{complete \%}
\indentrel{3}\begin{verbatim}
   (6)
   [1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,...]
                                  Type: Stream(Integer)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangStreamsPrimesPageEmpty6}
\begin{paste}{ugLangStreamsPrimesPageEmpty6}{ugLangStreamsPrimesPagePatch6}
\pastebutton{ugLangStreamsPrimesPageEmpty6}{\showpaste}
\tab{5}\spadcommand{complete \%}
\end{paste}\end{patch}

\begin{patch}{ugLangStreamsPrimesPagePatch7}
\begin{paste}{ugLangStreamsPrimesPageFull7}{ugLangStreamsPrimesPageEmpty7}
\pastebutton{ugLangStreamsPrimesPageFull7}{\hidepaste}
\tab{5}\spadcommand{twinPrimes := [[p,p+2] for p in primes | prime?(p + 2)]}
\indentrel{3}\begin{verbatim}
   (7)
   [[3,5], [5,7], [11,13], [17,19], [29,31], [41,43],
    [59,61], [71,73], [101,103], [107,109], ...]
                            Type: Stream(List(Integer))
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangStreamsPrimesPageEmpty7}
\begin{paste}{ugLangStreamsPrimesPageEmpty7}{ugLangStreamsPrimesPagePatch7}
\pastebutton{ugLangStreamsPrimesPageEmpty7}{\showpaste}
\tab{5}\spadcommand{twinPrimes := [[p,p+2] for p in primes | prime?(p + 2)]}
\end{paste}\end{patch}

\begin{patch}{ugLangStreamsPrimesPagePatch8}
\begin{paste}{ugLangStreamsPrimesPageFull8}{ugLangStreamsPrimesPageEmpty8}
\pastebutton{ugLangStreamsPrimesPageFull8}{\hidepaste}
\tab{5}\spadcommand{firstOfTwins:= [p for p in primes for q in rest primes | q=p+2]}
\indentrel{3}\begin{verbatim}
   (8)  [3,5,11,17,29,41,59,71,101,107,...]
                                  Type: Stream(Integer)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangStreamsPrimesPageEmpty8}
\begin{paste}{ugLangStreamsPrimesPageEmpty8}{ugLangStreamsPrimesPagePatch8}
\pastebutton{ugLangStreamsPrimesPageEmpty8}{\showpaste}
\tab{5}\spadcommand{firstOfTwins:= [p for p in primes for q in rest primes | q=p+2]}
\end{paste}\end{patch}

\begin{patch}{ugLangStreamsPrimesPagePatch9}
\begin{paste}{ugLangStreamsPrimesPageFull9}{ugLangStreamsPrimesPageEmpty9}
\pastebutton{ugLangStreamsPrimesPageFull9}{\hidepaste}
\tab{5}\spadcommand{firstTriplets := [p for p in firstOfTwins for q in rest firstOfTwins | q = p+2];}
\indentrel{3}\begin{verbatim}
                                  Type: Stream(Integer)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangStreamsPrimesPageEmpty9}
\begin{paste}{ugLangStreamsPrimesPageEmpty9}{ugLangStreamsPrimesPagePatch9}
\pastebutton{ugLangStreamsPrimesPageEmpty9}{\showpaste}
\tab{5}\spadcommand{firstTriplets := [p for p in firstOfTwins for q in rest firstOfTwins | q = p+2];}
\end{paste}\end{patch}

\begin{patch}{ugLangStreamsPrimesPagePatch10}
\begin{paste}{ugLangStreamsPrimesPageFull10}{ugLangStreamsPrimesPageEmpty10}
\pastebutton{ugLangStreamsPrimesPageFull10}{\hidepaste}
\tab{5}\spadcommand{firstTriplets.1}
\indentrel{3}\begin{verbatim}
   (10)  3
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangStreamsPrimesPageEmpty10}
\begin{paste}{ugLangStreamsPrimesPageEmpty10}{ugLangStreamsPrimesPagePatch10}
\pastebutton{ugLangStreamsPrimesPageEmpty10}{\showpaste}
\tab{5}\spadcommand{firstTriplets.1}
\end{paste}\end{patch}

\begin{patch}{ugLangStreamsPrimesPagePatch11}
\begin{paste}{ugLangStreamsPrimesPageFull11}{ugLangStreamsPrimesPageEmpty11}
\pastebutton{ugLangStreamsPrimesPageFull11}{\hidepaste}
\tab{5}\spadcommand{primes.2045}
\indentrel{3}\begin{verbatim}
   (11)  17837
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangStreamsPrimesPageEmpty11}
\begin{paste}{ugLangStreamsPrimesPageEmpty11}{ugLangStreamsPrimesPagePatch11}
\pastebutton{ugLangStreamsPrimesPageEmpty11}{\showpaste}
\tab{5}\spadcommand{primes.2045}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInPredPagePatch1}
\begin{paste}{ugLangLoopsForInPredPageFull1}{ugLangLoopsForInPredPageEmpty1}
\pastebutton{ugLangLoopsForInPredPageFull1}{\hidepaste}
\tab{5}\spadcommand{for n in 0..4 | odd? n repeat output n}
\indentrel{3}\begin{verbatim}
   1
   3
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInPredPageEmpty1}
\begin{paste}{ugLangLoopsForInPredPageEmpty1}{ugLangLoopsForInPredPagePatch1}
\pastebutton{ugLangLoopsForInPredPageEmpty1}{\showpaste}
\tab{5}\spadcommand{for n in 0..4 | odd? n repeat output n}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInPredPagePatch2}
\begin{paste}{ugLangLoopsForInPredPageFull2}{ugLangLoopsForInPredPageEmpty2}
\pastebutton{ugLangLoopsForInPredPageFull2}{\hidepaste}
\tab{5}\spadcommand{for i in 1..50 repeat
  for j in 1..50 | factorial(i+j) < 25 repeat
    output [i,j]
}
\indentrel{3}\begin{verbatim}
   [1,1]
   [1,2]
   [1,3]
   [2,1]
   [2,2]
   [3,1]
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsForInPredPageEmpty2}
\begin{paste}{ugLangLoopsForInPredPageEmpty2}{ugLangLoopsForInPredPagePatch2}
\pastebutton{ugLangLoopsForInPredPageEmpty2}{\showpaste}
\tab{5}\spadcommand{for i in 1..50 repeat
  for j in 1..50 | factorial(i+j) < 25 repeat
    output [i,j]
}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakMorePagePatch1}
\begin{paste}{ugLangLoopsBreakMorePageFull1}{ugLangLoopsBreakMorePageEmpty1}
\pastebutton{ugLangLoopsBreakMorePageFull1}{\hidepaste}
\tab{5}\spadcommand{i := 0\bound{i }}
\indentrel{3}\begin{verbatim}
   (1)  0
                               Type: NonNegativeInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakMorePageEmpty1}
\begin{paste}{ugLangLoopsBreakMorePageEmpty1}{ugLangLoopsBreakMorePagePatch1}
\pastebutton{ugLangLoopsBreakMorePageEmpty1}{\showpaste}
\tab{5}\spadcommand{i := 0\bound{i }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakMorePagePatch2}
\begin{paste}{ugLangLoopsBreakMorePageFull2}{ugLangLoopsBreakMorePageEmpty2}
\pastebutton{ugLangLoopsBreakMorePageFull2}{\hidepaste}
\tab{5}\spadcommand{repeat
  i := i + 1
  if i^2 > 100 then break
\free{i }\bound{i1 }}
\indentrel{3}\begin{verbatim}
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakMorePageEmpty2}
\begin{paste}{ugLangLoopsBreakMorePageEmpty2}{ugLangLoopsBreakMorePagePatch2}
\pastebutton{ugLangLoopsBreakMorePageEmpty2}{\showpaste}
\tab{5}\spadcommand{repeat
  i := i + 1
  if i^2 > 100 then break
\free{i }\bound{i1 }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakMorePagePatch3}
\begin{paste}{ugLangLoopsBreakMorePageFull3}{ugLangLoopsBreakMorePageEmpty3}
\pastebutton{ugLangLoopsBreakMorePageFull3}{\hidepaste}
\tab{5}\spadcommand{i\free{i1 }}
\indentrel{3}\begin{verbatim}
   (3)  11
                               Type: NonNegativeInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakMorePageEmpty3}
\begin{paste}{ugLangLoopsBreakMorePageEmpty3}{ugLangLoopsBreakMorePagePatch3}
\pastebutton{ugLangLoopsBreakMorePageEmpty3}{\showpaste}
\tab{5}\spadcommand{i\free{i1 }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakMorePagePatch4}
\begin{paste}{ugLangLoopsBreakMorePageFull4}{ugLangLoopsBreakMorePageEmpty4}
\pastebutton{ugLangLoopsBreakMorePageFull4}{\hidepaste}
\tab{5}\spadcommand{i := 0\bound{i2 }}
\indentrel{3}\begin{verbatim}
   (4)  0
                               Type: NonNegativeInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakMorePageEmpty4}
\begin{paste}{ugLangLoopsBreakMorePageEmpty4}{ugLangLoopsBreakMorePagePatch4}
\pastebutton{ugLangLoopsBreakMorePageEmpty4}{\showpaste}
\tab{5}\spadcommand{i := 0\bound{i2 }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakMorePagePatch5}
\begin{paste}{ugLangLoopsBreakMorePageFull5}{ugLangLoopsBreakMorePageEmpty5}
\pastebutton{ugLangLoopsBreakMorePageFull5}{\hidepaste}
\tab{5}\spadcommand{repeat
  i := i + 1
  i^2 > 100 => break
\free{i2 }\bound{i3 }}
\indentrel{3}\begin{verbatim}
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakMorePageEmpty5}
\begin{paste}{ugLangLoopsBreakMorePageEmpty5}{ugLangLoopsBreakMorePagePatch5}
\pastebutton{ugLangLoopsBreakMorePageEmpty5}{\showpaste}
\tab{5}\spadcommand{repeat
  i := i + 1
  i^2 > 100 => break
\free{i2 }\bound{i3 }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakMorePagePatch6}
\begin{paste}{ugLangLoopsBreakMorePageFull6}{ugLangLoopsBreakMorePageEmpty6}
\pastebutton{ugLangLoopsBreakMorePageFull6}{\hidepaste}
\tab{5}\spadcommand{i\free{i3 }}
\indentrel{3}\begin{verbatim}
   (6)  11
                               Type: NonNegativeInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakMorePageEmpty6}
\begin{paste}{ugLangLoopsBreakMorePageEmpty6}{ugLangLoopsBreakMorePagePatch6}
\pastebutton{ugLangLoopsBreakMorePageEmpty6}{\showpaste}
\tab{5}\spadcommand{i\free{i3 }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakMorePagePatch7}
\begin{paste}{ugLangLoopsBreakMorePageFull7}{ugLangLoopsBreakMorePageEmpty7}
\pastebutton{ugLangLoopsBreakMorePageFull7}{\hidepaste}
\tab{5}\spadcommand{(n, i, f) := (100, 1, 1)\bound{n }\bound{i4 }\bound{f }}
\indentrel{3}\begin{verbatim}
   (7)  1
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakMorePageEmpty7}
\begin{paste}{ugLangLoopsBreakMorePageEmpty7}{ugLangLoopsBreakMorePagePatch7}
\pastebutton{ugLangLoopsBreakMorePageEmpty7}{\showpaste}
\tab{5}\spadcommand{(n, i, f) := (100, 1, 1)\bound{n }\bound{i4 }\bound{f }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakMorePagePatch8}
\begin{paste}{ugLangLoopsBreakMorePageFull8}{ugLangLoopsBreakMorePageEmpty8}
\pastebutton{ugLangLoopsBreakMorePageFull8}{\hidepaste}
\tab{5}\spadcommand{repeat
  if i > n then break
  f := f * i
  i := i + 1
\bound{f1 }\bound{i5 }\free{f i4 n }}
\indentrel{3}\begin{verbatim}
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakMorePageEmpty8}
\begin{paste}{ugLangLoopsBreakMorePageEmpty8}{ugLangLoopsBreakMorePagePatch8}
\pastebutton{ugLangLoopsBreakMorePageEmpty8}{\showpaste}
\tab{5}\spadcommand{repeat
  if i > n then break
  f := f * i
  i := i + 1
\bound{f1 }\bound{i5 }\free{f i4 n }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakMorePagePatch9}
\begin{paste}{ugLangLoopsBreakMorePageFull9}{ugLangLoopsBreakMorePageEmpty9}
\pastebutton{ugLangLoopsBreakMorePageFull9}{\hidepaste}
\tab{5}\spadcommand{f\free{f1 }}
\indentrel{3}\begin{verbatim}
   (9)
  933262154439441526816992388562667004907159682643816214_
   68592963895217599993229915608941463976156518286253697_
   920827223758251185210916864000000000000000000000000
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakMorePageEmpty9}
\begin{paste}{ugLangLoopsBreakMorePageEmpty9}{ugLangLoopsBreakMorePagePatch9}
\pastebutton{ugLangLoopsBreakMorePageEmpty9}{\showpaste}
\tab{5}\spadcommand{f\free{f1 }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakMorePagePatch10}
\begin{paste}{ugLangLoopsBreakMorePageFull10}{ugLangLoopsBreakMorePageEmpty10}
\pastebutton{ugLangLoopsBreakMorePageFull10}{\hidepaste}
\tab{5}\spadcommand{m := matrix [[21,37,53,14], [8,-24,22,-16], [2,10,15,14], [26,33,55,-13]]\bound{m2 }}
\indentrel{3}\begin{verbatim}
         +21   37   53   14 +
         |                  |
         |8   - 24  22  - 16|
   (10)  |                  |
         |2    10   15   14 |
         |                  |
         +26   33   55  - 13+
                                  Type: Matrix(Integer)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakMorePageEmpty10}
\begin{paste}{ugLangLoopsBreakMorePageEmpty10}{ugLangLoopsBreakMorePagePatch10}
\pastebutton{ugLangLoopsBreakMorePageEmpty10}{\showpaste}
\tab{5}\spadcommand{m := matrix [[21,37,53,14], [8,-24,22,-16], [2,10,15,14], [26,33,55,-13]]\bound{m2 }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakMorePagePatch11}
\begin{paste}{ugLangLoopsBreakMorePageFull11}{ugLangLoopsBreakMorePageEmpty11}
\pastebutton{ugLangLoopsBreakMorePageFull11}{\hidepaste}
\tab{5}\spadcommand{(r, c) := (1, 1)\bound{r }\bound{c }}
\indentrel{3}\begin{verbatim}
   (11)  1
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakMorePageEmpty11}
\begin{paste}{ugLangLoopsBreakMorePageEmpty11}{ugLangLoopsBreakMorePagePatch11}
\pastebutton{ugLangLoopsBreakMorePageEmpty11}{\showpaste}
\tab{5}\spadcommand{(r, c) := (1, 1)\bound{r }\bound{c }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakMorePagePatch12}
\begin{paste}{ugLangLoopsBreakMorePageFull12}{ugLangLoopsBreakMorePageEmpty12}
\pastebutton{ugLangLoopsBreakMorePageFull12}{\hidepaste}
\tab{5}\spadcommand{(lastrow, lastcol) := (nrows(m), ncols(m))\bound{lastrow }\bound{lastcol }\free{m2 }}
\indentrel{3}\begin{verbatim}
   (12)  4
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakMorePageEmpty12}
\begin{paste}{ugLangLoopsBreakMorePageEmpty12}{ugLangLoopsBreakMorePagePatch12}
\pastebutton{ugLangLoopsBreakMorePageEmpty12}{\showpaste}
\tab{5}\spadcommand{(lastrow, lastcol) := (nrows(m), ncols(m))\bound{lastrow }\bound{lastcol }\free{m2 }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakMorePagePatch13}
\begin{paste}{ugLangLoopsBreakMorePageFull13}{ugLangLoopsBreakMorePageEmpty13}
\pastebutton{ugLangLoopsBreakMorePageFull13}{\hidepaste}
\tab{5}\spadcommand{repeat
  if r > lastrow then break
  c := 1
  repeat
    if c > lastcol then break
    if elt(m,r,c) < 0 then
      output [r, c, elt(m,r,c)]
      r := lastrow
      break     -- don't look any further
    c := c + 1
  r := r + 1
\free{m2 r c lastrow lastcol }}
\indentrel{3}\begin{verbatim}
   [2,2,- 24]
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakMorePageEmpty13}
\begin{paste}{ugLangLoopsBreakMorePageEmpty13}{ugLangLoopsBreakMorePagePatch13}
\pastebutton{ugLangLoopsBreakMorePageEmpty13}{\showpaste}
\tab{5}\spadcommand{repeat
  if r > lastrow then break
  c := 1
  repeat
    if c > lastcol then break
    if elt(m,r,c) < 0 then
      output [r, c, elt(m,r,c)]
      r := lastrow
      break     -- don't look any further
    c := c + 1
  r := r + 1
\free{m2 r c lastrow lastcol }}
\end{paste}\end{patch}

\begin{patch}{ugLangBlocksPagePatch1}
\begin{paste}{ugLangBlocksPageFull1}{ugLangBlocksPageEmpty1}
\pastebutton{ugLangBlocksPageFull1}{\hidepaste}
\tab{5}\spadcommand{a :=
  i := gcd(234,672)
  i := 3*i^5 - i + 1
  1 / i
}
\indentrel{3}\begin{verbatim}
          1
   (1)  -----
        23323
                                Type: Fraction(Integer)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangBlocksPageEmpty1}
\begin{paste}{ugLangBlocksPageEmpty1}{ugLangBlocksPagePatch1}
\pastebutton{ugLangBlocksPageEmpty1}{\showpaste}
\tab{5}\spadcommand{a :=
  i := gcd(234,672)
  i := 3*i^5 - i + 1
  1 / i
}
\end{paste}\end{patch}

\begin{patch}{ugLangBlocksPagePatch2}
\begin{paste}{ugLangBlocksPageFull2}{ugLangBlocksPageEmpty2}
\pastebutton{ugLangBlocksPageFull2}{\hidepaste}
\tab{5}\spadcommand{a := (i := gcd(234,672); i := 3*i^5 - i + 1; 1 / i)}
\indentrel{3}\begin{verbatim}
          1
   (2)  -----
        23323
                                Type: Fraction(Integer)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangBlocksPageEmpty2}
\begin{paste}{ugLangBlocksPageEmpty2}{ugLangBlocksPagePatch2}
\pastebutton{ugLangBlocksPageEmpty2}{\showpaste}
\tab{5}\spadcommand{a := (i := gcd(234,672); i := 3*i^5 - i + 1; 1 / i)}
\end{paste}\end{patch}

\begin{patch}{ugLangBlocksPagePatch3}
\begin{paste}{ugLangBlocksPageFull3}{ugLangBlocksPageEmpty3}
\pastebutton{ugLangBlocksPageFull3}{\hidepaste}
\tab{5}\spadcommand{(a := 1; b := 2; c := 3; [a,b,c])\bound{a b c }}
\indentrel{3}\begin{verbatim}
   (3)  [1,2,3]
                            Type: List(PositiveInteger)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangBlocksPageEmpty3}
\begin{paste}{ugLangBlocksPageEmpty3}{ugLangBlocksPagePatch3}
\pastebutton{ugLangBlocksPageEmpty3}{\showpaste}
\tab{5}\spadcommand{(a := 1; b := 2; c := 3; [a,b,c])\bound{a b c }}
\end{paste}\end{patch}

\begin{patch}{ugLangBlocksPagePatch4}
\begin{paste}{ugLangBlocksPageFull4}{ugLangBlocksPageEmpty4}
\pastebutton{ugLangBlocksPageFull4}{\hidepaste}
\tab{5}\spadcommand{d :=
   c := a^2 + b^2
   sqrt(c * 1.3)
\free{a b }}
\indentrel{3}\begin{verbatim}
   (4)  2.5495097567 96392415
                                            Type: Float
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangBlocksPageEmpty4}
\begin{paste}{ugLangBlocksPageEmpty4}{ugLangBlocksPagePatch4}
\pastebutton{ugLangBlocksPageEmpty4}{\showpaste}
\tab{5}\spadcommand{d :=
   c := a^2 + b^2
   sqrt(c * 1.3)
\free{a b }}
\end{paste}\end{patch}

\begin{patch}{ugLangBlocksPagePatch5}
\begin{paste}{ugLangBlocksPageFull5}{ugLangBlocksPageEmpty5}
\pastebutton{ugLangBlocksPageFull5}{\hidepaste}
\tab{5}\spadcommand{h := 2.1 +
   1.0
   3.5
\bound{h }}
\indentrel{3}\begin{verbatim}
   (5)  5.6
                                            Type: Float
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangBlocksPageEmpty5}
\begin{paste}{ugLangBlocksPageEmpty5}{ugLangBlocksPagePatch5}
\pastebutton{ugLangBlocksPageEmpty5}{\showpaste}
\tab{5}\spadcommand{h := 2.1 +
   1.0
   3.5
\bound{h }}
\end{paste}\end{patch}

\begin{patch}{ugLangBlocksPagePatch6}
\begin{paste}{ugLangBlocksPageFull6}{ugLangBlocksPageEmpty6}
\pastebutton{ugLangBlocksPageFull6}{\hidepaste}
\tab{5}\spadcommand{eval(x^2 - x*y^2,
     z := \%pi/2.0 - exp(4.1)
     x = z
   )
}
\indentrel{3}\begin{verbatim}
   (6)
                           2
   58.7694912705 67072878 y  + 3453.8531042012 59382
                                Type: Polynomial(Float)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangBlocksPageEmpty6}
\begin{paste}{ugLangBlocksPageEmpty6}{ugLangBlocksPagePatch6}
\pastebutton{ugLangBlocksPageEmpty6}{\showpaste}
\tab{5}\spadcommand{eval(x^2 - x*y^2,
     z := \%pi/2.0 - exp(4.1)
     x = z
   )
}
\end{paste}\end{patch}

\begin{patch}{ugLangBlocksPagePatch7}
\begin{paste}{ugLangBlocksPageFull7}{ugLangBlocksPageEmpty7}
\pastebutton{ugLangBlocksPageFull7}{\hidepaste}
\tab{5}\spadcommand{if h > 3.1 then 1.0 else (z := cos(h); max(z,0.5))\free{h }}
\indentrel{3}\begin{verbatim}
   (7)  1.0
                                            Type: Float
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangBlocksPageEmpty7}
\begin{paste}{ugLangBlocksPageEmpty7}{ugLangBlocksPagePatch7}
\pastebutton{ugLangBlocksPageEmpty7}{\showpaste}
\tab{5}\spadcommand{if h > 3.1 then 1.0 else (z := cos(h); max(z,0.5))\free{h }}
\end{paste}\end{patch}

\begin{patch}{ugLangBlocksPagePatch8}
\begin{paste}{ugLangBlocksPageFull8}{ugLangBlocksPageEmpty8}
\pastebutton{ugLangBlocksPageFull8}{\hidepaste}
\tab{5}\spadcommand{if h > 3.1 then
    1.0
  else
    z := cos(h)
    max(z,0.5)
\free{h }}
\indentrel{3}\begin{verbatim}
   (8)  1.0
                                            Type: Float
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangBlocksPageEmpty8}
\begin{paste}{ugLangBlocksPageEmpty8}{ugLangBlocksPagePatch8}
\pastebutton{ugLangBlocksPageEmpty8}{\showpaste}
\tab{5}\spadcommand{if h > 3.1 then
    1.0
  else
    z := cos(h)
    max(z,0.5)
\free{h }}
\end{paste}\end{patch}

\begin{patch}{ugLangBlocksPagePatch9}
\begin{paste}{ugLangBlocksPageFull9}{ugLangBlocksPageEmpty9}
\pastebutton{ugLangBlocksPageFull9}{\hidepaste}
\tab{5}\spadcommand{a := (b := factorial(12); c := (d := eulerPhi(22); factorial(d));b+c)}
\indentrel{3}\begin{verbatim}
   (9)  482630400
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangBlocksPageEmpty9}
\begin{paste}{ugLangBlocksPageEmpty9}{ugLangBlocksPagePatch9}
\pastebutton{ugLangBlocksPageEmpty9}{\showpaste}
\tab{5}\spadcommand{a := (b := factorial(12); c := (d := eulerPhi(22); factorial(d));b+c)}
\end{paste}\end{patch}

\begin{patch}{ugLangBlocksPagePatch10}
\begin{paste}{ugLangBlocksPageFull10}{ugLangBlocksPageEmpty10}
\pastebutton{ugLangBlocksPageFull10}{\hidepaste}
\tab{5}\spadcommand{a :=
  b := factorial(12)
  c :=
    d := eulerPhi(22)
    factorial(d)
  b+c
}
\indentrel{3}\begin{verbatim}
   (10)  482630400
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangBlocksPageEmpty10}
\begin{paste}{ugLangBlocksPageEmpty10}{ugLangBlocksPagePatch10}
\pastebutton{ugLangBlocksPageEmpty10}{\showpaste}
\tab{5}\spadcommand{a :=
  b := factorial(12)
  c :=
    d := eulerPhi(22)
    factorial(d)
  b+c
}
\end{paste}\end{patch}

\begin{patch}{ugLangBlocksPagePatch11}
\begin{paste}{ugLangBlocksPageFull11}{ugLangBlocksPageEmpty11}
\pastebutton{ugLangBlocksPageFull11}{\hidepaste}
\tab{5}\spadcommand{a :=
  c := factorial 10
  d := fibonacci 10
  c + d = 3628855 => c
  d
}
\indentrel{3}\begin{verbatim}
   (11)  3628800
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangBlocksPageEmpty11}
\begin{paste}{ugLangBlocksPageEmpty11}{ugLangBlocksPagePatch11}
\pastebutton{ugLangBlocksPageEmpty11}{\showpaste}
\tab{5}\spadcommand{a :=
  c := factorial 10
  d := fibonacci 10
  c + d = 3628855 => c
  d
}
\end{paste}\end{patch}

\begin{patch}{ugLangAssignPagePatch1}
\begin{paste}{ugLangAssignPageFull1}{ugLangAssignPageEmpty1}
\pastebutton{ugLangAssignPageFull1}{\hidepaste}
\tab{5}\spadcommand{a := 1\bound{a }}
\indentrel{3}\begin{verbatim}
   (1)  1
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangAssignPageEmpty1}
\begin{paste}{ugLangAssignPageEmpty1}{ugLangAssignPagePatch1}
\pastebutton{ugLangAssignPageEmpty1}{\showpaste}
\tab{5}\spadcommand{a := 1\bound{a }}
\end{paste}\end{patch}

\begin{patch}{ugLangAssignPagePatch2}
\begin{paste}{ugLangAssignPageFull2}{ugLangAssignPageEmpty2}
\pastebutton{ugLangAssignPageFull2}{\hidepaste}
\tab{5}\spadcommand{b := a\free{a }\bound{b }}
\indentrel{3}\begin{verbatim}
   (2)  1
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangAssignPageEmpty2}
\begin{paste}{ugLangAssignPageEmpty2}{ugLangAssignPagePatch2}
\pastebutton{ugLangAssignPageEmpty2}{\showpaste}
\tab{5}\spadcommand{b := a\free{a }\bound{b }}
\end{paste}\end{patch}

\begin{patch}{ugLangAssignPagePatch3}
\begin{paste}{ugLangAssignPageFull3}{ugLangAssignPageEmpty3}
\pastebutton{ugLangAssignPageFull3}{\hidepaste}
\tab{5}\spadcommand{a := 2\bound{a2 }}
\indentrel{3}\begin{verbatim}
   (3)  2
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangAssignPageEmpty3}
\begin{paste}{ugLangAssignPageEmpty3}{ugLangAssignPagePatch3}
\pastebutton{ugLangAssignPageEmpty3}{\showpaste}
\tab{5}\spadcommand{a := 2\bound{a2 }}
\end{paste}\end{patch}

\begin{patch}{ugLangAssignPagePatch4}
\begin{paste}{ugLangAssignPageFull4}{ugLangAssignPageEmpty4}
\pastebutton{ugLangAssignPageFull4}{\hidepaste}
\tab{5}\spadcommand{b\free{b }}
\indentrel{3}\begin{verbatim}
   (4)  1
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangAssignPageEmpty4}
\begin{paste}{ugLangAssignPageEmpty4}{ugLangAssignPagePatch4}
\pastebutton{ugLangAssignPageEmpty4}{\showpaste}
\tab{5}\spadcommand{b\free{b }}
\end{paste}\end{patch}

\begin{patch}{ugLangAssignPagePatch5}
\begin{paste}{ugLangAssignPageFull5}{ugLangAssignPageEmpty5}
\pastebutton{ugLangAssignPageFull5}{\hidepaste}
\tab{5}\spadcommand{a == 1\bound{ad }}
\indentrel{3}\begin{verbatim}
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangAssignPageEmpty5}
\begin{paste}{ugLangAssignPageEmpty5}{ugLangAssignPagePatch5}
\pastebutton{ugLangAssignPageEmpty5}{\showpaste}
\tab{5}\spadcommand{a == 1\bound{ad }}
\end{paste}\end{patch}

\begin{patch}{ugLangAssignPagePatch6}
\begin{paste}{ugLangAssignPageFull6}{ugLangAssignPageEmpty6}
\pastebutton{ugLangAssignPageFull6}{\hidepaste}
\tab{5}\spadcommand{b == a\free{ad }\bound{bd }}
\indentrel{3}\begin{verbatim}
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangAssignPageEmpty6}
\begin{paste}{ugLangAssignPageEmpty6}{ugLangAssignPagePatch6}
\pastebutton{ugLangAssignPageEmpty6}{\showpaste}
\tab{5}\spadcommand{b == a\free{ad }\bound{bd }}
\end{paste}\end{patch}

\begin{patch}{ugLangAssignPagePatch7}
\begin{paste}{ugLangAssignPageFull7}{ugLangAssignPageEmpty7}
\pastebutton{ugLangAssignPageFull7}{\hidepaste}
\tab{5}\spadcommand{a\free{ad }}
\indentrel{3}\begin{verbatim}
   (7)  1
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangAssignPageEmpty7}
\begin{paste}{ugLangAssignPageEmpty7}{ugLangAssignPagePatch7}
\pastebutton{ugLangAssignPageEmpty7}{\showpaste}
\tab{5}\spadcommand{a\free{ad }}
\end{paste}\end{patch}

\begin{patch}{ugLangAssignPagePatch8}
\begin{paste}{ugLangAssignPageFull8}{ugLangAssignPageEmpty8}
\pastebutton{ugLangAssignPageFull8}{\hidepaste}
\tab{5}\spadcommand{b\free{bd }}
\indentrel{3}\begin{verbatim}
   (8)  1
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangAssignPageEmpty8}
\begin{paste}{ugLangAssignPageEmpty8}{ugLangAssignPagePatch8}
\pastebutton{ugLangAssignPageEmpty8}{\showpaste}
\tab{5}\spadcommand{b\free{bd }}
\end{paste}\end{patch}

\begin{patch}{ugLangAssignPagePatch9}
\begin{paste}{ugLangAssignPageFull9}{ugLangAssignPageEmpty9}
\pastebutton{ugLangAssignPageFull9}{\hidepaste}
\tab{5}\spadcommand{a == 2\bound{ad2 }}
\indentrel{3}\begin{verbatim}
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangAssignPageEmpty9}
\begin{paste}{ugLangAssignPageEmpty9}{ugLangAssignPagePatch9}
\pastebutton{ugLangAssignPageEmpty9}{\showpaste}
\tab{5}\spadcommand{a == 2\bound{ad2 }}
\end{paste}\end{patch}

\begin{patch}{ugLangAssignPagePatch10}
\begin{paste}{ugLangAssignPageFull10}{ugLangAssignPageEmpty10}
\pastebutton{ugLangAssignPageFull10}{\hidepaste}
\tab{5}\spadcommand{a\free{ad2 }}
\indentrel{3}\begin{verbatim}
   (10)  2
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangAssignPageEmpty10}
\begin{paste}{ugLangAssignPageEmpty10}{ugLangAssignPagePatch10}
\pastebutton{ugLangAssignPageEmpty10}{\showpaste}
\tab{5}\spadcommand{a\free{ad2 }}
\end{paste}\end{patch}

\begin{patch}{ugLangAssignPagePatch11}
\begin{paste}{ugLangAssignPageFull11}{ugLangAssignPageEmpty11}
\pastebutton{ugLangAssignPageFull11}{\hidepaste}
\tab{5}\spadcommand{b\free{bd ad2 }}
\indentrel{3}\begin{verbatim}
   (11)  2
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangAssignPageEmpty11}
\begin{paste}{ugLangAssignPageEmpty11}{ugLangAssignPagePatch11}
\pastebutton{ugLangAssignPageEmpty11}{\showpaste}
\tab{5}\spadcommand{b\free{bd ad2 }}
\end{paste}\end{patch}

\begin{patch}{ugLangAssignPagePatch12}
\begin{paste}{ugLangAssignPageFull12}{ugLangAssignPageEmpty12}
\pastebutton{ugLangAssignPageFull12}{\hidepaste}
\tab{5}\spadcommand{(x,y) := (1,2)\bound{x }\bound{y }}
\indentrel{3}\begin{verbatim}
   (12)  2
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangAssignPageEmpty12}
\begin{paste}{ugLangAssignPageEmpty12}{ugLangAssignPagePatch12}
\pastebutton{ugLangAssignPageEmpty12}{\showpaste}
\tab{5}\spadcommand{(x,y) := (1,2)\bound{x }\bound{y }}
\end{paste}\end{patch}

\begin{patch}{ugLangAssignPagePatch13}
\begin{paste}{ugLangAssignPageFull13}{ugLangAssignPageEmpty13}
\pastebutton{ugLangAssignPageFull13}{\hidepaste}
\tab{5}\spadcommand{(x,y) := (y,x)\free{x y }\bound{swap }}
\indentrel{3}\begin{verbatim}
   (13)  1
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangAssignPageEmpty13}
\begin{paste}{ugLangAssignPageEmpty13}{ugLangAssignPagePatch13}
\pastebutton{ugLangAssignPageEmpty13}{\showpaste}
\tab{5}\spadcommand{(x,y) := (y,x)\free{x y }\bound{swap }}
\end{paste}\end{patch}

\begin{patch}{ugLangAssignPagePatch14}
\begin{paste}{ugLangAssignPageFull14}{ugLangAssignPageEmpty14}
\pastebutton{ugLangAssignPageFull14}{\hidepaste}
\tab{5}\spadcommand{x\free{swap }}
\indentrel{3}\begin{verbatim}
   (14)  2
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangAssignPageEmpty14}
\begin{paste}{ugLangAssignPageEmpty14}{ugLangAssignPagePatch14}
\pastebutton{ugLangAssignPageEmpty14}{\showpaste}
\tab{5}\spadcommand{x\free{swap }}
\end{paste}\end{patch}

\begin{patch}{ugLangAssignPagePatch15}
\begin{paste}{ugLangAssignPageFull15}{ugLangAssignPageEmpty15}
\pastebutton{ugLangAssignPageFull15}{\hidepaste}
\tab{5}\spadcommand{y\free{swap }}
\indentrel{3}\begin{verbatim}
   (15)  1
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangAssignPageEmpty15}
\begin{paste}{ugLangAssignPageEmpty15}{ugLangAssignPagePatch15}
\pastebutton{ugLangAssignPageEmpty15}{\showpaste}
\tab{5}\spadcommand{y\free{swap }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsParPagePatch1}
\begin{paste}{ugLangLoopsParPageFull1}{ugLangLoopsParPageEmpty1}
\pastebutton{ugLangLoopsParPageFull1}{\hidepaste}
\tab{5}\spadcommand{l := [1,3,5,7]\bound{l }}
\indentrel{3}\begin{verbatim}
   (1)  [1,3,5,7]
                            Type: List(PositiveInteger)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsParPageEmpty1}
\begin{paste}{ugLangLoopsParPageEmpty1}{ugLangLoopsParPagePatch1}
\pastebutton{ugLangLoopsParPageEmpty1}{\showpaste}
\tab{5}\spadcommand{l := [1,3,5,7]\bound{l }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsParPagePatch2}
\begin{paste}{ugLangLoopsParPageFull2}{ugLangLoopsParPageEmpty2}
\pastebutton{ugLangLoopsParPageFull2}{\hidepaste}
\tab{5}\spadcommand{m := [100,200]\bound{m }}
\indentrel{3}\begin{verbatim}
   (2)  [100,200]
                            Type: List(PositiveInteger)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsParPageEmpty2}
\begin{paste}{ugLangLoopsParPageEmpty2}{ugLangLoopsParPagePatch2}
\pastebutton{ugLangLoopsParPageEmpty2}{\showpaste}
\tab{5}\spadcommand{m := [100,200]\bound{m }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsParPagePatch3}
\begin{paste}{ugLangLoopsParPageFull3}{ugLangLoopsParPageEmpty3}
\pastebutton{ugLangLoopsParPageFull3}{\hidepaste}
\tab{5}\spadcommand{sum := 0\bound{sum }}
\indentrel{3}\begin{verbatim}
   (3)  0
                               Type: NonNegativeInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsParPageEmpty3}
\begin{paste}{ugLangLoopsParPageEmpty3}{ugLangLoopsParPagePatch3}
\pastebutton{ugLangLoopsParPageEmpty3}{\showpaste}
\tab{5}\spadcommand{sum := 0\bound{sum }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsParPagePatch4}
\begin{paste}{ugLangLoopsParPageFull4}{ugLangLoopsParPageEmpty4}
\pastebutton{ugLangLoopsParPageFull4}{\hidepaste}
\tab{5}\spadcommand{for x in l for y in m repeat
    sum := sum + x*y
\bound{doit }\free{sum l m }}
\indentrel{3}\begin{verbatim}
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsParPageEmpty4}
\begin{paste}{ugLangLoopsParPageEmpty4}{ugLangLoopsParPagePatch4}
\pastebutton{ugLangLoopsParPageEmpty4}{\showpaste}
\tab{5}\spadcommand{for x in l for y in m repeat
    sum := sum + x*y
\bound{doit }\free{sum l m }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsParPagePatch5}
\begin{paste}{ugLangLoopsParPageFull5}{ugLangLoopsParPageEmpty5}
\pastebutton{ugLangLoopsParPageFull5}{\hidepaste}
\tab{5}\spadcommand{sum\free{doit }}
\indentrel{3}\begin{verbatim}
   (5)  700
                               Type: NonNegativeInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsParPageEmpty5}
\begin{paste}{ugLangLoopsParPageEmpty5}{ugLangLoopsParPagePatch5}
\pastebutton{ugLangLoopsParPageEmpty5}{\showpaste}
\tab{5}\spadcommand{sum\free{doit }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsParPagePatch6}
\begin{paste}{ugLangLoopsParPageFull6}{ugLangLoopsParPageEmpty6}
\pastebutton{ugLangLoopsParPageFull6}{\hidepaste}
\tab{5}\spadcommand{l := [2,3,5,7,11,13,17,19,23,29,31,37]\bound{l1 }}
\indentrel{3}\begin{verbatim}
   (6)  [2,3,5,7,11,13,17,19,23,29,31,37]
                            Type: List(PositiveInteger)
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsParPageEmpty6}
\begin{paste}{ugLangLoopsParPageEmpty6}{ugLangLoopsParPagePatch6}
\pastebutton{ugLangLoopsParPageEmpty6}{\showpaste}
\tab{5}\spadcommand{l := [2,3,5,7,11,13,17,19,23,29,31,37]\bound{l1 }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsParPagePatch7}
\begin{paste}{ugLangLoopsParPageFull7}{ugLangLoopsParPageEmpty7}
\pastebutton{ugLangLoopsParPageFull7}{\hidepaste}
\tab{5}\spadcommand{sum := 0\bound{sum1 }}
\indentrel{3}\begin{verbatim}
   (7)  0
                               Type: NonNegativeInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsParPageEmpty7}
\begin{paste}{ugLangLoopsParPageEmpty7}{ugLangLoopsParPagePatch7}
\pastebutton{ugLangLoopsParPageEmpty7}{\showpaste}
\tab{5}\spadcommand{sum := 0\bound{sum1 }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsParPagePatch8}
\begin{paste}{ugLangLoopsParPageFull8}{ugLangLoopsParPageEmpty8}
\pastebutton{ugLangLoopsParPageFull8}{\hidepaste}
\tab{5}\spadcommand{for i in 0.. for x in l repeat sum := i * x\bound{doit1 }\free{sum1 l1 }}
\indentrel{3}\begin{verbatim}
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsParPageEmpty8}
\begin{paste}{ugLangLoopsParPageEmpty8}{ugLangLoopsParPagePatch8}
\pastebutton{ugLangLoopsParPageEmpty8}{\showpaste}
\tab{5}\spadcommand{for i in 0.. for x in l repeat sum := i * x\bound{doit1 }\free{sum1 l1 }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsParPagePatch9}
\begin{paste}{ugLangLoopsParPageFull9}{ugLangLoopsParPageEmpty9}
\pastebutton{ugLangLoopsParPageFull9}{\hidepaste}
\tab{5}\spadcommand{sum\free{doit1 }}
\indentrel{3}\begin{verbatim}
   (9)  407
                               Type: NonNegativeInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsParPageEmpty9}
\begin{paste}{ugLangLoopsParPageEmpty9}{ugLangLoopsParPagePatch9}
\pastebutton{ugLangLoopsParPageEmpty9}{\showpaste}
\tab{5}\spadcommand{sum\free{doit1 }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsParPagePatch10}
\begin{paste}{ugLangLoopsParPageFull10}{ugLangLoopsParPageEmpty10}
\pastebutton{ugLangLoopsParPageFull10}{\hidepaste}
\tab{5}\spadcommand{for i in 1..10
    for j in 151..160 | odd? j
      while i + j < 160 repeat
        output [i,j]
}
\indentrel{3}\begin{verbatim}
   [1,151]
   [3,153]
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsParPageEmpty10}
\begin{paste}{ugLangLoopsParPageEmpty10}{ugLangLoopsParPagePatch10}
\pastebutton{ugLangLoopsParPageEmpty10}{\showpaste}
\tab{5}\spadcommand{for i in 1..10
    for j in 151..160 | odd? j
      while i + j < 160 repeat
        output [i,j]
}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakPagePatch1}
\begin{paste}{ugLangLoopsBreakPageFull1}{ugLangLoopsBreakPageEmpty1}
\pastebutton{ugLangLoopsBreakPageFull1}{\hidepaste}
\tab{5}\spadcommand{f() ==
  i := 1
  repeat
    if factorial(i) > 1000 then break
    i := i + 1
  i
\bound{f1 }}
\indentrel{3}\begin{verbatim}
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakPageEmpty1}
\begin{paste}{ugLangLoopsBreakPageEmpty1}{ugLangLoopsBreakPagePatch1}
\pastebutton{ugLangLoopsBreakPageEmpty1}{\showpaste}
\tab{5}\spadcommand{f() ==
  i := 1
  repeat
    if factorial(i) > 1000 then break
    i := i + 1
  i
\bound{f1 }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakPagePatch2}
\begin{paste}{ugLangLoopsBreakPageFull2}{ugLangLoopsBreakPageEmpty2}
\pastebutton{ugLangLoopsBreakPageFull2}{\hidepaste}
\tab{5}\spadcommand{f()\free{f1 }}
\indentrel{3}\begin{verbatim}
   (2)  7
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakPageEmpty2}
\begin{paste}{ugLangLoopsBreakPageEmpty2}{ugLangLoopsBreakPagePatch2}
\pastebutton{ugLangLoopsBreakPageEmpty2}{\showpaste}
\tab{5}\spadcommand{f()\free{f1 }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakPagePatch3}
\begin{paste}{ugLangLoopsBreakPageFull3}{ugLangLoopsBreakPageEmpty3}
\pastebutton{ugLangLoopsBreakPageFull3}{\hidepaste}
\tab{5}\spadcommand{(i,j) := (1, 1)\bound{i }\bound{j }}
\indentrel{3}\begin{verbatim}
   (3)  1
                                  Type: PositiveInteger
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakPageEmpty3}
\begin{paste}{ugLangLoopsBreakPageEmpty3}{ugLangLoopsBreakPagePatch3}
\pastebutton{ugLangLoopsBreakPageEmpty3}{\showpaste}
\tab{5}\spadcommand{(i,j) := (1, 1)\bound{i }\bound{j }}
\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakPagePatch4}
\begin{paste}{ugLangLoopsBreakPageFull4}{ugLangLoopsBreakPageEmpty4}
\pastebutton{ugLangLoopsBreakPageFull4}{\hidepaste}
\tab{5}\spadcommand{repeat
  repeat
    if (i + j) > 10 then break
    j := j + 1
  if (i + j) > 10 then break
  i := i + 1
\free{i j }}
\indentrel{3}\begin{verbatim}
                                             Type: Void
\end{verbatim}
\indentrel{-3}\end{paste}\end{patch}

\begin{patch}{ugLangLoopsBreakPageEmpty4}
\begin{paste}{ugLangLoopsBreakPageEmpty4}{ugLangLoopsBreakPagePatch4}
\pastebutton{ugLangLoopsBreakPageEmpty4}{\showpaste}
\tab{5}\spadcommand{repeat
  repeat
    if (i + j) > 10 then break
    j := j + 1
  if (i + j) > 10 then break
  i := i + 1
\free{i j }}
\end{paste}\end{patch}

