[plug] Languages

Simon.Scott at flexiplan.com Simon.Scott at flexiplan.com
Wed Apr 4 13:34:02 WST 2001



Sorry, forgot to CC the list

-------

OK, in simple (ie I havent thought this bit through well enough :) terms :

     a) The accounting package is not a commercial venture, and will be lgpl'ed.
     b) In fact, its not an accounting package per se, but more of a central
record keeping repository/database.
     c) The entire basis of the accounting system some weird theory I have about
making it based on objects and attributes. Instead of, say, having a table for
Entity X and having fields with what you want to store, you have generic
object/attribute tables where any attribute can be applied to an object, and
objects can have relationships. Originallly I thought this up to work for
Superannuation, but since a friend wants to build an opensource accounting
package (more than likely in PHP) then I am widening my scope to see if this
idea will cope with Stock control, POS, CRM etc. So my system, in reality, is
little more than a bunch of tables and simple routines to maintain objects,
relationships and attributes..... Turning the usual Relational model on its side
if you think about it
     d) Basically I would imagine that most object relationships would be
similar to a tree in structure.... Therefore I want to write a language to allow
programmers (bugger the end-users :) to implement stuff to traverse the 'object
tree' altering attributes, objects, and object links. Kinda like a 'For each
client do this' kinda thing. It is these routines that will be called by the
satellite systems (eg The stock control system). So a satellite system might,
for example, call 'Add new customer' which would create a new 'customer' object
with certain basic attributes (name, address whatever).
     e) Communication to/from satellite systems would be via XML, where data to
be used by a routine is provided in XML, and data extracted from the record
keeping system (for reporting for example) would be in XML.

     And thats about as far as Ive gotten. It is a trivial task to setup the
database (Im using Postgresql, but I want to retain some level of database
independence) to allow creation of objects/attributes/object links. Writing
simple basic level interfaces is easy ('create_object','drop_object') etc, but
the language is needed to allow this system to be utilized for different
purposes...

     Ive already (jumping the gun I know) thought about what the language should
be like in terms of abilities/syntax. But in reality, it will do little more
than call the basic routines that directly affect the database...

     To retain speed, Ive thought about implementing this low-level interface in
C, and providing a library which could be used by the compiler/interpreter.

     Youre right tho, an interpreter is probably a better idea.

     So you can see, that the idea is fairly basic and implementation shouldnt
be extremely difficult.... all the hard work would be in writing the satellite
systems to use the repository.

     Can you think of any pre-existing languages that could be used for this?










**********************************************************************
This email and any files transmitted with it are confidential and 
intended solely for the use of the individual or entity to whom they   
are addressed. If you have received this email in error please notify 
the system manager.

This footnote also confirms that this email message has been swept by 
MIMEsweeper for the presence of computer viruses.

www.mimesweeper.com
**********************************************************************



More information about the plug mailing list