darcs access to nhc98


This page tells you how to get darcs access to the latest, most current, nhc98 sources.

Note that we only store non-regenerable files in version control, so if you don't already have a working Haskell compiler, you won't be able to build from C sources using our repository.

Viewing the darcs repository on the web

If you don't want to download the sources, you can view the current contents of the repository on the web here.

Remote read-only access

Read-only access is available to anyone - there's no need to ask us first. To get read-only access to our repository:

  • Obviously, you need to have the darcs command installed.
  • darcs get --partial http://darcs.haskell.org/nhc98
  • If you want the complete history, omit the --partial flag, but be warned that the history is large, it will take a long time to download, and may have errors on case-insensitive file systems (e.g. Windows and MacOS X).
  • The checked-out source tree will appear in a directory called nhc98. You can rename this directory to whatever you like, darcs won't mind.
  • Change to that directory, and run the shell script sh start. This will prepare the repository for use, by making various scripts executable, downloading extra library packages, and so on.
  • From then on, you can keep up with new changes in the central repo by using darcs-all pull. You can even do your own development in a detached fashion, using darcs record on your own local repository.

With read-only darcs access you can do anything except commit changes back to the central repository. To submit patches to us, darcs record them locally, then darcs send.

Prerequisites to build nhc98 from darcs

You will need the shell bash together with a standard unix command-line toolset, a C compiler such as gcc, and either an existing installation of nhc98, or ghc with the filepath package.

Using the checked-out tree

The first thing to do after checking out a fresh tree is sh start, followed by ./configure, and setting whatever options you wish to use. It is always safe to re-run the ./configure script at any time - it will never leave your configuration in an inconsistent state. The machine/OS combination is always detected first so you can't re-use the wrong machine configuration by mistake, and although previous options for a particular machine are cached, they are always reported, and can be always overridden on the command line.

Then, do a make with whatever targets you are interested in: make help will give you a list of the common ones. For instance, make basic gives you the standard compiler, and make all gives you profiling and tracing variants in addition.

Tracking changes in the central repository

The log messages of all accepted darcs patches are sent to the mailing list [email protected]. If you wish to see who is making changes, why, and and what they say about them, please do join this list - see http://haskell.org/mailman/listinfo for further details.

Core developers - write-access to the repository

Core developers of Haskell have write-access to the central darcs repository. All you need is an account on the machine darcs.haskell.org.

  • You need to have ssh (secure shell) installed.
  • The first time you commit a patch back to the repo, you will need to specify where it is located:
    darcs push darcs.haskell.org:/home/darcs/nhc98
  • Thereafter, just use darcs push to commit patches.

All the other instructions are the same.

Gaining write-access

To obtain write-access to darcs.haskell.org, you need to ask the haskell.org maintainers - Simon Marlow <[email protected]> or Isaac Jones <[email protected]> - for an account.


The latest updates to these pages are available on the WWW from http://www.haskell.org/nhc98/

This page last modified: 9 Jul 2010
York Functional Programming Group