faculteitblok te maken met een recursieve rapporteur. boom is een goed voorbeeld; ieder boomblok roept twee keer
boom aan.
Recursieve commando's hebben vaak zo'n structuur, met meerdere commando's in de recursieve aanroep:
rapporteerblok mag zetten.
Recursieve rapporteurs hebben verschillende structuren omdat ze maar één waarde kunnen rapporteren.
Omdat het rapporteerblok een antwoord rapporteert, moet je het antwoord vooraf maken
of in de aanroep van het rapporteerblok bouwen. Dus wat hieronder staat, is niet mogelijk:
Programma's die tekst verwerken, tellen het aantal woorden en letters in documenten. Je kan het aantal letters in een groep woorden tellen met een recursieve rapporteur.
lettertellerblok dat een lijst van woorden als invoer heeft en het totaal
aantal letters in alle woorden rapporteert. Het alles, behalve de eerste vanblok kan
handig zijn, maar er zijn meerdere manieren om het te doen.
voeg samenblok. Dit blok heeft als invoer een lijst en
als uitvoer een zin met spaties:
De lijstfuncties alles, behalve de eerste van en voor worden vaak gebruikt in
recursieve rapporteurs.
meervoudblok, beschrijf daarna hoe het werkt. (Je hebt al een makkelijkere
versie van meervoud gebouwd met behulp van map; we willen dat je snapt
dat je hetzelfde probleem op meerdere manieren kan oplossen.)