Index: /sizechecking/branches/macs/Lambda.hs
===================================================================
--- /sizechecking/branches/macs/Lambda.hs	(revision 19)
+++ /sizechecking/branches/macs/Lambda.hs	(revision 20)
@@ -21,25 +21,22 @@
     const = Q
     lam a = Q (unQ.a.Q)
-    app a b = Q $ (unQ a) (unQ b)
+    app a b = Q $ unQ a (unQ b)
 
+eval :: Q a -> a
 eval = unQ
-
-instance Num a => Num (Q a) where
-    (Q a) + (Q b) = Q (a+b)
-    (Q a) - (Q b) = Q (a-b)
-    (Q a) * (Q b) = Q (a*b)
-    abs (Q a) = Q (abs a)
-
 
 {-
  - show interpreter
  -}
+showVar :: Int -> String -> String
 showVar x = if x>28 
     then showVar (x `div` 29) . showChar (C.chr $ C.ord 'a' + (x `mod` 29))
     else showChar $ C.chr $ C.ord 'a' + x
 
+-- unS :: Value supply -> Precedence -> ShowS
 newtype S a = S { unS :: S.Supply Int -> Int -> ShowS }
+
 instance Lambda S where
-    const a = S (\s p -> flip showsPrec a p)
+    const a = S (\_ p -> showsPrec p a)
     app (S fun) (S arg) = S (\s p -> 
         let (s1, s2) = S.split2 s 
@@ -51,8 +48,9 @@
         in showParen (p>0) $ showChar 'Î»' . showVar v . showChar '.' . unS (fun showV) s2 0)
 
+ast :: S a -> IO ShowS
 ast a = do
     s <- S.newSupply 0 (+1)
     return $ unS a s 0
 
-printAst a = ast a >>= (\a -> putStrLn $ a "")
-
+printAst :: S a -> IO ()
+printAst l = ast l >>= (\s -> putStrLn $ s "")
Index: /sizechecking/branches/macs/Ops.hs
===================================================================
--- /sizechecking/branches/macs/Ops.hs	(revision 20)
+++ /sizechecking/branches/macs/Ops.hs	(revision 20)
@@ -0,0 +1,3 @@
+module Ops where
+
+import Lambda
Index: /sizechecking/branches/macs/tests/LambdaTest.hs
===================================================================
--- /sizechecking/branches/macs/tests/LambdaTest.hs	(revision 19)
+++ /sizechecking/branches/macs/tests/LambdaTest.hs	(revision 20)
@@ -1,6 +1,10 @@
 {-# LANGUAGE NoMonomorphismRestriction #-}
+
 import Lambda
-import Prelude ( (+), ($), Int )
+import Ops
+import Prelude ( ($), Int )
 
 test1 :: (Lambda l) => l Int
-test1 = app (lam $ \x ->  (const 3)) (const 2)
+test1 = app (lam $ \_ -> const 3) (const 2)
+
+
