#3631: Overload the Prelude iterate to support list input
---------------------------------+------------------------------------------
    Reporter:  shelbymoore3      |        Owner:                  
        Type:  feature request   |       Status:  closed          
    Priority:  normal            |    Milestone:                  
   Component:  Prelude           |      Version:  6.10.4          
    Severity:  normal            |   Resolution:  wontfix         
    Keywords:                    |   Difficulty:  Unknown         
    Testcase:                    |           Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |  
---------------------------------+------------------------------------------
Comment (by shelbymoore3):

 Replying to [comment:11 [email protected]]:
 > Replying to [comment:9 shelbymoore3]:
 > > That is reasonable, except that small tweaks can be easily buried in a
 mailing list.
 >
 > I agree that sometimes they get lost - but that can also be a sign of
 lack of support within the community.  If a proposed change cannot gather
 an enthusiastic crowd who want it implemented, then the idea just isn't
 worth the effort of changing all the consequentially-impacted software etc
 to support it.


 That is what I now call the Obama illogic.  Here is a story about the
 wisdom (mass delusion) of crowds from 4000 years ago:

 http://goldwetrust.up-with.com/biblical-f3/god-s-governance-t129.htm#2313

 Or perhaps you prefer the more scientific version:

 http://esr.ibiblio.org/?p=984

 >
 > >  Also it is well known that consensus is not the way to write the best
 software.  Small teams slaughter large monoliths.
 >
 > The Haskell community values consensus, especially on standard and far-
 reaching components like the Prelude.

 By you own (il)logic, you must cite a consensus on that before you
 autonomously attempt such a proclamation. ;)  How dare you try to cut
 corners and be efficient (joke)!
 ...the socialist dog chases his tail...

 I never proposed that my change be accepted without review of the
 community.  I was only proposing that I be able to post my vote/suggestion
 efficiently (geez I really didn't want to diatribe you) and in an
 organized database.  I take it that efficiency is too much to ask, unless
 you have tenure, then it is not.

 I didn't run my software projects this way when I was the lead developer
 or a key one interfacing with QA.  I do not understand what is gained by
 discouraging input, other than laziness to add an 'incomplete' tag.  The
 size of the database costs you nearly nothing.  If you are saying the time
 to read, consider and tag the input is too costly, I can argue you are
 never going to stop that (especially as something becomes more
 mainstream), unless you restrict access.  In that case, you lose
 informational input also.  There is no free lunch in the free market.
 Generally I think flattening the model is best (hierarchies do not scale
 well, they are brittle and rigid forming), and be clever about efficiency.
 Often a clever `RegEx` is enough to work wonders on productivity.


 > > This idea is not ill-formed.
 >
 > Has anyone pointed out yet that your 'iterate' function is non-
 terminating?

 The standard Prelude function does not "terminate" either (is infinitely
 recursive):

 http://www.haskell.org/ghc/docs/latest/html/libraries/base/src/GHC-
 List.html#iterate

 That is the whole point of the function!  It is taking advantage of lazy
 evaluation caching, so the infinite list is only recursed as far as is
 needed by the usage the function.  In my example use case, e.g. `fibs !!
 index`.

 > Each recursive call builds a larger data structure (or rather, a thunk
 for it), but there is no base-case to the recursion, so no value is ever
 returned to the caller.  This is the kind of beginner's mistake that is
 posted (and ironed out) every day on haskell-cafe@, or beginn...@.  The
 input of the community really can help you write better (working) code.

 So you are saying the standard Prelude was writting by beginners? ;)

 Seems in one week I am somewhat ahead of your understanding, or am I
 somehow missing your point entirely?

 > > Perhaps that is because type inference doesn't scale and should be
 avoided entirely, except for local usage:
 >
 > You will find it hard to convince anyone in the Haskell community that
 type inference is a bad idea. :-)

 If adding one overload to standard library function can break massive
 amounts of code, I do not need to convince anyone.  The market will prove
 it.  Socialists do not understand the power of the market.  They have to
 re-learn the lessons of 4000 years ago, infinite times repeated (or maybe
 not, if you believe in an end time).


 > > It is not totally unreasonable, except it doesn't scale.  You are
 going to have adjust if Haskell is going to move out of the research and
 into mainstream, then busy business people are going to come and make
 quick inputs, and if you shut them out, then you are shooting yourself in
 the foot.
 >
 > Letting any beginner who has studied Haskell for one week, modify the
 Prelude that is used by every Haskell programmer everywhere, without
 discussion and consensus, is what does not scale.

 I did not modify the Prelude with this feature suggestion.  I am only
 suggesting (not demanding) this suggestion be marked incomplete instead of
 "won't fix", and be entered into the database of things people can search
 for in future when looking for something to work on or explore.

 And so far, looks like this beginner has made a reasonable strong case ;)
 Or at least not "ill formed".

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/3631#comment:12>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to