The basics and then some

A one file program: Hello world
Using classes and inheritance: Inheritance example
importing files, Threads and pipes and more on the highlights page.

Language definition

The language specification is a combination of informal explanations and a formal specification of the Zimbu language.


TODO: Creating a library, using native code.
TODO: Compiler plugins.

Standard library overview


 ARG  command line arguments
 BOX  pieces for container classes
 CHECK  methods for runtime checks
 E  exceptions
 GC  Garbage Collection
 HTTP server
 I  interfaces
 IO  Input / Output, file system operations
 RE regular expressions
 RPC  Remote Procedure Calls
 SYS  system related: invoke a shell, start a process
 T  builtin types
 TIME     time and date
 Z  Zimbu Compiler - compile-time stuff
 ZUT  Zimbu Templates
 ZWT  Zimbu Web Toolkit

The HTML pages for the library modules were generated with zudocu, see
generating documentation from source code

Built-in types

Value types (int, byte, float, BITS) are described on the Value types page.
Reference types (string, array, list, dict, etc.) are describe on the Reference types page.

 bool  boolean: TRUE or FALSE
 status  OK or FAIL
 int  int8  int16  int32  integer number
 nat  byte  nat16  nat32  natural number (unsigned integer)
 floatfloat32  floating point number
 string  sequence of characters
 byteString  sequence of bytes
 varString  mutable sequence of characters
 varByteString  mutable sequence of bytes
 regex regular expression (pattern matching)
 array  array of items
 list  list of items
 sortedList  list of items in sorted order
 dict  dictionary of items
 multiDict  dictionary of items with duplicate keys
 set  set of items
 multiSet  set of items with duplicates (not implemented yet)
 pipe  transports items from one place to another
 thread  multi-threading
 evalThread  expression evaluation in a thread
 lock  lock for exclusive access
 autoLock  lock with automatic release
 cond  condition to wait on
 tuple   items of specified types 
 dyn  any value or reference, dynamically typed