RE: The future of the Haskell98 and Haskell2010 packages

2014-11-18 Thread Austin Seipp
Hello all,

A few weeks ago, I opened up a discussion about a particular GHC bug, #9590.

This bug is concerned with the future of the Haskell98 and Haskell2010
packages, which try to embody their two respective Haskell standards.
They do this by shipping the 'exact library specification' that the
standards have.

In our discussion this past week between me, SimonM, SPJ, Herbert and
Mikolaj, we came to this discussion again since the 7.10 STABLE freeze
is almost here, and it seems to have puttered out.

In this discussion, we came to the conclusion we think these packages
should be removed from GHC for the 7.10 release. To be clear, this was
not a 100% unanimous decision or formal vote; SimonM and I supported
removal, while everyone else seemed to be rather undecided or
ambivalent.

Most of the proposed alternative solutions seemed somewhat one-off.
Furthermore, we didn't find a solution that wouldn't either A) require
some amount of GHC modifications (possibly indefinitely into the
future) to support these packages, or B) changing the definitions in
these packages to deviate from the standard.

Instead, we proposed that we instead overhaul part of the GHC users
manual, and clearly outline our deviations from the Haskell 2010
standard library.

To be clear: GHC can still typecheck, compile, and efficiently execute
Haskell 2010 code. It is merely the distribution of compatible
packages that has put us in something of a bind.

Furthermore, we aren't aware of any other compilers/platforms like
ours that try to maintain such stringent separation of these packages,
and furthermore, both of the haskell{98,2010} packages have a fairly
small number of reverse dependencies.

I'd like to hear what people think about this. It seems likely I will
move forward on this by the end of the week unless we face very strong
opposition to this idea, or someone is willing to fix #9590 somehow
for us.

-- 
Regards,

Austin Seipp, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: The future of the Haskell98 and Haskell2010 packages

2014-11-18 Thread Richard Eisenberg
I support this direction. But I disagree with one statement you've made:

On Nov 18, 2014, at 11:07 AM, Austin Seipp aus...@well-typed.com wrote:
 To be clear: GHC can still typecheck, compile, and efficiently execute
 Haskell 2010 code. It is merely the distribution of compatible
 packages that has put us in something of a bind.

GHC 7.10 will not be able to compile a Haskell2010-compliant Monad instance. In 
fact, as far as I can see, there is no way to write a Monad instance that is 
both portable to other Haskell compilers and acceptable to GHC 7.10. I think 
this point should be included in the manual (if I'm right).

This makes me a little sad, but I don't disagree with any of the decisions 
we've made along the way.

Richard
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: The future of the Haskell98 and Haskell2010 packages

2014-11-18 Thread Austin Seipp
You're right, and something like that would be included. (I actually
meant GHC can still literally accept perfectly valid Haskell2010 code
in a syntactical sense; instances are part what I was referring to as
'compatible packages')

Actually, this reminds me of something SimonPJ mentioned yesterday
during this call, which may be able to fix this one bug, at least:

We could have -XHaskell2010 (or whatever it is) imply a subset of
RebindableSyntax, which only takes place for 'do' syntax. Then we
would also have the compiler import the haskell{98,2010} package as it
does today, with its own Monad (which does not have an Applicative
superclass constraint) and things would work.

This probably would not be a lot of work, but my main reservation I
suppose is that I don't think it's a very 'scalable' fix with the way
we seem to be going. If any other kind of similar change ever happened
again, we'd be stuck here once more since the same quick fix won't
apply. But if someone did the work for this, I'm not sure I would say
no to it.

Relatedly, I also wonder how long we should hold on to old standards.
It has been four years since a prior revision of the standard, and
almost 16 since Haskell 98. If Haskell 2015 happens soon, will we want
to have three standards packages for 7.12 if we don't remove them now?

On Tue, Nov 18, 2014 at 10:44 AM, Richard Eisenberg e...@cis.upenn.edu wrote:
 I support this direction. But I disagree with one statement you've made:

 On Nov 18, 2014, at 11:07 AM, Austin Seipp aus...@well-typed.com wrote:
 To be clear: GHC can still typecheck, compile, and efficiently execute
 Haskell 2010 code. It is merely the distribution of compatible
 packages that has put us in something of a bind.

 GHC 7.10 will not be able to compile a Haskell2010-compliant Monad instance. 
 In fact, as far as I can see, there is no way to write a Monad instance that 
 is both portable to other Haskell compilers and acceptable to GHC 7.10. I 
 think this point should be included in the manual (if I'm right).

 This makes me a little sad, but I don't disagree with any of the decisions 
 we've made along the way.

 Richard



-- 
Regards,

Austin Seipp, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: The future of the Haskell98 and Haskell2010 packages

2014-11-18 Thread David Feuer
I think you're right, and that's a strong reason to come up with an update
to the Haskell Report. Include in it, at least:

-- Big-ticket items
0. Monoid
1. Foldable, Traversable
2. Applicative
3. Applicative = Monad
-- side notes
4. inits = map reverse . scanl (flip (:)) []  -- efficiency—not optimal but
not hilariously bad
5. unwords = intercalate-- increased, more intuitive laziness

On Tue, Nov 18, 2014 at 11:44 AM, Richard Eisenberg e...@cis.upenn.edu
wrote:

 I support this direction. But I disagree with one statement you've made:

 On Nov 18, 2014, at 11:07 AM, Austin Seipp aus...@well-typed.com wrote:
  To be clear: GHC can still typecheck, compile, and efficiently execute
  Haskell 2010 code. It is merely the distribution of compatible
  packages that has put us in something of a bind.

 GHC 7.10 will not be able to compile a Haskell2010-compliant Monad
 instance. In fact, as far as I can see, there is no way to write a Monad
 instance that is both portable to other Haskell compilers and acceptable to
 GHC 7.10. I think this point should be included in the manual (if I'm
 right).

 This makes me a little sad, but I don't disagree with any of the decisions
 we've made along the way.

 Richard
 ___
 Glasgow-haskell-users mailing list
 Glasgow-haskell-users@haskell.org
 http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: The future of the Haskell98 and Haskell2010 packages

2014-11-18 Thread Stephen Paul Weber

RebindableSyntax


I thought this would work, but people seemed pretty sure we would need to do 
more work than RebindableSyntax to get everything in place.


--
Stephen Paul Weber, @singpolyma
See http://singpolyma.net for how I prefer to be contacted
edition right joseph


signature.asc
Description: Digital signature
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users