    By Limin Fu. Released under the GNU Free Documentation License.
    [NAME]
    ALL.dao

    [TITLE]
    Dao Programming Language (Version 2.0)

    [DESCRIPTION]

    Dao Programming Language
    http://daovm.net

    Dao is a lightweight and optionally typed programming language with many interesting
    features. It includes features that can make concurrent programming much simpler. It has
    well designed programming interfaces for easy embedding and extending.

    Main features:
      *  Optional typing with type inference and static type checking;
      *  Object-Oriented Programming (OOP) with classes and interfaces;
      *  Code section methods as a better alternative to functional methods;
      *  Native support for concurrent programming;
      *  Concurrent garbage collection;
      *  Support typed coroutines and function decorators;
      *  Support closures, anonymous functions and classes;
      *  BNF-like syntax macro for defining customized syntax;
      *  Designed and implemented as a register-based virtual machine;
      *  Portable implementation using standard C;
      *  Simple C programming interfaces for easy embedding and extending;
      *  LLVM-based Just-In-Time (JIT) compiling;
      *  Clang-based tool for automatic wrapping of C/C++ libraries;
      *  Released under the Simplified BSD License.

    Please see dao.feature for a more complete list of summarized features.

    [STRUCTURE]

    dao--| dao: Dao Programming Language (Version 2.0) (202.4 KB)
         |--feature-----| dao.feature: Dao Feature Summary (5.2 KB)
         |--changelog---| dao.changelog: Dao Change Logs (1.4 KB)
         |--tutorial----| dao.tutorial: Dao Programming Tutorials (60.4 KB)
         |              |--basics------| dao.tutorial.basics: Basics (4.2 KB)
         |              |--types-------| dao.tutorial.types: Essential Types (10.2 KB)
         |              |--controls----| dao.tutorial.controls: Constrol Structures (8.0 KB)
         |              |--routine-----| dao.tutorial.routine: Routine and Decorator (9.3 KB)
         |              |--class-------| dao.tutorial.class: Class, Mixin, OOP and AOP (13.2 KB)
         |              |--interface---| dao.tutorial.interface: Abstract Interface (2.5 KB)
         |              |--exception---| dao.tutorial.exception: Exception Handling (3.4 KB)
         |              |--concurrent--| dao.tutorial.concurrent: Concurrent Programming (7.9 KB)
         |              |--tips--------| dao.tutorial.tips: Programming Tips (1.7 KB)
         |
         |--grammar-----| dao.grammar: Dao Grammar Specifications (26.1 KB)
         |              |--notation----| dao.grammar.notation: Grammar Notations (1.0 KB)
         |              |--lexical-----| dao.grammar.lexical: Lexical Structures (9.7 KB)
         |              |--constexpr---| dao.grammar.constexpr: Constant Expressions (3.4 KB)
         |              |--typename----| dao.grammar.typename: Type Name (3.1 KB)
         |              |--expression--| dao.grammar.expression: Expressions (3.7 KB)
         |              |--statement---| dao.grammar.statement: Statements (3.8 KB)
         |              |--routine-----| dao.grammar.routine: Routines (Functions) (1.0 KB)
         |              |--class-------| dao.grammar.class: Class (0.4 KB)
         |
         |--type--------| dao.type: Data Type (44.4 KB)
         |              |--int------| dao.type.int: Integer Type (0.5 KB)
         |              |--float----| dao.type.float: Single Precision FP Number Type (0.6 KB)
         |              |--double---| dao.type.double: Double Precision FP Number Type (0.6 KB)
         |              |--complex--| dao.type.complex: Complex Number Type (0.6 KB)
         |              |--long-----| dao.type.long: Arbitrary Precision Integer Type (0.7 KB)
         |              |--enum-----| dao.type.enum: Enum or Symbol Type (2.4 KB)
         |              |--string---| dao.type.string: String Type (21.0 KB)
         |              |           |--method------| dao.type.string.method: Dao string methods (4.9 KB)
         |              |           |--functional--| dao.type.string.functional: Dao String Functional Methods (1.1 KB)
         |              |           |--pattern-----| dao.type.string.pattern: String Pattern Matching (11.1 KB)
         |              |
         |              |--array----| dao.type.array: Multi-dimensional Numeric Array (3.3 KB)
         |              |           |--method--| dao.type.array.method: Array methods (1.3 KB)
         |              |
         |              |--list-----| dao.type.list: List Container Type (3.0 KB)
         |              |           |--method--|
         |              |
         |              |--map------| dao.type.map: Map or Hash Map Container Type (2.8 KB)
         |              |           |--method--|
         |              |
         |              |--tuple----| dao.type.tuple: Tuple Type (1.5 KB)
         |              |--variant--| dao.type.variant: Variant or Disjoint Union Type (2.7 KB)
         |
         |--operator----| dao.operator: Operators (8.4 KB)
         |--control-----| dao.control: Control Structures (2.6 KB)
         |              |--if-else------| dao.control.if-else: If-else Conditional Control (0.6 KB)
         |              |--for----------| dao.control.for: For Looping Control (1.1 KB)
         |              |--while--------| dao.control.while: While Looping Control (0.2 KB)
         |              |--do-while-----| dao.control.do-while: Do-while Looping Control (0.2 KB)
         |              |--switch-case--| dao.control.switch-case: Switch-case Control (0.5 KB)
         |
         |--routine-----| dao.routine: Routine (12.6 KB)
         |              |--anonymous--| dao.routine.anonymous: Anonymous Routine (1.0 KB)
         |              |--section----| dao.routine.section: Code Section Methods (3.2 KB)
         |              |--decorator--| dao.routine.decorator: Function Decorator (6.4 KB)
         |
         |--class-------| dao.class: Class for Object-Oriented Programming (13.5 KB)
         |              |--definition---| dao.class.definition: Definition (4.7 KB)
         |              |--inheritance--| dao.class.inheritance: Inheritance (1.8 KB)
         |              |--operator-----| dao.class.operator: Operator Overloading (1.6 KB)
         |              |--mixin--------| dao.class.mixin: Mixin Class (0.7 KB)
         |              |--decorator----| dao.class.decorator: Class Decorator (2.7 KB)
         |              |--aspect-------| dao.class.aspect: Aspect Class (1.7 KB)
         |
         |--interface---| dao.interface: Abstract Interface (2.5 KB)
         |--concurrent--| dao.concurrent: Concurrent Programming (9.5 KB)
         |              |--threading----| dao.concurrent.threading: Multithreading Module (2.4 KB)
         |              |--asyncall-----| dao.concurrent.asyncall: Asynchronous Function Call (0.7 KB)
         |              |--asyncobject--| dao.concurrent.asyncobject: Asynchronous Object (1.6 KB)
         |              |--channel------| dao.concurrent.channel: Communication Channel (4.2 KB)
         |
         |--macro-------| dao.macro: Syntax Macro (5.6 KB)
         |--builtin-----| dao.builtin: Built-ins (5.0 KB)
         |              |--method-----| dao.builtin.method: Built-in Methods (0.8 KB)
         |              |--math-------| dao.builtin.math: Built-in Math Functions (3.3 KB)
         |              |--exception--| dao.builtin.exception: Exception Types (1.0 KB)
         |
         |--module------| dao.module: Built-in Modules (4.0 KB)
                        |--std--| dao.module.std: Built-in Standard Module (0.9 KB)
                        |--io---| dao.module.io: Built-in IO (Input/Output) Module (1.3 KB)
                        |       |--method--| dao.module.io.method: IO Module Methods (0.3 KB)
                        |       |--stream--| dao.module.io.stream: IO Stream Type (1.0 KB)
                        |
                        |--mt---| dao.module.mt: Built-in Multi-threading Module (1.9 KB)