Table of Contents

1 An Introduction to Jolt

1.1 Design Philosophy

1.1.1 Syntax

1.1.2 Portable Numbers

1.1.3 Strings

1.1.4 Source Structure

1.2 Types

1.3 Namespaces

1.4 Classes

1.4.1 Member Attributes

1.4.2 Inheritance

1.4.3 Literable

1.5 Methods

1.5.1 Constructors and destructors

1.5.2 Casters

1.5.3 Method blocks

1.5.4 Coroutines

1.5.5 Nested methods

1.5.6 Procedure values

1.6 Fields

1.7 Scalar types

1.7.1 Booleans

1.7.2 Integers

1.7.3 Floating-points

1.7.4 Characters

1.7.5 Enums

1.7.6 Pointers

1.8 Aggregate types

1.8.1 Arrays

1.8.2 Strings

1.8.3 Unions

1.8.4 Sets

1.8.5 Maps

1.8.6 Tuples

1.9 Expressions

1.10 Comprehensions

1.11 Statements

1.11.1 Declarations

1.11.2 Begin

1.11.3 Case

1.11.4 Construct

1.11.5 Exit

1.11.6 For

1.11.7 Goto

1.11.8 If

1.11.9 Next

1.11.10 Raise

1.11.11 Return

1.11.12 Until

1.11.13 While

1.11.14 Yield

1.12 Metaprogramming

1.13 Genericity

1.14 Modules

2 Language Reference

2.1 Lexical structure

2.1.1 White space

2.1.2 Comments

2.1.3 Identifiers

2.1.4 Keywords

2.1.5 Literals

2.1.5.1 Integer

2.1.5.2 Boolean

2.1.5.3 Character

2.1.5.4 Pointer

2.1.5.5 Floating-point

2.1.5.6 List

2.1.6 Operators and punctuation

2.2 Scope

2.2.1 Method body

2.2.2 Namespace

2.2.3 Class

2.3 Entity

2.3.1 Namespace

2.3.2 Class

2.3.3 Literal

2.3.4 Method set

2.3.5 Method

3 Examples

3.1 Type-Safe Printf

3.2 Statement Attributes

3.3 Delegation



Copyright © 2003-2007 Jeff CohenLast Revised: July 5, 2007