The postmodernity Reference Manual

Table of Contents

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

The postmodernity Reference Manual

This is the postmodernity Reference Manual, version 0.0.2, generated automatically by Declt version 2.3 "Robert April" on Wed Mar 14 04:26:02 2018 GMT+0.


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

1 Introduction

postmodernity

Postmodernity is a utility library for the Common Lisp Postmodern library.

Postmodernity provides the DEFPGSTRUCT macro to define a Common Lisp structure and corresponding Postmodern row reader. DEFPGSTRUCT is not intended to provide a structure-based alternative to Postmodern's data access objects but, rather, an alternative to list and alist row readers.

Based on the structure name, DEFPGSTRUCT also creates keyword symbols and adds them to POSTMODERN::*RESULT-STYLES* so that they can be used as result format arguments to POSTMODERN:QUERY, POSTMODERN:PREPARE, POSTMODERN:DEFPREPARED, and POSTMODERN:DEFPREPARED-WITH-NAMES. Note that, in doing so, DEFPGSTRUCT accesses unexported symbols from the POSTMODERN package.

Postmodernity depends on Postmodern and Alexandria. Postmodernity is being developed with SBCL, CCL, and LispWorks on OS X. Postmodernity is being deployed with SBCL on Linux/AMD64.

Installation

(ql:quickload "postmodernity")

Example

(postmodernity:defpgstruct site
  no
  name
  address
  (age #'(lambda (string)
           (ignore-errors (parse-integer string
                                         :junk-allowed t)))))

(postmodern:defprepared-with-names select-site (no)
  ((:select 'no 'name 'address 'age :from 'site :where (:= 'no '$1))
   no)
  :site)

(postmodern:defprepared-with-names select-site! (no)
  ((:select 'no 'name 'address 'age :from 'site :where (:= 'no '$1))
   no)
  :site!)

(postmodern:defprepared select-all-sites
  (:select 'no 'name 'address 'age :from 'site)
  :sites)

License

Postmodernity is distributed under the MIT license. See LICENSE.


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

2 Systems

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


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

2.1 postmodernity

Author

Michael J. Forster <mike@forsterfamily.ca>

License

MIT

Description

Utility library for the Common Lisp Postmodern library

Version

0.0.2

Dependencies
Source

postmodernity.asd (file)

Components

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

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

3.1.1 postmodernity.asd

Location

postmodernity.asd

Systems

postmodernity (system)


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

3.1.2 postmodernity/package.lisp

Parent

postmodernity (system)

Location

package.lisp

Packages

postmodernity


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

3.1.3 postmodernity/postmodernity.lisp

Dependency

package.lisp (file)

Parent

postmodernity (system)

Location

postmodernity.lisp

Exported Definitions

defpgstruct (macro)

Internal Definitions

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

4 Packages

Packages are listed by definition order.


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

4.1 postmodernity

Source

package.lisp (file)

Use List

common-lisp

Exported Definitions

defpgstruct (macro)

Internal Definitions

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

5 Definitions

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


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

5.1 Exported definitions


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

5.1.1 Macros

Macro: defpgstruct STRUCTURE-NAME &body SLOT-SPECS

Defines a structured type, named /structure-type/, with named slots as specified by /slot-specs/ and defines a Postmodern row reader named /structure-name/-ROW-READER.

DEFPGSTRUCT creates and adds to POSTMODERN::*RESULT-STYLES* the keywords named structure-name and by concatenating with S and !. Those keywords can be used as result format arguments to POSTMODERN:QUERY, POSTMODERN:PREPARE, POSTMODERN:DEFPREPARED, and POSTMODERN:DEFPREPARED-WITH-NAMES. Note that, in doing so, DEFPGSTRUCT accesses unexported symbols from the POSTMODERN package.

/structure-name/ must be a symbol, like a Common Lisp structure /structure-name/ rather than a Common Lisp structure /name-and-options/.

Each /slot-spec/ must be either a symbol specifying the slot name or a list of a symbol specifying the slot name and a desginator for a function to read and convert the PostgreSQL string value when initializing the slot value. If /slot-spec/ is a symbol, the slot value will be initialized to the PostgreSQL string value.

Package

postmodernity

Source

postmodernity.lisp (file)


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

5.2 Internal definitions


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

5.2.1 Functions

Function: add-result-style STYLE-NAME ROW-READER-NAME RESULT-NAME
Package

postmodernity

Source

postmodernity.lisp (file)

Function: make-all-rows-name STRUCTURE-NAME
Package

postmodernity

Source

postmodernity.lisp (file)

Function: make-constructor-argument-form SLOT-SPEC FIELDS I
Package

postmodernity

Source

postmodernity.lisp (file)

Function: make-constructor-argument-keyword SLOT-SPEC
Package

postmodernity

Source

postmodernity.lisp (file)

Function: make-default-constructor-name STRUCTURE-NAME
Package

postmodernity

Source

postmodernity.lisp (file)

Function: make-row-reader-name STRUCTURE-NAME
Package

postmodernity

Source

postmodernity.lisp (file)

Function: make-single-row!-name STRUCTURE-NAME
Package

postmodernity

Source

postmodernity.lisp (file)

Function: make-single-row-name STRUCTURE-NAME
Package

postmodernity

Source

postmodernity.lisp (file)

Function: make-slot-description SLOT-SPEC
Package

postmodernity

Source

postmodernity.lisp (file)

Function: slot-spec-name SLOT-SPEC
Package

postmodernity

Source

postmodernity.lisp (file)

Function: slot-spec-reader SLOT-SPEC
Package

postmodernity

Source

postmodernity.lisp (file)


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

Appendix A Indexes


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

A.1 Concepts

Jump to:   F   L   P  
Index Entry  Section

F
File, Lisp, postmodernity.asd: The postmodernity<dot>asd file
File, Lisp, postmodernity/package.lisp: The postmodernity/package<dot>lisp file
File, Lisp, postmodernity/postmodernity.lisp: The postmodernity/postmodernity<dot>lisp file

L
Lisp File, postmodernity.asd: The postmodernity<dot>asd file
Lisp File, postmodernity/package.lisp: The postmodernity/package<dot>lisp file
Lisp File, postmodernity/postmodernity.lisp: The postmodernity/postmodernity<dot>lisp file

P
postmodernity.asd: The postmodernity<dot>asd file
postmodernity/package.lisp: The postmodernity/package<dot>lisp file
postmodernity/postmodernity.lisp: The postmodernity/postmodernity<dot>lisp file

Jump to:   F   L   P  

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

A.2 Functions

Jump to:   A   D   F   M   S  
Index Entry  Section

A
add-result-style: Internal functions

D
defpgstruct: Exported macros

F
Function, add-result-style: Internal functions
Function, make-all-rows-name: Internal functions
Function, make-constructor-argument-form: Internal functions
Function, make-constructor-argument-keyword: Internal functions
Function, make-default-constructor-name: Internal functions
Function, make-row-reader-name: Internal functions
Function, make-single-row!-name: Internal functions
Function, make-single-row-name: Internal functions
Function, make-slot-description: Internal functions
Function, slot-spec-name: Internal functions
Function, slot-spec-reader: Internal functions

M
Macro, defpgstruct: Exported macros
make-all-rows-name: Internal functions
make-constructor-argument-form: Internal functions
make-constructor-argument-keyword: Internal functions
make-default-constructor-name: Internal functions
make-row-reader-name: Internal functions
make-single-row!-name: Internal functions
make-single-row-name: Internal functions
make-slot-description: Internal functions

S
slot-spec-name: Internal functions
slot-spec-reader: Internal functions

Jump to:   A   D   F   M   S  

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

A.3 Variables


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

A.4 Data types

Jump to:   P   S  
Index Entry  Section

P
Package, postmodernity: The postmodernity package
postmodernity: The postmodernity system
postmodernity: The postmodernity package

S
System, postmodernity: The postmodernity system

Jump to:   P   S