|
ANN: LISPPA technology
LISPPA (List Processing based on the Polymorphic Arrays) technology is a way
to process dynamic data structures (lists, trees and more) without using
pointers. LISPPA uses polymorphic arrays as a base of the data
representation.
A very important example of polymorphic arrays is the variant arrays in such
languages as Visual Basic, Object Pascal (Delphi) and other. The current
implementation of LISPPA has been created on the base of extension of the
Variant type. All languages of the paxScript scripting engine: paxPascal,
paxBasic, paxC, paxJavaScript support LISPPA.
LISPPA technology uses 4 main concepts:
- Polymorphic arrays.
- Array constructors.
- Reduced assignments.
- Aliases or delegates of variable and terminals.
LISPPA technology considerably simplify the processing of dynamic data
structures in comparison with the technology based on the use of pointers.
For example, the structure of statement which expresses operation of
insertion of item into a linked list
P := [NewItem, P];
and structure of statement which expresses operation of the removing item
from the list
reduced P := P[1];
are uniform. In another words, they are do not depend from the position of
insertion or deleting (at the top, at the middle, at the tail of list). You
are moving alias, not changing structure of the statement. Both operations
are expressed by single statement. You do not use allocation and
deallocation of memory explicitly. The programming of the dynamic data
structures becomes more safe and free of bugs.
Well known variant types can be easy extended to provide LISPPA. So LISPPA
can be implemented in all programming systems which support the variant
types.
LISPPA considerably extends the applicability of imperative programming
languages in the symbolic computations. Programs, written in paxScript
languages, illustrate the use of LISPPA in the theorem proving and symbolic
differentiation.
LISPPA has theoretical significance as it allows to describe complex
concepts and algorithmes on the base of the concept of polymorphic array.
To learn more about LISPPA technology, please visit
http://www.virtlabs.com.ua/paxscript/lisppa.htm
Thank you.
Related Discussions - CONTAINER CONTROL (2001-01-18 15:10:55)Find and try the TStretchHandle component on either Torry's
or DSP.
- RELEASE CONSOLE (2001-03-07 03:13:44)hmmm.. very strange...
if i call AllocConsole() when i already have a console open it failes and returns false, maybe i forget some steps in...
- DATE MATH (2001-04-25 08:07:01)It is the same thing with Delphi. You can add Integer to Date since DateTime is a float :
ShowMessage(DateToStr(Date()+2));
LörAn.
- IS THERE AN OTHER WAY TO SEND EMAIL? (2001-05-01 05:01:26)try this... stil uses MAPI technology, but no components involved. I've only used it in Outlook, but it works a treat!!!! Have fun
uses...
- ABOUT *.GIF AND UNISYS ??? (2001-05-23 20:18:37)Sorry folks but the patent for LZW based compression technology is held by Unisys and IBM... If you plan to use it in a commercial application with...
- WHAT IS A COM APPLICATION?! (2001-05-26 02:20:26)Hello I prefer you www.microsoft.com/com
document from the source.
Good Luck.
- TCOMBOBOX WITH INTEGERS ATTACHED? (2001-06-28 19:49:34)Thankyou.
You have both helped and I have used this code for another part of my project where I am using TStringGrid.Objects.
BUT ...
I'm...
- HI, CAN SOMEBODY TELL ME HOW CAN I READ THE VOLUME LABEL OF AN UNIT? (2001-07-01 11:51:49)The Windows API has a function wich you can use: GetVolumeInformation.
The GetVolumeInformation function returns information about a file system...
- CORBA AND CALLBACK EVENTS (2001-07-06 02:59:29)Hello. Thanks for an advice, I don't really think that is the solution. Yes, it will work if you have only one client running, or at least you have...
- GETTING THE CURRENT DOMAIN NAME (2001-07-27 05:41:20)Hey man, be careful, LörAn is not the abreviation of 'Laure-Anne' nor 'Ann-Laure' or anything like this. My name's Laurent, which is a french MALE...
|