This is the mail archive of the
guile@sources.redhat.com
mailing list for the Guile project.
Re: I want to help the guile project
- To: Stefan Costin <costins at cstdev dot cst dot ro>
- Subject: Re: I want to help the guile project
- From: Mikael Djurfeldt <mdj at mdj dot nada dot kth dot se>
- Date: 21 Aug 2000 22:37:38 +0200
- Cc: guile at sourceware dot cygnus dot com
- Cc: djurfeldt at nada dot kth dot se
- References: <39A06B08.BF283DEF@cst.ro>
- Reply-To: djurfeldt at nada dot kth dot se
Stefan Costin <costins@cstdev.cst.ro> writes:
> Hi, I am roumanian programmer with good experience in Scheme, CaML,
> LISP.
> Actually I work in Java, but I'm bored of it, I want something to work
> in C/C++, but to write code in functional language I found it a pleasure
>
> (my final project when I finished the university was a compiler for
> algebraic specification for ATD, wrote in caml-light). I'm dealing with
> yacc and lex and also javacc.
> I want to help the guile groject, so give me a small part to do it
Great!
Well, here's a wish-list which I've compiled according to the
interests you've indicated:
* Port the pattern-matching facilities (`match-case' and
`match-lambda') from bigloo:
http://kaolin.unice.fr/bigloo/Doc/bigloo.html#SEC55
* Implement an lalr-parser according to the API (`lalr-grammar')
described in:
http://kaolin.unice.fr/bigloo/Doc/bigloo.html#SEC50
In this case, we should probably not port the code. We can't use
bigloo's Scheme code because we don't have a good compiler yet, and
we need speed in the parser.
You have two options:
Either you extract bison's parser ("bison.simple" or "bison.hairy"),
convert so that all state information is kept in malloced memory
instead of static variables, and implement a way to provide the
parser tables from Scheme.
Or, you port the output of Bigloo's compiler to Guile.
* Port Andrew Wright's "soft-scheme" (a system for type analysis of
Scheme programs) to Guile. The purpose would be to make Guile able
to detect some errors before running the program. But it's an
interesting problem in itself, and knowledge from this code can be
used when implementing compilers for Guile.
* Implement a good Guile compiler. The compiler should be able to do
whole module analysis and produce code which computes with native
types.
* Go through the SRFI's at srfi.schemers.org and check with the Guile
code and us what already is provided, make us point out in the Guile
documentation that we have it, or have us make small adjustments to
Guile to be compliant when this is possible. Or simply pick your
favourite SRFI and implement it.
Before doing any actual work, however, you should contact us since
there are other people working on some SRFIs.
Thanks for your interest,
/mdj