-- Installieren des ArbInt-Typen für die Multiplikation instance Num ArbInt where x * y = foldl splus (Norm []) (sums x y) -- Zwei ArbInt-Werte unter Shiften des Ersten addieren splus :: ArbInt -> ArbInt -> ArbInt splus x y = shift x + y -- Einen ArbInt-Wert um eine Stelle nach links verschieben, rechts mit Nullen auffüllen shift :: ArbInt -> ArbInt shift (Norm xs) = if null xs then Norm [] else Norm (xs ++ [0])