From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Yi DAI Newsgroups: gmane.lisp.guile.user Subject: Re: Wanna hacking into Guile Date: Mon, 21 Dec 2009 13:12:07 +0800 Message-ID: <7aee91500912202112k7e3b1dffo47a44fffa408adaf@mail.gmail.com> References: <7aee91500912181911r4ac42087h6ab19d3a9d6fbb6@mail.gmail.com> <87y6kxq56i.fsf@ossau.uklinux.net> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=000e0cd6aa62adb252047b3622ce X-Trace: ger.gmane.org 1261372374 20845 80.91.229.12 (21 Dec 2009 05:12:54 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 21 Dec 2009 05:12:54 +0000 (UTC) Cc: guile-user@gnu.org To: Neil Jerram Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Mon Dec 21 06:12:46 2009 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1NMaZa-0006fy-Kq for guile-user@m.gmane.org; Mon, 21 Dec 2009 06:12:46 +0100 Original-Received: from localhost ([127.0.0.1]:53865 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NMaZa-0006sS-Gs for guile-user@m.gmane.org; Mon, 21 Dec 2009 00:12:46 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NMaZK-0006q7-AD for guile-user@gnu.org; Mon, 21 Dec 2009 00:12:30 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NMaZI-0006pn-Lu for guile-user@gnu.org; Mon, 21 Dec 2009 00:12:28 -0500 Original-Received: from [199.232.76.173] (port=41138 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NMaZI-0006pc-Cu for guile-user@gnu.org; Mon, 21 Dec 2009 00:12:28 -0500 Original-Received: from qw-out-1920.google.com ([74.125.92.145]:17402) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NMaZI-0008HC-EM for guile-user@gnu.org; Mon, 21 Dec 2009 00:12:28 -0500 Original-Received: by qw-out-1920.google.com with SMTP id 5so991158qwc.24 for ; Sun, 20 Dec 2009 21:12:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :from:date:message-id:subject:to:cc:content-type; bh=GiFEztk9S4Z/c0dd5Rk+8x5wTNOWKgfLAzDovWcpZv8=; b=tvKjBxZYl63MoRdlSxcBUJXRvWX3qjQgV+MiXdwOfTol+xRTUC9tJFMT3uIyw65eF3 1s35v+gWUtId8g+cZccULOOBxI4gF4+y5kqTrBPSJLfdoszkvHnzZGfic1d8KooQ4iXE 4fV/MKtUhra4XaeYv0L1xNBdp61h2ygSoxym0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; b=OOYwKTwjXV+eefeAj0kz9HlH9appFN2XGpYYgDOVuL7nwE2KjEczcJ3m8bTir2qtq0 u871omj62eATcJ5I08IiNZzTpNuWy3tvTLS8Vrm/JNuDkEDtC2ZXSI6J7n88Om6iwIt5 kQ03KpGnCZ96r9PagJ6z86L/dgTTADwWgHJNU= Original-Received: by 10.229.93.41 with SMTP id t41mr3174518qcm.81.1261372347101; Sun, 20 Dec 2009 21:12:27 -0800 (PST) In-Reply-To: <87y6kxq56i.fsf@ossau.uklinux.net> X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:7558 Archived-At: --000e0cd6aa62adb252047b3622ce Content-Type: text/plain; charset=ISO-8859-1 Neil, Thanks for your reply. It helps a lot, especially the explanation of the structure of the tree. I will try. And other suggestions are also welcome. best regards, On Sun, Dec 20, 2009 at 7:02 PM, Neil Jerram wrote: > Yi DAI 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 > -- DAY --000e0cd6aa62adb252047b3622ce Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Neil,


Thanks for your reply. It helps a l= ot, especially the explanation of the structure of the tree. I will try. An= d other suggestions are also welcome.


best regards,




On Sun, Dec 20, 2009 at 7:02 PM, Neil Jerram <neil@ossau.uklinux.n= et> wrote:
Yi DAI <plm.day@gmail.com> writes:

> Hi,

Hi there!

> I've been using Guile for a while. And now I wanna learn things un= der the hook
> and wish someday I could contribute some code to the base also. I have= n't
> finished reading the manual yet. I think it would be a good combinatio= n 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 mea= n I feel a
> little bit messed and don't know where to start. So anyone can giv= e some hint,
> for example, the architecture of the source tree, among these source f= iles,
> 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. =A0Tags are essential for this kind of thing, so<= br> do `make tags' to create TAGS files in your copy of the tree.

The other most important directory is "module", which contains al= l of
the core Scheme code - for things like compilation, providing a REPL,
the help system, SRFIs, and lots more. =A0The 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<= br> will too. =A0Hopefully the above is useful to get you going!

Regards,
=A0 =A0 =A0 =A0Neil



--
DAY
--000e0cd6aa62adb252047b3622ce--