Last modified 7 years ago
Last modified on 2017-09-27 08:44:17
Table of Contents
Pages linking to CompileTimeTypeChecking:
ClassDefinition
DataTypes
EnterTheIdeaBase
EnumDefinition
ExpressionSyntax
FiniteStateMachines
NameSpaces
SignalDefinition
SingletonDefinition
TypeDefinition
WhatAboutIdentifiers
compoundStatementsLlambdas
ClassDefinition
DataTypes
EnterTheIdeaBase
EnumDefinition
ExpressionSyntax
FiniteStateMachines
NameSpaces
SignalDefinition
SingletonDefinition
TypeDefinition
WhatAboutIdentifiers
compoundStatementsLlambdas
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.