The cl-flow Reference Manual

Table of Contents

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

The cl-flow Reference Manual

This is the cl-flow Reference Manual, version 1.0.0, generated automatically by Declt version 3.0 "Montgomery Scott" on Mon Dec 02 09:25:38 2019 GMT+0.


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

1 Introduction

CL-FLOW

Library for asynchonous non-blocking concurrency in Common Lisp.

Documentation

Documentation at borodust.org

Tests

(ql:quickload :cl-flow/tests)
(5am:run! :cl-flow-suite)

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 cl-flow

Author

Pavel Korolev

Contact

dev@borodust.org

License

MIT

Description

Data-flow driven concurrency model for Common Lisp

Version

1.0.0

Dependencies
Source

cl-flow.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 cl-flow.asd

Location

cl-flow.asd

Systems

cl-flow (system)


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

3.1.2 cl-flow/packages.lisp

Parent

cl-flow (system)

Location

packages.lisp

Packages

cl-flow


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

3.1.3 cl-flow/utils.lisp

Dependency

packages.lisp (file)

Parent

cl-flow (system)

Location

utils.lisp

Internal Definitions

+optimize-form+ (constant)


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

3.1.4 cl-flow/flow.lisp

Dependency

utils.lisp (file)

Parent

cl-flow (system)

Location

flow.lisp

Exported Definitions
Internal Definitions

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

4 Packages

Packages are listed by definition order.


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

4.1 cl-flow

Source

packages.lisp (file)

Nickname

flow

Use List
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 Macros

Macro: %> LAMBDA-LIST &body BODY

See flow:asynchronously

Package

cl-flow

Source

flow.lisp (file)

Macro: -> INVARIANT &body ARGS

See flow:atomically

Package

cl-flow

Source

flow.lisp (file)

Macro: ->> LAMBDA-LIST &body BODY

See flow:dynamically

Package

cl-flow

Source

flow.lisp (file)

Macro: >> &rest FLOW

See flow:serially

Package

cl-flow

Source

flow.lisp (file)

Macro: asynchronously LAMBDA-LIST &body BODY

Splits current flow allowing manually managing its execution via #’continue-flow and #’interrupt-flow functions

Package

cl-flow

Source

flow.lisp (file)

Macro: atomically INVARIANT &body ARGS

Encloses atomic flow block of code that could be dispatched concurrently

Package

cl-flow

Source

flow.lisp (file)

Macro: concurrently &rest BODY

Executes child elements in parallel, returning a list of results for child blocks or flows in the same order they were specified

Package

cl-flow

Source

flow.lisp (file)

Macro: dynamically LAMBDA-LIST &body BODY

Generates new flow dynamically during parent flow execution. In other words, injects new dynamically created flow into a current one.

Package

cl-flow

Source

flow.lisp (file)

Macro: serially &rest FLOW

Executes child elements serially (but possibly in different threads) returning a value of the last atomic block or flow

Package

cl-flow

Source

flow.lisp (file)

Macro: ~> &rest BODY

See flow:concurrently

Package

cl-flow

Source

flow.lisp (file)


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

5.1.2 Functions

Function: continue-flow &optional VALUE

Invokes next flow block with provided value as an argument

Package

cl-flow

Source

flow.lisp (file)

Function: interrupt-flow CONDITION

Interrupts flow with provided condition

Package

cl-flow

Source

flow.lisp (file)

Function: rerun-flow-block &optional CONDITION
Package

cl-flow

Source

flow.lisp (file)

Function: run ()

Dispatcher must be a function with lambda-list congruent to (task invariant &key &allow-other-keys)

Package

cl-flow

Source

flow.lisp (file)

Function: skip-flow-block &optional CONDITION
Package

cl-flow

Source

flow.lisp (file)

Function: use-flow-block-value VALUE &optional CONDITION
Package

cl-flow

Source

flow.lisp (file)


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

5.2 Internal definitions


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

5.2.1 Constants

Constant: +optimize-form+
Package

cl-flow

Source

utils.lisp (file)


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

5.2.2 Macros

Macro: flow-lambda (DISPATCHER RESULT-CALLBACK ARG) &body BODY
Package

cl-flow

Source

flow.lisp (file)

Macro: with-body-fu (FU-NAME LAMBDA-LIST FU-BODY) &body BODY
Package

cl-flow

Source

flow.lisp (file)


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

5.2.3 Functions

Function: dispatch-parallel-flow ()
Package

cl-flow

Source

flow.lisp (file)

Function: dispatch-serial-flow ()
Package

cl-flow

Source

flow.lisp (file)

Function: invoke-atomically ()
Package

cl-flow

Source

flow.lisp (file)

Function: invoke-dynamically ()
Package

cl-flow

Source

flow.lisp (file)

Function: invoke-with-restarts ()
Package

cl-flow

Source

flow.lisp (file)

Function: nop ()
Package

cl-flow

Source

flow.lisp (file)

Function: parse-atomic-block-args ARGS
Package

cl-flow

Source

flow.lisp (file)

Function: try-restart NAME C &optional ARG
Package

cl-flow

Source

flow.lisp (file)


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
cl-flow.asd: The cl-flow․asd file
cl-flow/flow.lisp: The cl-flow/flow․lisp file
cl-flow/packages.lisp: The cl-flow/packages․lisp file
cl-flow/utils.lisp: The cl-flow/utils․lisp file

F
File, Lisp, cl-flow.asd: The cl-flow․asd file
File, Lisp, cl-flow/flow.lisp: The cl-flow/flow․lisp file
File, Lisp, cl-flow/packages.lisp: The cl-flow/packages․lisp file
File, Lisp, cl-flow/utils.lisp: The cl-flow/utils․lisp file

L
Lisp File, cl-flow.asd: The cl-flow․asd file
Lisp File, cl-flow/flow.lisp: The cl-flow/flow․lisp file
Lisp File, cl-flow/packages.lisp: The cl-flow/packages․lisp file
Lisp File, cl-flow/utils.lisp: The cl-flow/utils․lisp file

Jump to:   C   F   L  

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

A.2 Functions

Jump to:   %   -   >   ~  
A   C   D   F   I   M   N   P   R   S   T   U   W  
Index Entry  Section

%
%>: Exported macros

-
->: Exported macros
->>: Exported macros

>
>>: Exported macros

~
~>: Exported macros

A
asynchronously: Exported macros
atomically: Exported macros

C
concurrently: Exported macros
continue-flow: Exported functions

D
dispatch-parallel-flow: Internal functions
dispatch-serial-flow: Internal functions
dynamically: Exported macros

F
flow-lambda: Internal macros
Function, continue-flow: Exported functions
Function, dispatch-parallel-flow: Internal functions
Function, dispatch-serial-flow: Internal functions
Function, interrupt-flow: Exported functions
Function, invoke-atomically: Internal functions
Function, invoke-dynamically: Internal functions
Function, invoke-with-restarts: Internal functions
Function, nop: Internal functions
Function, parse-atomic-block-args: Internal functions
Function, rerun-flow-block: Exported functions
Function, run: Exported functions
Function, skip-flow-block: Exported functions
Function, try-restart: Internal functions
Function, use-flow-block-value: Exported functions

I
interrupt-flow: Exported functions
invoke-atomically: Internal functions
invoke-dynamically: Internal functions
invoke-with-restarts: Internal functions

M
Macro, %>: Exported macros
Macro, ->: Exported macros
Macro, ->>: Exported macros
Macro, >>: Exported macros
Macro, asynchronously: Exported macros
Macro, atomically: Exported macros
Macro, concurrently: Exported macros
Macro, dynamically: Exported macros
Macro, flow-lambda: Internal macros
Macro, serially: Exported macros
Macro, with-body-fu: Internal macros
Macro, ~>: Exported macros

N
nop: Internal functions

P
parse-atomic-block-args: Internal functions

R
rerun-flow-block: Exported functions
run: Exported functions

S
serially: Exported macros
skip-flow-block: Exported functions

T
try-restart: Internal functions

U
use-flow-block-value: Exported functions

W
with-body-fu: Internal macros

Jump to:   %   -   >   ~  
A   C   D   F   I   M   N   P   R   S   T   U   W  

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

A.3 Variables

Jump to:   +  
C  
Index Entry  Section

+
+optimize-form+: Internal constants

C
Constant, +optimize-form+: Internal constants

Jump to:   +  
C  

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

A.4 Data types

Jump to:   C   P   S  
Index Entry  Section

C
cl-flow: The cl-flow system
cl-flow: The cl-flow package

P
Package, cl-flow: The cl-flow package

S
System, cl-flow: The cl-flow system

Jump to:   C   P   S