The cl-plumbing Reference Manual

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

The cl-plumbing Reference Manual

This is the cl-plumbing Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Aug 15 03:54:54 2022 GMT+0.

Table of Contents


1 Introduction


* CL-Plumbing

This library adds a few stream manipulation facilities that I haven't been able
to figure out using CL's stream facilities.  These include:

=make-pipe=: Make a two way stream (though not of type two-way-stream) that
accepts data (via writing to it) and that data can then be read from it.  This
is similar to the piping mechanism in the shell.

=connect-streams=: Take an input stream and an output stream and feed all data
from the input stream to the output stream.  Again, similar to the way shell
pipes act, but this is for two existing streams and the other creates two new
streams (well, one new two way stream).

** Future work

Just now it occurred to me that it would be cool to have this provide a CL
(gray) stream interface for ZeroMQ.  Most of the work is already done, I
believe...


2 Systems

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


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

2.1 cl-plumbing

A few (at least seemingly) missing stream operations in Common Lisp.

Author

Zachary Smith <zachkostsmith@gmail.com>

License

LLGPL

Dependencies
  • iterate (system).
  • trivial-gray-streams (system).
  • bordeaux-threads (system).
Source

cl-plumbing.asd.

Child Components

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   [Contents][Index]

3.1.1 cl-plumbing/cl-plumbing.asd

Source

cl-plumbing.asd.

Parent Component

cl-plumbing (system).

ASDF Systems

cl-plumbing.


3.1.2 cl-plumbing/package.lisp

Source

cl-plumbing.asd.

Parent Component

cl-plumbing (system).

Packages

cl-plumbing.


3.1.3 cl-plumbing/gray-streams-pipe.lisp

Dependency

package.lisp (file).

Source

cl-plumbing.asd.

Parent Component

cl-plumbing (system).

Public Interface
Internals

3.1.4 cl-plumbing/cl-plumbing.lisp

Dependency

gray-streams-pipe.lisp (file).

Source

cl-plumbing.asd.

Parent Component

cl-plumbing (system).

Public Interface
Internals

dump-stream (function).


4 Packages

Packages are listed by definition order.


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

4.1 cl-plumbing

Source

package.lisp.

Use List
  • common-lisp.
  • iterate.
Public Interface
Internals

5 Definitions

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


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

5.1 Public Interface


5.1.1 Special variables

Special Variable: *warn-on-foreground-connect-stream*
Package

cl-plumbing.

Source

cl-plumbing.lisp.


5.1.2 Ordinary functions

Function: connect-streams (input output &key background fn)

This reads from input and writes output until the end of input is found.

Package

cl-plumbing.

Source

cl-plumbing.lisp.

Function: make-pipe ()

This makes a stream where you can write your output, then read it out elsewhere.

Package

cl-plumbing.

Source

gray-streams-pipe.lisp.


5.1.3 Standalone methods

Method: close ((p pipe) &key abort)
Source

gray-streams-pipe.lisp.

Method: stream-line-column ((p pipe))
Package

sb-gray.

Source

gray-streams-pipe.lisp.

Method: stream-read-char ((p pipe))
Package

sb-gray.

Source

gray-streams-pipe.lisp.

Method: stream-read-char-no-hang ((p pipe))
Package

sb-gray.

Source

gray-streams-pipe.lisp.

Method: stream-read-line ((p pipe))
Package

sb-gray.

Source

gray-streams-pipe.lisp.

Method: stream-read-sequence ((p pipe) seq start end &key &allow-other-keys)
Package

trivial-gray-streams.

Source

gray-streams-pipe.lisp.

Method: stream-unread-char ((p pipe) character)
Package

sb-gray.

Source

gray-streams-pipe.lisp.

Method: stream-write-char ((p pipe) character)
Package

sb-gray.

Source

gray-streams-pipe.lisp.

Method: stream-write-sequence ((p pipe) seq start end &key &allow-other-keys)
Package

trivial-gray-streams.

Source

gray-streams-pipe.lisp.


5.2 Internals


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

5.2.1 Special variables

Special Variable: *block-size*
Package

cl-plumbing.

Source

gray-streams-pipe.lisp.


5.2.2 Ordinary functions

Function: dump-stream (input output &optional fn)
Package

cl-plumbing.

Source

cl-plumbing.lisp.

Function: flush-in-to-out (pipe)
Package

cl-plumbing.

Source

gray-streams-pipe.lisp.


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

5.2.3 Generic functions

Generic Reader: input-of (object)
Package

cl-plumbing.

Methods
Reader Method: input-of ((pipe pipe))

automatically generated reader method

Source

gray-streams-pipe.lisp.

Target Slot

input.

Generic Writer: (setf input-of) (object)
Package

cl-plumbing.

Methods
Writer Method: (setf input-of) ((pipe pipe))

automatically generated writer method

Source

gray-streams-pipe.lisp.

Target Slot

input.

Generic Reader: lock-of (object)
Package

cl-plumbing.

Methods
Reader Method: lock-of ((pipe pipe))

automatically generated reader method

Source

gray-streams-pipe.lisp.

Target Slot

lock.

Generic Writer: (setf lock-of) (object)
Package

cl-plumbing.

Methods
Writer Method: (setf lock-of) ((pipe pipe))

automatically generated writer method

Source

gray-streams-pipe.lisp.

Target Slot

lock.

Generic Reader: output-of (object)
Package

cl-plumbing.

Methods
Reader Method: output-of ((pipe pipe))

automatically generated reader method

Source

gray-streams-pipe.lisp.

Target Slot

output.

Generic Writer: (setf output-of) (object)
Package

cl-plumbing.

Methods
Writer Method: (setf output-of) ((pipe pipe))

automatically generated writer method

Source

gray-streams-pipe.lisp.

Target Slot

output.


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

5.2.4 Classes

Class: pipe
Package

cl-plumbing.

Source

gray-streams-pipe.lisp.

Direct superclasses
  • fundamental-input-stream.
  • fundamental-output-stream.
  • trivial-gray-stream-mixin.
Direct methods
Direct slots
Slot: lock
Initform

(bordeaux-threads:make-lock)

Readers

lock-of.

Writers

(setf lock-of).

Slot: input
Initargs

:input

Readers

input-of.

Writers

(setf input-of).

Slot: output
Initargs

:output

Readers

output-of.

Writers

(setf output-of).


Appendix A Indexes


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

A.1 Concepts


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

A.2 Functions

Jump to:   (  
C   D   F   G   I   L   M   O   S  
Index Entry  Section

(
(setf input-of): Private generic functions
(setf input-of): Private generic functions
(setf lock-of): Private generic functions
(setf lock-of): Private generic functions
(setf output-of): Private generic functions
(setf output-of): Private generic functions

C
close: Public standalone methods
connect-streams: Public ordinary functions

D
dump-stream: Private ordinary functions

F
flush-in-to-out: Private ordinary functions
Function, connect-streams: Public ordinary functions
Function, dump-stream: Private ordinary functions
Function, flush-in-to-out: Private ordinary functions
Function, make-pipe: Public ordinary functions

G
Generic Function, (setf input-of): Private generic functions
Generic Function, (setf lock-of): Private generic functions
Generic Function, (setf output-of): Private generic functions
Generic Function, input-of: Private generic functions
Generic Function, lock-of: Private generic functions
Generic Function, output-of: Private generic functions

I
input-of: Private generic functions
input-of: Private generic functions

L
lock-of: Private generic functions
lock-of: Private generic functions

M
make-pipe: Public ordinary functions
Method, (setf input-of): Private generic functions
Method, (setf lock-of): Private generic functions
Method, (setf output-of): Private generic functions
Method, close: Public standalone methods
Method, input-of: Private generic functions
Method, lock-of: Private generic functions
Method, output-of: Private generic functions
Method, stream-line-column: Public standalone methods
Method, stream-read-char: Public standalone methods
Method, stream-read-char-no-hang: Public standalone methods
Method, stream-read-line: Public standalone methods
Method, stream-read-sequence: Public standalone methods
Method, stream-unread-char: Public standalone methods
Method, stream-write-char: Public standalone methods
Method, stream-write-sequence: Public standalone methods

O
output-of: Private generic functions
output-of: Private generic functions

S
stream-line-column: Public standalone methods
stream-read-char: Public standalone methods
stream-read-char-no-hang: Public standalone methods
stream-read-line: Public standalone methods
stream-read-sequence: Public standalone methods
stream-unread-char: Public standalone methods
stream-write-char: Public standalone methods
stream-write-sequence: Public standalone methods

Jump to:   (  
C   D   F   G   I   L   M   O   S