[
Top
]
[
Contents
]
[
Index
]
[
?
]
Table of Contents
1. Introduction
2. Getting Started
2.1 Using the Interpreter
2.2 Using the Standard Library
2.3 Writing a Script
2.4 Definitions
2.5 Runtime Errors
3. Lexical Matters
3.1 Whitespace and Comments
3.2 Identifiers and Reserved Words
3.3 Operator Symbols
3.4 Numbers
3.5 Strings
3.6 Unicode Support
4. Scripts and Modules
4.1 Unqualified Imports
4.2 Qualified Imports
4.3 Implicit Imports and the Prelude
4.4 The Global Namespace
5. Declarations
5.1 Declaration Syntax
5.2 Operator Declarations
5.3 Cross-Checking of Declarations and Aliases
5.4 Type Declarations
6. Expressions
6.1 Constants and Variables
6.2 Applications
6.3 Lists, Streams and Tuples
6.4 Built-In Operators
6.4.1 Quotation Operators
6.4.2 Function Composition
6.4.3 Arithmetic Operators
6.4.4 Relational Operators
6.4.5 Logical and Bit Operators
6.4.6 String, List and Tuple Operators
6.4.7 Application and Sequence Operators
6.4.8 Conditional Expressions and Lambdas
6.5 User-Defined Operators
7. Equations and Expression Evaluation
7.1 Equations
7.2 Non-Linear Equations
7.3 Free Variables
7.4 Local Variables
7.5 Type Guards
7.6 Normal Forms and Reduction Strategy
7.7 Conditional Rules
7.8 Rule Priorities
7.9 Performing Reductions on a Stack
7.10 Tail Recursion
7.11 Error Handling
8. Types
8.1 Using Type Guards
8.2 Built-In Types
8.3 Enumeration Types
8.4 Sub- and Supertypes
8.5 Views
9. Special Forms
9.1 Basic Concepts
9.2 Special Constructors and Streams
9.3 Memoization and Lazy Evaluation
9.4 Built-In Special Forms
9.5 The Quote Operator
9.6 A Bit of Reflection
10. Built-In Functions
10.1 Arithmetic Functions
10.2 Numeric Functions
10.3 String, List and Tuple Functions
10.4 Conversion Functions
10.5 I/O Functions
10.5.1 Terminal I/O
10.5.2 File I/O
10.5.3 Pipes
10.6 Lambda Abstractions
10.7 Exception Handling
10.8 Miscellaneous Functions
11. The Standard Library
11.1 Standard Functions
11.2 Tuple Functions
11.3 String Functions
11.4 Option Parsing
11.5 Type-Checking Predicates
11.6 Sorting Algorithms
11.7 Standard Types
11.7.1 Arrays
11.7.2 Heaps
11.7.3 Sets
11.7.4 Bags
11.7.5 Dictionaries
11.7.6 Hashed Dictionaries
11.8 Streams
11.9 Conditionals and Comprehensions
11.10 Mathematical Functions
11.11 Complex Numbers
11.12 Rational Numbers
11.13 Graphics
11.13.1 Coordinate System
11.13.2 Overview of Graphics Operations
11.13.3 Path Construction
11.13.4 Painting
11.13.5 Clipping
11.13.6 Graphics State
11.13.7 Miscellaneous Operations
11.13.8 DSC and EPSF Comments
11.14 Diagnostics and Error Messages
12. Clib
12.1 Manifest Constants
12.2 Additional String Functions
12.3 Byte Strings
12.4 Extended File Functions
12.5 C-Style Formatted I/O
12.6 File and Directory Functions
12.7 Process Control
12.8 Low-Level I/O
12.9 Terminal Operations
12.10 Readline Interface
12.11 System Information
12.12 Sockets
12.13 POSIX Threads
12.13.1 Thread Creation and Management
12.13.2 Realtime Scheduling
12.13.3 Mutexes
12.13.4 Conditions
12.13.5 Semaphores
12.13.6 Threads and Signals
12.13.7 Thread Examples
12.14 Expression References
12.15 Time Functions
12.16 Internationalization
12.17 Filename Globbing
12.18 Regular Expression Matching
12.18.1 High-Level Interface
12.18.2 Low-Level Interface
12.18.3 Match State Information
12.18.4 Basic Examples
12.18.5 Empty and Overlapping Matches
12.18.6 Splitting
12.18.7 Performing Replacements
12.18.8 Submatches
12.18.9 Nested Searches
12.19 Additional Integer Functions
12.19.1 Powers and Roots
12.19.2 Prime Test
12.19.3 Other Number-Theoretic Functions
12.19.4 Examples
12.20 C Replacements for Common Standard Library Functions
A. Q Language Grammar
B. Using Q
B.1 Running Compiler and Interpreter
B.2 Command Language
B.3 Setting up your Environment
B.4 Running Scripts from the Shell
B.5 Translating Scripts to C
C. C Language Interface
C.1 Compiling a Module
C.2 Writing a Module
C.3 Linking and Debugging a Module
C.4 Embedding Q in C/C++ Applications
D. Debugging
E. Running Scripts in Emacs
References
Index
[
Top
]
[
Contents
]
[
Index
]
[
?
]
This document was generated by
Albert Gräf
on
February, 23 2008
using
texi2html 1.76
.