[Haskell-beginners] How best to do this?

Michael Peternell michael.peternell at gmx.at
Thu May 2 19:32:26 CEST 2013


Ok, I filed a feature request at

http://hackage.haskell.org/trac/ghc/ticket/7881

-Michael

Am 01.05.2013 um 13:33 schrieb Brent Yorgey:

> Ah, yes, a warning for literals like [5..2] sounds like an excellent
> idea.  Why don't you file a feature request at
> 
>  http://hackage.haskell.org/trac/ghc/
> 
> ?
> 
> -Brent
> 
> On Wed, May 01, 2013 at 12:35:36PM +0200, Michael Peternell wrote:
>> @Brent:
>> By reading your mails I got an idea...
>> 
>> how about generating a compiler warning when someone types a literal like [5..2].
>> 
>> "Foo.hs:32: Warning: Literal list [5..2] evaluates to [] because 5 > 2 and the default step size is +1. Replace the literal with the empty list or with [5,4..2] to suppress this warning."
>> 
>> That would be a really beginner-friendly warning.
>> 
>> But I also think that we shouldn't catch this kind of mistake at runtime, because it may be the expected behavior in many cases.
>> 
>> Michael
>> 
>> Am 29.04.2013 um 23:54 schrieb Brent Yorgey:
>> 
>>> Oh, yes, I suppose it could.
>>> 
>>> In any case, I am still in favor of the existing semantics -- it is
>>> simple and consistent (and sometimes even useful).  "Do what I
>>> mean"-style semantics with special cases end up generating more pain
>>> than they solve.
>>> 
>>> -Brent
>>> 
>>> On Mon, Apr 29, 2013 at 02:29:43PM -0400, David McBride wrote:
>>>> Couldn't it just use fromEnum and compare the integers you get and
>>>> figure out which is bigger?
>>>> 
>>>> On Mon, Apr 29, 2013 at 2:17 PM, Brent Yorgey <byorgey at seas.upenn.edu> wrote:
>>>>> But then \x y -> [x .. y]  would have to have the type
>>>>> 
>>>>> (Ord a, Enum a) => [a]
>>>>> 
>>>>> whereas now it just has the Enum constraint.  Either that or else the
>>>>> notation would work differently for literals vs. expressions but that
>>>>> would be just awful.
>>>>> 
>>>>> -Brent
>> 
>> 
>> _______________________________________________
>> Beginners mailing list
>> Beginners at haskell.org
>> http://www.haskell.org/mailman/listinfo/beginners
> 
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://www.haskell.org/mailman/listinfo/beginners




More information about the Beginners mailing list