Re: patch applied (haskell-prime-status): add ""Make $ left associative, like application"

2008-04-27 Thread Manuel M T Chakravarty

Lennart Augustsson:
Haskell has now reached the point where backwards compatibility is  
something that must be taken very seriously.
The motivation behind Haskell' was to bring the most common  
extensions into the standard, it was all going to be done in a year.
Haskell' is not a new language, but growing Haskell98 with common  
extension.
If there's something in Haskell' that will require a change every  
1000 lines, then I think it's acceptable.
If there's something in Haskell' that will require changing every  
other line, then it's not acceptable.  The existing Haskell codes  
bases are simply too big.


I completely agree.

So I still think changing $ is insane.  Why change?  If you want a  
new operator, make a new one.  Don't make a gratuitous change that  
will waste countless man hours.  For me it's a simple decision, if $  
changes I cannot use Haskell'.  :(


Given that people can't even agree whether it makes sense to change $  
at all, this is IMHO far away from a change that justifies breaking  
any code.


Manuel

___
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime


Re: patch applied (haskell-prime-status): add ""Make $ left associative, like application"

2008-04-27 Thread Manuel M T Chakravarty

Wolfgang Jeltsch:

Am Donnerstag, 24. April 2008 05:13 schrieb Manuel M T Chakravarty:

[…]



Hence, anything that is *important* to change, we should change now.


Although I can follow your arguments, I thought that the large and  
disruptive

changes should be done for Haskell 2.


Depends what you mean by Haskell 2.  If it is an experimental language  
that shares some superficial similarities with Haskell, sure we may  
have Haskell 2.  If you mean a serious successor of Haskell with the  
expectation that many/most Haskell users will eventually move to  
Haskell 2, then no.  Haskell has been gaining a lot of momentum  
recently.  That's good and bad, but surely makes it hard to change the  
trajectory.  (This is, of course, just my personal opinion.)



 If they should really be done now, we
should also fix a lot of other things.  For example, the Num  
hierarchy, the
Functor/Applicative/Monad hierarchy, the fact that there exist  
Alternative
and MonadPlus although we have Monoid, the fact that we cannot have  
contexts
like (forall a. Monoid (m a)) which is the source for the last  
problem, the
fact that we don’t have class aliases, ugly names like fmap and  
mappend, etc.


As Lennart and Ganesh have argued, the amount of breaking changes that  
we we will be able to fit in without causing serious problems is  
limited.


Manuel

___
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime


Re: patch applied (haskell-prime-status): add ""Make $ left associative, like application"

2008-04-27 Thread Manuel M T Chakravarty

Sittampalam, Ganesh:

Manuel Chakravarty wrote:

We should be careful about where we break existing code, and
we should try to support automatic translation of H98 to H' code,
but any changes that we do not make now will become even more
difficult in the future when there is even more Haskell code.
Look at what is happening now already, industrial users applying
pressure on the committee to not change the language too much
for the sake of legacy code.  A clear indication that anything
we don't change now, we will have to live with forever.


I wasn't arguing for special treatment as an "industrial" user,
just listing one datapoint that I have to counter any impression
that the only or main cost to the community as a whole is fixing
what's on hackage.


I agree with that.  However, maybe somewhat paradoxically, I think,  
given the resistance that changes to the language already invoke now,  
we should actually be fairly aggressive with changes this one time  
(ie, in Haskell').



Hence, anything that is *important* to change, we should change now.


Agreed. It's just in this case the pain of changing will be huge and
the benefits marginal at best.


Yes, I was not arguing for that particular change, my comment was of a  
general nature.



We should mitigate the pain by having a H98 to H' translator


Such a translator would have to maintain existing layout etc, and
produce reasonably nice looking code in places where it makes changes.
Do we have any infrastructure that would make writing one easy?


For H98, simple[1] changes might be possible with haskell-src if it  
would be modified to be able to preserve comments and layout.


Manuel

[1] For example, purely syntactic ones.
___
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime