Haskell Opdrachten Masterclass Logica

     [jve@dukat masterclass]$ ghci
     GHCi, version 7.8.4: http://www.haskell.org/ghc/  :? for help
     Loading package ghc-prim ... linking ... done.
     Loading package integer-gmp ... linking ... done.
     Loading package base ... linking ... done.
     Prelude> 
   kwdr :: Integer -> Integer
   kwdr x = x * x 

Gebruik hiervoor je favoriete editor. Sla het bestand op en sluit de editor af. Blijf in hetzelfde directory (dezelfde map) waar kwadraat.hs zich bevindt, en start ghci opnieuw op met behulp van het commando ghci kwadraat.hs, gevolgd door return. Je komt nu opnieuw in het systeem, maar dit keer is de prompt niet Prelude> maar *Main>. Dit geeft aan dat er een eigen bestand is geladen. Probeer de definitie uit:

   *Main> kwdr 7

Bereken vervolgens:

   *Main> kwdr (kwdr (kwdr (kwdr 7)))
   *Main> kwadraat 7
   *Main> drievoud 7
   *Main> awoord "zeven"

Ga na of kwadraat zich op dezelfde manier gedraagt als de functie kwdr uit de vorige opdracht. Zo nee, wat is het verschil?

Als je tot hier gekomen bent ben je toe aan de extra opdrachten uit de cursus slides. Je kunt de nieuwe functies waarnaar gevraagd wordt toevoegen aan het bestand VLFP.hs, het bestand vervolgens herladen in ghci met behulp van :reload, en de functies uitproberen. Maak zoveel mogelijk gebruik van de voorbeeldfuncties die al in VLFP.hs staan.

Beschouw het programma dat we in de lezing hebben gezien:

  mersenne :: [(Integer,Integer)]
  mersenne = [ (p,2^p -1) | p <- primes', 
                            prime' (2^p - 1) ]
   *Main> pythTriples
   [(3,4,5),(6,8,10),(5,12,13),(9,12,15),(8,15,17),...