This is the mail archive of the guile@sources.redhat.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: I want to help the guile project


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]