The rail Reference Manual

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

The rail Reference Manual

This is the rail Reference Manual, version 0.0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Aug 15 03:56:35 2022 GMT+0.

Table of Contents


1 Systems

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


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

1.1 rail

Library implementing functions for railway oriented programming.

Author

Marcin Radoszewski

License

MIT

Version

0.0.1

Source

rail.asd.

Child Components

2 Files

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


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

2.1 Lisp


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

2.1.1 rail/rail.asd

Source

rail.asd.

Parent Component

rail (system).

ASDF Systems

rail.


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

2.1.2 rail/package.lisp

Source

rail.asd.

Parent Component

rail (system).

Packages

rail.


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

2.1.3 rail/rail.lisp

Dependency

package.lisp (file).

Source

rail.asd.

Parent Component

rail (system).

Public Interface
Internals

3 Packages

Packages are listed by definition order.


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

3.1 rail

Source

package.lisp.

Use List

common-lisp.

Public Interface
Internals

4 Definitions

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


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

4.1 Public Interface


4.1.1 Ordinary functions

Function: bind (f branch)

Given function f (value -> branch) applies it on success branch

Package

rail.

Source

rail.lisp.

Function: fail (messages)

Create fail branch.

Package

rail.

Source

rail.lisp.

Function: fail-if-nil (fail-message value)

Creates branch from a value. If value is nil then fails with given message

Package

rail.

Source

rail.lisp.

Function: fail? (branch)
Package

rail.

Source

rail.lisp.

Function: failure-tee (f b)

Alias for failure-side-effect

Package

rail.

Source

rail.lisp.

Function: flat-map (f branch)

Alias for bind

Package

rail.

Source

rail.lisp.

Function: fmap (f branch)

Alias for lift.

Package

rail.

Source

rail.lisp.

Function: lift (f branch)

Given a function f : applies it to value stored in branch

Package

rail.

Source

rail.lisp.

Function: map-messages (f branch)

Given a function (f : (messages) -> messages) applies function to branch messages

Package

rail.

Source

rail.lisp.

Function: map-success (f branch)

Given a function (f : (value messages) -> branch) transforms success branch and returns a resulting branch

Package

rail.

Source

rail.lisp.

Function: merge-messages (msgs branch)

Merges additional messages to the branch

Package

rail.

Source

rail.lisp.

Function: succeed (value &optional messages)

Create a success branch. Optionally with messages.

Package

rail.

Source

rail.lisp.

Function: success-tee (f b)

Alias for success-side-effect

Package

rail.

Source

rail.lisp.

Function: success? (branch)
Package

rail.

Source

rail.lisp.


4.1.2 Generic functions

Generic Reader: branch-messages (object)
Package

rail.

Methods
Reader Method: branch-messages ((branch branch))

automatically generated reader method

Source

rail.lisp.

Target Slot

messages.

Generic Writer: (setf branch-messages) (object)
Package

rail.

Methods
Writer Method: (setf branch-messages) ((branch branch))

automatically generated writer method

Source

rail.lisp.

Target Slot

messages.

Generic Reader: branch-name (object)
Package

rail.

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

automatically generated reader method

Source

rail.lisp.

Target Slot

name.

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

rail.

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

automatically generated writer method

Source

rail.lisp.

Target Slot

name.

Generic Reader: branch-value (object)
Package

rail.

Methods
Reader Method: branch-value ((success success))

automatically generated reader method

Source

rail.lisp.

Target Slot

value.

Generic Writer: (setf branch-value) (object)
Package

rail.

Methods
Writer Method: (setf branch-value) ((success success))

automatically generated writer method

Source

rail.lisp.

Target Slot

value.

Generic Function: either (f-success f-failure branch)

Applies f-success if on success branch of f-failure if on failure branch. f-success takes value and a list of messages and should return a branch. f-failure takes list of messages and returns a branch.

Package

rail.

Source

rail.lisp.

Methods
Method: either ((f-success function) (f-failure function) (branch failure))
Method: either ((f-success function) (f-failure function) (branch success))
Generic Function: failure-side-effect (f branch)

Given a function f : (messages) -> any and a branch
applies the function to the success branch and returns result unchanged

Package

rail.

Source

rail.lisp.

Methods
Method: failure-side-effect ((f function) (b branch))
Method: failure-side-effect ((f function) (b failure))
Generic Function: fapply (f-branch v-branch)

Applies function (value -> value) stored as a value in f-branch to value stored in v-branch.

Package

rail.

Source

rail.lisp.

Methods
Method: fapply ((f-branch branch) (v-branch branch))
Method: fapply ((f-branch success) (v-branch success))
Generic Function: get-or-default (default branch)

Returns the value from success branch or default for failure branch.

Package

rail.

Source

rail.lisp.

Methods
Method: get-or-default (default (b failure))
Method: get-or-default (default (b success))
Generic Function: get-or-default-f (default-f branch)

Returns the value from success branch or computed value from default-f function for failure

Package

rail.

Source

rail.lisp.

Methods
Method: get-or-default-f ((default-f function) (b failure))
Method: get-or-default-f ((default-f function) (b success))
Generic Function: success-side-effect (f branch)

Given a function f : (value, messages) -> any and a branch
applies the function to the success branch and returns result unchanged

Package

rail.

Source

rail.lisp.

Methods
Method: success-side-effect ((f function) (b branch))
Method: success-side-effect ((f function) (b success))

4.1.3 Standalone methods

Method: print-object ((f failure) out)
Source

rail.lisp.

Method: print-object ((s success) out)
Source

rail.lisp.


4.1.4 Classes

Class: failure
Package

rail.

Source

rail.lisp.

Direct superclasses

branch.

Direct methods
Direct slots
Slot: name
Initform

:failure

Class: success
Package

rail.

Source

rail.lisp.

Direct superclasses

branch.

Direct methods
Direct slots
Slot: name
Initform

:success

Slot: value
Initargs

:value

Readers

branch-value.

Writers

(setf branch-value).


4.2 Internals


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

4.2.1 Generic functions

Generic Function: branch-copy (branch &key messages value)

Copies given branch and gives the ability to update it’s contents

Package

rail.

Source

rail.lisp.

Methods
Method: branch-copy ((branch failure) &key messages)
Method: branch-copy ((branch success) &key value messages)

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

4.2.2 Classes

Class: branch
Package

rail.

Source

rail.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

branch-name.

Writers

(setf branch-name).

Slot: messages
Initargs

:messages

Readers

branch-messages.

Writers

(setf branch-messages).


Appendix A Indexes


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

A.1 Concepts


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

A.2 Functions

Jump to:   (  
B   E   F   G   L   M   P   S  
Index Entry  Section

(
(setf branch-messages): Public generic functions
(setf branch-messages): Public generic functions
(setf branch-name): Public generic functions
(setf branch-name): Public generic functions
(setf branch-value): Public generic functions
(setf branch-value): Public generic functions

B
bind: Public ordinary functions
branch-copy: Private generic functions
branch-copy: Private generic functions
branch-copy: Private generic functions
branch-messages: Public generic functions
branch-messages: Public generic functions
branch-name: Public generic functions
branch-name: Public generic functions
branch-value: Public generic functions
branch-value: Public generic functions

E
either: Public generic functions
either: Public generic functions
either: Public generic functions

F
fail: Public ordinary functions
fail-if-nil: Public ordinary functions
fail?: Public ordinary functions
failure-side-effect: Public generic functions
failure-side-effect: Public generic functions
failure-side-effect: Public generic functions
failure-tee: Public ordinary functions
fapply: Public generic functions
fapply: Public generic functions
fapply: Public generic functions
flat-map: Public ordinary functions
fmap: Public ordinary functions
Function, bind: Public ordinary functions
Function, fail: Public ordinary functions
Function, fail-if-nil: Public ordinary functions
Function, fail?: Public ordinary functions
Function, failure-tee: Public ordinary functions
Function, flat-map: Public ordinary functions
Function, fmap: Public ordinary functions
Function, lift: Public ordinary functions
Function, map-messages: Public ordinary functions
Function, map-success: Public ordinary functions
Function, merge-messages: Public ordinary functions
Function, succeed: Public ordinary functions
Function, success-tee: Public ordinary functions
Function, success?: Public ordinary functions

G
Generic Function, (setf branch-messages): Public generic functions
Generic Function, (setf branch-name): Public generic functions
Generic Function, (setf branch-value): Public generic functions
Generic Function, branch-copy: Private generic functions
Generic Function, branch-messages: Public generic functions
Generic Function, branch-name: Public generic functions
Generic Function, branch-value: Public generic functions
Generic Function, either: Public generic functions
Generic Function, failure-side-effect: Public generic functions
Generic Function, fapply: Public generic functions
Generic Function, get-or-default: Public generic functions
Generic Function, get-or-default-f: Public generic functions
Generic Function, success-side-effect: Public generic functions
get-or-default: Public generic functions
get-or-default: Public generic functions
get-or-default: Public generic functions
get-or-default-f: Public generic functions
get-or-default-f: Public generic functions
get-or-default-f: Public generic functions

L
lift: Public ordinary functions

M
map-messages: Public ordinary functions
map-success: Public ordinary functions
merge-messages: Public ordinary functions
Method, (setf branch-messages): Public generic functions
Method, (setf branch-name): Public generic functions
Method, (setf branch-value): Public generic functions
Method, branch-copy: Private generic functions
Method, branch-copy: Private generic functions
Method, branch-messages: Public generic functions
Method, branch-name: Public generic functions
Method, branch-value: Public generic functions
Method, either: Public generic functions
Method, either: Public generic functions
Method, failure-side-effect: Public generic functions
Method, failure-side-effect: Public generic functions
Method, fapply: Public generic functions
Method, fapply: Public generic functions
Method, get-or-default: Public generic functions
Method, get-or-default: Public generic functions
Method, get-or-default-f: Public generic functions
Method, get-or-default-f: Public generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, success-side-effect: Public generic functions
Method, success-side-effect: Public generic functions

P
print-object: Public standalone methods
print-object: Public standalone methods

S
succeed: Public ordinary functions
success-side-effect: Public generic functions
success-side-effect: Public generic functions
success-side-effect: Public generic functions
success-tee: Public ordinary functions
success?: Public ordinary functions

Jump to:   (  
B   E   F   G   L   M   P   S