DeveloperGettingStarted
under construction:
While DeveloperTips is a loose collection of tips, this page is intended to be a structured guide for newcomers. There may be overlappings which have to factored out. Be bold! italic text is meta information for editors as long as this page is under heavy construction.
Since darcs is written in haskell, interested developers will find it difficult to dive in the code. Here we explain how the project is structured and where you can find more infos (e.g. on haskells build system etc.)
Getting the Source
Info on different branches, repositories etc.
how to deal with patches, where to send ...
...
Overall Structure of Darcs
src contains main modules and some utilities
Crypt ??
Darcs contains core modules like Repository etc
Commands contains all the commands that can be executed via darcs (e.g. diff, pull, get)
Patch contains core code to perform patching (apply, commute etc)
Repository contains utilities for repo-handling
win32 platform dependent code for windows
System
Posix
sys
Important make targets
darcs comes with a standard makefile. The targets are:
api-doc generates a htmlized reference of all modules, types and functions in darcs.
- requires haddock 2.0.
- issue: I had to "mkdir api-doc" to make this work.
... more targets ...
Literate Haskell
Darcs is written in literate haskell. That means that the haskell code is embedded into the (latex-) documentation. The manual is written that way.
Integrated Development Environments
Here some notes how to configure your workspace in your favorite IDE.
- emacs ... ?
- vim ... ?
- eclipse ... ?
