[[TOC]][[BackLinksMenu]] = Base Ideas = == (1) [wiki:NameSpaces Namespaces] == == (1.1) [wiki:DataTypes Data Types] == This one is interesting ... Data Organisations (arrangements of simple data types) are infact extentions of the data type and are in themselves data types. ==== What does that mean? ==== "int" is a data type * "array of integer" is another data type * "list of integer" is yet another * "stack of integer" is also another * etc etc etc ==== OK, so what organisations are going to be made available? ==== Well, data will default to immutable (ie can only be set/created in the constructor) but can be modified to make it mutable * base data type * array * {{{[]}}} * linked list * {{{ {} }}} * double linked list * {{{ {{}} }}} * hash * {{{ {*} }}} * maintained reference * {{{ & }}} * reference * {{{ * }}} * static string * {{{ $ }}} * dynamic lifo * {{{ >< }}} * lifo * {{{ >*< }}} * ring (static fifo) * {{{ <*> }}} * queue (dynamic fifo) * {{{ <> }}} * method returning data * {{{ () }}} * reference to method returning data * {{{ ()* }}} ==== How is a data type described ==== Simple write it down backwards as it's described in English E.g. * {{{ int // an integer }}} * {{{ int# // a mutable integer }}} * {{{ int() // a method that returns integer }}} * {{{ int#*()* // a reference to a function that returns a reference to a mutable integer }}} * {{{ int#[]() // a method that returns an array of mutable integers }}} etc etc etc == (2) [wiki:TypeDefinition Types] == == (3) [wiki:EnumDefinition Enums] == == (4) [wiki:SignalDefinition Signals] == == (5) [wiki:SingletonDefinition Singletons] == == (6) [wiki:ClassDefinition Classes] == == (6.1) [wiki:FiniteStateMachines Finite State Machines] == == (7) [wiki:ExpressionSyntax Expression Syntax] == == (7.1) [wiki:WhatAboutIdentifiers What about identifiers (Expression Syntax) ?] == == (7.2) [wiki:CompileTimeTypeChecking Compile Time Type Checking] == == (8) [wiki:compoundStatementsLlambdas Lambda Statements (Compound Statements)] ==