Last modified 7 years ago Last modified on 2017-09-27 08:39:01

Base Ideas

(1) Namespaces

(1.1) 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) 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

(8) Lambda Statements (Compound Statements)