The ia-hash-table Reference Manual

Table of Contents

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

The ia-hash-table Reference Manual

This is the ia-hash-table Reference Manual, version 0.2.1, generated automatically by Declt version 2.3 "Robert April" on Wed Mar 14 04:04:14 2018 GMT+0.


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

1 Introduction

IA-HASH-TABLE Build Status Coverage Status

Examples


CL-USER> (defvar ht (ia-hash-table:make-ia-hash-table))
HT
CL-USER> (setf (gethash "qwe" ht) 1)
1
CL-USER> (gethash :qwe ht)
1
T
(enable-ia-syntax)

(defparameter response (alist-ia-hash-table '(("name" . "John Smith")
                                              ("age" . 34)
                                              ("city" . "New York")
                                              ("account" . (("checking" . 36223)
                                                            ("saving" . 468300))))))

>> #Iresponse.name
"John Smith"

>> #Iresponse.account.saving
468300

>> #Iresponse.address
NIL

>> #Iresponse.address.state
The value NIL is not of type HASH-TABLE.

>> #Iresponse.address?.state
NIL

;; or even
(defparameter nil-response nil)

>> #Inil-response?.account.saving
NIL

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 ia-hash-table

Author

Ilya Khaprov <ilya.kharpov@publitechs.com>

License

MIT

Description

Main purpose is to be able to use strings as real keys but do gethash with symbols and vice versa.
Can be useful for things like http headers parsing (no more intern leaks), json apis with/without https://github.com/AccelerationNet/access. Only tested on SBCL. Expected to work on Allegro, CCL and LW.
Also provides nil safe dot syntax

Version

0.2.1

Dependencies
Source

ia-hash-table.asd (file)

Component

src (module)


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

3 Modules

Modules are listed depth-first from the system components tree.


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

3.1 ia-hash-table/src

Parent

ia-hash-table (system)

Location

src/

Components

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

4 Files

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


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

4.1 Lisp


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

4.1.1 ia-hash-table.asd

Location

ia-hash-table.asd

Systems

ia-hash-table (system)


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

4.1.2 ia-hash-table/src/package.lisp

Parent

src (module)

Location

src/package.lisp

Packages

ia-hash-table


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

4.1.3 ia-hash-table/src/ia-hash-table.lisp

Dependency

package.lisp (file)

Parent

src (module)

Location

src/ia-hash-table.lisp

Exported Definitions
Internal Definitions

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

4.1.4 ia-hash-table/src/reader.lisp

Dependency

ia-hash-table.lisp (file)

Parent

src (module)

Location

src/reader.lisp

Exported Definitions
Internal Definitions

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

5 Packages

Packages are listed by definition order.


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

5.1 ia-hash-table

Source

package.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

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

6 Definitions

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


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

6.1 Exported definitions


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

6.1.1 Macros

Macro: disable-ia-syntax ()
Package

ia-hash-table

Source

reader.lisp (file)

Macro: enable-ia-syntax ()
Package

ia-hash-table

Source

reader.lisp (file)


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

6.1.2 Functions

Function: alist-ia-hash-table ALIST &rest HASH-TABLE-INITARGS

Adopted version of alexandria:alist-hash-table

Package

ia-hash-table

Source

ia-hash-table.lisp (file)

Function: make-ia-hash-table &rest OPTIONS
Package

ia-hash-table

Source

ia-hash-table.lisp (file)

Function: plist-ia-hash-table PLIST &rest HASH-TABLE-INITARGS

Adopted version of alexandria:plist-hash-table

Package

ia-hash-table

Source

ia-hash-table.lisp (file)

Function: string-equalp F1 F2
Package

ia-hash-table

Source

ia-hash-table.lisp (file)

Function: string-sxhash F
Package

ia-hash-table

Source

ia-hash-table.lisp (file)


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

6.2 Internal definitions


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

6.2.1 Special variables

Special Variable: *previous-readtables*

A stack which holds the previous readtables that have been pushed here by ENABLE-IA-SYNTAX.

Package

ia-hash-table

Source

reader.lisp (file)


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

6.2.2 Functions

Function: %disable-ia-syntax ()

Internal function used to restore previous readtable.

Package

ia-hash-table

Source

reader.lisp (file)

Function: %enable-ia-syntax ()
Package

ia-hash-table

Source

reader.lisp (file)

Function: deep-alist-ia-hash-table VALUE HASH-TABLE-INITARGS
Package

ia-hash-table

Source

ia-hash-table.lisp (file)

Function: gen-get-deep-hash HT KEYS
Package

ia-hash-table

Source

reader.lisp (file)

Function: gen-get-deep-hash-nullables HT KEYS
Package

ia-hash-table

Source

reader.lisp (file)

Function: gen-get-deep-hash-w/o-nullables HT KEYS
Package

ia-hash-table

Source

reader.lisp (file)

Function: have-nullable-p KEYS
Package

ia-hash-table

Source

reader.lisp (file)

Function: ia-syntax-reader STREAM CHAR ARG
Package

ia-hash-table

Source

reader.lisp (file)

Function: list-is-alist LIST
Package

ia-hash-table

Source

ia-hash-table.lisp (file)

Function: parse-key KEY
Package

ia-hash-table

Source

reader.lisp (file)

Function: process-?. KEYS
Package

ia-hash-table

Source

reader.lisp (file)

Function: process-elt-key KEY
Package

ia-hash-table

Source

reader.lisp (file)

Function: safe-aref VECTOR INDEX
Package

ia-hash-table

Source

reader.lisp (file)


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

6.2.3 Types

Type: alist ()
Package

ia-hash-table

Source

ia-hash-table.lisp (file)


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

Appendix A Indexes


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

A.1 Concepts

Jump to:   F   I   L   M  
Index Entry  Section

F
File, Lisp, ia-hash-table.asd: The ia-hash-table<dot>asd file
File, Lisp, ia-hash-table/src/ia-hash-table.lisp: The ia-hash-table/src/ia-hash-table<dot>lisp file
File, Lisp, ia-hash-table/src/package.lisp: The ia-hash-table/src/package<dot>lisp file
File, Lisp, ia-hash-table/src/reader.lisp: The ia-hash-table/src/reader<dot>lisp file

I
ia-hash-table.asd: The ia-hash-table<dot>asd file
ia-hash-table/src: The ia-hash-table/src module
ia-hash-table/src/ia-hash-table.lisp: The ia-hash-table/src/ia-hash-table<dot>lisp file
ia-hash-table/src/package.lisp: The ia-hash-table/src/package<dot>lisp file
ia-hash-table/src/reader.lisp: The ia-hash-table/src/reader<dot>lisp file

L
Lisp File, ia-hash-table.asd: The ia-hash-table<dot>asd file
Lisp File, ia-hash-table/src/ia-hash-table.lisp: The ia-hash-table/src/ia-hash-table<dot>lisp file
Lisp File, ia-hash-table/src/package.lisp: The ia-hash-table/src/package<dot>lisp file
Lisp File, ia-hash-table/src/reader.lisp: The ia-hash-table/src/reader<dot>lisp file

M
Module, ia-hash-table/src: The ia-hash-table/src module

Jump to:   F   I   L   M  

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

A.2 Functions

Jump to:   %  
A   D   E   F   G   H   I   L   M   P   S  
Index Entry  Section

%
%disable-ia-syntax: Internal functions
%enable-ia-syntax: Internal functions

A
alist-ia-hash-table: Exported functions

D
deep-alist-ia-hash-table: Internal functions
disable-ia-syntax: Exported macros

E
enable-ia-syntax: Exported macros

F
Function, %disable-ia-syntax: Internal functions
Function, %enable-ia-syntax: Internal functions
Function, alist-ia-hash-table: Exported functions
Function, deep-alist-ia-hash-table: Internal functions
Function, gen-get-deep-hash: Internal functions
Function, gen-get-deep-hash-nullables: Internal functions
Function, gen-get-deep-hash-w/o-nullables: Internal functions
Function, have-nullable-p: Internal functions
Function, ia-syntax-reader: Internal functions
Function, list-is-alist: Internal functions
Function, make-ia-hash-table: Exported functions
Function, parse-key: Internal functions
Function, plist-ia-hash-table: Exported functions
Function, process-?.: Internal functions
Function, process-elt-key: Internal functions
Function, safe-aref: Internal functions
Function, string-equalp: Exported functions
Function, string-sxhash: Exported functions

G
gen-get-deep-hash: Internal functions
gen-get-deep-hash-nullables: Internal functions
gen-get-deep-hash-w/o-nullables: Internal functions

H
have-nullable-p: Internal functions

I
ia-syntax-reader: Internal functions

L
list-is-alist: Internal functions

M
Macro, disable-ia-syntax: Exported macros
Macro, enable-ia-syntax: Exported macros
make-ia-hash-table: Exported functions

P
parse-key: Internal functions
plist-ia-hash-table: Exported functions
process-?.: Internal functions
process-elt-key: Internal functions

S
safe-aref: Internal functions
string-equalp: Exported functions
string-sxhash: Exported functions

Jump to:   %  
A   D   E   F   G   H   I   L   M   P   S  

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

A.3 Variables

Jump to:   *  
S  
Index Entry  Section

*
*previous-readtables*: Internal special variables

S
Special Variable, *previous-readtables*: Internal special variables

Jump to:   *  
S  

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

A.4 Data types

Jump to:   A   I   P   S   T  
Index Entry  Section

A
alist: Internal types

I
ia-hash-table: The ia-hash-table system
ia-hash-table: The ia-hash-table package

P
Package, ia-hash-table: The ia-hash-table package

S
System, ia-hash-table: The ia-hash-table system

T
Type, alist: Internal types

Jump to:   A   I   P   S   T