\begin{patch}{MappingPackageOneXmpPagePatch1} \begin{paste}{MappingPackageOneXmpPageFull1}{MappingPackageOneXmpPageEmpty1} \pastebutton{MappingPackageOneXmpPageFull1}{\hidepaste} \tab{5}\spadcommand{power(q: FRAC INT, n: INT): FRAC INT == q**n\bound{power }} \indentrel{3}\begin{verbatim} Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPageEmpty1} \begin{paste}{MappingPackageOneXmpPageEmpty1}{MappingPackageOneXmpPagePatch1} \pastebutton{MappingPackageOneXmpPageEmpty1}{\showpaste} \tab{5}\spadcommand{power(q: FRAC INT, n: INT): FRAC INT == q**n\bound{power }} \end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPagePatch2} \begin{paste}{MappingPackageOneXmpPageFull2}{MappingPackageOneXmpPageEmpty2} \pastebutton{MappingPackageOneXmpPageFull2}{\hidepaste} \tab{5}\spadcommand{power(2,3)\free{power }} \indentrel{3}\begin{verbatim} (2) 8 Type: Fraction Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPageEmpty2} \begin{paste}{MappingPackageOneXmpPageEmpty2}{MappingPackageOneXmpPagePatch2} \pastebutton{MappingPackageOneXmpPageEmpty2}{\showpaste} \tab{5}\spadcommand{power(2,3)\free{power }} \end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPagePatch3} \begin{paste}{MappingPackageOneXmpPageFull3}{MappingPackageOneXmpPageEmpty3} \pastebutton{MappingPackageOneXmpPageFull3}{\hidepaste} \tab{5}\spadcommand{rewop := twist power\free{power }\bound{rewop }} \indentrel{3}\begin{verbatim} (3) theMap(MAPPKG3;twist;MM;5!0) Type: ((Integer,Fraction Integer) -> Fraction Integer) \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPageEmpty3} \begin{paste}{MappingPackageOneXmpPageEmpty3}{MappingPackageOneXmpPagePatch3} \pastebutton{MappingPackageOneXmpPageEmpty3}{\showpaste} \tab{5}\spadcommand{rewop := twist power\free{power }\bound{rewop }} \end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPagePatch4} \begin{paste}{MappingPackageOneXmpPageFull4}{MappingPackageOneXmpPageEmpty4} \pastebutton{MappingPackageOneXmpPageFull4}{\hidepaste} \tab{5}\spadcommand{rewop(3, 2)\free{rewop }} \indentrel{3}\begin{verbatim} (4) 8 Type: Fraction Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPageEmpty4} \begin{paste}{MappingPackageOneXmpPageEmpty4}{MappingPackageOneXmpPagePatch4} \pastebutton{MappingPackageOneXmpPageEmpty4}{\showpaste} \tab{5}\spadcommand{rewop(3, 2)\free{rewop }} \end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPagePatch5} \begin{paste}{MappingPackageOneXmpPageFull5}{MappingPackageOneXmpPageEmpty5} \pastebutton{MappingPackageOneXmpPageFull5}{\hidepaste} \tab{5}\spadcommand{square: FRAC INT -> FRAC INT\bound{squaredec }} \indentrel{3}\begin{verbatim} Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPageEmpty5} \begin{paste}{MappingPackageOneXmpPageEmpty5}{MappingPackageOneXmpPagePatch5} \pastebutton{MappingPackageOneXmpPageEmpty5}{\showpaste} \tab{5}\spadcommand{square: FRAC INT -> FRAC INT\bound{squaredec }} \end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPagePatch6} \begin{paste}{MappingPackageOneXmpPageFull6}{MappingPackageOneXmpPageEmpty6} \pastebutton{MappingPackageOneXmpPageFull6}{\hidepaste} \tab{5}\spadcommand{square:= curryRight(power, 2)\free{squaredec poswer }\bound{square }} \indentrel{3}\begin{verbatim} (6) theMap(MAPPKG3;curryRight;MBM;1!0,430) Type: (Fraction Integer -> Fraction Integer) \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPageEmpty6} \begin{paste}{MappingPackageOneXmpPageEmpty6}{MappingPackageOneXmpPagePatch6} \pastebutton{MappingPackageOneXmpPageEmpty6}{\showpaste} \tab{5}\spadcommand{square:= curryRight(power, 2)\free{squaredec poswer }\bound{square }} \end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPagePatch7} \begin{paste}{MappingPackageOneXmpPageFull7}{MappingPackageOneXmpPageEmpty7} \pastebutton{MappingPackageOneXmpPageFull7}{\hidepaste} \tab{5}\spadcommand{square 4\free{square }} \indentrel{3}\begin{verbatim} (7) 16 Type: Fraction Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPageEmpty7} \begin{paste}{MappingPackageOneXmpPageEmpty7}{MappingPackageOneXmpPagePatch7} \pastebutton{MappingPackageOneXmpPageEmpty7}{\showpaste} \tab{5}\spadcommand{square 4\free{square }} \end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPagePatch8} \begin{paste}{MappingPackageOneXmpPageFull8}{MappingPackageOneXmpPageEmpty8} \pastebutton{MappingPackageOneXmpPageFull8}{\hidepaste} \tab{5}\spadcommand{squirrel:= constantRight(square)$MAPPKG3(FRAC INT,FRAC INT,FRAC INT)\free{square }\bound{squirrel }} \indentrel{3}\begin{verbatim} (8) theMap(MAPPKG3;constantRight;MM;3!0) Type: ((Fraction Integer,Fraction Integer) -> Fraction Integer) \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPageEmpty8} \begin{paste}{MappingPackageOneXmpPageEmpty8}{MappingPackageOneXmpPagePatch8} \pastebutton{MappingPackageOneXmpPageEmpty8}{\showpaste} \tab{5}\spadcommand{squirrel:= constantRight(square)$MAPPKG3(FRAC INT,FRAC INT,FRAC INT)\free{square }\bound{squirrel }} \end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPagePatch9} \begin{paste}{MappingPackageOneXmpPageFull9}{MappingPackageOneXmpPageEmpty9} \pastebutton{MappingPackageOneXmpPageFull9}{\hidepaste} \tab{5}\spadcommand{squirrel(1/2, 1/3)\free{squirrel }} \indentrel{3}\begin{verbatim} 1 (9) Ä 4 Type: Fraction Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPageEmpty9} \begin{paste}{MappingPackageOneXmpPageEmpty9}{MappingPackageOneXmpPagePatch9} \pastebutton{MappingPackageOneXmpPageEmpty9}{\showpaste} \tab{5}\spadcommand{squirrel(1/2, 1/3)\free{squirrel }} \end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPagePatch10} \begin{paste}{MappingPackageOneXmpPageFull10}{MappingPackageOneXmpPageEmpty10} \pastebutton{MappingPackageOneXmpPageFull10}{\hidepaste} \tab{5}\spadcommand{sixteen := curry(square, 4/1)\free{square }\bound{sixteen }} \indentrel{3}\begin{verbatim} (10) theMap(MAPPKG2;curry;MAM;2!0,488) Type: (() -> Fraction Integer) \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPageEmpty10} \begin{paste}{MappingPackageOneXmpPageEmpty10}{MappingPackageOneXmpPagePatch10} \pastebutton{MappingPackageOneXmpPageEmpty10}{\showpaste} \tab{5}\spadcommand{sixteen := curry(square, 4/1)\free{square }\bound{sixteen }} \end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPagePatch11} \begin{paste}{MappingPackageOneXmpPageFull11}{MappingPackageOneXmpPageEmpty11} \pastebutton{MappingPackageOneXmpPageFull11}{\hidepaste} \tab{5}\spadcommand{sixteen()\free{sixteen }} \indentrel{3}\begin{verbatim} (11) 16 Type: Fraction Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPageEmpty11} \begin{paste}{MappingPackageOneXmpPageEmpty11}{MappingPackageOneXmpPagePatch11} \pastebutton{MappingPackageOneXmpPageEmpty11}{\showpaste} \tab{5}\spadcommand{sixteen()\free{sixteen }} \end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPagePatch12} \begin{paste}{MappingPackageOneXmpPageFull12}{MappingPackageOneXmpPageEmpty12} \pastebutton{MappingPackageOneXmpPageFull12}{\hidepaste} \tab{5}\spadcommand{square2:=square*square\free{square }\bound{square2 }} \indentrel{3}\begin{verbatim} (12) theMap(MAPPKG3;*;MMM;6!0,589) Type: (Fraction Integer -> Fraction Integer) \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPageEmpty12} \begin{paste}{MappingPackageOneXmpPageEmpty12}{MappingPackageOneXmpPagePatch12} \pastebutton{MappingPackageOneXmpPageEmpty12}{\showpaste} \tab{5}\spadcommand{square2:=square*square\free{square }\bound{square2 }} \end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPagePatch13} \begin{paste}{MappingPackageOneXmpPageFull13}{MappingPackageOneXmpPageEmpty13} \pastebutton{MappingPackageOneXmpPageFull13}{\hidepaste} \tab{5}\spadcommand{square2 3\free{square2 }} \indentrel{3}\begin{verbatim} (13) 81 Type: Fraction Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPageEmpty13} \begin{paste}{MappingPackageOneXmpPageEmpty13}{MappingPackageOneXmpPagePatch13} \pastebutton{MappingPackageOneXmpPageEmpty13}{\showpaste} \tab{5}\spadcommand{square2 3\free{square2 }} \end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPagePatch14} \begin{paste}{MappingPackageOneXmpPageFull14}{MappingPackageOneXmpPageEmpty14} \pastebutton{MappingPackageOneXmpPageFull14}{\hidepaste} \tab{5}\spadcommand{sc(x: FRAC INT): FRAC INT == x + 1\bound{sc }} \indentrel{3}\begin{verbatim} Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPageEmpty14} \begin{paste}{MappingPackageOneXmpPageEmpty14}{MappingPackageOneXmpPagePatch14} \pastebutton{MappingPackageOneXmpPageEmpty14}{\showpaste} \tab{5}\spadcommand{sc(x: FRAC INT): FRAC INT == x + 1\bound{sc }} \end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPagePatch15} \begin{paste}{MappingPackageOneXmpPageFull15}{MappingPackageOneXmpPageEmpty15} \pastebutton{MappingPackageOneXmpPageFull15}{\hidepaste} \tab{5}\spadcommand{incfns := [sc**i for i in 0..10]\free{sc }\bound{incfns }} \indentrel{3}\begin{verbatim} (15) [theMap(MAPPKG1;**;MNniM;6!0,314), theMap(MAPPKG1;**;MNniM;6!0,963), theMap(MAPPKG1;**;MNniM;6!0,810), theMap(MAPPKG1;**;MNniM;6!0,546), theMap(MAPPKG1;**;MNniM;6!0,338), theMap(MAPPKG1;**;MNniM;6!0,989), theMap(MAPPKG1;**;MNniM;6!0,218), theMap(MAPPKG1;**;MNniM;6!0,20), theMap(MAPPKG1;**;MNniM;6!0,533), theMap(MAPPKG1;**;MNniM;6!0,437), theMap(MAPPKG1;**;MNniM;6!0,900)] Type: List (Fraction Integer -> Fraction Integer) \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPageEmpty15} \begin{paste}{MappingPackageOneXmpPageEmpty15}{MappingPackageOneXmpPagePatch15} \pastebutton{MappingPackageOneXmpPageEmpty15}{\showpaste} \tab{5}\spadcommand{incfns := [sc**i for i in 0..10]\free{sc }\bound{incfns }} \end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPagePatch16} \begin{paste}{MappingPackageOneXmpPageFull16}{MappingPackageOneXmpPageEmpty16} \pastebutton{MappingPackageOneXmpPageFull16}{\hidepaste} \tab{5}\spadcommand{[f 4 for f in incfns]\free{incfns }} \indentrel{3}\begin{verbatim} (16) [4,5,6,7,8,9,10,11,12,13,14] Type: List Fraction Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPageEmpty16} \begin{paste}{MappingPackageOneXmpPageEmpty16}{MappingPackageOneXmpPagePatch16} \pastebutton{MappingPackageOneXmpPageEmpty16}{\showpaste} \tab{5}\spadcommand{[f 4 for f in incfns]\free{incfns }} \end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPagePatch17} \begin{paste}{MappingPackageOneXmpPageFull17}{MappingPackageOneXmpPageEmpty17} \pastebutton{MappingPackageOneXmpPageFull17}{\hidepaste} \tab{5}\spadcommand{times(n:NNI, i:INT):INT == n*i\bound{rdec }} \indentrel{3}\begin{verbatim} Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPageEmpty17} \begin{paste}{MappingPackageOneXmpPageEmpty17}{MappingPackageOneXmpPagePatch17} \pastebutton{MappingPackageOneXmpPageEmpty17}{\showpaste} \tab{5}\spadcommand{times(n:NNI, i:INT):INT == n*i\bound{rdec }} \end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPagePatch18} \begin{paste}{MappingPackageOneXmpPageFull18}{MappingPackageOneXmpPageEmpty18} \pastebutton{MappingPackageOneXmpPageFull18}{\hidepaste} \tab{5}\spadcommand{r := recur(times)\free{rdec }\bound{r }} \indentrel{3}\begin{verbatim} (18) theMap(MAPPKG1;recur;2M;7!0,161) Type: ((NonNegativeInteger,Integer) -> Integer) \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPageEmpty18} \begin{paste}{MappingPackageOneXmpPageEmpty18}{MappingPackageOneXmpPagePatch18} \pastebutton{MappingPackageOneXmpPageEmpty18}{\showpaste} \tab{5}\spadcommand{r := recur(times)\free{rdec }\bound{r }} \end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPagePatch19} \begin{paste}{MappingPackageOneXmpPageFull19}{MappingPackageOneXmpPageEmpty19} \pastebutton{MappingPackageOneXmpPageFull19}{\hidepaste} \tab{5}\spadcommand{fact := curryRight(r, 1)\free{r }\bound{fact }} \indentrel{3}\begin{verbatim} (19) theMap(MAPPKG3;curryRight;MBM;1!0,541) Type: (NonNegativeInteger -> Integer) \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPageEmpty19} \begin{paste}{MappingPackageOneXmpPageEmpty19}{MappingPackageOneXmpPagePatch19} \pastebutton{MappingPackageOneXmpPageEmpty19}{\showpaste} \tab{5}\spadcommand{fact := curryRight(r, 1)\free{r }\bound{fact }} \end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPagePatch20} \begin{paste}{MappingPackageOneXmpPageFull20}{MappingPackageOneXmpPageEmpty20} \pastebutton{MappingPackageOneXmpPageFull20}{\hidepaste} \tab{5}\spadcommand{fact 4\free{fact }} \indentrel{3}\begin{verbatim} (20) 24 Type: PositiveInteger \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPageEmpty20} \begin{paste}{MappingPackageOneXmpPageEmpty20}{MappingPackageOneXmpPagePatch20} \pastebutton{MappingPackageOneXmpPageEmpty20}{\showpaste} \tab{5}\spadcommand{fact 4\free{fact }} \end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPagePatch21} \begin{paste}{MappingPackageOneXmpPageFull21}{MappingPackageOneXmpPageEmpty21} \pastebutton{MappingPackageOneXmpPageFull21}{\hidepaste} \tab{5}\spadcommand{mto2ton(m, n) == raiser := square**n raiser m \free{square }\bound{mto2ton }} \indentrel{3}\begin{verbatim} Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPageEmpty21} \begin{paste}{MappingPackageOneXmpPageEmpty21}{MappingPackageOneXmpPagePatch21} \pastebutton{MappingPackageOneXmpPageEmpty21}{\showpaste} \tab{5}\spadcommand{mto2ton(m, n) == raiser := square**n raiser m \free{square }\bound{mto2ton }} \end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPagePatch22} \begin{paste}{MappingPackageOneXmpPageFull22}{MappingPackageOneXmpPageEmpty22} \pastebutton{MappingPackageOneXmpPageFull22}{\hidepaste} \tab{5}\spadcommand{mto2ton(3, 3)\free{mto2ton }} \indentrel{3}\begin{verbatim} (22) 6561 Type: Fraction Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPageEmpty22} \begin{paste}{MappingPackageOneXmpPageEmpty22}{MappingPackageOneXmpPagePatch22} \pastebutton{MappingPackageOneXmpPageEmpty22}{\showpaste} \tab{5}\spadcommand{mto2ton(3, 3)\free{mto2ton }} \end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPagePatch23} \begin{paste}{MappingPackageOneXmpPageFull23}{MappingPackageOneXmpPageEmpty23} \pastebutton{MappingPackageOneXmpPageFull23}{\hidepaste} \tab{5}\spadcommand{shiftfib(r: List INT) : INT == t := r.1 r.1 := r.2 r.2 := r.2 + t t \bound{shiftfib }} \indentrel{3}\begin{verbatim} Type: Void \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPageEmpty23} \begin{paste}{MappingPackageOneXmpPageEmpty23}{MappingPackageOneXmpPagePatch23} \pastebutton{MappingPackageOneXmpPageEmpty23}{\showpaste} \tab{5}\spadcommand{shiftfib(r: List INT) : INT == t := r.1 r.1 := r.2 r.2 := r.2 + t t \bound{shiftfib }} \end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPagePatch24} \begin{paste}{MappingPackageOneXmpPageFull24}{MappingPackageOneXmpPageEmpty24} \pastebutton{MappingPackageOneXmpPageFull24}{\hidepaste} \tab{5}\spadcommand{fibinit: List INT := [0, 1]\bound{fibinitdec }} \indentrel{3}\begin{verbatim} (24) [0,1] Type: List Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPageEmpty24} \begin{paste}{MappingPackageOneXmpPageEmpty24}{MappingPackageOneXmpPagePatch24} \pastebutton{MappingPackageOneXmpPageEmpty24}{\showpaste} \tab{5}\spadcommand{fibinit: List INT := [0, 1]\bound{fibinitdec }} \end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPagePatch25} \begin{paste}{MappingPackageOneXmpPageFull25}{MappingPackageOneXmpPageEmpty25} \pastebutton{MappingPackageOneXmpPageFull25}{\hidepaste} \tab{5}\spadcommand{fibs := curry(shiftfib, fibinit)\free{shiftfib fibinit }\bound{fibs }} \indentrel{3}\begin{verbatim} (25) theMap(MAPPKG2;curry;MAM;2!0,91) Type: (() -> Integer) \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPageEmpty25} \begin{paste}{MappingPackageOneXmpPageEmpty25}{MappingPackageOneXmpPagePatch25} \pastebutton{MappingPackageOneXmpPageEmpty25}{\showpaste} \tab{5}\spadcommand{fibs := curry(shiftfib, fibinit)\free{shiftfib fibinit }\bound{fibs }} \end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPagePatch26} \begin{paste}{MappingPackageOneXmpPageFull26}{MappingPackageOneXmpPageEmpty26} \pastebutton{MappingPackageOneXmpPageFull26}{\hidepaste} \tab{5}\spadcommand{[fibs() for i in 0..30]\free{fibs }} \indentrel{3}\begin{verbatim} (26) [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040] Type: List Integer \end{verbatim} \indentrel{-3}\end{paste}\end{patch} \begin{patch}{MappingPackageOneXmpPageEmpty26} \begin{paste}{MappingPackageOneXmpPageEmpty26}{MappingPackageOneXmpPagePatch26} \pastebutton{MappingPackageOneXmpPageEmpty26}{\showpaste} \tab{5}\spadcommand{[fibs() for i in 0..30]\free{fibs }} \end{paste}\end{patch}