aboutsummaryrefslogtreecommitdiff
path: root/src/hyper/pages/ug05.pht
diff options
context:
space:
mode:
Diffstat (limited to 'src/hyper/pages/ug05.pht')
-rw-r--r--src/hyper/pages/ug05.pht2002
1 files changed, 2002 insertions, 0 deletions
diff --git a/src/hyper/pages/ug05.pht b/src/hyper/pages/ug05.pht
new file mode 100644
index 00000000..78695934
--- /dev/null
+++ b/src/hyper/pages/ug05.pht
@@ -0,0 +1,2002 @@
+\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}
+