The Fabl Manual
Function Index
Class Index
Globals Index
Libraries
Contents

Title Page
Introduction
Sample Code
Architecture
Syntax
Strong Typing
Polymorphism
Operators
Help
Errors
Configuration
RDF
Namespaces
Owl
Datatypes
Resources
Dot ops
Coercion
Type Casting
nil

Types
string
id
int
double
boolean
Literal
Containers
Functions
void

Home
Regarding
The Path
Classes
Delegation
Functional Values
Read/Write
Load/Store
Libraries
Imports
CGI
Strong Typing

Fabl is a strongly typed language, unlike JavaScript. Not only are variables and functions assigned types when they are defined, but every Fabl expression has a type, and types are checked when Fabl analyzes source code. So, for example:

boolean function example(int x)
{
  var boolean b;
  b = x+1;
  return b;
}

yields an error at the line b = x+1;, because the type of b does not match the type of x+1. Note that the error occurs when Fabl analyzes the definition of the function ("compile time"), not at run time.