[ANNOUNCE] Shaking up GHC

Simon Peyton Jones simonpj at microsoft.com
Mon Jan 25 12:13:59 UTC 2016

Very good.

As I understand it, it can work side-by-side with the existing build system, correct?  That means we don't need to make an either/or choice, which is very helpful.

Every day I do
	sh validate --fast --no-clean
How can I do that using Shake to build?  Maybe
	sh validate --shake --fast --no-clean
or something?  Just modifying the validate script to make it convenient to use shake for the build part would be great.

You say: The make-based build system uses mk/build.mk to specify user build settings. We use src/Settings/User.hs for the same purpose. Feel free to experiment following the Haddock comments.

But User.hs is a source file, which we shouldn't normally modify lest we accidentally commit it.  Could we have a non-source file to modify (rather like build.mk being based on build.mk.sample)


|  -----Original Message-----
|  From: Andrey Mokhov [mailto:andrey.mokhov at newcastle.ac.uk]
|  Sent: 22 January 2016 14:27
|  To: ghc-devs at haskell.org
|  Cc: Simon Peyton Jones <simonpj at microsoft.com>; Neil Mitchell
|  <ndmitchell at gmail.com>; Simon Marlow <marlowsd at gmail.com>
|  Subject: [ANNOUNCE] Shaking up GHC
|  Dear GHC developers,
|  I am happy to announce that the Shaking up GHC project has finally
|  reached the first milestone. The goal of the project is to design a
|  new GHC build system based on Shake that will eventually replace the
|  current make-based one. See the project page for more details:
|  https://github.com/snowleopard/shaking-up-ghc.
|  There is still a long way until we can match the capabilities of the
|  current build system. At the moment we only build vanilla way.
|  Validation, documentation, build flavours and cross-compilation are
|  not yet implemented. Known limitations are listed here:
|  https://github.com/snowleopard/shaking-up-ghc#current-limitations.
|  The purpose of this announcement is to attract alpha testers and
|  collect early feedback across multiple platforms and build
|  configurations. We already have several success reports on Linux, OS
|  X, Solaris and Windows. However, things will inevitably break and we
|  hope to catch and fix as many of these cases as possible with your
|  help. The instructions on how to try the new build system can be found
|  here: https://github.com/snowleopard/shaking-up-ghc#your-first-build.
|  We plan to be ready to become a part of the GHC tree around 1 March
|  2016, and catch up with the make build system around 1 June 2016. The
|  dates are tentative and depend on how much time it takes us to resolve
|  the remaining issues: https://github.com/snowleopard/shaking-up-
|  ghc/milestones.
|  I would like thank everyone who contributed to this project so far:
|  Simon Peyton Jones, Neil Mitchell and Simon Marlow came up with the
|  idea and guided me throughout the project; Moritz Angermann, Ben
|  Gamari, Karel Gardas, David Luposchainsky, and Neil Mitchell
|  contributed to the codebase. Thank you all!
|  Kind regards,
|  Andrey

More information about the ghc-devs mailing list