Next:
Contents
 
Contents
The Slate Programmer's Reference Manual
Brian Rice and Lee Salzman
Contents
1 Introduction
Conventions
Terms
2 Language Reference
2.1 Objects
2.1.1 Block Closures
2.1.2 Slot Properties
2.2 Expressions
2.2.1 Unary Message-sends
2.2.2 Binary Message-sends
2.2.3 Keyword Message-sends
2.2.4 Expression Sequences
2.2.5 Implicit-context Sends
2.3 Methods
2.3.1 Method Definitions
2.3.2 Expression-based Definitions
2.3.3 Lookup Semantics
2.3.4 Resends
2.3.5 Type Annotations
2.3.6 Macro-level Methods
2.3.6.1 The ` special character
2.3.6.2 Quoting and Unquoting
2.3.6.3 Labelled Quotation
2.3.6.4 Evaluation at Compile-time
2.3.6.5 Expression Substitution
(Not Yet Implemented)
2.3.6.6 Defining new Macro-methods
2.4 Literals
2.4.1 Characters
2.4.2 Strings
2.4.3 Symbols
2.4.4 Arrays
3 The Slate World
3.1 Overall Organization
3.1.1 The lobby
3.1.2 Naming and Paths
3.2 Core Behaviors
3.2.1 Default Object Features
3.2.2 Oddballs
3.3 Traits
3.4 Control-flow
3.4.1 Boolean Logic
3.4.2 Basic Conditional Evaluation
3.4.3 Looping
3.5 Magnitudes and Numbers
3.5.1 Basic Types
3.5.2 Basic Operations
3.5.3 Non-core Operations
3.5.4 Limit Numerics
3.5.5 Dimensioned Units
3.6 Collections
3.6.0.1 Testing Methods
3.6.0.2 Properties
3.6.0.3 Making new collections
3.6.0.4 Iterating
3.6.1 Extensible Collections
3.6.2 Sequences
3.6.2.1 Arrays
3.6.2.2 Vectors
3.6.2.3 Subsequences / Slices
3.6.2.4 Cords
3.6.2.5 Extensible and Sorted Sequences
3.6.2.6 Stacks
3.6.2.7 Ranges
3.6.2.8 Buffers
3.6.3 Strings and Characters
3.6.4 Collections without Duplicates
3.6.5 Mappings and Dictionaries
3.6.6 Linked Collections
3.6.6.1 Linked Lists
3.6.6.2 Trees
3.6.6.3 Graphs
3.6.7 Vectors and Matrices
3.7 Streams and External Iterators
3.7.1 Basic Protocol
3.7.2 Basic Stream Variants
3.7.3 Basic Instantiation
3.7.4 Standard Input/Output
3.7.5 Collection Iterator Streams
3.8 Files
3.9 Types
Type Annotations
3.10 Modules
4 Style Guide
4.1 Environment organization
4.1.1 Namespaces
4.1.2 Exemplars or Value Objects
4.2 Naming Methods
4.2.1 Attributes
4.2.2 Queries
4.2.3 Creating
4.2.4 Performing Actions
4.2.5 Binary Operators
4.3 Instance-specific Dispatch
4.3.1 Motivations
4.3.2 Limitations
4.4 Organization of Source
4.5 Code Templates Using Macros
Bibliography
About this document ...
The Slate Project 2003-07-29