RE: The future of the Haskell98 and Haskell2010 packages

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

RE: The future of the Haskell98 and Haskell2010 packages

Austin Seipp-5
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
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: The future of the Haskell98 and Haskell2010 packages

Richard Eisenberg-2
I support this direction. But I disagree with one statement you've made:

On Nov 18, 2014, at 11:07 AM, Austin Seipp <[hidden email]> 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
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: The future of the Haskell98 and Haskell2010 packages

Austin Seipp-5
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 <[hidden email]> wrote:

> I support this direction. But I disagree with one statement you've made:
>
> On Nov 18, 2014, at 11:07 AM, Austin Seipp <[hidden email]> 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
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: The future of the Haskell98 and Haskell2010 packages

David Feuer
In reply to this post by Richard Eisenberg-2
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 <[hidden email]> wrote:
I support this direction. But I disagree with one statement you've made:

On Nov 18, 2014, at 11:07 AM, Austin Seipp <[hidden email]> 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
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
Reply | Threaded
Open this post in threaded view
|

Re: The future of the Haskell98 and Haskell2010 packages

Stephen Paul Weber
In reply to this post by Austin Seipp-5
>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

_______________________________________________
Glasgow-haskell-users mailing list
[hidden email]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

signature.asc (836 bytes) Download Attachment