Here is a *much* bigger problem: How do you check that an interpretter
is correct??
You can't very easily write a QuickCheck property that will generate
every possible valid expression and then check that the output of the
interpretter is formally equivilent. The QuickCheck property would be a
second copy of the interpretter, which proves nothing!
Any hints? Just how *do* you check something large like this?
I wonder - how do the GHC developers check that GHC works properly? (I
guess by compiling stuff and running it... It's a bit harder to check
that a lambda interpretter is working right.)
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe