Send Beginners mailing list submissions to beginners@haskell.org To subscribe or unsubscribe via the World Wide Web, visit http://www.haskell.org/mailman/listinfo/beginners or, via email, send a message with subject or body 'help' to beginners-requ...@haskell.org
You can reach the person managing the list at beginners-ow...@haskell.org When replying, please edit your Subject line so it is more specific than "Re: Contents of Beginners digest..." Today's Topics: 1. Re: Tying the knot (Heinrich Apfelmus) 2. QuickCheck documentation (Christian Maeder) 3. Re: QuickCheck documentation (Stephen Tetley) ---------------------------------------------------------------------- Message: 1 Date: Wed, 05 Jan 2011 14:55:19 +0100 From: Heinrich Apfelmus <apfel...@quantentunnel.de> Subject: Re: [Haskell-beginners] Tying the knot To: beginners@haskell.org Message-ID: <ig1t88$bq...@dough.gmane.org> Content-Type: text/plain; charset=UTF-8; format=flowed aditya siram wrote: > My brain turns into strange braid when I see this kind of thing. I > don't quite understand it and I've never used it in real world code > but I'll try and explain anyway. Caveat emptor. > > [..] > > Now look at 'n' and imagine it was a memory location. Mentally > substitute some hex address (like 0x0000) if it makes it easier. Another way to look at it is to observe that the result n does not depend on the input n , even though the notation might suggest otherwise. To see that, let _|_ denote an expression that is undefined , i.e. raises an error when you try to evaluate at it. Using the definition data Tree a = Branch (Tree a) (Tree a) | Leaf a label n (Branch a b) = (na+nb, Branch a' b') where (na,a') = label n a (nb,b') = label n b label n (Leaf _) = (1, Leaf n) we have label _|_ (Branch (Leaf 'c') (Leaf 'd')) = (na+nb, Branch a' b') where (na,a') = label _|_ (Leaf 'c') (nb,b') = label _|_ (Leaf 'd') = (1+1, Branch (Leaf _|_) (Leaf _|_)) So, even though the argument n is undefined, the function label still produces a partially defined result. Regards, Heinrich Apfelmus -- http://apfelmus.nfshost.com ------------------------------ Message: 2 Date: Wed, 05 Jan 2011 18:07:10 +0100 From: Christian Maeder <christian.mae...@dfki.de> Subject: [Haskell-beginners] QuickCheck documentation To: Beginners@haskell.org Cc: quickch...@projects.haskell.org Message-ID: <4d24a53e.9040...@dfki.de> Content-Type: text/plain; charset=UTF-8 Hi, where can I find the best documentation for using QuickCheck? I use version QuickCheck-2.1.1.1 that is in the current Haskell Platform 2010.2.0.0. Thanks Christian (The links to home pages http://www.cse.chalmers.se/~koen http://www.math.chalmers.se/~rjmh/QuickCheck/ are pretty dead.) ------------------------------ Message: 3 Date: Wed, 5 Jan 2011 18:16:09 +0000 From: Stephen Tetley <stephen.tet...@gmail.com> Subject: Re: [Haskell-beginners] QuickCheck documentation Cc: Beginners@haskell.org Message-ID: <aanlktiky32x4twmrebnkrr-0xcxyfcfkjrfp60ap-...@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1 The first QuickCheck paper works as a tutorial although there are some changes in QuickCheck2 that are slightly incompatible. Papers that the author made available but where the home page has disappeared are often on CiteSeer or KFUPM - King Fahd University of Petroleum and Minerals. KFUPM seems to be more reliable than CiteSeer these days: http://reference.kfupm.edu.sa/ A Lightweight Tool for Random Testing of Haskell Programs http://reference.kfupm.edu.sa/content/q/u/quickcheck__a_lightweight_tool_for_rando_73653.pdf A bit more advanced : http://reference.kfupm.edu.sa/content/t/e/testing_monadic_code_with_quickcheck_69509.pdf ------------------------------ _______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners End of Beginners Digest, Vol 31, Issue 3 ****************************************