The calispel Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The calispel Reference Manual

This is the calispel Reference Manual, version 0.1, generated automatically by Declt version 2.3 "Robert April" on Wed Mar 14 03:00:46 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

Calispel is a Common Lisp library for thread-safe message-passing
channels, in the style of the occam programming language.

Written by J.P. Larocque .  Based on
work by Roger Peppe and Russ Cox; see COPYRIGHT.txt for full
attribution.

See doc/doc.html or doc/doc.txt for usage examples and a reference.


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 calispel

Maintainer

J.P. Larocque

Author

J.P. Larocque, et al. (see COPYRIGHT.txt)

License

ISC-style and other permissive (see COPYRIGHT.txt)

Description

Thread-safe message-passing channels, in the style of the occam programming language.

Version

0.1

Dependencies
Source

calispel.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 calispel.asd

Location

calispel.asd

Systems

calispel (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 calispel/core.lisp

Dependencies
Parent

calispel (system)

Location

core.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 calispel/basic.lisp

Dependencies
Parent

calispel (system)

Location

basic.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.4 calispel/alt.lisp

Dependencies
Parent

calispel (system)

Location

alt.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.5 calispel/null-queue.lisp

Dependency

package.lisp (file)

Parent

calispel (system)

Location

null-queue.lisp

Exported Definitions

Previous: , Up: Lisp files   [Contents][Index]

3.1.6 calispel/package.lisp

Parent

calispel (system)

Location

package.lisp

Packages

calispel


Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

4.1 calispel

Source

package.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Special variables

Special Variable: +null-queue+
Package

calispel

Source

null-queue.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Macros

Macro: fair-alt &body CLAUSES

Performs one of the given channel operations, choosing fairly from the set of operations that first becomes available, then evaluates each of the forms associated with the selected operation. If no operation can immediately be made, waits until an operation is available (optionally up to a given timeout). The result is the result of the final evaluated form (or no values if no clause was executed).

clauses ::= operation-clause* [otherwise-clause] operation-clause ::= (operation form*)
otherwise-clause ::= ({otherwise | (otherwise [:timeout timeout])} form*) operation ::= (? channel [lambda-list [condition]]) ; receive | (! channel value [condition]) ; send

channel: Evaluated to produce a CHANNEL to send to or receive from. The channel forms associated with operations that do not pass the condition are not evaluated.

lambda-list: Either a symbol naming a variable to be bound to the value received from the channel, or a destructuring lambda list naming a set of variables to be bound to the destructured value received from the channel. The bindings are visible to the associated forms. If the value cannot be destructured according to the lambda list, an error is signalled. Note that multiple receive clauses for the same channel with different destructuring lambda-lists *cannot* be used for pattern matching.

value: An expression whose primary value is used as the message to send to the channel. All value expressions are evaluated before selecting an operation, except for those associated with operations that do not pass the condition.

condition: Evaluated to produce a generalized boolean indicating whether the associated operation-clause should receive further consideration. When condition is not given or its resulting value is true, the associated operation is kept for consideration. When the resulting value is false, the operation is removed from
consideration (as if its associated channel never becomes ready for sending/receiving).

form: Evaluated in sequence when the associated clause is executed. The values of the evaluation of the last form of the effective clause become the result of FAIR-ALT.

timeout: Evaluated to produce the duration, as a non-negative REAL number of seconds, to wait for an effective operation to become available before resorting to the otherwise-clause. The result may also be NIL to specify no time out. When an otherwise-clause exists, the default time out is 0, meaning that if none of the channels in the operation-clauses are immediately available, the otherwise-clause forms are executed immediately. When there is no otherwise-clause, the default time out is NIL.

It is useful to specify a timeout expression that conditionally evaluates to NIL, in order to disable the time out and inhibit the execution of the otherwise-clause (provided that there are channel operations to wait for that haven’t been excluded by a false condition).

If there are no effective operations (because all the conditions evaluated to false, or because no operations were specified), then the otherwise-clause (if any) is executed immediately (even if the specified time out is NIL).

Stylistically and for future compatibility, avoid side-effects in channel, value, condition, and timeout expressions.

Package

calispel

Source

alt.lisp (file)

Macro: pri-alt &body CLAUSES

Performs one of the given channel operations, choosing the first listed operation that becomes available, then evaluates each of the forms associated with the selected operation. If no operation can immediately be made, waits until an operation is available (optionally up to a given timeout). The result is the result of the final evaluated form (or no values if no clause was executed).

The syntax and semantics (other than clause priority) are the same as with FAIR-ALT. PRI-ALT is (currently) more efficient than FAIR-ALT.

Package

calispel

Source

alt.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.3 Functions

Function: ! CHANNEL VALUE &optional TIMEOUT

Send VALUE on CHANNEL, waiting up to TIMEOUT seconds (a non-negative REAL number; or indefinitely when NIL). Returns a boolean indicating whether the timeout expired before the value could be sent.

Package

calispel

Source

basic.lisp (file)

Function: ? CHANNEL &optional TIMEOUT

Receive a value from CHANNEL, waiting up to TIMEOUT seconds (a non-negative REAL number; or indefinitely when NIL). Returns the value (or NIL upon timeout) and a boolean indicating whether the timeout expired before a value could be received.

Package

calispel

Source

basic.lisp (file)

Function: operation-alternate TIMEOUT PRIORITY OPS

Given a list of at least one OPERATION, executes the first one that becomes available within TIMEOUT seconds and returns that OPERATION. If TIMEOUT seconds have elapsed without any of the OPERATIONs becoming available, returns NIL. If TIMEOUT is NIL, waits indefinitely.

If one or more of the OPERATIONs can be executed immediately, which one is chosen depends on the value of PRIORITY. When PRIORITY
is :FIRST, the first OPERATION listed in OPS that can be executed is chosen. When PRIORITY is :FAIR, one of the OPERATIONs that can be executed immediately is chosen at random.

Package

calispel

Source

core.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.4 Generic functions

Generic Function: channel OBJECT
Package

calispel

Methods
Method: channel (OPERATION operation)

The CHANNEL this OPERATION is interested in operating on.

Source

core.lisp (file)

Generic Function: direction OBJECT
Package

calispel

Methods
Method: direction (OPERATION operation)

Which DIRECTION this OPERATION is trying
to move data in.

When SEND, the OPERATION is interested in sending the value specified by :VALUE to CHANNEL.

When RECEIVE, the OPERATION is interested in receiving a value from CHANNEL.

Source

core.lisp (file)

Generic Function: value OBJECT
Generic Function: (setf value) NEW-VALUE OBJECT
Package

calispel

Methods
Method: value (OPERATION operation)
Method: (setf value) NEW-VALUE (OPERATION operation)

The value associated with this OPERATION.

When sending, this is the value to send.

When receiving, this is the received value if the OPERATION has executed, or undefined if it has not.

Source

core.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.5 Classes

Class: channel ()

A communication channel.

Package

calispel

Source

core.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: buffer

The QUEUE used to buffer pending objects.

The QUEUE must not be holding any objects, and the QUEUE must not be used again unless the CHANNEL owning it is never used
again. (Exception: QUEUEs that strictly have no state, such as instances of NULL-QUEUE, may be shared among CHANNELs.)

Type

jpl-queues:queue

Initargs

:buffer

Initform

calispel:+null-queue+

Readers

buffer (generic function)

Slot: send-operation-queue

A queue of all the
OPERATIONs waiting to send to this CHANNEL. An OPERATION may be waiting to send only when BUFFER is full.

Type

jpl-queues:queue

Initform

(make-instance (quote jpl-queues:unbounded-random-queue))

Readers

send-operation-queue (generic function)

Slot: receive-operation-queue

A queue of all the
OPERATIONs waiting to receive from this channel. An OPERATION may be waiting to receive only when BUFFER is empty.

Type

jpl-queues:queue

Initform

(make-instance (quote jpl-queues:unbounded-random-queue))

Readers

receive-operation-queue (generic function)

Class: null-queue ()

The null queue. Used for unbuffered CHANNELs.

Think of it as the NULL class, but for queues.

Package

calispel

Source

null-queue.lisp (file)

Direct superclasses

queue (class)

Direct methods
  • dequeue-object-if (method)
  • dequeue (method)
  • enqueue (method)
  • capacity (method)
  • size (method)
  • full? (method)
  • empty? (method)
Class: operation ()

A potential operation (receive or send) to perform
on a channel. An OPERATION instance represents an interest to perform the operation; it does not represent an operation that definitely will be or has been carried out.

Package

calispel

Source

core.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses

alt-operation (class)

Direct methods
Direct slots
Slot: direction

Which DIRECTION this OPERATION is trying
to move data in.

When SEND, the OPERATION is interested in sending the value specified by :VALUE to CHANNEL.

When RECEIVE, the OPERATION is interested in receiving a value from CHANNEL.

Type

calispel:direction

Initargs

:direction

Initform

(error "must supply :direction.")

Readers

direction (generic function)

Slot: channel

The CHANNEL this OPERATION is interested in operating on.

Type

calispel:channel

Initargs

:channel

Initform

(error "must supply :channel.")

Readers

channel (generic function)

Slot: value

The value associated with this OPERATION.

When sending, this is the value to send.

When receiving, this is the received value if the OPERATION has executed, or undefined if it has not.

Initargs

:value

Readers

value (generic function)

Writers

(setf value) (generic function)

Slot: alternation

The ALTERNATION (if any) that this OPERATION is a member of.

Type

calispel::alternation

Readers

alternation (generic function)

Writers

(setf alternation) (generic function)


Previous: , Up: Exported definitions   [Contents][Index]

5.1.6 Types

Type: direction ()
Package

calispel

Source

core.lisp (file)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Special variables

Special Variable: *lock*

A lock protecting the global channel state. The lock must be held whenever any data is being accessed (unless it can be proven that no other thread can access that data). Specifically, that means CHANNELs, OPERATIONs, and ALTERNATIONs that other threads can potentially get access to.

Package

calispel

Source

core.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Functions

Function: alt-body-code OP-CONDITIONS OP-FORMS PRIORITY OTHERWISE-P TIMEOUT-FORM OTHERWISE-FORMS
Package

calispel

Source

alt.lisp (file)

Function: alt-code CLAUSES PRIORITY
Package

calispel

Source

alt.lisp (file)

Function: alternation-wait TIMEOUT ALTERNATION

Given an ALTERNATION, waits up to TIMEOUT seconds for another thread to execute one of its OPERATIONs (or indefinitely when TIMEOUT is NIL). The SELECTED slot of ALTERNATION must initially be NIL.

Upon return, if another thread executed one of the OPERATIONs of ALTERNATION, that OPERATION will appear in the SELECTED slot of ALTERNATION. Otherwise (if timed-out), that slot will be NIL.

Must be called with *LOCK* held.

Package

calispel

Source

core.lisp (file)

Function: dequeue-channel-for-operation RECEIVING-OP

Dequeues the oldest object from the the BUFFER of the CHANNEL that RECEIVING-OP is interested in receiving from, storing it in RECEIVING-OP.

RECEIVING-OP must be interested in receiving. The CHANNEL must have at least one object in its BUFFER.

Must be called with *LOCK* held.

Package

calispel

Source

core.lisp (file)

Function: dequeue-operation-with-channel OP

Given an OPERATION that will no longer be waiting, dequeues it from the vector of OPERATIONs waiting on CHANNEL (where CHANNEL is the CHANNEL that the OPERATION was interested in).

Must be called with *LOCK* held.

Package

calispel

Source

core.lisp (file)

Function: enqueue-channel-for-operation SENDING-OP

Enqueues the object stored in SENDING-OP to the BUFFER of the CHANNEL that SENDING-OP is interested in sending to.

SENDING-OP must be interested in sending. The CHANNEL must have room in its BUFFER for at least one object.

Must be called with *LOCK* held.

Package

calispel

Source

core.lisp (file)

Function: enqueue-operation-with-channel OP

Given an OPERATION that is about to wait, enqueues it with the vector of OPERATIONs waiting on CHANNEL (where CHANNEL is the CHANNEL that the OPERATION is interested in).

Must be called with *LOCK* held.

Package

calispel

Source

core.lisp (file)

Function: enqueue/dequeue-channel-from-op-to-op SENDING-OP RECEIVING-OP

Given SENDING-OP (an OPERATION interested in sending to a channel), and RECEIVING-OP (an OPERATION interested in receiving from the same channel), enqueues SENDING-OP’s object and dequeues an object for RECEIVING-OP, at the same time.

Must be called with *LOCK* held.

Package

calispel

Source

core.lisp (file)

Function: execute-operation OP

Executes the given OPERATION. It must be ready (per OPERATION-READY?).

Must be called with *LOCK* held.

Package

calispel

Source

core.lisp (file)

Function: invoke-action OP

Invokes the action associated with the given ALT-OPERATION.

Package

calispel

Source

alt.lisp (file)

Function: op-!-clause-condition CLAUSE-OPERANDS
Package

calispel

Source

alt.lisp (file)

Function: op-!-clause-form CLAUSE-OPERANDS BODY
Package

calispel

Source

alt.lisp (file)

Function: op-?-clause-condition CLAUSE-OPERANDS
Package

calispel

Source

alt.lisp (file)

Function: op-?-clause-form CLAUSE-OPERANDS BODY
Package

calispel

Source

alt.lisp (file)

Function: op-clause-condition CLAUSE
Package

calispel

Source

alt.lisp (file)

Function: op-clause-form CLAUSE
Package

calispel

Source

alt.lisp (file)

Function: operation-queue CHANNEL DIRECTION

Returns the queue of all the OPERATIONs waiting to move data in DIRECTION on CHANNEL. When DIRECTION is SEND, the returned OPERATIONs are those waiting until the BUFFER of CHANNEL is no longer full. When RECEIVE, the returned OPERATIONs are those waiting until the BUFFER is no longer empty.

Package

calispel

Source

core.lisp (file)

Function: operation-ready? OP

Returns a boolean value indicating whether the given OPERATION can be executed.

Must be called with *LOCK* held.

Package

calispel

Source

core.lisp (file)

Function: operation-transfer SENDING-OP RECEIVING-OP

Transfers one object from SENDING-OP to RECEIVING-OP.

SENDING-OP must be interested in sending, and RECEIVING-OP in receiving. They must be interested in the same channel, and the channel’s BUFFER must be empty.

Must be called with *LOCK* held.

Package

calispel

Source

core.lisp (file)

Function: opposite-direction DIRECTION
Package

calispel

Source

core.lisp (file)

Function: otherwise-clause? CLAUSE
Package

calispel

Source

alt.lisp (file)

Function: parse-otherwise-clause CLAUSE
Package

calispel

Source

alt.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.3 Generic functions

Generic Function: action OBJECT
Package

calispel

Methods
Method: action (ALT-OPERATION alt-operation)

A function to be called when this OPERATION
succeeds.

When DIRECTION is SEND, the function is called with no arguments.

When DIRECTION is RECEIVE, the function is called with the received value.

The result of this function is the result of the ALT macro form.

Source

alt.lisp (file)

Generic Function: alternation OBJECT
Generic Function: (setf alternation) NEW-VALUE OBJECT
Package

calispel

Methods
Method: alternation (OPERATION operation)
Method: (setf alternation) NEW-VALUE (OPERATION operation)

The ALTERNATION (if any) that this OPERATION is a member of.

Source

core.lisp (file)

Generic Function: buffer OBJECT
Package

calispel

Methods
Method: buffer (CHANNEL channel)

The QUEUE used to buffer pending objects.

The QUEUE must not be holding any objects, and the QUEUE must not be used again unless the CHANNEL owning it is never used
again. (Exception: QUEUEs that strictly have no state, such as instances of NULL-QUEUE, may be shared among CHANNELs.)

Source

core.lisp (file)

Generic Function: operations OBJECT
Package

calispel

Methods
Method: operations (ALTERNATION alternation)

The set of OPERATIONs waiting to occur (as a list).

Source

core.lisp (file)

Generic Function: receive-operation-queue OBJECT
Package

calispel

Methods
Method: receive-operation-queue (CHANNEL channel)

A queue of all the
OPERATIONs waiting to receive from this channel. An OPERATION may be waiting to receive only when BUFFER is empty.

Source

core.lisp (file)

Generic Function: selected OBJECT
Generic Function: (setf selected) NEW-VALUE OBJECT
Package

calispel

Methods
Method: selected (ALTERNATION alternation)
Method: (setf selected) NEW-VALUE (ALTERNATION alternation)

The OPERATION selected by a thread that
took action, or NIL if no OPERATION has yet been executed by another thread.

The thread that writes to SELECTED is generally a different thread than that which waits on the ALTERNATION.

The OPERATION, when given, must have been executed, and it must appear in the OPERATIONS slot.

Source

core.lisp (file)

Generic Function: selection-cv OBJECT
Package

calispel

Methods
Method: selection-cv (ALTERNATION alternation)

A condition variable which is
notified when an OPERATION has been selected and was written to the SELECTED slot.

The thread that waits on SELECTION-CV is generally that which is waiting on the ALTERNATION.

Source

core.lisp (file)

Generic Function: send-operation-queue OBJECT
Package

calispel

Methods
Method: send-operation-queue (CHANNEL channel)

A queue of all the
OPERATIONs waiting to send to this CHANNEL. An OPERATION may be waiting to send only when BUFFER is full.

Source

core.lisp (file)


Previous: , Up: Internal definitions   [Contents][Index]

5.2.4 Classes

Class: alt-operation ()

An OPERATION with bookkeeping for use by the *-ALT macros.

Package

calispel

Source

alt.lisp (file)

Direct superclasses

operation (class)

Direct methods

action (method)

Direct slots
Slot: action

A function to be called when this OPERATION
succeeds.

When DIRECTION is SEND, the function is called with no arguments.

When DIRECTION is RECEIVE, the function is called with the received value.

The result of this function is the result of the ALT macro form.

Type

function

Initargs

:action

Initform

(error "must supply :action.")

Readers

action (generic function)

Class: alternation ()

Represents a waiting alternation of several
OPERATIONs. That is, represents the act of waiting for the associated OPERATION that first becomes available.

Package

calispel

Source

core.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: operations

The set of OPERATIONs waiting to occur (as a list).

Type

list

Initargs

:operations

Initform

(error "must supply :operations.")

Readers

operations (generic function)

Slot: selected

The OPERATION selected by a thread that
took action, or NIL if no OPERATION has yet been executed by another thread.

The thread that writes to SELECTED is generally a different thread than that which waits on the ALTERNATION.

The OPERATION, when given, must have been executed, and it must appear in the OPERATIONS slot.

Type

(or calispel:operation null)

Readers

selected (generic function)

Writers

(setf selected) (generic function)

Slot: selection-cv

A condition variable which is
notified when an OPERATION has been selected and was written to the SELECTED slot.

The thread that waits on SELECTION-CV is generally that which is waiting on the ALTERNATION.

Initform

(bordeaux-threads:make-condition-variable)

Readers

selection-cv (generic function)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   C   F   L  
Index Entry  Section

C
calispel.asd: The calispel<dot>asd file
calispel/alt.lisp: The calispel/alt<dot>lisp file
calispel/basic.lisp: The calispel/basic<dot>lisp file
calispel/core.lisp: The calispel/core<dot>lisp file
calispel/null-queue.lisp: The calispel/null-queue<dot>lisp file
calispel/package.lisp: The calispel/package<dot>lisp file

F
File, Lisp, calispel.asd: The calispel<dot>asd file
File, Lisp, calispel/alt.lisp: The calispel/alt<dot>lisp file
File, Lisp, calispel/basic.lisp: The calispel/basic<dot>lisp file
File, Lisp, calispel/core.lisp: The calispel/core<dot>lisp file
File, Lisp, calispel/null-queue.lisp: The calispel/null-queue<dot>lisp file
File, Lisp, calispel/package.lisp: The calispel/package<dot>lisp file

L
Lisp File, calispel.asd: The calispel<dot>asd file
Lisp File, calispel/alt.lisp: The calispel/alt<dot>lisp file
Lisp File, calispel/basic.lisp: The calispel/basic<dot>lisp file
Lisp File, calispel/core.lisp: The calispel/core<dot>lisp file
Lisp File, calispel/null-queue.lisp: The calispel/null-queue<dot>lisp file
Lisp File, calispel/package.lisp: The calispel/package<dot>lisp file

Jump to:   C   F   L  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   !   (   ?  
A   B   C   D   E   F   G   I   M   O   P   R   S   V  
Index Entry  Section

!
!: Exported functions

(
(setf alternation): Internal generic functions
(setf alternation): Internal generic functions
(setf selected): Internal generic functions
(setf selected): Internal generic functions
(setf value): Exported generic functions
(setf value): Exported generic functions

?
?: Exported functions

A
action: Internal generic functions
action: Internal generic functions
alt-body-code: Internal functions
alt-code: Internal functions
alternation: Internal generic functions
alternation: Internal generic functions
alternation-wait: Internal functions

B
buffer: Internal generic functions
buffer: Internal generic functions

C
channel: Exported generic functions
channel: Exported generic functions

D
dequeue-channel-for-operation: Internal functions
dequeue-operation-with-channel: Internal functions
direction: Exported generic functions
direction: Exported generic functions

E
enqueue-channel-for-operation: Internal functions
enqueue-operation-with-channel: Internal functions
enqueue/dequeue-channel-from-op-to-op: Internal functions
execute-operation: Internal functions

F
fair-alt: Exported macros
Function, !: Exported functions
Function, ?: Exported functions
Function, alt-body-code: Internal functions
Function, alt-code: Internal functions
Function, alternation-wait: Internal functions
Function, dequeue-channel-for-operation: Internal functions
Function, dequeue-operation-with-channel: Internal functions
Function, enqueue-channel-for-operation: Internal functions
Function, enqueue-operation-with-channel: Internal functions
Function, enqueue/dequeue-channel-from-op-to-op: Internal functions
Function, execute-operation: Internal functions
Function, invoke-action: Internal functions
Function, op-!-clause-condition: Internal functions
Function, op-!-clause-form: Internal functions
Function, op-?-clause-condition: Internal functions
Function, op-?-clause-form: Internal functions
Function, op-clause-condition: Internal functions
Function, op-clause-form: Internal functions
Function, operation-alternate: Exported functions
Function, operation-queue: Internal functions
Function, operation-ready?: Internal functions
Function, operation-transfer: Internal functions
Function, opposite-direction: Internal functions
Function, otherwise-clause?: Internal functions
Function, parse-otherwise-clause: Internal functions

G
Generic Function, (setf alternation): Internal generic functions
Generic Function, (setf selected): Internal generic functions
Generic Function, (setf value): Exported generic functions
Generic Function, action: Internal generic functions
Generic Function, alternation: Internal generic functions
Generic Function, buffer: Internal generic functions
Generic Function, channel: Exported generic functions
Generic Function, direction: Exported generic functions
Generic Function, operations: Internal generic functions
Generic Function, receive-operation-queue: Internal generic functions
Generic Function, selected: Internal generic functions
Generic Function, selection-cv: Internal generic functions
Generic Function, send-operation-queue: Internal generic functions
Generic Function, value: Exported generic functions

I
invoke-action: Internal functions

M
Macro, fair-alt: Exported macros
Macro, pri-alt: Exported macros
Method, (setf alternation): Internal generic functions
Method, (setf selected): Internal generic functions
Method, (setf value): Exported generic functions
Method, action: Internal generic functions
Method, alternation: Internal generic functions
Method, buffer: Internal generic functions
Method, channel: Exported generic functions
Method, direction: Exported generic functions
Method, operations: Internal generic functions
Method, receive-operation-queue: Internal generic functions
Method, selected: Internal generic functions
Method, selection-cv: Internal generic functions
Method, send-operation-queue: Internal generic functions
Method, value: Exported generic functions

O
op-!-clause-condition: Internal functions
op-!-clause-form: Internal functions
op-?-clause-condition: Internal functions
op-?-clause-form: Internal functions
op-clause-condition: Internal functions
op-clause-form: Internal functions
operation-alternate: Exported functions
operation-queue: Internal functions
operation-ready?: Internal functions
operation-transfer: Internal functions
operations: Internal generic functions
operations: Internal generic functions
opposite-direction: Internal functions
otherwise-clause?: Internal functions

P
parse-otherwise-clause: Internal functions
pri-alt: Exported macros

R
receive-operation-queue: Internal generic functions
receive-operation-queue: Internal generic functions

S
selected: Internal generic functions
selected: Internal generic functions
selection-cv: Internal generic functions
selection-cv: Internal generic functions
send-operation-queue: Internal generic functions
send-operation-queue: Internal generic functions

V
value: Exported generic functions
value: Exported generic functions

Jump to:   !   (   ?  
A   B   C   D   E   F   G   I   M   O   P   R   S   V  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *   +  
A   B   C   D   O   R   S   V  
Index Entry  Section

*
*lock*: Internal special variables

+
+null-queue+: Exported special variables

A
action: Internal classes
alternation: Exported classes

B
buffer: Exported classes

C
channel: Exported classes

D
direction: Exported classes

O
operations: Internal classes

R
receive-operation-queue: Exported classes

S
selected: Internal classes
selection-cv: Internal classes
send-operation-queue: Exported classes
Slot, action: Internal classes
Slot, alternation: Exported classes
Slot, buffer: Exported classes
Slot, channel: Exported classes
Slot, direction: Exported classes
Slot, operations: Internal classes
Slot, receive-operation-queue: Exported classes
Slot, selected: Internal classes
Slot, selection-cv: Internal classes
Slot, send-operation-queue: Exported classes
Slot, value: Exported classes
Special Variable, *lock*: Internal special variables
Special Variable, +null-queue+: Exported special variables

V
value: Exported classes

Jump to:   *   +  
A   B   C   D   O   R   S   V  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   A   C   D   N   O   P   S   T  
Index Entry  Section

A
alt-operation: Internal classes
alternation: Internal classes

C
calispel: The calispel system
calispel: The calispel package
channel: Exported classes
Class, alt-operation: Internal classes
Class, alternation: Internal classes
Class, channel: Exported classes
Class, null-queue: Exported classes
Class, operation: Exported classes

D
direction: Exported types

N
null-queue: Exported classes

O
operation: Exported classes

P
Package, calispel: The calispel package

S
System, calispel: The calispel system

T
Type, direction: Exported types

Jump to:   A   C   D   N   O   P   S   T