Burning bridges

amindfv at gmail.com amindfv at gmail.com
Thu May 23 03:26:32 CEST 2013


Good point - some courses still even use Hugs...

Tom


El May 22, 2013, a las 9:15 PM, Carter Schonwald <carter.schonwald at gmail.com> escribió:

> I don't think so.  You could just tell GHC / ghci to do Haskell 2010/98 and have the old base.
> 
> This change does not constitute retconning prior base/preludes, but rather a new base / prelude that the community wishes to use going forward. 
> (If I'm wrong, someone please correct me)
> 
> Point being, old standards for base / prelude will still exist. Use those if you can't adjust your teaching materials. Granted the students won't be able to use as many libraries immediately in such a course, but that's your choice to make.  
> On 23 May 2013 07:32, Malcolm Wallace <malcolm.wallace at me.com> wrote:
> > -20 for generalising the Prelude
> > +1 for removals from the Prelude
> > -1 for adding monomorphic stuff
> > +1000 for doing nothing
> >
> > You are all nuts. :-)
> 
> I don't know if I'd go quite _that_ for as Malcolm for the weightings
> for the different proposals...
> 
> But I was speaking with a few other tutors of an introductory
> CS/programming course that uses Haskell (note: it's teaching
> programming with Haskell, not teaching Haskell per se: for example,
> all pattern matchings must be done with case statements as the
> lecturer considers top-level pattern matching a Haskell-specific
> quirk) about these proposals...
> 
> We have plenty of students who have trouble understanding existing
> functions and types themselves; if we were to suddenly find map,
> filter, etc. with generalised type signatures then it would confuse
> the matter even further (especially as they've only "seen" the
> standard Eq, Ord and Show classes, and even then only in deriving
> statements and type signatures to be able to use ==, /=, etc. rather
> than knowing how to write an instance of them themselves).
> 
> (Admittedly, they only see these list functions in roughly the last
> third of the course; even so, despite having just written their own
> map, filter, etc. functions first for Strings and then generalising
> them to work on any list in a tutorial a few weeks back, when it came
> time to work on their assignment when map and filter would come in
> handy some still kept writing the list traversals by hand due to
> unfamiliarity of these functions when compared to all the manual list
> traversal they'd already done.)
> 
> If the types in the Prelude were generalised, it might be possible to
> have a custom Prelude used for the course; however, for this to be
> used we'd either have to:
> 
> a) get them to use rote boilerplate of {-# LANGUAGE NoImplicitPrelude
> #-} (or `import Prelude()') and importing the custom one; this would
> still require ensuring that students had the custom prelude installed
> on their own laptops, etc.
> 
> b) write wrappers around ghc and ghci to load up the custom prelude
> instead, though even if we managed to get this to work we'd still need
> to somehow make sure all students would install equivalent wrappers on
> their own machine... and considering how much luck we've had with
> making sure they configured their editors to have the tab key insert
> four spaces instead of a tab character, I can see that being painful.
> 
> Either way, we'd then find ourselves teaching a "custom" version of
> Haskell, and I don't exactly have fond memories of when I was taught
> Java in my first year of uni using a custom wrapper/library (and since
> my only programming experience to date was Pascal/Delphi, I can't
> really blame Java :p)
> 
> I do, however, think that the Prelude is over-crowded and that
> Data.List should contain most of the list-specific functions (and it
> is weird when there is so much overlap between the two).
> 
> So my actual votes for the current status of this proposal are:
> 
> -1 for generalising the Prelude
> +1 for removing stuff from the Prelude (then people can import
> Data.List, Data.Traversable, Data.Foldable, etc. as they see fit
> without clashes)
> -1 for adding monomorphic stuff
> -0.5 for doing nothing
> 
> >
> > Regards,
> >     Malcolm.
> >
> >
> >
> > On 22/05/2013, at 22:16, Herbert Valerio Riedel <hvr at gnu.org> wrote:
> >
> >>
> >> +1 Generalize Prelude
> >> -1 Remove from Prelude
> >> -1 Add more monomorphic stuff
> >> -1 Do nothing
> >> +1 More fun polls like this
> >>
> >> _______________________________________________
> >> Libraries mailing list
> >> Libraries at haskell.org
> >> http://www.haskell.org/mailman/listinfo/libraries
> >
> > _______________________________________________
> > Libraries mailing list
> > Libraries at haskell.org
> > http://www.haskell.org/mailman/listinfo/libraries
> 
> 
> 
> --
> Ivan Lazar Miljenovic
> Ivan.Miljenovic at gmail.com
> http://IvanMiljenovic.wordpress.com
> 
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://www.haskell.org/mailman/listinfo/libraries
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://www.haskell.org/mailman/listinfo/libraries
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/libraries/attachments/20130522/3f018c6a/attachment.htm>


More information about the Libraries mailing list