The alexandria+ Reference Manual

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

The alexandria+ Reference Manual

This is the alexandria+ Reference Manual, version 1.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Thu Sep 15 03:12:18 2022 GMT+0.

Table of Contents


1 Introduction

Contributors Forks Stargazers Issues MS-PL License LinkedIn

About the Project

We generally follow two of the three guiding principles of Alexandria:

Manpower does not permit testing on all Lisp implementations, so we target Genera, SBCL and CCL.

An additional guiding principal is that we only add functionality that is not already available in UIOP, OSICAT or alexandria, but required for multiple projects that we work on.

Other utilities libraries include:

Built With

Getting Started

To get a local copy up and running follow these steps:

Prerequisites

An ANSI Common Lisp implementation. Developed and tested with SBCL, Genera and CCL.

Github

To make the system accessible to ASDF (a build facility, similar to make in the C world), clone the repository in a directory it knows about. By default the common-lisp directory in your home directory is known. Create this if it doesn't already exist and then:

  1. Clone the repository
    cd ~/common-lisp/ &&
    git clone https://github.com/Symbolics/alexandria-plus.git
    
  2. Reset the ASDF source-registry to find the new system (from the REPL)
    (asdf:clear-source-registry)
    
  3. Load the system
    (asdf:load-system :alexandria+)
    

Usage

The alexandria+ source code is organised the same as the alexandria source. For example the alist and plist utilities are in lists.lisp in both alexandria and alexandria+. It is intended to be used alongside alexandria, e.g. (:use :alexandria :alexandria+)

For more examples, please refer to the Documentation.

Roadmap

See the open issues for a list of proposed features (and known issues).

Resources

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated. Please see CONTRIBUTING.md for details on the code of conduct, and the process for submitting pull requests.

License

Distributed under the MS-PL License. See LICENSE for more information.

Contact

Project Link: https://github.com/Symbolics/alexandria-plus


2 Systems

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


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

2.1 alexandria+

A conservative set of extensions to Alexandria utilities.

Author

Steven Nunez <steve@symbolics.tech>

Home Page

https://github.com/symbolics/alexandria+

License

MS-PL

Long Description

Utilities not in Alexandria, UIOP or OSICAT.

Version

1.1

Dependency

alexandria (system).

Source

alexandria+.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 alexandria+/alexandria+.asd

Source

alexandria+.asd.

Parent Component

alexandria+ (system).

ASDF Systems

alexandria+.


3.1.2 alexandria+/pkgdcl.lisp

Source

alexandria+.asd.

Parent Component

alexandria+ (system).

Packages

alexandria+.


3.1.3 alexandria+/lists.lisp

Source

alexandria+.asd.

Parent Component

alexandria+ (system).

Public Interface
Internals

*assoc-test* (special variable).


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

3.1.4 alexandria+/types.lisp

Source

alexandria+.asd.

Parent Component

alexandria+ (system).

Public Interface

4 Packages

Packages are listed by definition order.


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

4.1 alexandria+

Source

pkgdcl.lisp.

Use List

common-lisp.

Public Interface
Internals

*assoc-test* (special variable).


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 Macros

Macro: defprop (symbol value indicator)

Gives SYMBOL an INDICATOR property of VALUE.
After this is done (CL:GET symbol indicator) returns VALUE

Package

alexandria+.

Source

lists.lisp.


Next: , Previous: , Up: Public Interface   [Contents][Index]

5.1.2 Ordinary functions

Function: alist-keys (alist)

Returns a list of the keys in ALIST.

Package

alexandria+.

Source

lists.lisp.

Function: alist-values (alist)

Returns a list of the values in ALIST.

Package

alexandria+.

Source

lists.lisp.

Function: alistp (value)

Returns T if VALUE is an ALIST.

Package

alexandria+.

Source

lists.lisp.

Function: cdr-assoc (item alist &key test)

Return the value associated with ITEM in ALIST.

Package

alexandria+.

Source

lists.lisp.

Function: plistp (value)

Returns VALUE if it is a properly formed PLIST, NIL otherwise.

Package

alexandria+.

Source

lists.lisp.


5.1.3 Types

Type: alist ()

Type designator for ALIST. Implemented as a SATISFIES type, hence not recommended for performance intensive use. Main usefullness as a type designator of the expected type in a TYPE-ERROR.

Package

alexandria+.

Source

lists.lisp.

Type: percentage ()

A number between 0 and 100

Package

alexandria+.

Source

types.lisp.

Type: plist ()

Type designator for PLIST. Implemented as a SATISFIES type, hence not recommended for performance intensive use. Main usefullness as a type designator of the expected type in a TYPE-ERROR.

Package

alexandria+.

Source

lists.lisp.

Type: probability ()

A number between 0 and 1

Package

alexandria+.

Source

types.lisp.


5.2 Internals


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

5.2.1 Special variables

Special Variable: *assoc-test*

Global equality test for assoc

Package

alexandria+.

Source

lists.lisp.


Appendix A Indexes


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

A.1 Concepts


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

A.3 Variables

Jump to:   *  
S  
Index Entry  Section

*
*assoc-test*: Private special variables

S
Special Variable, *assoc-test*: Private special variables

Jump to:   *  
S