On 16 May 2010 11:06, Keith Wright <[email protected]> wrote: > > On the other hand, while I have no idea what you know > or how it can be described, I can prove by algebra[1] > that all computer programs are discrete math.
If I knew how to describe what I know, I'd put it on my resume. http://en.wikipedia.org/wiki/User:Linas/Articles google and wikipedia can provide the "standard" definition of "discrete math" e.g. http://en.wikipedia.org/wiki/Discrete_mathematics Although GnuCash, Gnotime & other programs that use guile originally intended for guile to be used as a true "extension language", that goal remains mostly unfulfilled. Frankly, its just plain hard for non-programmers (and many experienced programmers) to use scheme. So, for example, GnoTime generates reports/charts in HTML so that they can be e-mailed, etc. Scheme code can be embedded in the reports, kind-of-like PHP, to customize the layout contents. (gnotime sends these off to guile for interpretation, while generating the report) There's a bunch of example reports, and a built-in mini-scheme-tutorial in GnoTime (found in the "reports" menu, explaining that the reports can be customized), to assist with this. But, to the best of my knowledge, no one has ever actually done this -- no one has ever made any changes big enough to send back to the gnotime developers. Guile in GnuCash was originally intended to make GnuCash customizable in various deep and powerful ways, but I think that vision was lost, and I don't think it even begins to be as easily usable as gnotime is. GnuCash would probably need some major work to expose guile to the ordinary user, and, even if these changes were made, its not clear that the ordinary user cares. At best, "extension languages" seem best suited for small consultancies who are making one-off changes to existing software products, for the benefit of paying clients. Neither GnoTime nor GnuCash seem to have a user-base that is interested in getting slightly modified versions for their own private use. --linas
