[[TOC]][[BackLinksMenu]] = Base Ideas = == (1) [wiki:NameSpaces Namespaces] == == (1.1) [wiki:DataTypes Data Types] == == (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] == This assumes that each data element ( variable/attribute ) has a number of descriptive values that can be compared ( to determine applicability ) to an operation. * identifier // the name * type // the type it represents * organisation // the overlying set organisation * mutability // whether the value can be modified or not eg ... fred has been declared as a part of the "fruitbat" namespace, it's an integer it's a solitary integer and is immutable with the value 3 thus : * variable (fruitbat:fred:int:single:imm:3) {{{ NAMESPACE fritbat : language ENTITY int tom = 3 int# dick int(ubyte$$ args) main = { dick := |args| fred++ } }}} so the "++" postfix operator will not be able to operate on it as it's immutable. == (8) [wiki:compoundStatementsLlambdas Lambda Statements (Compound Statements)] ==