Yi DAI <address@hidden> writes:
> Hi,
Hi there!
> I've been using Guile for a while. And now I wanna learn things under the hook
> and wish someday I could contribute some code to the base also. I haven't
> finished reading the manual yet. I think it would be a good combination to read
> the manual and at the same time read some implementation code of Guile
> also.
Yes, that sounds good.
> I've looked through the branch at Git. But I did not get it. I mean I feel a
> little bit messed and don't know where to start. So anyone can give some hint,
> for example, the architecture of the source tree, among these source files,
> which one should I take to read first, etc.
The "libguile" directory contains the C code for the Guile library.
I'm sure there are many ways of trying to get to grips with it; one way
would be to start at main(), which is in libguile/guile.c, and follow
calls through from there. Tags are essential for this kind of thing, so
do `make tags' to create TAGS files in your copy of the tree.
The other most important directory is "module", which contains all of
the core Scheme code - for things like compilation, providing a REPL,
the help system, SRFIs, and lots more. The starting point here is
module/ice-9/boot-9.scm, a Scheme file that gets loaded very early on by
the C library, as part of the Guile initialisation process.
> If some Guile developer could talk
> a little about his/her hacking experience, it would be hight
> appreciated.
I may say more on this later, and maybe some of the other developers
will too. Hopefully the above is useful to get you going!
Regards,
Neil