This is the mail archive of the guile@cygnus.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: application init files



   Date: Fri, 30 Jan 1998 10:52:19 -0500
   From: Jim Blandy <jimb@red-bean.com>
   Cc: brown@bibliotech.com, guile@cygnus.com
   Sender: owner-guile@cygnus.com
   Precedence: bulk
   Content-Type: text/plain; charset=us-ascii
   Content-Length: 1045


   I sympathize with the desire for a consistent syntax.  I'd suggest
   writing something afresh that parses a subset of Guile's read syntax.

   >i think the point is that we're already dealing w/ a library.  the
   >question is how efficient is its partitioning.  (i must admit, it's not
   >a question that i think deserves too much manual study; i guess i would
   >appreciate pointers to source-code analysis systems, preferably free.)

   It seems to be traditional (some excuse!) for lisp systems to be
   incestuous.  i.e. you ask for one little exception-handling function,
   which brings in the formatter, which brings in the complex number
   support, and the I/O port implementations, ...  Scheme 48 seems to
   have paid a lot of attention to clean partitioning (e.g. the papers
   claim you can bring in only the numeric types you need, and everything
   will just work), but Guile hasn't.

   You'd have to separate read.c from the allocator.

   You'd have to separate read.c from all the datatypes you don't care
   about reading (uniform vectors, multibyte strings, etc).


Why can't people just use guile?

If the application is large, it probably should have guile embedded in
it.

If the application needs a configuration file, but should remain
small, it can fork guile with the configuration script and another
small script which would write the results to a pipe.

If the application is really small and light-weight, it probably
should just be a guile script anyway.

Guile isn't that large, and ideally, the core library should be loaded
only once, anyway.  If loading a wee bit of guile starts loading huge
amounts, then the guile module structure should be fixed.

-- 
Clifford Beshers                     Computer Graphics and User Interfaces Lab
beshers@cs.columbia.edu                         Department of Computer Science
http://www.cs.columbia.edu/~beshers                        Columbia University