documentation? does not exist. organization of the infoblock: 1. accesslevel 2. name 3. clearcache 4. cache name here is the text that i used for the draft. rather outdated: Fixed program memory ===================== For the time being, simply on the hard drive in a directory. Fixed data storage ================== Not at all, later maybe hard disk, or mysql, or whatever always. Data memory ===================== Doubly linked list, each element can also have a name. Access either by push / pop or shift / unshift, using a number as with an array or by its name like a hash. However, it is also possible to access it directly via a pointer. pointer however, cannot be created directly by the user, only by correspondingly privileged programs. Diese Speicherstruktur nenne ich "vector". Datentypen: Nach Außen hin sollen nur wenige verschiedene Datentypen sichtbar sein: - Wert (integer, string, was auch immer) - Vector Wert wird intern in mehrere subtypen unterteilt, die jedoch automatisch bei Bedarf konvertiert werden: - int - float - string, bzw. pointer auf string - pointer auf Elemente eines Vektors Aus technischer Sicht gibt es nach Außen hin eigentlich auch nicht die Unterscheidung zwischen Wert und vector. Auch hier kann und wird bei Bedarf eine automatische Konvertierung vorgenommen. Im Normalfall wird jedoch der Anwender dies nicht tun, und in der Dokumentation wird auch immer ein klarer Unterschied zwischen normalen Werten und Vektoren gemacht. Ein Sonderfall ist der Pointer auf Elemente eines Vektors: Weder kann von einem Wert in diesen Typ konvertiert werden, noch anders herum (bzw. doch, aber dann käme nur ein String "pointer" oder 0 bei heraus). Die einzelnen Elemente eines Vektors werden in einem union gespeichert. Der Union enthält die verschiedenen möglichen Ausprägungen der Werte, also int, float, und pointer. Zudem gibt es ein Feld, in dem gespeichert wird, welche Ausprägung gerade "aktiv" ist. Ein zusätzlicher Typ, den man später noch hinzufügen könnte wäre "array". Dieser Typ würde sich zum Speichern größerer Datenmengen eignen, da er gegenüber einem Vektor keinen Overhead pro Element hätte.