| From: Vincent Manis <[email protected]>
 | Date: Tue, 1 Sep 2009 17:14:21 -0700
 | 
 | I was thinking about what metrics one *might* use on Scheme
 | implementations.  This was happening during my fitness class this
 | morning, so we're not exactly talking profound thinking.
 | Nonetheless, I came up with the following list.
 | 
 | ...
 | 
 | I have no doubt omitted your favorite criterion, and for that you
 | are of course free to flame me.  However, my point is really the
 | obvious one, namely that no single figure of merit makes any sense.
 | One person might reject an implementation because it runs too
 | slowly, while another might love it because of a very powerful
 | debugger (I'm not saying those two features are at all opposed,
 | merely that it is possible to imagine implementations that have one
 | but not both features).  Similarly, an implementation might have
 | been very influential in the past, but now moribund.  Another
 | implementation might add absolutely nothing new, but still be
 | extremely well-engineered, and hence efficient and great to use.
 | 
 | Notes:
 |    [3] Of course we'd have to AGREE on a standard benchmark first!

None of these criteria consider application programs of a Scheme
impelementation.  I see three categories here:

1. Application programs written in Scheme;

  JACAL (http://people.csail.mit.edu/jaffer/JACAL) is an interactive
  symbolic mathematics program written in R4RS as extended by SLIB.  Any
  R4RS complying implementation which has been ported to SLIB will run
  JACAL (inexacts and bignums are not required).  Because of its broad
  portability, JACAL's regression suite ("test.math") makes a good
  R4RS/R5RS benchmark.

2. Scheme as an extension language for an application program;

  Guile is used as an extension language.
  http://en.wikipedia.org/wiki/GNU_Guile#Programs_using_Guile lists:

   Programs using Guile
    * AisleRiot - part of the GNOME Games package.
    * AutoGen
    * gEDA
    * GNU Anubis
    * GnuCash
    * Denemo
    * GNU LilyPond
    * GNU MDK
    * GNU Robots
    * GNU Serveez
    * GNU TeXmacs
    * GnoTime
    * Liquid War 6
    * mcron — a backwards compatible replacement for Vixie cron written in Guile
    * OpenCog
    * Scwm
    * Skribilo
    * Snd (software)

  Elisp used by Emacs is probably the most famous Lisp extension
  language.

3. Scheme scripts.

  These are utility programs which one can access from the command line
  (or a desktop icon) instead of spawning a REPL and typing (load "...").
  All but one of the pages featured on
  http://people.csail.mit.edu/jaffer/Docupage describe SCM scripts.

_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to