sales tax & more
Sat, 08 Jun 2002 15:55:11 -0400

> From: Glen Ditchfield <>
> >
> > Could you just use Scheme for this, instead of inventing another language?
> I know there are a bunch of GNUCash developers that are fond of Scheme, but
> let's be realistic here:  how many end users are familiar with Excel/Lotus
> spreadsheet syntax versus how many end users are familiar with Scheme?  The
> reason my company implemented a spreadsheet language was to provide maximum
> functionality/flexibility to non-programmers.  By extending the vocabularly
> of a syntax users are already familiar with, we make things very
> approachable to users.  If you're just interested in something for computer
> geeks who know Scheme, Lisp, or other variants, Scheme is just fine, but I
> doubt you'll find many users.  If you want to provide real value to a guy
> who has been running his business on spreadsheets and wants to move to
> something more powerful this could be a very welcome feature.

Anybody that is interested in writing reports for GnuCash ... has to be 
familiar with Scheme.

This is the sort of thing that _isn't_ widely customized.  If people write up 
four Scheme scripts to handle this, that's more than likely going to be enough 
to cover almost all the cases anybody is likely to need in 'real life.'

It's not as if, for instance, there are great gobs of people writing custom 
reports for GnuCash; the reports that _are_ written are sufficiently flexible 
that they satisfy most of the needs.

Furthermore, the result of adding the "spreadsheet language" is that you're 
adding in Yet Another Language that has to be documented and maintained and 
understood.  There are already a whopping lot of languages involved; why would 
we _want_ more?

You suggest "let's be realistic;" yes, let's.

GnuCash is _already_ fabulously complex to get compiled.  It has dependancies 
on a huge horde of GNOME libraries, plus Guile, plus bits written using M4 and 
the whole autoconf tool stream.  It even includes some SQL code.

You can argue for adding some more dependencies on lex/yacc (or should it be 
flex/bison?; it is perfectly legitimate for others to argue the contrary.
(concatenate 'string "chris" "")
Q: What's the difference between MicroSoft Windows and a virus? 
A: Apart from the fact that viruses are supported by their authors, 
use optimized, small code and usually perform well, none. 
-- Rogier Wolff <>