Opgepast! Het lijkt erop dat je Dodona gebruikt binnen een andere webpagina waardoor mogelijk niet alles goed werkt. Laat dit weten aan de lesgever zodat die het probleem kan oplossen door een instelling in de leeromgeving aan te passen. Ondertussen kan je op deze link klikken om Dodona te openen in een nieuw venster.
Opgepast! De pagina kon niet volledig ingeladen worden, waarschijnlijk door een netwerkprobleem. Het kan zijn dat niet alle functionaliteit beschikbaar is. Probeer de pagina te verversen.
Haskell-oefening
Church getallen
Meld je aan om je oplossing in te dienen en feedback te krijgen.
type Church t = (t -> t) -> t -> t
-- Deze definities worden gebruikt voor de testen
zero :: Church Int
zero = \f -> \x -> x
one :: Church Int
one = \f -> \x -> f x
two :: Church Int
two = \f -> \x -> f (f x)
getNum :: Church Int -> Int
getNum church = church (+1) 0
-- Tel 1 op bij een gegeven Church getal.
increment :: Church Int -> Church Int
increment cNum = undefined
-- Zet een nummer om naar zijn Church representatie.
numToChurch :: Int -> Church Int
numToChurch num = undefined
-- Tel twee Church getallen bij elkaar op.
add :: Church Int -> Church Int -> Church Int
add cNumA cNumB = undefined
-- Vermenigvuldig twee Church getallen.
mul :: Church Int -> Church Int -> Church Int
mul cNumA cNumB = undefined