Re: How to start with GHC development?
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?
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?
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
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
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