J2EE Forth Project
You are visitor :
In the 1970's we programmed in Forth on old and primitive machines that predated Client / Server application and also predated Web based applications (The words Megabyte and Terabyte had not been heard of We had lots of Kilobytes (64) and all its limitations).
I had just started work and could not afford to buy an Apple computer
Later I could afford a Sinclare Z80 with a cassette tape recorder for storage
and was "playing with Forth on it"
This project is an attempt to revitalize the old Forth Language and use it for very serious business applications
The J2EE and J2SE Forth is written in Java to take advantage of many new features this modern language has.
Thus producing a version of Forth with many of the modern features of the host language.
When we started writing J2EE Forth we decided not to use linked-lists instead we used Java’s ArrayList which features random access instead of sequential access making it faster to locate records.
This was used for the Stack and thus we do not have a 64 bit limit we can push very large objects (50MByte) onto the stack like MP3 and WAV files, even Strings. So now we do not need to push a pointer to a String but the String . You can even push XML or even a HTML page onto the stack and even push Date and Time onto the stack.
We have considered allowing you to push a pointer to a String for backwards compatibility .
(This will be delivered after we have completed all the items on our current wish-list)
1.0.2 Properties File : forth.properties
A "Java type" text editable properties file (forth.properties) is generated and maintained to save advanced System Variables so when you start the J2EE Forth the values are always in memory.
1.0.3 Y2K compliant Date and time
is provided stored on the stack or printed to screen supporting the following date Formats:
* Y2K Bank compliant formatted date
* British Date format
* USA Date Format
The Date Time zone Offset
is stored in the Advanced Variables and persisted in the properties file (forth.properties)
1.0.4 There are two XML solutions planned
* The Simple XML generator is available using the following new Forth verbs (xmlmake and xml!)
1.0.5 List Variables replace primitive Forth Array variables
· based on Java ArrayList
· You do not need to define a limit for these variables as the Java ArrayLists have no size limit as long as you have enough memory
· You can store both Strings and integers together in these list variables
· Java provides built in Sort for List variables
By using the new System variables persisted in the forth.properties file you can define the header and footer and whether the names are tags or where you use name value pairs inside a pair if tags
1.0.6 Internet Accessing verbs
When se use Forth in the 70’s the Internet did not exist and so there was no support for that.
This version of Forth comes with Internet accessing verbs and its recommended when running this Forth to be connected to the internet
This allows one to ping a server, download XML and HTML web pages, RSS feeds can be downloaded and stored on the Stack top
Please note that System verbs names are not case sensitive can now be entered in lower case or upper case.
However User defined verb names are case sensitive
in addition to that variable names are also case sensitive this was done to take advantage of many features provided by Java
If you wish to comply with old standards then you need to keep every thing strictly upper case.
We prefer Camel Case
We however wish to comply with Camel case verbs and variables in this document.
Camel Case makes the first word lower case and the first letter of all subsequent words upper case.
What this means you have the freedom, how to code your