Planning for the 7.12 release

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

Planning for the 7.12 release

Ben Gamari-3

Hello everyone!

With the 7.10.1 release nearly six months behind us and 7.10.2 out of the
way, now is a good time to begin looking forward to 7.12. In keeping
with the typical release pace, we are aiming to have a release
candidate ready in mid-December 2015 and a final release in January
2016.

The items that that we currently believe have a good chance of making it
in to 7.12 are listed on the release status page [1], which I've
summarized below (in no particular order),


    * Support for implicit parameters providing callstacks and source
      locations

    * Support for wildcards in data and type family instances

    * A new, type-indexed type representation, data TTypeRep (a :: k).

    * Introduction of visible type application

    * Support for reasoning about kind equalities

    * Support for Injective Type Families

    * Support for the Strict language extension

    * Support for Overloaded Record Fields, allowing multiple uses of
      the same field name and a form of type-directed name resolution.

    * A huge improvement to pattern matching (including much better
      coverage of GADTs)

    * Backpack is chugging along; we have a new user-facing syntax which
      allows multiple modules to be defined a single file, and are
      hoping to release at least the ability to publish multiple "units"
      in a single Cabal file.

    * Support for Applicative Do, allowing GHC to desugar do-notation to
      Applicative where possible.

    * Improved DWARF based debugging support including backtraces from
      Haskell code

    * An Improved LLVM Backend that ships with every major Tier 1 platform.


These items are a bit less certain but may make it in if the authors
push forward quickly enough,


    * Support for Type Signature Sections, allowing you to write (:: ty)
      as a shorthand for (\x -> x :: ty).

    * A (possible) overhaul of GHC's build system to use Shake instead
      of Make.

    * A DEPRECATED pragma for exports
   

Is your pet project missing from this list? If you have a patch that you
believe is on-track to make it in for 7.12, please let us know.

Moreover, if you have an issue that you urgently need fixed in 7.12,
please express you interest on the appropriate ticket. User feedback
helps us immensely in figuring out how to best place our priorities.

Cheers,

- Ben


[1] https://ghc.haskell.org/trac/ghc/wiki/Status/GHC-7.12.1

_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

signature.asc (482 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Planning for the 7.12 release: MonadFail

David Luposchainsky
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hey Ben,

my summer was pretty busy, but we recently fixed our MonadFail implementation to
work as desired, so that should make it in as well. We'll have to survive a
heroic rebase/squash that we'll probably do in September when we're back from our
holidays.

David
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBAgAGBQJV3zFnAAoJELrQsaT5WQUsJy4H/RVVGZBfprIKWmX+a8H6c6zr
SfqkMfMZE0Q1AA1pDeQspwKUi4lOemUMexsZfjdoV2FD4YruzJ/hJl2MOiFKu6gC
KsvjF7Xlxxvst9JTVaW3exr0dQNJ8sKGhkHzpvaX+ecTUQ1c6vtsJt/gMcA3U6S1
1BW4lc25OWA07nphjTkVacJflZnCUki4kNlapA3x5VX0o4yN38s7sPE1muL+7Rxw
afklL9XiYJBAtGapNHP81E+iCYs5BaotJdbyCm5PcmtyxW92JMPML0BP3cfS14lA
zClgyWOE8H5IRfR/8qSfECAcM81+G9WQ0XuSza5szBdX0f3PiNVri1x9qsp+3CU=
=Qs4g
-----END PGP SIGNATURE-----
_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Reply | Threaded
Open this post in threaded view
|

Re: Planning for the 7.12 release

Matthew Pickering
In reply to this post by Ben Gamari-3
Hi Ben,

I think that D1152 (Record Pattern Synonyms) will be ready for 7.12.
https://phabricator.haskell.org/D1152

On Thu, Aug 27, 2015 at 5:38 PM, Ben Gamari <[hidden email]> wrote:

>
> Hello everyone!
>
> With the 7.10.1 release nearly six months behind us and 7.10.2 out of the
> way, now is a good time to begin looking forward to 7.12. In keeping
> with the typical release pace, we are aiming to have a release
> candidate ready in mid-December 2015 and a final release in January
> 2016.
>
> The items that that we currently believe have a good chance of making it
> in to 7.12 are listed on the release status page [1], which I've
> summarized below (in no particular order),
>
>
>     * Support for implicit parameters providing callstacks and source
>       locations
>
>     * Support for wildcards in data and type family instances
>
>     * A new, type-indexed type representation, data TTypeRep (a :: k).
>
>     * Introduction of visible type application
>
>     * Support for reasoning about kind equalities
>
>     * Support for Injective Type Families
>
>     * Support for the Strict language extension
>
>     * Support for Overloaded Record Fields, allowing multiple uses of
>       the same field name and a form of type-directed name resolution.
>
>     * A huge improvement to pattern matching (including much better
>       coverage of GADTs)
>
>     * Backpack is chugging along; we have a new user-facing syntax which
>       allows multiple modules to be defined a single file, and are
>       hoping to release at least the ability to publish multiple "units"
>       in a single Cabal file.
>
>     * Support for Applicative Do, allowing GHC to desugar do-notation to
>       Applicative where possible.
>
>     * Improved DWARF based debugging support including backtraces from
>       Haskell code
>
>     * An Improved LLVM Backend that ships with every major Tier 1 platform.
>
>
> These items are a bit less certain but may make it in if the authors
> push forward quickly enough,
>
>
>     * Support for Type Signature Sections, allowing you to write (:: ty)
>       as a shorthand for (\x -> x :: ty).
>
>     * A (possible) overhaul of GHC's build system to use Shake instead
>       of Make.
>
>     * A DEPRECATED pragma for exports
>
>
> Is your pet project missing from this list? If you have a patch that you
> believe is on-track to make it in for 7.12, please let us know.
>
> Moreover, if you have an issue that you urgently need fixed in 7.12,
> please express you interest on the appropriate ticket. User feedback
> helps us immensely in figuring out how to best place our priorities.
>
> Cheers,
>
> - Ben
>
>
> [1] https://ghc.haskell.org/trac/ghc/wiki/Status/GHC-7.12.1
>
> _______________________________________________
> ghc-devs mailing list
> [hidden email]
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>
_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Reply | Threaded
Open this post in threaded view
|

RE: Planning for the 7.12 release: MonadFail

Simon Peyton Jones
In reply to this post by David Luposchainsky
Great.  Is there a ticket?  If not, we'll probably lose track of it.

Simon

|  -----Original Message-----
|  From: ghc-devs [mailto:[hidden email]] On Behalf Of
|  David Luposchainsky
|  Sent: 27 August 2015 16:49
|  To: [hidden email]
|  Subject: Re: Planning for the 7.12 release: MonadFail
|  
|  -----BEGIN PGP SIGNED MESSAGE-----
|  Hash: SHA1
|  
|  Hey Ben,
|  
|  my summer was pretty busy, but we recently fixed our MonadFail
|  implementation to work as desired, so that should make it in as well.
|  We'll have to survive a heroic rebase/squash that we'll probably do in
|  September when we're back from our holidays.
|  
|  David
|  -----BEGIN PGP SIGNATURE-----
|  Version: GnuPG v1
|  
|  iQEcBAEBAgAGBQJV3zFnAAoJELrQsaT5WQUsJy4H/RVVGZBfprIKWmX+a8H6c6zr
|  SfqkMfMZE0Q1AA1pDeQspwKUi4lOemUMexsZfjdoV2FD4YruzJ/hJl2MOiFKu6gC
|  KsvjF7Xlxxvst9JTVaW3exr0dQNJ8sKGhkHzpvaX+ecTUQ1c6vtsJt/gMcA3U6S1
|  1BW4lc25OWA07nphjTkVacJflZnCUki4kNlapA3x5VX0o4yN38s7sPE1muL+7Rxw
|  afklL9XiYJBAtGapNHP81E+iCYs5BaotJdbyCm5PcmtyxW92JMPML0BP3cfS14lA
|  zClgyWOE8H5IRfR/8qSfECAcM81+G9WQ0XuSza5szBdX0f3PiNVri1x9qsp+3CU=
|  =Qs4g
|  -----END PGP SIGNATURE-----
|  _______________________________________________
|  ghc-devs mailing list
|  [hidden email]
|  http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Reply | Threaded
Open this post in threaded view
|

Re: Planning for the 7.12 release: MonadFail

Herbert Valerio Riedel-3
On 2015-08-27 at 18:38:46 +0200, Simon Peyton Jones wrote:
> Great.  Is there a ticket?  If not, we'll probably lose track of it.

https://ghc.haskell.org/trac/ghc/ticket/10751

:-)
_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Reply | Threaded
Open this post in threaded view
|

Re: Planning for the 7.12 release

Elliot Cameron
In reply to this post by Ben Gamari-3
I can't seem to find the exact trac ticket, but the ability to swap out "Integer" implementations at link time would be a huge relief on Windows, which suffers from various problems with dynamic linking. I believe it was originally slated for 7.12. Can someone find it? Here's what I did find: https://ghc.haskell.org/trac/ghc/wiki/ReplacingGMPNotes

A related discussion: https://github.com/commercialhaskell/stack/issues/399

As it stands, we've been trying hard to find good ways to provide custom GHC variants more easily to end users.

________________________________________
From: ghc-devs <[hidden email]> on behalf of Ben Gamari <[hidden email]>
Sent: Thursday, August 27, 2015 11:38 AM
To: GHC developers
Subject: Planning for the 7.12 release

Hello everyone!

With the 7.10.1 release nearly six months behind us and 7.10.2 out of the
way, now is a good time to begin looking forward to 7.12. In keeping
with the typical release pace, we are aiming to have a release
candidate ready in mid-December 2015 and a final release in January
2016.

The items that that we currently believe have a good chance of making it
in to 7.12 are listed on the release status page [1], which I've
summarized below (in no particular order),


    * Support for implicit parameters providing callstacks and source
      locations

    * Support for wildcards in data and type family instances

    * A new, type-indexed type representation, data TTypeRep (a :: k).

    * Introduction of visible type application

    * Support for reasoning about kind equalities

    * Support for Injective Type Families

    * Support for the Strict language extension

    * Support for Overloaded Record Fields, allowing multiple uses of
      the same field name and a form of type-directed name resolution.

    * A huge improvement to pattern matching (including much better
      coverage of GADTs)

    * Backpack is chugging along; we have a new user-facing syntax which
      allows multiple modules to be defined a single file, and are
      hoping to release at least the ability to publish multiple "units"
      in a single Cabal file.

    * Support for Applicative Do, allowing GHC to desugar do-notation to
      Applicative where possible.

    * Improved DWARF based debugging support including backtraces from
      Haskell code

    * An Improved LLVM Backend that ships with every major Tier 1 platform.


These items are a bit less certain but may make it in if the authors
push forward quickly enough,


    * Support for Type Signature Sections, allowing you to write (:: ty)
      as a shorthand for (\x -> x :: ty).

    * A (possible) overhaul of GHC's build system to use Shake instead
      of Make.

    * A DEPRECATED pragma for exports


Is your pet project missing from this list? If you have a patch that you
believe is on-track to make it in for 7.12, please let us know.

Moreover, if you have an issue that you urgently need fixed in 7.12,
please express you interest on the appropriate ticket. User feedback
helps us immensely in figuring out how to best place our priorities.

Cheers,

- Ben


[1] https://ghc.haskell.org/trac/ghc/wiki/Status/GHC-7.12.1
_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Reply | Threaded
Open this post in threaded view
|

Re: Planning for the 7.12 release

Sean Leather-2
In reply to this post by Ben Gamari-3
On Thu, Aug 27, 2015 at 5:38 PM, Ben Gamari wrote:
These items are a bit less certain but may make it in if the authors
push forward quickly enough,


    * Support for Type Signature Sections, allowing you to write (:: ty)
      as a shorthand for (\x -> x :: ty).

Once Lennart convinced me of the usefulness of this [1], I've been finding plenty of places where I wish I had it. Who's working on it? What's the status? Is there a ticket for it?

Regards,
Sean


_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Reply | Threaded
Open this post in threaded view
|

RE: Planning for the 7.12 release

Simon Peyton Jones

Lennart always says he’s going to work on it, but he’s a busy man and nothing has actually happened.

 

It’s a pretty easy feature to implement I think.

 

Simon

 

From: ghc-devs [mailto:[hidden email]] On Behalf Of Sean Leather
Sent: 28 August 2015 06:40
To: Ben Gamari
Cc: GHC developers
Subject: Re: Planning for the 7.12 release

 

On Thu, Aug 27, 2015 at 5:38 PM, Ben Gamari wrote:

These items are a bit less certain but may make it in if the authors
push forward quickly enough,


    * Support for Type Signature Sections, allowing you to write (:: ty)
      as a shorthand for (\x -> x :: ty).


Once Lennart convinced me of the usefulness of this [1], I've been finding plenty of places where I wish I had it. Who's working on it? What's the status? Is there a ticket for it?

 

Regards,

Sean

 


_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Reply | Threaded
Open this post in threaded view
|

Re: Planning for the 7.12 release: MonadFail

Ben Gamari-3
In reply to this post by David Luposchainsky
David Luposchainsky <[hidden email]> writes:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hey Ben,
>
> my summer was pretty busy, but we recently fixed our MonadFail implementation to
> work as desired, so that should make it in as well. We'll have to survive a
> heroic rebase/squash that we'll probably do in September when we're back from our
> holidays.

Great, I've added it to the list. Keep us in the loop as things progress.

Cheers,

- Ben

_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

signature.asc (482 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Planning for the 7.12 release

Ben Gamari-3
In reply to this post by Matthew Pickering
Matthew Pickering <[hidden email]> writes:

> Hi Ben,
>
> I think that D1152 (Record Pattern Synonyms) will be ready for 7.12.
> https://phabricator.haskell.org/D1152
>
Ahh yes. Thanks for pointing this out. I've added it to the list.

Cheers,

- Ben

_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

signature.asc (482 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Planning for the 7.12 release

Ben Gamari-3
In reply to this post by Elliot Cameron
Elliot Cameron <[hidden email]> writes:

> I can't seem to find the exact trac ticket, but the ability to swap
> out "Integer" implementations at link time would be a huge relief on
> Windows, which suffers from various problems with dynamic linking. I
> believe it was originally slated for 7.12. Can someone find it? Here's
> what I did find:
> https://ghc.haskell.org/trac/ghc/wiki/ReplacingGMPNotes
>
> A related discussion:
> https://github.com/commercialhaskell/stack/issues/399
>
> As it stands, we've been trying hard to find good ways to provide
> custom GHC variants more easily to end users.
>
Hmm, interesting. I'm not sure how realistic it is to make this a
link-time option, however, considering that we may inline bindings from
whatever integer package we compile against into the user's program.

Herbert, do you have any thoughts on this?

Cheers,

- Ben


_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

signature.asc (482 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Planning for the 7.12 release

Kosyrev Serge
In reply to this post by Ben Gamari-3
Ben Gamari <[hidden email]> writes:
> These items are a bit less certain but may make it in if the authors
> push forward quickly enough,

[..]

>     * A (possible) overhaul of GHC's build system to use Shake instead
>       of Make.

Is there a breakdown of what remains to be done on this front?

--
с уважениeм / respectfully,
Косырев Серёга
_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Reply | Threaded
Open this post in threaded view
|

Re: Planning for the 7.12 release

Herbert Valerio Riedel-3
In reply to this post by Simon Peyton Jones
For the record,

I wanted to implement this feature a couple of months ago but then got
side-tracked. If somebody wants to pick it up (which would be great),
please lemme know.

In the meantime I've created

  https://ghc.haskell.org/trac/ghc/ticket/10803

and write up the little information I have on this topic already


On 2015-08-28 at 09:20:54 +0200, Simon Peyton Jones wrote:

> Lennart always says he’s going to work on it, but he’s a busy man and nothing has actually happened.
>
> It’s a pretty easy feature to implement I think.
>
> Simon
>
> From: ghc-devs [mailto:[hidden email]] On Behalf Of Sean Leather
> Sent: 28 August 2015 06:40
> To: Ben Gamari
> Cc: GHC developers
> Subject: Re: Planning for the 7.12 release
>
> On Thu, Aug 27, 2015 at 5:38 PM, Ben Gamari wrote:
> These items are a bit less certain but may make it in if the authors
> push forward quickly enough,
>
>
>     * Support for Type Signature Sections, allowing you to write (:: ty)
>       as a shorthand for (\x -> x :: ty).
>
> Once Lennart convinced me of the usefulness of this [1], I've been finding plenty of places where I wish I had it. Who's working on it? What's the status? Is there a ticket for it?
>
> Regards,
> Sean
>
> [1] http://augustss.blogspot.com/2014/04/a-small-haskell-extension.html
> _______________________________________________
> ghc-devs mailing list
> [hidden email]
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

--
"Elegance is not optional" -- Richard O'Keefe
_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Reply | Threaded
Open this post in threaded view
|

RE: Planning for the 7.12 release

Simon Peyton Jones
In reply to this post by Kosyrev Serge
Andrey Mokhov is the man to ask.  I'm copying him.

Simon

|  -----Original Message-----
|  From: ghc-devs [mailto:[hidden email]] On Behalf Of
|  Kosyrev Serge
|  Sent: 28 August 2015 11:31
|  To: Ben Gamari
|  Cc: GHC developers
|  Subject: Re: Planning for the 7.12 release
|  
|  Ben Gamari <[hidden email]> writes:
|  > These items are a bit less certain but may make it in if the authors
|  > push forward quickly enough,
|  
|  [..]
|  
|  >     * A (possible) overhaul of GHC's build system to use Shake
|  instead
|  >       of Make.
|  
|  Is there a breakdown of what remains to be done on this front?
|  
|  --
|  с уважениeм / respectfully,
|  Косырев Серёга
|  _______________________________________________
|  ghc-devs mailing list
|  [hidden email]
|  http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Reply | Threaded
Open this post in threaded view
|

Re: Planning for the 7.12 release

Herbert Valerio Riedel-3
In reply to this post by Kosyrev Serge
On 2015-08-28 at 12:31:13 +0200, Kosyrev Serge wrote:

[...]

>>     * A (possible) overhaul of GHC's build system to use Shake instead
>>       of Make.
>
> Is there a breakdown of what remains to be done on this front?

Btw, here's the GitHub repo were you can track the progress:

https://github.com/snowleopard/shaking-up-ghc
_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Reply | Threaded
Open this post in threaded view
|

Re: Planning for the 7.12 release

Ben Gamari-3
In reply to this post by Kosyrev Serge
Kosyrev Serge <[hidden email]> writes:

> Ben Gamari <[hidden email]> writes:
>> These items are a bit less certain but may make it in if the authors
>> push forward quickly enough,
>
> [..]
>
>>     * A (possible) overhaul of GHC's build system to use Shake instead
>>       of Make.
>
> Is there a breakdown of what remains to be done on this front?
>
I'm actually not entirely clear on the general plan regarding the
Shake-up and perhaps this is a good time to discuss it.

How gradual of a transition do we envision this will be? Specifically,
for how long do we want the two build systems to coexist (if at all)?

If this is intended to be an immediate wholesale switch to Shake I would
be very skeptical of merging for 7.12 as three months is, in my
opinion, very little time to test such a sweeping change.

However, a long transition time is also not terribly desirable as
maintaining two largely independent build systems potentially carries
significant cost.

Can we in principle expect the Shake build system to build all of
the configurations GHC currently supports from day-one (including, for
instance, cross compilation)? The batch files in the repository suggest
that it has been used on Windows but has it been tested on our other
Tier 1 platforms?

I just attempted to use the current state of the repository and sadly
found that things fell apart pretty quickly [1].

I would love to see this happen, but obviously we need to tread
carefully when performing such a major overhaul to code so central to
the project. Moreover, I would really like to minimize the probability
that we increase the maintenance burden of our build infrastructure.

I think if there is clear communication regarding what remains to be
done and motivation to quickly finish these items then Shakification is
still an possibility for 7.12.

Otherwise I personally think we may want to be a bit conservative. End
users can always check out the shaking-up-ghc repository into their GHC
trees themselves if they want to try using it. I'm certainly willing to
consider other opinions, however.

Cheers,

- Ben


[1] After I manually ran ./boot,

    $ _shake/build --lint --directory ".." $@
    ...  # various output from ./configure
    Reading shake/cfg/system.config...
    Reading package dependencies...
    Error when running Shake build system:
    * OracleQ (PackageDataKey ("libraries/bin-package-db/dist-boot/package-data.mk","libraries_bin-package-db_dist-boot_LIB_NAME"))
    * libraries/bin-package-db/dist-boot/package-data.mk
    * libraries/bin-package-db/dist-boot/package-data.mk libraries/bin-package-db/dist-boot/haddock-prologue.txt libraries/bin-package-db/dist-boot/inplace-pkg-config libraries/bin-package-db/dist-boot/setup-config libraries/bin-package-db/dist-boot/build/autogen/cabal_macros.h
    * libraries/binary/dist-boot/package-data.mk
    * libraries/binary/dist-boot/package-data.mk libraries/binary/dist-boot/haddock-prologue.txt libraries/binary/dist-boot/inplace-pkg-config libraries/binary/dist-boot/setup-config libraries/binary/dist-boot/build/autogen/cabal_macros.h
    * /mnt/work/ghc/ghc-shake/inplace/bin/ghc-cabal
    Error, file does not exist and no rule available:
      /mnt/work/ghc/ghc-shake/inplace/bin/ghc-cabal

_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

signature.asc (482 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Planning for the 7.12 release

Niklas Hambüchen
On 28/08/15 13:46, Ben Gamari wrote:
> If this is intended to be an immediate wholesale switch to Shake I would
> be very skeptical of merging for 7.12 as three months is, in my
> opinion, very little time to test such a sweeping change.

One thing I don't understand in this discussion:
Why need the change of GHC's build system be tied to any release at all?

Since it's nothing really affecting GHC users, only GHC devs, can't it
happen at any point in time between releases?
_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Reply | Threaded
Open this post in threaded view
|

RE: Planning for the 7.12 release

Simon Peyton Jones
In reply to this post by Ben Gamari-3
|  If this is intended to be an immediate wholesale switch to Shake I
|  would be very skeptical of merging for 7.12 as three months is, in my
|  opinion, very little time to test such a sweeping change.

No there is no chance that we switch over to Shake for 7.12. At the moment it's nowhere near ready for prime time.

But I do hope that we'll have material progress on a side-by-side build system before 7.12 comes out.  It probably won't do everything but it should do some things well.  I hope.

Simon

|  
|  However, a long transition time is also not terribly desirable as
|  maintaining two largely independent build systems potentially carries
|  significant cost.
|  
|  Can we in principle expect the Shake build system to build all of the
|  configurations GHC currently supports from day-one (including, for
|  instance, cross compilation)? The batch files in the repository
|  suggest that it has been used on Windows but has it been tested on our
|  other Tier 1 platforms?
|  
|  I just attempted to use the current state of the repository and sadly
|  found that things fell apart pretty quickly [1].
|  
|  I would love to see this happen, but obviously we need to tread
|  carefully when performing such a major overhaul to code so central to
|  the project. Moreover, I would really like to minimize the probability
|  that we increase the maintenance burden of our build infrastructure.
|  
|  I think if there is clear communication regarding what remains to be
|  done and motivation to quickly finish these items then Shakification
|  is still an possibility for 7.12.
|  
|  Otherwise I personally think we may want to be a bit conservative. End
|  users can always check out the shaking-up-ghc repository into their
|  GHC trees themselves if they want to try using it. I'm certainly
|  willing to consider other opinions, however.
|  
|  Cheers,
|  
|  - Ben
|  
|  
|  [1] After I manually ran ./boot,
|  
|      $ _shake/build --lint --directory ".." $@
|      ...  # various output from ./configure
|      Reading shake/cfg/system.config...
|      Reading package dependencies...
|      Error when running Shake build system:
|      * OracleQ (PackageDataKey ("libraries/bin-package-db/dist-
|  boot/package-data.mk","libraries_bin-package-db_dist-boot_LIB_NAME"))
|      * libraries/bin-package-db/dist-boot/package-data.mk
|      * libraries/bin-package-db/dist-boot/package-data.mk
|  libraries/bin-package-db/dist-boot/haddock-prologue.txt libraries/bin-
|  package-db/dist-boot/inplace-pkg-config libraries/bin-package-db/dist-
|  boot/setup-config libraries/bin-package-db/dist-
|  boot/build/autogen/cabal_macros.h
|      * libraries/binary/dist-boot/package-data.mk
|      * libraries/binary/dist-boot/package-data.mk
|  libraries/binary/dist-boot/haddock-prologue.txt libraries/binary/dist-
|  boot/inplace-pkg-config libraries/binary/dist-boot/setup-config
|  libraries/binary/dist-boot/build/autogen/cabal_macros.h
|      * /mnt/work/ghc/ghc-shake/inplace/bin/ghc-cabal
|      Error, file does not exist and no rule available:
|        /mnt/work/ghc/ghc-shake/inplace/bin/ghc-cabal
_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Reply | Threaded
Open this post in threaded view
|

Re: Planning for the 7.12 release

Ryan Scott
In reply to this post by Ben Gamari-3
Something I wanted to try to implement before GHC 7.12 are extensions
to DeriveFunctor, DeriveFoldable, and DeriveTraversable which would
allow for automatic derivation of Bifunctor, Bifoldable, and
Bitraversable. (This has already been implemented using Template
Haskell in an unreleased version of the bifunctors package [1], so
implementing it in GHC should be straightforward.)

I haven't made an issue for this yet since I was waiting on the
results of #10448 [2] (which would put Bifoldable and Bitraversable in
base, in addition to Bifunctor, which was added in 7.10). Currently,
Edward Kmett is listed as the owner of that issue, but I would be
happy to tackle it if it means we could get it in time for GHC 7.12.


Ryan S.
-----
[1] https://github.com/ekmett/bifunctors/tree/8e975aead363802610dedccf414b884f9b39b1f4
[2] https://ghc.haskell.org/trac/ghc/ticket/10448
_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Reply | Threaded
Open this post in threaded view
|

Re: Planning for the 7.12 release

Greg Weber
In reply to this post by Ben Gamari-3
Can we call this GHC 8.0 instead of 7.12 ?
Overloaded record fields and backtraces are a huge missing piece to Haskell. It would be nice to have the bump to celebrate this occasion and say that Haskell 8 is "ready". I have had a hard time seriously recommending Haskell due to those last missing features. Now I should be able to say without reservation: "use Haskell > 8; it is great!"

On Thu, Aug 27, 2015 at 8:38 AM, Ben Gamari <[hidden email]> wrote:

Hello everyone!

With the 7.10.1 release nearly six months behind us and 7.10.2 out of the
way, now is a good time to begin looking forward to 7.12. In keeping
with the typical release pace, we are aiming to have a release
candidate ready in mid-December 2015 and a final release in January
2016.

The items that that we currently believe have a good chance of making it
in to 7.12 are listed on the release status page [1], which I've
summarized below (in no particular order),


    * Support for implicit parameters providing callstacks and source
      locations

    * Support for wildcards in data and type family instances

    * A new, type-indexed type representation, data TTypeRep (a :: k).

    * Introduction of visible type application

    * Support for reasoning about kind equalities

    * Support for Injective Type Families

    * Support for the Strict language extension

    * Support for Overloaded Record Fields, allowing multiple uses of
      the same field name and a form of type-directed name resolution.

    * A huge improvement to pattern matching (including much better
      coverage of GADTs)

    * Backpack is chugging along; we have a new user-facing syntax which
      allows multiple modules to be defined a single file, and are
      hoping to release at least the ability to publish multiple "units"
      in a single Cabal file.

    * Support for Applicative Do, allowing GHC to desugar do-notation to
      Applicative where possible.

    * Improved DWARF based debugging support including backtraces from
      Haskell code

    * An Improved LLVM Backend that ships with every major Tier 1 platform.


These items are a bit less certain but may make it in if the authors
push forward quickly enough,


    * Support for Type Signature Sections, allowing you to write (:: ty)
      as a shorthand for (\x -> x :: ty).

    * A (possible) overhaul of GHC's build system to use Shake instead
      of Make.

    * A DEPRECATED pragma for exports


Is your pet project missing from this list? If you have a patch that you
believe is on-track to make it in for 7.12, please let us know.

Moreover, if you have an issue that you urgently need fixed in 7.12,
please express you interest on the appropriate ticket. User feedback
helps us immensely in figuring out how to best place our priorities.

Cheers,

- Ben


[1] https://ghc.haskell.org/trac/ghc/wiki/Status/GHC-7.12.1

_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs



_______________________________________________
ghc-devs mailing list
[hidden email]
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
12