Next Previous Top Index

Common Dylan and Functional Extensions

Contents


Contents
Copyright and Trademarks
1 - Dylan Language Extensions
1.1 - Introduction
1.2 - Using Functional Developer's language extensions
1.3 - The core of the common extensions
1.3.1 - DEFINE FUNCTION
define function
1.3.2 - Extensions to the FOR iteration construct
1.3.3 - Weak tables
1.3.4 - Inlining adjectives for methods, constants, functions, and slots
1.4 - Language differences
1.4.1 - Tables
table-protocol
merge-hash-ids
object-hash
2 - The Common Dylan Library
2.1 - Introduction
2.2 - General language extensions
2.3 - Simple formatting and printing
2.4 - Simple random number generation
2.5 - Finalization
2.5.1 - What is finalization?
2.5.2 - How the finalization interface works
2.5.2.1 - Registering objects for finalization
2.5.2.2 - Draining the finalization queue
2.5.2.3 - Finalizers
2.5.2.4 - After finalization
2.5.2.5 - Upon application exit
2.5.2.6 - The effects of multiple registrations
2.5.2.7 - The effects of resurrecting objects
2.5.2.8 - The effects of finalizing objects directly
2.5.2.9 - Finalization and weak tables
2.5.3 - Writing finalizers
2.5.3.1 - Class-based finalization
2.5.3.2 - Parallels with INITIALIZE methods
2.5.3.3 - Simplicity and robustness
2.5.3.4 - Singleton finalizers
2.5.4 - Using finalization in applications
2.5.4.1 - How can my application drain the finalization queue automatically?
2.5.4.2 - When should my application drain the finalization queue?
2.6 - The COMMON-EXTENSIONS module
assert
<byte-character>
concatenate!
condition-to-string
debug-assert
debug-message
default-handler
default-last-handler
define table
difference
false-or
fill-table!
find-element
float-to-string
<format-string-condition>
found?
ignore
ignorable
integer-to-string
iterate
last-handler-definer
one-of
position
remove-all-keys!
<simple-condition>
<stretchy-sequence>
<string-table>
string-to-integer
subclass
supplied?
timing
$unfound
unfound
unfound?
$unsupplied
unsupplied
unsupplied?
when
2.7 - The SIMPLE-FORMAT module
format-out
format-to-string
2.8 - The SIMPLE-RANDOM module
<random>
random
2.9 - The FINALIZATION module
automatic-finalization-enabled?
automatic-finalization-enabled?-setter
drain-finalization-queue
finalize-when-unreachable
finalize
finalize
3 - The Collections Library
3.1 - The Collections library
3.1.1 - Basics
3.1.2 - Hash functions
3.1.3 - Weak tables
3.2 - The TABLE-EXTENSIONS module
<string-table>
<hash-state>
collection-hash
sequence-hash
values-hash
string-hash
case-insensitive-string-hash
case-insensitive-equal
remove-all-keys!
remove-all-keys!
remove-all-keys!
4 - The Threads Library
4.1 - Introduction
4.2 - Multi-thread semantics
4.2.1 - Atomicity
4.2.2 - Ordering
4.2.3 - Explicit synchronization
4.2.4 - Conditional update
4.2.5 - The dynamic environment
4.2.6 - Thread variables
4.2.7 - Dynamic binding
4.3 - Thread safety in client libraries
4.3.1 - General requirements
4.3.2 - Effects on the Dylan library
4.4 - The Threads class hierarchy
4.5 - Basic features
4.5.1 - Low-level synchronization
sequence-point
synchronize-side-effects
4.5.2 - Operations on threads
<thread>
thread-name
join-thread
thread-yield
current-thread
4.6 - Synchronization protocol
4.6.1 - Basic features
<synchronization>
wait-for
release
synchronization-name
4.6.2 - Locks
<lock>
with-lock
4.6.3 - Semaphores
<semaphore>
wait-for
release
4.6.4 - Exclusive locks
<exclusive-lock>
release
owned?
4.6.5 - Recursive locks
<recursive-lock>
wait-for
release
owned?
4.6.6 - Simple locks
<simple-lock>
wait-for
release
owned?
4.6.7 - Multiple reader / single writer locks
<read-write-lock>
wait-for
release
owned?
4.6.8 - Notifications
<notification>
associated-lock
wait-for
release
release-all
4.7 - Timers
sleep
4.8 - Thread variables
thread
4.9 - Dynamic binding
dynamic-bind
4.9.1 - An extended form of dynamic-bind
dynamic-bind
4.10 - Locked variables
locked
4.11 - Conditional update
conditional-update!
atomic-increment!
atomic-decrement!
4.11.1 - An extended form of conditional-update!
conditional-update!
5 - Integers
5.1 - Introduction
5.2 - Extensions to the Dylan library
5.2.1 - Ranges
5.2.2 - Specific constructors
limited
range
5.2.3 - Equality comparisons
=
5.2.4 - Magnitude comparisons
<
5.2.5 - Properties of numbers
odd?
even?
5.2.6 - Arithmetic operations
5.2.7 - Collections
5.2.8 - The table protocol
5.2.9 - Iteration constructs
5.3 - The Generic-Arithmetic library
5.3.1 - Ranges
5.3.2 - Classes
5.3.3 - Specific constructors
5.3.4 - Arithmetic operations
5.3.5 - Iteration constructs
5.3.6 - Exported modules from the Generic-Arithmetic library
5.3.6.1 - The Dylan-Excluding-Arithmetic module
5.3.6.2 - The Dylan-Arithmetic module
5.3.6.3 - The Generic-Arithmetic-Dylan module
5.4 - Using special arithmetic features
5.5 - The Big-Integers library
5.5.1 - Specific constructors
5.5.2 - Equality comparisons
5.5.3 - Magnitude comparisons
5.5.4 - Properties of numbers
5.5.5 - Arithmetic operations
6 - The Machine Words Module
6.1 - Introduction
6.2 - Useful functions from the Dylan module
6.3 - The MACHINE-WORDS module
6.3.1 - Variables
6.3.2 - Basic and signed single word operations
6.3.3 - Overflow signalling operations
6.3.4 - Signed double word operations
6.3.5 - Unsigned single word operations
6.3.6 - Unsigned double word operations
7 - The Transcendentals Module
7.1 - Introduction
7.2 - The Transcendentals module
^
acos
acosh
asin
asinh
atan
atan2
atanh
cos
cosh
$double-e
$double-pi
exp
isqrt
log
logn
sin
$single-e
$single-pi
sinh
sqrt
tan
tanh
8 - Library Interchange
8.1 - Introduction
8.2 - LID files
8.3 - LID keyword statements
8.4 - Common Dylan's LID extensions
8.4.1 - Specifying foreign files and resource files
8.4.2 - Specifying compilation details
8.5 - File naming conventions
8.6 - Application example
Index

Common Dylan and Functional Extensions - 31 Mar 00

Next Previous Top Index