Last modified 7 years ago Last modified on 2017-09-27 08:44:17

Base Ideas

(1) Namespaces

(1.1) Data Types

(2) Types

(3) Enums

(4) Signals

(5) Singletons

(6) Classes

(6.1) Finite State Machines

(7) Expression Syntax

(7.1) What about identifiers (Expression Syntax) ?

(7.2) 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) Lambda Statements (Compound Statements)