Asset Allocation Report: a sample of practical SISC code

Tom Edelson <[email protected]> Wed, 10 Nov 2010 15:47:27 -0500
Newsgroups gmane.comp.java.sisc.user
Message-ID <[email protected]>
Greetings, fellow people of the SISC!  Please indulge me while I blow  
my own horn for a minute.

I have successfully used SISC to "script" a couple of Swing  
applications, both of which come under the category of "personal  
finance software".  They are called jGnash and Moneydance, and each  
of them is written in plain old Java.

The "script" produces an "asset allocation report" out of the data  
that you have entered into jGnash or Moneydance ("your PFP", for  
short).  And so I refer to what I have written as "ASAL".

An asset allocation report is something deemed useful for managing  
one's investments.  But this is the SISC users' list, so my purpose  
in announcing this here is to invite others to look at the code --  
either as an example of multi-modular, working SISC code, in general,  
or because of some possibly novel technical features.

The first of these features is the fact that I can "script" jGnash  
and Moneydance, despite the fact that neither of them contains any  
support (explicit or implicit) for scripting in SISC.  In a shameless  
bid to get noticed, I call the technique for this the "zombie  
application" technique: since the PFP doesn't know how to invoke  
SISC, my SISC code (ASAL) invokes the PFP application, instead, and  
then commands it to do its will.

And the second feature that I will mention here is the "portability"  
of this SISC code.  Here, I don't mean portability between Scheme  
implementations; I mean portability between jGnash and Moneydance.   
And ASAL uses *mostly* the same code with either one.

There isn't any magic about this: it's the time-honored technique for  
portability.  There is the "portable layer" of code, and then there's  
the "interface layer", which isn't portable, and serves as an adapter  
between the portable SISC code and the particular PFP that you use.   
I just thought it might be instructive to some programmers to see  
this type of software engineering used in this particular way.

Neither of these techniques is actually specific to SISC.  But SISC  
programmers (or, more generally, Scheme programmers) are the people  
equipped to read and understand my ASAL code.

What I'd like to invite you to do first is to read a little more  
*about* this software, by going to this link:

   http://www.well.com/user/edelsont/software/projects/asset- 
allocation-report/introduction.html

Or better yet, to put this particular project in more perspective,  
start at the more general "My Software Projects" page, at

   http://www.well.com/user/edelsont/software/self-intro.html

and then follow the "introductory document" link under the section  
heading "The Asset Allocation Report".

And then, if I have successfully aroused your curiosity, send me an  
email, and I will get the software to you in some suitable form.   
(It's not -- yet -- "released", in the sense of being at some URL  
from whence you can download it without my intervention.)

Contact info: I am "edelsont" at the domain "well.com".

Thank you for your attention.  We now return you to our regularly  
scheduled programming.

/ Tom Edelson


------------------------------------------------------------------------------
The Next 800 Companies to Lead America's Growth: New Video Whitepaper
David G. Thomson, author of the best-selling book "Blueprint to a 
Billion" shares his insights and actions to help propel your 
business during the next growth cycle. Listen Now!
http://p.sf.net/sfu/SAP-dev2dev