The algebraic-data-library Reference Manual

Table of Contents

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

The algebraic-data-library Reference Manual

This is the algebraic-data-library Reference Manual, generated automatically by Declt version 2.3 "Robert April" on Tue Feb 20 07:36:20 2018 GMT+0.


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

1 Systems

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


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

1.1 algebraic-data-library

Author

Robert Smith <quad@symbo1ics.com>

License

BSD 3-clause

Description

A library of common algebraic data types.

Dependency

cl-algebraic-data-type

Source

algebraic-data-library.asd (file)

Components

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

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

2.1.1 algebraic-data-library.asd

Location

algebraic-data-library.asd

Systems

algebraic-data-library (system)


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

2.1.2 algebraic-data-library/package.lisp

Parent

algebraic-data-library (system)

Location

package.lisp

Packages

algebraic-data-library


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

2.1.3 algebraic-data-library/generics.lisp

Dependency

package.lisp (file)

Parent

algebraic-data-library (system)

Location

generics.lisp

Exported Definitions

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

2.1.4 algebraic-data-library/unit.lisp

Dependency

generics.lisp (file)

Parent

algebraic-data-library (system)

Location

unit.lisp

Exported Definitions
Internal Definitions

*%nul* (special variable)


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

2.1.5 algebraic-data-library/maybe.lisp

Dependency

unit.lisp (file)

Parent

algebraic-data-library (system)

Location

maybe.lisp

Exported Definitions
Internal Definitions

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

2.1.6 algebraic-data-library/either.lisp

Dependency

maybe.lisp (file)

Parent

algebraic-data-library (system)

Location

either.lisp

Exported Definitions
Internal Definitions

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

3 Packages

Packages are listed by definition order.


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

3.1 algebraic-data-library

Source

package.lisp (file)

Nickname

adl

Use List

common-lisp

Exported Definitions
Internal Definitions

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

4 Definitions

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


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

4.1 Exported definitions


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

4.1.1 Symbol macros

Symbol Macro: nothing
Package

algebraic-data-library

Source

maybe.lisp (file)

Expansion

(load-time-value algebraic-data-library::*%nothing* t)

Symbol Macro: nul
Package

algebraic-data-library

Source

unit.lisp (file)

Expansion

(load-time-value algebraic-data-library::*%nul* t)


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

4.1.2 Functions

Function: fmap* FUN

A curried version of FMAP: lift FUN to operate on functor types.

Package

algebraic-data-library

Source

generics.lisp (file)

Function: just %0
Package

algebraic-data-library

Source

maybe.lisp (file)

Function: just-or-else MAYBE-VAL OR-ELSE

Return the encapsulated value of a JUST, otherwise return OR-ELSE if MAYBE-VAL is NOTHING.

Package

algebraic-data-library

Source

maybe.lisp (file)

Function: left %0
Package

algebraic-data-library

Source

either.lisp (file)

Function: lookup KEY HASH-TABLE

A type-safe version of GETHASH. Look up the key KEY in the hash table HASH-TABLE.

Package

algebraic-data-library

Source

maybe.lisp (file)

Function: mirror EITHER-VAL
Package

algebraic-data-library

Source

either.lisp (file)

Function: right %0
Package

algebraic-data-library

Source

either.lisp (file)


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

4.1.3 Generic functions

Generic Function: >> A B

Compute A and then B, discarding A.

Package

algebraic-data-library

Source

generics.lisp (file)

Methods
Method: >> A B
Generic Function: >>= VAL F

Send/compose the result of VAL to F.

Package

algebraic-data-library

Source

generics.lisp (file)

Methods
Method: >>= (VAL maybe) F
Source

maybe.lisp (file)

Generic Function: fmap FUN VAL

A way to lift FUN into a container-like value VAL.

Package

algebraic-data-library

Source

generics.lisp (file)

Methods
Method: fmap (F function) (VAL either)
Source

either.lisp (file)

Method: fmap (F function) (VAL maybe)
Source

maybe.lisp (file)

Generic Function: wrap TYPE VALUE

Lift VALUE to type TYPE.

Package

algebraic-data-library

Source

generics.lisp (file)

Methods
Method: wrap (X (eql maybe)) VALUE
Source

maybe.lisp (file)


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

4.1.4 Structures

Structure: either ()
Package

algebraic-data-library

Source

either.lisp (file)

Direct superclasses

algebraic-data-type (structure)

Direct subclasses
Direct methods

fmap (method)

Structure: just ()
Package

algebraic-data-library

Source

maybe.lisp (file)

Direct superclasses

maybe (structure)

Direct methods

print-object (method)

Direct slots
Slot: %0
Initform

(error "unspecified field.")

Readers

just%0 (function)

Writers

(setf just%0) (function)

Structure: left ()
Package

algebraic-data-library

Source

either.lisp (file)

Direct superclasses

either (structure)

Direct methods

print-object (method)

Direct slots
Slot: %0
Initform

(error "unspecified field.")

Readers

left%0 (function)

Writers

(setf left%0) (function)

Structure: maybe ()
Package

algebraic-data-library

Source

maybe.lisp (file)

Direct superclasses

algebraic-data-type (structure)

Direct subclasses
Direct methods
Structure: nothing ()
Package

algebraic-data-library

Source

maybe.lisp (file)

Direct superclasses

maybe (structure)

Direct methods

print-object (method)

Structure: nul ()
Package

algebraic-data-library

Source

unit.lisp (file)

Direct superclasses

unit (structure)

Direct methods

print-object (method)

Structure: right ()
Package

algebraic-data-library

Source

either.lisp (file)

Direct superclasses

either (structure)

Direct methods

print-object (method)

Direct slots
Slot: %0
Initform

(error "unspecified field.")

Readers

right%0 (function)

Writers

(setf right%0) (function)

Structure: unit ()
Package

algebraic-data-library

Source

unit.lisp (file)

Direct superclasses

algebraic-data-type (structure)

Direct subclasses

nul (structure)


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

4.2 Internal definitions


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

4.2.1 Special variables

Special Variable: *%nothing*
Package

algebraic-data-library

Source

maybe.lisp (file)

Special Variable: *%nul*
Package

algebraic-data-library

Source

unit.lisp (file)


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

4.2.2 Functions

Function: just%0 INSTANCE
Package

algebraic-data-library

Source

maybe.lisp (file)

Function: left%0 INSTANCE
Package

algebraic-data-library

Source

either.lisp (file)

Function: right%0 INSTANCE
Package

algebraic-data-library

Source

either.lisp (file)


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

Appendix A Indexes


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

A.1 Concepts

Jump to:   A   F   L  
Index Entry  Section

A
algebraic-data-library.asd: The algebraic-data-library<dot>asd file
algebraic-data-library/either.lisp: The algebraic-data-library/either<dot>lisp file
algebraic-data-library/generics.lisp: The algebraic-data-library/generics<dot>lisp file
algebraic-data-library/maybe.lisp: The algebraic-data-library/maybe<dot>lisp file
algebraic-data-library/package.lisp: The algebraic-data-library/package<dot>lisp file
algebraic-data-library/unit.lisp: The algebraic-data-library/unit<dot>lisp file

F
File, Lisp, algebraic-data-library.asd: The algebraic-data-library<dot>asd file
File, Lisp, algebraic-data-library/either.lisp: The algebraic-data-library/either<dot>lisp file
File, Lisp, algebraic-data-library/generics.lisp: The algebraic-data-library/generics<dot>lisp file
File, Lisp, algebraic-data-library/maybe.lisp: The algebraic-data-library/maybe<dot>lisp file
File, Lisp, algebraic-data-library/package.lisp: The algebraic-data-library/package<dot>lisp file
File, Lisp, algebraic-data-library/unit.lisp: The algebraic-data-library/unit<dot>lisp file

L
Lisp File, algebraic-data-library.asd: The algebraic-data-library<dot>asd file
Lisp File, algebraic-data-library/either.lisp: The algebraic-data-library/either<dot>lisp file
Lisp File, algebraic-data-library/generics.lisp: The algebraic-data-library/generics<dot>lisp file
Lisp File, algebraic-data-library/maybe.lisp: The algebraic-data-library/maybe<dot>lisp file
Lisp File, algebraic-data-library/package.lisp: The algebraic-data-library/package<dot>lisp file
Lisp File, algebraic-data-library/unit.lisp: The algebraic-data-library/unit<dot>lisp file

Jump to:   A   F   L  

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

A.2 Functions

Jump to:   >  
F   G   J   L   M   R   W  
Index Entry  Section

>
>>: Exported generic functions
>>: Exported generic functions
>>=: Exported generic functions
>>=: Exported generic functions

F
fmap: Exported generic functions
fmap: Exported generic functions
fmap: Exported generic functions
fmap*: Exported functions
Function, fmap*: Exported functions
Function, just: Exported functions
Function, just%0: Internal functions
Function, just-or-else: Exported functions
Function, left: Exported functions
Function, left%0: Internal functions
Function, lookup: Exported functions
Function, mirror: Exported functions
Function, right: Exported functions
Function, right%0: Internal functions

G
Generic Function, >>: Exported generic functions
Generic Function, >>=: Exported generic functions
Generic Function, fmap: Exported generic functions
Generic Function, wrap: Exported generic functions

J
just: Exported functions
just%0: Internal functions
just-or-else: Exported functions

L
left: Exported functions
left%0: Internal functions
lookup: Exported functions

M
Method, >>: Exported generic functions
Method, >>=: Exported generic functions
Method, fmap: Exported generic functions
Method, fmap: Exported generic functions
Method, wrap: Exported generic functions
mirror: Exported functions

R
right: Exported functions
right%0: Internal functions

W
wrap: Exported generic functions
wrap: Exported generic functions

Jump to:   >  
F   G   J   L   M   R   W  

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

A.3 Variables

Jump to:   %   *  
N   S  
Index Entry  Section

%
%0: Exported structures
%0: Exported structures
%0: Exported structures

*
*%nothing*: Internal special variables
*%nul*: Internal special variables

N
nothing: Exported symbol macros
nul: Exported symbol macros

S
Slot, %0: Exported structures
Slot, %0: Exported structures
Slot, %0: Exported structures
Special Variable, *%nothing*: Internal special variables
Special Variable, *%nul*: Internal special variables
Symbol Macro, nothing: Exported symbol macros
Symbol Macro, nul: Exported symbol macros

Jump to:   %   *  
N   S  

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

A.4 Data types

Jump to:   A   E   J   L   M   N   P   R   S   U  
Index Entry  Section

A
algebraic-data-library: The algebraic-data-library system
algebraic-data-library: The algebraic-data-library package

E
either: Exported structures

J
just: Exported structures

L
left: Exported structures

M
maybe: Exported structures

N
nothing: Exported structures
nul: Exported structures

P
Package, algebraic-data-library: The algebraic-data-library package

R
right: Exported structures

S
Structure, either: Exported structures
Structure, just: Exported structures
Structure, left: Exported structures
Structure, maybe: Exported structures
Structure, nothing: Exported structures
Structure, nul: Exported structures
Structure, right: Exported structures
Structure, unit: Exported structures
System, algebraic-data-library: The algebraic-data-library system

U
unit: Exported structures

Jump to:   A   E   J   L   M   N   P   R   S   U