The yah Reference Manual

This is the yah Reference Manual, version 0.0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 18:19:20 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 yah

Yet Another Heap

Author

Thomas Bartscher <>

License

BSD-3

Version

0.0.1

Dependency

mgl-pax (system).

Source

yah.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 yah/yah.asd

Source

yah.asd.

Parent Component

yah (system).

ASDF Systems

yah.


3.1.2 yah/package.lisp

Source

yah.asd.

Parent Component

yah (system).

Packages

yah.

Internals

3.1.3 yah/yah.lisp

Dependency

package.lisp (file).

Source

yah.asd.

Parent Component

yah (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 yah

Source

package.lisp.

Use List
  • common-lisp.
  • mgl-pax.
Public Interface
Internals

5 Definitions

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


5.1 Public Interface


5.1.1 Ordinary functions

Function: change-key! (heap finger key)

Changes the key of ‘FINGER‘ in ‘HEAP‘ to ‘KEY‘.

Package

yah.

Source

yah.lisp.

Function: delete! (heap finger)

Remove ‘FINGER‘ from ‘HEAP‘.

Package

yah.

Source

yah.lisp.

Function: empty-heap? (heap)

Returns ‘T‘ if ‘HEAP‘ is empty, and ‘NIL‘ otherwise.

Package

yah.

Source

yah.lisp.

Function: extract! (heap)

Pop the top element from the ‘HEAP‘, according to the heap’s
predicate. Returns two values: The value and the key of the popped element.

Fails if ‘HEAP‘ is empty.

Package

yah.

Source

yah.lisp.

Function: extract-insert! (heap key value)

First pop the top element of ‘HEAP‘, then insert ‘VALUE‘ at ‘KEY‘. Returns two values: The value and the key of the popped element.

Fails if ‘HEAP‘ is empty.

Package

yah.

Source

yah.lisp.

Function: insert! (heap key value)

Add ‘VALUE‘ with at ‘KEY‘ into the ‘HEAP‘. Returns a finger to the resulting entry in the heap.

Package

yah.

Source

yah.lisp.

Function: insert-extract! (heap key value)

Insert ‘VALUE‘ at ‘KEY‘ into ‘HEAP‘, then immediately pop the top element.

Package

yah.

Source

yah.lisp.

Function: make-heap (predicate)

Makes a heap sorting by predicate ‘PREDICATE‘. This means that if there are two values with keys A and B on the heap, if ‘(funcall predicate a b)‘ is true, A will be popped off the heap before B.

Package

yah.

Source

yah.lisp.

Function: peek (heap)

Returns two values: The value and the key of the top element of the ‘HEAP‘.

Package

yah.

Source

yah.lisp.


5.1.2 Classes

Class: finger
Package

yah.

Source

yah.lisp.

Direct methods
Direct slots
Slot: %key
Initargs

:key

Readers

key<-.

Writers

(setf key<-).

Slot: %value
Initargs

:value

Readers

value<-.

Writers

(setf value<-).

Slot: %index
Initargs

:index

Readers

index<-.

Writers

(setf index<-).

Class: heap
Package

yah.

Source

yah.lisp.

Direct methods
Direct slots
Slot: %content
Type

(array yah:finger 1)

Initform

(make-array 0 :element-type (quote yah:finger) :adjustable t :fill-pointer t)

Readers

content<-.

Writers

This slot is read-only.

Slot: %predicate
Type

function

Initargs

:predicate

Readers

predicate<-.

Writers

This slot is read-only.


5.2 Internals


5.2.1 Special variables

Special Variable: @yah
Package

yah.

Source

package.lisp.


5.2.2 Ordinary functions

Function: heap-down! (heap i)
Package

yah.

Source

yah.lisp.

Function: heap-up! (heap i)
Package

yah.

Source

yah.lisp.

Function: write-readme (&optional file)
Package

yah.

Source

package.lisp.


5.2.3 Generic functions

Generic Reader: content<- (object)
Package

yah.

Methods
Reader Method: content<- ((heap heap))

automatically generated reader method

Source

yah.lisp.

Target Slot

%content.

Generic Reader: index<- (object)
Package

yah.

Methods
Reader Method: index<- ((finger finger))

automatically generated reader method

Source

yah.lisp.

Target Slot

%index.

Generic Writer: (setf index<-) (object)
Package

yah.

Methods
Writer Method: (setf index<-) ((finger finger))

automatically generated writer method

Source

yah.lisp.

Target Slot

%index.

Generic Reader: key<- (object)
Package

yah.

Methods
Reader Method: key<- ((finger finger))

automatically generated reader method

Source

yah.lisp.

Target Slot

%key.

Generic Writer: (setf key<-) (object)
Package

yah.

Methods
Writer Method: (setf key<-) ((finger finger))

automatically generated writer method

Source

yah.lisp.

Target Slot

%key.

Generic Reader: predicate<- (object)
Package

yah.

Methods
Reader Method: predicate<- ((heap heap))

automatically generated reader method

Source

yah.lisp.

Target Slot

%predicate.

Generic Reader: value<- (object)
Package

yah.

Methods
Reader Method: value<- ((finger finger))

automatically generated reader method

Source

yah.lisp.

Target Slot

%value.

Generic Writer: (setf value<-) (object)
Package

yah.

Methods
Writer Method: (setf value<-) ((finger finger))

automatically generated writer method

Source

yah.lisp.

Target Slot

%value.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
C   D   E   F   G   H   I   K   M   P   V   W  
Index Entry  Section

(
(setf index<-): Private generic functions
(setf index<-): Private generic functions
(setf key<-): Private generic functions
(setf key<-): Private generic functions
(setf value<-): Private generic functions
(setf value<-): Private generic functions

C
change-key!: Public ordinary functions
content<-: Private generic functions
content<-: Private generic functions

D
delete!: Public ordinary functions

E
empty-heap?: Public ordinary functions
extract!: Public ordinary functions
extract-insert!: Public ordinary functions

F
Function, change-key!: Public ordinary functions
Function, delete!: Public ordinary functions
Function, empty-heap?: Public ordinary functions
Function, extract!: Public ordinary functions
Function, extract-insert!: Public ordinary functions
Function, heap-down!: Private ordinary functions
Function, heap-up!: Private ordinary functions
Function, insert!: Public ordinary functions
Function, insert-extract!: Public ordinary functions
Function, make-heap: Public ordinary functions
Function, peek: Public ordinary functions
Function, write-readme: Private ordinary functions

G
Generic Function, (setf index<-): Private generic functions
Generic Function, (setf key<-): Private generic functions
Generic Function, (setf value<-): Private generic functions
Generic Function, content<-: Private generic functions
Generic Function, index<-: Private generic functions
Generic Function, key<-: Private generic functions
Generic Function, predicate<-: Private generic functions
Generic Function, value<-: Private generic functions

H
heap-down!: Private ordinary functions
heap-up!: Private ordinary functions

I
index<-: Private generic functions
index<-: Private generic functions
insert!: Public ordinary functions
insert-extract!: Public ordinary functions

K
key<-: Private generic functions
key<-: Private generic functions

M
make-heap: Public ordinary functions
Method, (setf index<-): Private generic functions
Method, (setf key<-): Private generic functions
Method, (setf value<-): Private generic functions
Method, content<-: Private generic functions
Method, index<-: Private generic functions
Method, key<-: Private generic functions
Method, predicate<-: Private generic functions
Method, value<-: Private generic functions

P
peek: Public ordinary functions
predicate<-: Private generic functions
predicate<-: Private generic functions

V
value<-: Private generic functions
value<-: Private generic functions

W
write-readme: Private ordinary functions