The issr Reference Manual

This is the issr Reference Manual, version 1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 16:43:35 2024 GMT+0.

Table of Contents


1 Systems

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


1.1 issr

Make Interactive-Server-Side-Rendered web pages with declaritive and recursive programming.

Author

Charles Jackson <>

License

AGPLv3

Version

1

Dependencies
  • cl-base64 (system).
  • alexandria (system).
  • trivia (system).
  • hunchentoot (system).
  • jonathan (system).
  • plump (system).
  • portal (system).
  • bordeaux-threads (system).
  • trivial-garbage (system).
  • do-urlencode (system).
  • str (system).
  • yxorp (system).
Source

issr.asd.

Child Components

2 Files

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


2.1 Lisp


2.1.1 issr/issr.asd

Source

issr.asd.

Parent Component

issr (system).

ASDF Systems

issr.


2.1.2 issr/package.lisp

Source

issr.asd.

Parent Component

issr (system).

Packages

2.1.3 issr/dom.lisp

Source

issr.asd.

Parent Component

issr (system).

Public Interface
Internals

2.1.4 issr/instructions.lisp

Source

issr.asd.

Parent Component

issr (system).

Public Interface
Internals

placement (type).


2.1.5 issr/diff.lisp

Source

issr.asd.

Parent Component

issr (system).

Internals

2.1.6 issr/core.lisp

Source

issr.asd.

Parent Component

issr (system).

Public Interface

initialize-instance (method).

Internals

2.1.7 issr/config.lisp

Source

issr.asd.

Parent Component

issr (system).

Internals

2.1.8 issr/proxy.lisp

Source

issr.asd.

Parent Component

issr (system).

Internals

2.1.9 issr/main.lisp

Source

issr.asd.

Parent Component

issr (system).

Internals

start (function).


3 Packages

Packages are listed by definition order.


3.1 issr

Source

package.lisp.

Use List
Internals

3.2 issr.dom

Source

package.lisp.

Use List

common-lisp.

Used By List

issr.

Public Interface
Internals

3.3 issr.instructions

Source

package.lisp.

Use List

common-lisp.

Public Interface
Internals

placement (type).


3.4 issr-config

Source

package.lisp.

Use List

common-lisp.


4 Definitions

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


4.1 Public Interface


4.1.1 Ordinary functions

Function: add-id (attributes &optional id)
Package

issr.dom.

Source

dom.lisp.

Package

issr.instructions.

Source

instructions.lisp.

Function: copy-id (old new)
Package

issr.dom.

Source

dom.lisp.

Function: delete (ids)
Package

issr.instructions.

Source

instructions.lisp.

Function: ensure-ids (node)
Package

issr.dom.

Source

dom.lisp.

Function: error (message)
Package

issr.instructions.

Source

instructions.lisp.

Function: insert (id position html)
Package

issr.instructions.

Source

instructions.lisp.

Function: make-node (name attributes &rest children)
Package

issr.dom.

Source

dom.lisp.

Function: mod (id key-values)
Package

issr.instructions.

Source

instructions.lisp.

Function: plump-dom-dom (node)
Package

issr.dom.

Source

dom.lisp.

Function: reconnect ()
Package

issr.instructions.

Source

instructions.lisp.

Function: redirect (target)
Package

issr.instructions.

Source

instructions.lisp.


4.1.2 Generic functions

Generic Function: node-attribute (this attribute)
Package

issr.dom.

Methods
Method: node-attribute ((this node) attribute)
Source

dom.lisp.

Generic Reader: node-attributes (object)
Package

issr.dom.

Methods
Reader Method: node-attributes ((node node))

automatically generated reader method

Source

dom.lisp.

Target Slot

attributes.

Generic Writer: (setf node-attributes) (object)
Package

issr.dom.

Methods
Writer Method: (setf node-attributes) ((node node))

automatically generated writer method

Source

dom.lisp.

Target Slot

attributes.

Generic Reader: node-children (object)
Package

issr.dom.

Methods
Reader Method: node-children ((node node))

automatically generated reader method

Source

dom.lisp.

Target Slot

children.

Generic Writer: (setf node-children) (object)
Package

issr.dom.

Methods
Writer Method: (setf node-children) ((node node))

automatically generated writer method

Source

dom.lisp.

Target Slot

children.

Generic Function: node-id (this)
Package

issr.dom.

Methods
Method: node-id ((this node))
Source

dom.lisp.

Generic Reader: node-name (object)
Package

issr.dom.

Methods
Reader Method: node-name ((node node))

automatically generated reader method

Source

dom.lisp.

Target Slot

name.

Generic Writer: (setf node-name) (object)
Package

issr.dom.

Methods
Writer Method: (setf node-name) ((node node))

automatically generated writer method

Source

dom.lisp.

Target Slot

name.


4.1.3 Standalone methods

Method: initialize-instance :after ((this request) &rest initargs &key &allow-other-keys)
Source

core.lisp.

Method: print-object ((this node) out)
Source

dom.lisp.


4.1.4 Classes

Class: node
Package

issr.dom.

Source

dom.lisp.

Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

node-name.

Writers

(setf node-name).

Slot: change
Readers

node-change.

Writers

(setf node-change).

Slot: attributes
Initargs

:attributes

Readers

node-attributes.

Writers

(setf node-attributes).

Slot: children
Initargs

:children

Readers

node-children.

Writers

(setf node-children).


4.2 Internals


4.2.1 Special variables

Special Variable: *clients*

Key: client socket; Value: request

Package

issr.

Source

core.lisp.

Special Variable: *clients*-lock
Package

issr.

Source

core.lisp.

Special Variable: *ids*

Key: client id; Value: client socket

Package

issr.

Source

core.lisp.

Special Variable: *ids*-lock
Package

issr.

Source

core.lisp.

Special Variable: *in-pre*
Package

issr.dom.

Source

dom.lisp.

Special Variable: +void-tags+
Package

issr.dom.

Source

dom.lisp.


4.2.2 Macros

Macro: define-map-accessors-with-lock (name map lock)
Package

issr.

Source

core.lisp.


4.2.3 Ordinary functions

Function: add-ids-and-js-to-html (body)
Package

issr.

Source

proxy.lisp.

Function: api-handler (app-server)
Package

issr.

Source

core.lisp.

Function: client-page (client)
Package

issr.

Source

core.lisp.

Function: client-request (client)
Package

issr.

Source

core.lisp.

Function: config (&key port api-port application-destination application-hook-destination http-port websocket-port ssl)
Package

issr.

Source

config.lisp.

Reader: config-api-port (instance)
Package

issr.

Source

config.lisp.

Target Slot

api-port.

Reader: config-application-destination (instance)
Package

issr.

Source

config.lisp.

Target Slot

application-destination.

Reader: config-application-hook-destination (instance)
Package

issr.

Source

config.lisp.

Target Slot

application-hook-destination.

Reader: config-http-port (instance)
Package

issr.

Source

config.lisp.

Target Slot

http-port.

Function: config-p (object)
Package

issr.

Source

config.lisp.

Reader: config-port (instance)
Package

issr.

Source

config.lisp.

Target Slot

port.

Reader: config-ssl (instance)
Package

issr.

Source

config.lisp.

Target Slot

ssl.

Reader: config-websocket-port (instance)
Package

issr.

Source

config.lisp.

Target Slot

websocket-port.

Function: copy-config (instance)
Package

issr.

Source

config.lisp.

Function: destination-parts (destination)
Package

issr.

Source

config.lisp.

Function: diff (old new)
Package

issr.

Source

diff.lisp.

Function: diff-attributes (old new)
Package

issr.

Source

diff.lisp.

Function: diff-children (parent-id old-children new-children)
Package

issr.

Source

diff.lisp.

Function: diff-siblings (old-children new-children &optional instructions)
Package

issr.

Source

diff.lisp.

Function: diff-strings (id old-text new-text)
Package

issr.

Source

diff.lisp.

Function: get-client-request (key)
Package

issr.

Source

core.lisp.

Function: get-id-client (key)
Package

issr.

Source

core.lisp.

Function: insert-js-call (node id)
Package

issr.

Source

proxy.lisp.

Function: make-destinator (config)
Package

issr.

Source

proxy.lisp.

Function: make-request (&key headers previous-page)
Package

issr.

Source

core.lisp.

Function: random-alphanum (&key length not-in)

Return alphanumeric string of length LENGTH not contained in NOT-IN.

Package

issr.

Source

core.lisp.

Function: read-config (file)
Package

issr.

Source

config.lisp.

Function: remove-client-request (key)
Package

issr.

Source

core.lisp.

Function: remove-id-client (key)
Package

issr.

Source

core.lisp.

Function: rr (client host port message)
Package

issr.

Source

core.lisp.

Function: run-application-hook (id hook host port)
Package

issr.

Source

core.lisp.

Function: set-client-request (key value)
Package

issr.

Source

core.lisp.

Function: set-id-client (key value)
Package

issr.

Source

core.lisp.

Function: start (config)
Package

issr.

Source

main.lisp.

Function: valid-destination-p (destination)
Package

issr.

Source

config.lisp.


4.2.4 Generic functions

Generic Reader: node-change (object)
Package

issr.dom.

Methods
Reader Method: node-change ((node node))

automatically generated reader method

Source

dom.lisp.

Target Slot

change.

Generic Writer: (setf node-change) (object)
Package

issr.dom.

Methods
Writer Method: (setf node-change) ((node node))

automatically generated writer method

Source

dom.lisp.

Target Slot

change.

Generic Reader: request-headers (object)
Package

issr.

Methods
Reader Method: request-headers ((request request))

automatically generated reader method

Source

core.lisp.

Target Slot

headers.

Generic Writer: (setf request-headers) (object)
Package

issr.

Methods
Writer Method: (setf request-headers) ((request request))

automatically generated writer method

Source

core.lisp.

Target Slot

headers.

Generic Reader: request-previous-page (object)
Package

issr.

Methods
Reader Method: request-previous-page ((request request))

automatically generated reader method

Source

core.lisp.

Target Slot

previous-page.

Generic Writer: (setf request-previous-page) (object)
Package

issr.

Methods
Writer Method: (setf request-previous-page) ((request request))

automatically generated writer method

Source

core.lisp.

Target Slot

previous-page.

Generic Reader: request-query-arguments (object)
Package

issr.

Methods
Reader Method: request-query-arguments ((request request))

automatically generated reader method

Source

core.lisp.

Target Slot

query-arguments.

Generic Function: (setf request-query-arguments) (object)
Package

issr.

Methods
Method: (setf request-query-arguments) (new-query-arguments)
Source

core.lisp.

Writer Method: (setf request-query-arguments) ((request request))

automatically generated writer method

Source

core.lisp.

Target Slot

query-arguments.

Generic Function: request-uri (this)
Package

issr.

Methods
Method: request-uri ((this request))
Source

core.lisp.

Generic Function: request-url (this)
Package

issr.

Methods
Method: request-url ((this request))
Source

core.lisp.


4.2.5 Structures

Structure: config
Package

issr.

Source

config.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: port
Type

issr::port

Initform

3000

Readers

config-port.

Writers

This slot is read-only.

Slot: api-port
Type

(or issr::port null)

Readers

config-api-port.

Writers

This slot is read-only.

Slot: application-destination
Type

issr::destination

Initform

8080

Readers

config-application-destination.

Writers

This slot is read-only.

Slot: application-hook-destination
Type

(or issr::destination null)

Readers

config-application-hook-destination.

Writers

This slot is read-only.

Slot: http-port
Type

issr::port

Initform

10000

Readers

config-http-port.

Writers

This slot is read-only.

Slot: websocket-port
Type

issr::port

Initform

10001

Readers

config-websocket-port.

Writers

This slot is read-only.

Slot: ssl
Type

(or yxorp:ssl-config null)

Readers

config-ssl.

Writers

This slot is read-only.


4.2.6 Classes

Class: request
Package

issr.

Source

core.lisp.

Direct methods
Direct slots
Slot: previous-page
Initargs

:previous-page

Readers

request-previous-page.

Writers

(setf request-previous-page).

Slot: headers
Initargs

:headers

Readers

request-headers.

Writers

(setf request-headers).

Slot: query-arguments
Readers

request-query-arguments.

Writers

(setf request-query-arguments).


4.2.7 Types

Type: destination ()
Package

issr.

Source

config.lisp.

Type: placement ()
Package

issr.instructions.

Source

instructions.lisp.

Type: port ()
Package

issr.

Source

config.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
A   C   D   E   F   G   I   M   N   P   R   S   V  
Index Entry  Section

(
(setf node-attributes): Public generic functions
(setf node-attributes): Public generic functions
(setf node-change): Private generic functions
(setf node-change): Private generic functions
(setf node-children): Public generic functions
(setf node-children): Public generic functions
(setf node-name): Public generic functions
(setf node-name): Public generic functions
(setf request-headers): Private generic functions
(setf request-headers): Private generic functions
(setf request-previous-page): Private generic functions
(setf request-previous-page): Private generic functions
(setf request-query-arguments): Private generic functions
(setf request-query-arguments): Private generic functions
(setf request-query-arguments): Private generic functions

A
add-id: Public ordinary functions
add-ids-and-js-to-html: Private ordinary functions
api-handler: Private ordinary functions

C
client-page: Private ordinary functions
client-request: Private ordinary functions
config: Private ordinary functions
config-api-port: Private ordinary functions
config-application-destination: Private ordinary functions
config-application-hook-destination: Private ordinary functions
config-http-port: Private ordinary functions
config-p: Private ordinary functions
config-port: Private ordinary functions
config-ssl: Private ordinary functions
config-websocket-port: Private ordinary functions
cookie: Public ordinary functions
copy-config: Private ordinary functions
copy-id: Public ordinary functions

D
define-map-accessors-with-lock: Private macros
delete: Public ordinary functions
destination-parts: Private ordinary functions
diff: Private ordinary functions
diff-attributes: Private ordinary functions
diff-children: Private ordinary functions
diff-siblings: Private ordinary functions
diff-strings: Private ordinary functions

E
ensure-ids: Public ordinary functions
error: Public ordinary functions

F
Function, add-id: Public ordinary functions
Function, add-ids-and-js-to-html: Private ordinary functions
Function, api-handler: Private ordinary functions
Function, client-page: Private ordinary functions
Function, client-request: Private ordinary functions
Function, config: Private ordinary functions
Function, config-api-port: Private ordinary functions
Function, config-application-destination: Private ordinary functions
Function, config-application-hook-destination: Private ordinary functions
Function, config-http-port: Private ordinary functions
Function, config-p: Private ordinary functions
Function, config-port: Private ordinary functions
Function, config-ssl: Private ordinary functions
Function, config-websocket-port: Private ordinary functions
Function, cookie: Public ordinary functions
Function, copy-config: Private ordinary functions
Function, copy-id: Public ordinary functions
Function, delete: Public ordinary functions
Function, destination-parts: Private ordinary functions
Function, diff: Private ordinary functions
Function, diff-attributes: Private ordinary functions
Function, diff-children: Private ordinary functions
Function, diff-siblings: Private ordinary functions
Function, diff-strings: Private ordinary functions
Function, ensure-ids: Public ordinary functions
Function, error: Public ordinary functions
Function, get-client-request: Private ordinary functions
Function, get-id-client: Private ordinary functions
Function, insert: Public ordinary functions
Function, insert-js-call: Private ordinary functions
Function, make-destinator: Private ordinary functions
Function, make-node: Public ordinary functions
Function, make-request: Private ordinary functions
Function, mod: Public ordinary functions
Function, plump-dom-dom: Public ordinary functions
Function, random-alphanum: Private ordinary functions
Function, read-config: Private ordinary functions
Function, reconnect: Public ordinary functions
Function, redirect: Public ordinary functions
Function, remove-client-request: Private ordinary functions
Function, remove-id-client: Private ordinary functions
Function, rr: Private ordinary functions
Function, run-application-hook: Private ordinary functions
Function, set-client-request: Private ordinary functions
Function, set-id-client: Private ordinary functions
Function, start: Private ordinary functions
Function, valid-destination-p: Private ordinary functions

G
Generic Function, (setf node-attributes): Public generic functions
Generic Function, (setf node-change): Private generic functions
Generic Function, (setf node-children): Public generic functions
Generic Function, (setf node-name): Public generic functions
Generic Function, (setf request-headers): Private generic functions
Generic Function, (setf request-previous-page): Private generic functions
Generic Function, (setf request-query-arguments): Private generic functions
Generic Function, node-attribute: Public generic functions
Generic Function, node-attributes: Public generic functions
Generic Function, node-change: Private generic functions
Generic Function, node-children: Public generic functions
Generic Function, node-id: Public generic functions
Generic Function, node-name: Public generic functions
Generic Function, request-headers: Private generic functions
Generic Function, request-previous-page: Private generic functions
Generic Function, request-query-arguments: Private generic functions
Generic Function, request-uri: Private generic functions
Generic Function, request-url: Private generic functions
get-client-request: Private ordinary functions
get-id-client: Private ordinary functions

I
initialize-instance: Public standalone methods
insert: Public ordinary functions
insert-js-call: Private ordinary functions

M
Macro, define-map-accessors-with-lock: Private macros
make-destinator: Private ordinary functions
make-node: Public ordinary functions
make-request: Private ordinary functions
Method, (setf node-attributes): Public generic functions
Method, (setf node-change): Private generic functions
Method, (setf node-children): Public generic functions
Method, (setf node-name): Public generic functions
Method, (setf request-headers): Private generic functions
Method, (setf request-previous-page): Private generic functions
Method, (setf request-query-arguments): Private generic functions
Method, (setf request-query-arguments): Private generic functions
Method, initialize-instance: Public standalone methods
Method, node-attribute: Public generic functions
Method, node-attributes: Public generic functions
Method, node-change: Private generic functions
Method, node-children: Public generic functions
Method, node-id: Public generic functions
Method, node-name: Public generic functions
Method, print-object: Public standalone methods
Method, request-headers: Private generic functions
Method, request-previous-page: Private generic functions
Method, request-query-arguments: Private generic functions
Method, request-uri: Private generic functions
Method, request-url: Private generic functions
mod: Public ordinary functions

N
node-attribute: Public generic functions
node-attribute: Public generic functions
node-attributes: Public generic functions
node-attributes: Public generic functions
node-change: Private generic functions
node-change: Private generic functions
node-children: Public generic functions
node-children: Public generic functions
node-id: Public generic functions
node-id: Public generic functions
node-name: Public generic functions
node-name: Public generic functions

P
plump-dom-dom: Public ordinary functions
print-object: Public standalone methods

R
random-alphanum: Private ordinary functions
read-config: Private ordinary functions
reconnect: Public ordinary functions
redirect: Public ordinary functions
remove-client-request: Private ordinary functions
remove-id-client: Private ordinary functions
request-headers: Private generic functions
request-headers: Private generic functions
request-previous-page: Private generic functions
request-previous-page: Private generic functions
request-query-arguments: Private generic functions
request-query-arguments: Private generic functions
request-uri: Private generic functions
request-uri: Private generic functions
request-url: Private generic functions
request-url: Private generic functions
rr: Private ordinary functions
run-application-hook: Private ordinary functions

S
set-client-request: Private ordinary functions
set-id-client: Private ordinary functions
start: Private ordinary functions

V
valid-destination-p: Private ordinary functions


A.3 Variables

Jump to:   *   +  
A   C   H   N   P   Q   S   W  
Index Entry  Section

*
*clients*: Private special variables
*clients*-lock: Private special variables
*ids*: Private special variables
*ids*-lock: Private special variables
*in-pre*: Private special variables

+
+void-tags+: Private special variables

A
api-port: Private structures
application-destination: Private structures
application-hook-destination: Private structures
attributes: Public classes

C
change: Public classes
children: Public classes

H
headers: Private classes
http-port: Private structures

N
name: Public classes

P
port: Private structures
previous-page: Private classes

Q
query-arguments: Private classes

S
Slot, api-port: Private structures
Slot, application-destination: Private structures
Slot, application-hook-destination: Private structures
Slot, attributes: Public classes
Slot, change: Public classes
Slot, children: Public classes
Slot, headers: Private classes
Slot, http-port: Private structures
Slot, name: Public classes
Slot, port: Private structures
Slot, previous-page: Private classes
Slot, query-arguments: Private classes
Slot, ssl: Private structures
Slot, websocket-port: Private structures
Special Variable, *clients*: Private special variables
Special Variable, *clients*-lock: Private special variables
Special Variable, *ids*: Private special variables
Special Variable, *ids*-lock: Private special variables
Special Variable, *in-pre*: Private special variables
Special Variable, +void-tags+: Private special variables
ssl: Private structures

W
websocket-port: Private structures


A.4 Data types

Jump to:   C   D   F   I   M   N   P   R   S   T  
Index Entry  Section

C
Class, node: Public classes
Class, request: Private classes
config: Private structures
config.lisp: The issr/config․lisp file
core.lisp: The issr/core․lisp file

D
destination: Private types
diff.lisp: The issr/diff․lisp file
dom.lisp: The issr/dom․lisp file

F
File, config.lisp: The issr/config․lisp file
File, core.lisp: The issr/core․lisp file
File, diff.lisp: The issr/diff․lisp file
File, dom.lisp: The issr/dom․lisp file
File, instructions.lisp: The issr/instructions․lisp file
File, issr.asd: The issr/issr․asd file
File, main.lisp: The issr/main․lisp file
File, package.lisp: The issr/package․lisp file
File, proxy.lisp: The issr/proxy․lisp file

I
instructions.lisp: The issr/instructions․lisp file
issr: The issr system
issr: The issr package
issr-config: The issr-config package
issr.asd: The issr/issr․asd file
issr.dom: The issr․dom package
issr.instructions: The issr․instructions package

M
main.lisp: The issr/main․lisp file

N
node: Public classes

P
Package, issr: The issr package
Package, issr-config: The issr-config package
Package, issr.dom: The issr․dom package
Package, issr.instructions: The issr․instructions package
package.lisp: The issr/package․lisp file
placement: Private types
port: Private types
proxy.lisp: The issr/proxy․lisp file

R
request: Private classes

S
Structure, config: Private structures
System, issr: The issr system

T
Type, destination: Private types
Type, placement: Private types
Type, port: Private types