Hi, Am Mittwoch, den 17.02.2016, 10:05 +1100 schrieb Manuel M T Chakravarty: > * Be careful in designing your exercises/assignments (esp early > ones), to make it unlikely for students to run into class related > errors.
have you, or someone else, considered or tried to simply have students
start with their own list data type, i.e.
data List a = Nil | Cons a (List a)
and have them implement the combinators they need themselves? Of
course, you’d have to tell them to use names that do not clash with
Prelude-exported, but this would avoid Foldable et. al. and be more
educational (at the expense of maybe a slower progress, and not having
nice syntax).
Similarly, one could teach them about the non-magicness of $ and side-
step the issue with $ by having them write
($$) :: (a -> b) -> a -> b
f $$ x = f x
infixr 0 $
(or whatever symbol they fancy).
This would be akin to using a beginner’s prelude, only that the
students would be writing it themselves, which IMHO is a big difference
from an educational point of view.
Greetings,
Joachim
--
Joachim “nomeata” Breitner
[email protected] • https://www.joachim-breitner.de/
XMPP: [email protected] • OpenPGP-Key: 0xF0FBF51F
Debian Developer: [email protected]
signature.asc
Description: This is a digitally signed message part
_______________________________________________ ghc-devs mailing list [email protected] http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
