Hi all,

Still working the koans project and am hitting a design snag. My expected
UX is that you clone the repo, run racket koans/all.rkt, and then see
nothing but failing unit tests for you to fix.  But since some exercises
have unbound module identifiers
<https://github.com/zyrolasting/racket-koans/blob/master/koans/structs.rkt> or
related errors, an abort prevents rackunit from printing a full report.

"Well Sage, why don't you write tests that actually *run*?" Great question!
But if you look at that linked module you can see what I think is a clear,
concise exercise where checking in unbound identifiers seemed reasonable at
the time. I wanted someone to see that Racket was generating all of these
identifiers and write the corresponding struct definition.

After wresting with various combinations of (with-handlers), (check-exn),
(fail), (module), and (call/prompt), I found that modules too picky about
where they are defined for me to simply catch an unbound identifier error,
and I wasn't liking how much noise I might be introducing in the koan
itself.

I'm starting to think writing these kind of exercises in a friendly way is
only possible with macros, but before I go that far, is it possible for me
to catch a module-level unbound identifier error and print a rackunit
failure outright *without *distracting the student?

I'd appreciate feedback on the design here too, since I have to pick a
direction to handle this kind of problem project-wide.

Sage

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to