GnuCash 1.8.1-4 and RedHat 9: Error in main.scm
Francis K Shim
belfrancis2001 at yahoo.ca
Fri Apr 11 16:23:22 CDT 2003
Derek Atkins wrote:
> Francis K Shim <belfrancis2001 at yahoo.ca> writes:
>>Ah, I see... so the default should either have been handled before the
>>actual gnucash binary was loaded? (ie: either LANG should have been
>>set or a mandatory "setlocale" done before the scheme libraries were
>>loaded?)
>
> No.. That's already done by gnucash. This is a guile-1.6 problem. I
> sent out another message with the associated patch (which has been in
> CVS for a couple weeks).
Okay, so the patch is actually to a guile scheme module. Seems like a
good test case for Guile and it answers my question about which RPM
package to look forward to for the real fix.
> The problem with guile (or any interpretted language) is that you
> don't know you have problems with the code until you actually try to
> execute that particular line of code. It's not like C where you can
> get compile-time warnings of syntax errors. So it makes it very
> difficult to find simple syntax errors like this one (well, it's a
> syntax error in guile-1.6, not in earlier guiles).
Can you correct me if I am wrong... but I am trying to understand the
architecture here (it is all new to me). Scheme, an interpreted
language, is really a Lisp derivative and hence would be using a
probably well established Scheme interpreter which I gather is the
umb-scheme package.
The umb-scheme package provides the interpreter as well as standard
modules (possibly ISO or ANSII or whatever) which are hopefully well
established and defined. I saw a reference to SLIB so I will take a
closer look at that as well.
Guile is a package of Scheme modules that essentially uses the standard
modules from the umb-scheme module set to provide GUI tools and API for
applications such as GnuCash.
Okay... so GnuCash, as I am learning, is a conglomerate of compiled and
interpretive parts. The compiled "parts" require a longer time to
release changes, but the interpretive parts are like scripts and more
flexible to configure on the fly... provided one knows the language and
what procedures are in the library modules.
The kind of simple syntax error you are refering to should still be
something that can be deduced by a Scheme-compiler, not interpreter,
that keeps track of type-safety, argument count even namespace checks.
I think that this ups the argument for a Scheme-compiler that could at
least be used for checking; of course, if we go through all that trouble
we might as well release the compiled Scheme libraries produced by the
compiler.
I can see the conundrum :-(
Regards,
Frank
More information about the gnucash-user
mailing list