Re: How to start with GHC development?

2012-12-15 Thread Jan Stolarek
Dnia piątek, 14 grudnia 2012, Ian Lynagh napisał:
 I think the main problem is that it's a very broad question. The answer
 to how should I get started would be completely different for if you
 wanted to implement a type system extension, port GHC to a new platform,
 or fix a bug in ghci
All three task have one thing in common though - the GHC build system. Project 
sources are over 
500MB, there are many subrepositories, build scripts etc - this is really 
intimidating at first 
and I guess that seeing all that was a bit discouraging. Now that I know the 
compiler itself is 
about 9MB it doesn't look that bad :) Wiki indeed seems to have all the 
information required. 
It's just that it would be good to give beginners a _precise_ list of things 
they should read to 
begin hacking.

Janek

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: How to start with GHC development?

2012-12-15 Thread Ian Lynagh
On Sat, Dec 15, 2012 at 09:41:12AM +0100, Jan Stolarek wrote:
 Dnia piątek, 14 grudnia 2012, Ian Lynagh napisał:
  I think the main problem is that it's a very broad question. The answer
  to how should I get started would be completely different for if you
  wanted to implement a type system extension, port GHC to a new platform,
  or fix a bug in ghci
 All three task have one thing in common though - the GHC build system. 
 Project sources are over 
 500MB, there are many subrepositories, build scripts etc - this is really 
 intimidating at first 
 and I guess that seeing all that was a bit discouraging. Now that I know the 
 compiler itself is 
 about 9MB it doesn't look that bad :) Wiki indeed seems to have all the 
 information required. 
 It's just that it would be good to give beginners a _precise_ list of things 
 they should read to 
 begin hacking.

OK, so how can we improve it?

I've just made one change that might help: On
http://hackage.haskell.org/trac/ghc/wiki/Building
Working Conventions was mentioned in the opening paragraph of
as something to also see, which perhaps made it sound
like it should be read first, which I don't think was the intention.
I've moved it to the bottom of the list instead, so you won't see it
before going through Setting up your system for building GHC, Getting
the sources and Getting started with the build system.


Thanks
Ian


___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: How to start with GHC development?

2012-12-15 Thread Jan Stolarek
 OK, so how can we improve it?
First of all I think that materials in the wiki are well organized for people 
who already have 
some knowledge and only need to learn about particular things they don't yet 
know. In this case I 
think it is fine to have wiki pages connected between one another so they form 
cycles and don't 
have a particular ordering.

However as a beginner I'd expect that pages are ordered in a linear way (sorry 
for repeating 
myself, but I think this is important), that every concept is explained in only 
one place and 
that there are no links in the text (even at the end - if the text is 
structured lineary than I 
don't need to decide what to read next, I just go to next section/chapter). 
This is of course a 
perfect situation that seems to be achievable in a book, but probably not in a 
wiki (wikibook 
could be a middle ground?).

Right now there are two pages (I know of...) that instruct how to get the 
sources:
http://hackage.haskell.org/trac/ghc/wiki/Building/GettingTheSources
http://hackage.haskell.org/trac/ghc/wiki/WorkingConventions/Git
They list two different places containing the sources: github and 
darcs.haskell.org. Are these 
equivalent? A couple of months ago I played with GHC sources: the ones from 
github were about 
17MB, the ones from haskell.org were much larger (85MB IIRC) so I guess that 
these might not be 
exact mirrors.
Second page gives a nice description of how to set up build trees, but it 
duplicates information 
from the first page (checking out the sources). First page also tells to make a 
local clone of 
the repo but it does not explain why such a clone should be made (the second 
page does).
I think that merging these two pages into one might be a good idea. 
I would definitely like more details on the git workflow, especially the 
branches. Right now I see 
about 40 branches - why so many? Am I required to create my own branch when I 
start hacking or 
should I just go with master?

It seems that many informations in the wiki are duplicated. There are two pages 
about 
repositories:
http://hackage.haskell.org/trac/ghc/wiki/Repositories
http://hackage.haskell.org/trac/ghc/wiki/WorkingConventions/Repositories
(after reading the first one source tree started to make much more sense - this 
is one of the 
informations *I* would like to get first).

In general I think that for beginers it would be good if the wiki had a form of 
a book divided 
into chapters. I only wonder if it is possible to adjust the wiki for the 
newbies and at the same 
time keep it useful for more experienced developers.

Janek

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Separating build tree from the source tree

2012-12-15 Thread Jan Stolarek
Dear list,

I have a GHC source tree in ghc-working. I would like to have a separate build 
tree in ghc-build, 
so I did something like this:

mkdir ghc-build
cd ghc-build
lndir ../ghc-working

Now, I have two different machines. On openSUSE with git 1.8.0 I get something 
like this:

[killy@xerxes : /dane/uczelnia/projekty/ghc-build] ./configure
checking for gfind... no
checking for find... /usr/bin/find
checking for GHC version date... configure: WARNING: cannot determine snapshot 
version: no .git or 
_darcs directory and no VERSION file

Despite the warning configure succeeds. On Debian Squeeze with git 1.7.10 the 
same thing doesn't 
work:

[killy@GLaDOS : /dane/uczelnia/projekty/ghc-build] ./configure
checking for gfind... no
checking for find... /usr/bin/find
checking for GHC version date... fatal: Not a git repository (or any of the 
parent 
directories): .git
configure: error: failed to detect version date: check that git is in your path

Does anyone have a clue why this happens? There are probably some differences 
on these systems 
with the most obvious one being git version. On both systems however git 
doesn't recognize 
ghc-build as a valid git repository ('git status' failes), but on one of them 
this is only a 
warning while on another this is an error. Any advice will be appreciated.

Janek

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: Separating build tree from the source tree

2012-12-15 Thread Mikhail Glushenkov
Hi Jan,

On Sat, Dec 15, 2012 at 4:08 PM, Jan Stolarek jan.stola...@p.lodz.pl wrote:
 Dear list,

 I have a GHC source tree in ghc-working. I would like to have a separate 
 build tree in ghc-build,
 so I did something like this:

 mkdir ghc-build
 cd ghc-build
 lndir ../ghc-working

 Now, I have two different machines. On openSUSE with git 1.8.0 I get 
 something like this:

 [killy@xerxes : /dane/uczelnia/projekty/ghc-build] ./configure

IIRC, you should run something like ../ghc/configure instead of ./configure.

-- 
()  ascii ribbon campaign - against html e-mail
/\  www.asciiribbon.org   - against proprietary attachments

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users