The com.google.base Reference Manual

This is the com.google.base Reference Manual, version 1.4, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 16:05:47 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 com.google.base

Universally useful Lisp code.

Author

Robert Brown <>

License

New BSD license. See the copyright messages in individual files.

Long Description

Code that should be useful for any Lisp application.

Version

1.4

Source

com.google.base.asd.

Child Components

3 Files

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


3.1 Lisp


3.1.1 com.google.base/com.google.base.asd

Source

com.google.base.asd.

Parent Component

com.google.base (system).

ASDF Systems

com.google.base.


3.1.2 com.google.base/package.lisp

Source

com.google.base.asd.

Parent Component

com.google.base (system).

Packages

com.google.base.


3.1.3 com.google.base/optimize.lisp

Dependency

package.lisp (file).

Source

com.google.base.asd.

Parent Component

com.google.base (system).

Public Interface

3.1.4 com.google.base/syntax.lisp

Dependencies
Source

com.google.base.asd.

Parent Component

com.google.base (system).

Public Interface

3.1.5 com.google.base/error.lisp

Dependencies
Source

com.google.base.asd.

Parent Component

com.google.base (system).

Public Interface

missing-argument (function).


3.1.6 com.google.base/type.lisp

Dependencies
Source

com.google.base.asd.

Parent Component

com.google.base (system).

Public Interface

3.1.7 com.google.base/octet.lisp

Dependencies
Source

com.google.base.asd.

Parent Component

com.google.base (system).

Public Interface

3.1.8 com.google.base/sequence.lisp

Dependencies
Source

com.google.base.asd.

Parent Component

com.google.base (system).

Public Interface

4 Packages

Packages are listed by definition order.


4.1 com.google.base

Basic code used by all applications. The code in BASE should be universally useful, since most packages will import BASE symbols by including
(:USE #:COM.GOOGLE.BASE) in their DEFPACKAGE form.

Source

package.lisp.

Use List

common-lisp.

Public Interface

5 Definitions

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


5.1 Public Interface


5.1.1 Constants

Constant: +maximum-vector-index+

Largest valid vector index.

Package

com.google.base.

Source

type.lisp.


5.1.2 Special variables

Special Variable: *optimize-default*

Compiler optimization settings that emphasize debugging over speed. Most code should use these settings.

Package

com.google.base.

Source

optimize.lisp.

Special Variable: *optimize-fast-unsafe*

Compiler optimization settings that emphasize speed at the expense of debugging and run-time safety. Only low-level performance sensitive code that has been extensively tested should use these settings.

Package

com.google.base.

Source

optimize.lisp.


5.1.3 Macros

Macro: defconst (name value &optional documentation)

Identical to CL:DEFCONSTANT except that the global constant variable NAME is bound to VALUE at compile time so it can be used in #. reader forms. Additionally, if the DEFCONST form is evaluated a second time, the constant is not rebound if the new value is EQUALP to the old. CL:DEFCONSTANT requires that the two values be EQL to avoid undefined behavior.

Package

com.google.base.

Source

syntax.lisp.

Macro: define-print-object (class-name accessor-info)

Generates a CL:PRINT-OBJECT generic function for class CLASS-NAME using ACCESSOR-INFO, a list containing elements of the form
(accessor initarg [format-string]).

If a format-string is not provided for a slot, then the generated PRINT-OBJECT function outputs nothing for that slot when *PRINT-READABLY* is false.

Given a POINT class with slots X, Y, and HIDDEN. The following DEFINE-PRINT-OBJECT form:

(define-print-object point
((x :x "x is ~D")
(y :y "y is ~D")
(hidden :hidden)))

expands to a PRINT-OBJECT function similar to:

(defmethod print-object ((point point) stream)
(if *print-readably*
(progn (write-string "#." stream)
(write ‘(make-instance ’point
:x ,(x point)
:y ,(y point)
:hidden ,(hidden point))
:stream stream))
(print-unreadable-object (point stream :type t :identity t)
(format stream "x is ~D y is ~D" (x point) (y point)))))

Package

com.google.base.

Source

syntax.lisp.


5.1.4 Ordinary functions

Function: make-octet-vector (octet-count &key initial-contents)

Create an OCTET-VECTOR containing OCTET-COUNT octets. If INITIAL-CONTENTS is not supplied, each element of the vector is initialized to zero. Otherwise, the vector is initialized to the contents of list INITIAL-CONTENTS.

Package

com.google.base.

Source

octet.lisp.

Function: missing-argument ()

Signal an error indicating that an &OPTIONAL or &KEY argument is missing. Use (MISSING-ARGUMENT) as the default value of required &KEY function arguments and as the initform in DEFCLASS and DEFSTRUCT slot definition forms when the slot’s initform must always be supplied to MAKE-INSTANCE.

Package

com.google.base.

Source

error.lisp.

Function: octet-vector (&rest octets)
Package

com.google.base.

Source

octet.lisp.

Function: prefixp (prefix sequence &key test)

Does PREFIX match a prefix of SEQUENCE?

Package

com.google.base.

Source

sequence.lisp.

Function: string-to-utf8-octets (string &key start end)

Convert STRING into an OCTET-VECTOR by UTF-8 encoding each character.

Package

com.google.base.

Source

octet.lisp.

Function: suffixp (suffix sequence &key test)

Does SUFFIX match a suffix of SEQUENCE?

Package

com.google.base.

Source

sequence.lisp.

Function: utf8-octets-to-string (octets &key start end)

Convert OCTETS, a vector of UTF-8 encoded octets, into a string.

Package

com.google.base.

Source

octet.lisp.


5.1.5 Types

Type: int16 ()

A signed 16-bit integer.

Package

com.google.base.

Source

type.lisp.

Type: int32 ()

A signed 32-bit integer.

Package

com.google.base.

Source

type.lisp.

Type: int64 ()

A signed 64-bit integer.

Package

com.google.base.

Source

type.lisp.

Type: int8 ()

A signed 8-bit integer.

Package

com.google.base.

Source

type.lisp.

Type: octet ()
Package

com.google.base.

Source

octet.lisp.

Type: octet-vector (&optional length)
Package

com.google.base.

Source

octet.lisp.

Type: uint16 ()

An unsigned 16-bit integer.

Package

com.google.base.

Source

type.lisp.

Type: uint32 ()

An unsigned 32-bit integer.

Package

com.google.base.

Source

type.lisp.

Type: uint64 ()

An unsigned 64-bit integer.

Package

com.google.base.

Source

type.lisp.

Type: uint8 ()

An unsigned 8-bit integer.

Package

com.google.base.

Source

type.lisp.

Type: vector-index ()

Integer that can be used as a subscript for accessing an array or vector element.

Package

com.google.base.

Source

type.lisp.


Appendix A Indexes


A.1 Concepts


A.4 Data types

Jump to:   C   E   F   I   O   P   S   T   U   V  
Index Entry  Section

C
com.google.base: The com․google․base system
com.google.base: The com․google․base package
com.google.base.asd: The com․google․base/com․google․base․asd file

E
error.lisp: The com․google․base/error․lisp file

F
File, com.google.base.asd: The com․google․base/com․google․base․asd file
File, error.lisp: The com․google․base/error․lisp file
File, octet.lisp: The com․google․base/octet․lisp file
File, optimize.lisp: The com․google․base/optimize․lisp file
File, package.lisp: The com․google․base/package․lisp file
File, sequence.lisp: The com․google․base/sequence․lisp file
File, syntax.lisp: The com․google․base/syntax․lisp file
File, type.lisp: The com․google․base/type․lisp file

I
int16: Public types
int32: Public types
int64: Public types
int8: Public types

O
octet: Public types
octet-vector: Public types
octet.lisp: The com․google․base/octet․lisp file
optimize.lisp: The com․google․base/optimize․lisp file

P
Package, com.google.base: The com․google․base package
package.lisp: The com․google․base/package․lisp file

S
sequence.lisp: The com․google․base/sequence․lisp file
syntax.lisp: The com․google․base/syntax․lisp file
System, com.google.base: The com․google․base system

T
Type, int16: Public types
Type, int32: Public types
Type, int64: Public types
Type, int8: Public types
Type, octet: Public types
Type, octet-vector: Public types
Type, uint16: Public types
Type, uint32: Public types
Type, uint64: Public types
Type, uint8: Public types
Type, vector-index: Public types
type.lisp: The com․google․base/type․lisp file

U
uint16: Public types
uint32: Public types
uint64: Public types
uint8: Public types

V
vector-index: Public types