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 m...@joachim-breitner.de • https://www.joachim-breitner.de/ XMPP: nome...@joachim-breitner.de • OpenPGP-Key: 0xF0FBF51F Debian Developer: nome...@debian.org
signature.asc
Description: This is a digitally signed message part
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs