From 19e66fbb18e243abdb139e8170259194659381ce Mon Sep 17 00:00:00 2001 From: Hans Dijkema Date: Sat, 29 Aug 2026 21:33:44 +0200 Subject: [PATCH] Skill updated --- skill/racket-skill.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/skill/racket-skill.md b/skill/racket-skill.md index a827883..4674b22 100644 --- a/skill/racket-skill.md +++ b/skill/racket-skill.md @@ -79,7 +79,11 @@ Verzamel dan de lijst en vraag of je ze moet toevoegen. ## Procedures en control flow - Geef de voorkeur aan gewone procedures met een direct leesbare control flow. -- Gebruik `let`, `if`, `when`, `unless`, `begin` en `cond` expliciet wanneer dat de code duidelijker maakt. +- Gebruik van `let`, `let*`, `letrec`, `if`, `when`, `unless`, `begin` en `cond` heeft de voorkeur. +- `map`, `filter`, en dat soort constructies gaan boven meer abstracte constructies als `for/or`, etc. +- Gebruik bij voorkeur geen `define` binnen een procedure, tenzij het echt om een locale + functie definitie gaat die een dermate omvang krijgt dat het binnen de closure gerechtvaardigd is. +- `let-values` is prima om te gebruiken. - Maak niet voor iedere kleine stap een aparte helperprocedure. - Introduceer geen hogere-orde of functionele constructies alleen omdat dat compacter kan. - Gebruik recursie of een named `let` wanneer dat de meest directe oplossing is.