#-----------------------------------------------------------------------------
-# $Id: Makefile,v 1.12 1999/06/09 09:35:58 simonpj Exp $
+# $Id: Makefile,v 1.13 1999/08/04 10:07:50 simonmar Exp $
TOP = ../..
include $(TOP)/mk/boilerplate.mk
# finalized properly, and stable names are GC'd etc.
memo001_RUNTEST_OPTS = +RTS -A10k -G1
+memo002_HC_OPTS = -syslib misc
+memo002_RUNTEST_OPTS = 20
+
SRC_MKDEPENDHS_OPTS += -syslib misc -syslib exts
include $(TOP)/mk/target.mk
--- /dev/null
+module Main
+where
+
+import Memo
+import System(getArgs)
+
+main = do (arg:_) <- getArgs
+ mapM_ printTriple [ (i,fib i,mfib i) | i <- [10..read arg] ]
+ where printTriple (i,fi,mfi) = do print i
+ print fi
+ print mfi
+ putStrLn ""
+
+mfib :: Integer -> Integer
+mfib = memo ufib
+
+ufib :: Integer -> Integer
+ufib 0 = 1
+ufib 1 = 1
+ufib n = mfib (n-1) + mfib (n-2)
+
+fib :: Integer -> Integer
+fib 0 = 1
+fib 1 = 1
+fib n = fib (n-1) + fib (n-2)