Re: New type of ($) operator in GHC 8.0 is problematic

2016-02-05 Thread Dan Doel
I have a side question and some possible alternate views on a couple things. The first is: is the fancy type of ($) actually used? It has additional special type checking behavior that isn't captured in that type (impredicative instantiation), but probably in a separate code path. Does that only

Re: [Haskell-cafe] New type of ($) operator in GHC 8.0 is problematic

2016-02-05 Thread Christopher Allen
I just showed the type of ($) to my boss in our company chat who has been using Haskell for 14 years. He'd played with Haskell prior to that, but 14 years ago is when he started postgrad and teaching Haskell. Here's what he said: >...what? >what does that do? He's been using Haskell in

Re: [Haskell-cafe] New type of ($) operator in GHC 8.0 is problematic

2016-02-05 Thread Christopher Allen
Changing the name doesn't fix the issue. The issue is the noise and the referent, not the referrer. There's a habit of over-focusing on names in programming communities. I think it'd be a mistake to do that here and risk missing the point. You can make all of the keywords in the Java example

Re: [Haskell-cafe] New type of ($) operator in GHC 8.0 is problematic

2016-02-05 Thread George Colpitts
+1 for Christopher's email Richard, I disagree with "But it could indeed be explained to an intermediate programmer in another language just learning Haskell." Your explanation is good but it assumes you have already explained "types of kind *" and the boxed vs unboxed distinction. Admittedly the

Re: New type of ($) operator in GHC 8.0 is problematic

2016-02-05 Thread Joachim Breitner
Hi, Am Freitag, den 05.02.2016, 09:22 +0200 schrieb Roman Cheplyaka: > On 02/05/2016 01:31 AM, Edward Z. Yang wrote: > > I'm not really sure how you would change the type of 'id' based on > > a language pragma. > > > > How do people feel about a cosmetic fix, where we introduce a new > > pragma,

Re: New type of ($) operator in GHC 8.0 is problematic

2016-02-05 Thread Takenobu Tani
Hi, I'll worry about the learning curve of beginners. Maybe, beginners will try following session in their 1st week. ghci> :t foldr ghci> :t ($) They'll get following result. Before ghc7.8: Prelude> :t foldr foldr :: (a -> b -> b) -> b -> [a] -> b Prelude> :t ($) ($) :: (a -> b)

Re: New type of ($) operator in GHC 8.0 is problematic

2016-02-05 Thread Richard Eisenberg
As the instigator of these most recent changes: - Yes, absolutely, ($)'s type is quite ugly. In other areas, I've tried to hide the newfound complexity in the type system behind flags, but I missed this one. I consider the current output to be a bug. - It's conceivable to have a flag

Re: [Haskell-cafe] Language complexity & beginners (Was: New type of ($) operator in GHC 8.0 is problematic)

2016-02-05 Thread M Farkas-Dyck
On 05/02/2016, Richard Eisenberg wrote: > -- click on the type The question so remains: what would we write to a purely textual terminal? ___ ghc-devs mailing list ghc-devs@haskell.org

Re: StgCase - are LiveVars and SRT fields going to be used?

2016-02-05 Thread Ömer Sinan Ağacan
Simon, I broke the debug build with that commit. I actually validated locally before committing, but apparently the default validate settings doesn't define DEBUG, so the new assertion implementation was not tested. (Why validate doesn't define DEBUG by default???) The fastest way to reproduce

Language complexity & beginners (Was: New type of ($) operator in GHC 8.0 is problematic)

2016-02-05 Thread Richard Eisenberg
It may come as a surprise to many of you that I, too, am very worried about Haskell becoming inaccessible to newcomers. If we can't induct new people into our ranks, we will die. It is for this reason that I have always been unhappy with the FTP. But that ship has sailed. I fully agree with

Re: Language complexity & beginners (Was: New type of ($) operator in GHC 8.0 is problematic)

2016-02-05 Thread Takenobu Tani
Hi, I tried to draw informal illustrations about Foldable signatures for beginners [1]. I'll also try to draw simple illustrations about new ($). Of course I like Haskell's beautiful abstraction :) Thank you for your great efforts. [1]