The listoflist Reference Manual

This is the listoflist Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon May 15 05:45:35 2023 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 listoflist

makes listoflist an xarray’able data structure.

Author

AJ Rossini

License

MIT

Dependencies
  • xarray (system).
  • clunit (system).
Source

listoflist.asd.

Child Components

3 Modules

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


3.1 listoflist/src

Source

listoflist.asd.

Parent Component

listoflist (system).

Child Components

3.2 listoflist/unittest

Dependency

src (module).

Source

listoflist.asd.

Parent Component

listoflist (system).

Child Component

unittests.lisp (file).


4 Files

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


4.1 Lisp


4.1.1 listoflist/listoflist.asd

Source

listoflist.asd.

Parent Component

listoflist (system).

ASDF Systems

listoflist.

Packages

listoflist-asd.


4.1.2 listoflist/src/package.lisp

Source

listoflist.asd.

Parent Component

src (module).

Packages

4.1.3 listoflist/src/listoflist.lisp

Dependency

package.lisp (file).

Source

listoflist.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.4 listoflist/unittest/unittests.lisp

Source

listoflist.asd.

Parent Component

unittest (module).


5 Packages

Packages are listed by definition order.


5.1 listoflist-asd

Source

listoflist.asd.

Use List
  • asdf/interface.
  • common-lisp.

5.2 listoflist-unittests

unit-testing structure for LISTOFLIST using LIFT.

Source

package.lisp.

Nicknames
  • listoflist-test
  • lol-unittests
Use List

5.3 listoflist-user

verification, sandbox, and illustration package for LISTOFLIST.

Source

package.lisp.

Nickname

lol-user

Use List

5.4 listoflist

XARRAY support for list-of-list data structures.

Source

package.lisp.

Nickname

lol

Use List
  • common-lisp.
  • xarray.
Used By List
Public Interface
Internals

6 Definitions

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


6.1 Public Interface


6.1.1 Ordinary functions

Function: equal-listoflist (x y)

FIXME: This function, when written, should walk through 2 listoflists and return T/nil based on equality.

Package

listoflist.

Source

listoflist.lisp.

Function: listoflist->array (lol &key type)

From a listoflists structure, make an array.

FIXME: need to verify that the listoflists is a valid structure (same size rows, typing if required, etc.

<example>
(defparameter *mdfl-test*
(list (list ’a 1 2.1)
(list ’b 2 1.1)
(list ’c 1 2.0)
(list ’d 2 3.0)))
(length *mdfl-test*)
(length (elt *mdfl-test* 0))

(defparameter *mdfl-test-dt* (make-datatable-from-listoflists *mdfl-test*)) (array-dimensions *mdfl-test-dt*)
</example>

Package

listoflist.

Source

listoflist.lisp.

Function: listoflistp (lists)

Test for conformance of structure: list whose sublists are of the same size (if ragged is T, then just test that list has elements of type list).

FIXME: should have a flag to verify equivalence of types in case needed to map to a RHO:DATA-FRAME.

Package

listoflist.

Source

listoflist.lisp.

Function: sublists-of-same-size-p (lists)

Take a list of list, and verify that the sublists are all of the same size. returns size-of-sublist if all sublists same size, otherwise nil

Package

listoflist.

Source

listoflist.lisp.

Function: transpose-listoflist (listoflist)

This function does the moral-equivalent of a matrix transpose on a rectangular list-of-lists data structure.

Assumes listoflist is rectangular, need to see what happens if ragged (or at least check). Could use the listoflistp predicate to confirm.

Package

listoflist.

Source

listoflist.lisp.


6.2 Internals


6.2.1 Ordinary functions

Function: array->listoflist (arr &key type)

FIXME: need to write this.

Package

listoflist.

Source

listoflist.lisp.

Function: carray*-lol (dimensions &rest elements)

Return a (simple-array element-type dimensions) containing elements, coerced to element-type, where the elemen-type is obtained using numeric-type-classifier.

Package

listoflist.

Source

listoflist.lisp.

Function: carray-lol (element-type dimensions &rest elements)

Return a (simple-array element-type dimensions) containing elements, coerced to element-type.

Package

listoflist.

Source

listoflist.lisp.

Function: cvector*-lol (&rest elements)

Return a (simple-array element-type (*)) containing elements, coerced to element-type, where the elemen-type is obtained using numeric-type-classifier.

Package

listoflist.

Source

listoflist.lisp.

Function: fill-array-with-list (array list)

Fills array with elements from list, coerced to the appropriate type. No error checking, meant to be used internally. Return array.

Package

listoflist.

Source

listoflist.lisp.

Function: listoflists-dimensions (lol)

We assume row-major, that is each sublist denotes a row, and columns are formed by taking the jth element from each list to form the jth column

Package

listoflist.

Source

listoflist.lisp.

Function: listsoflists-consistent-dimensions-p (&rest list-of-list-names)

Check if the lengths of the lists are equal (T, otherwise NIL), to justify further processing and initial conditions.

Package

listoflist.

Source

listoflist.lisp.

Function: numeric-type-classifier (list)

Numeric type classifier, finds the smallest subtype that can accomodate the elements of list, in the ordering fixnum < integer < float < complex < t. Rational, float (any kind) are classified as double-float, and complex numbers as (complex double-float). Meant to be used by simple array-constructing functions. Upgraded-array-element-type is called on end result.

Package

listoflist.

Source

listoflist.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   A   C   E   F   L   N   S   T  
Index Entry  Section

A
array->listoflist: Private ordinary functions

C
carray*-lol: Private ordinary functions
carray-lol: Private ordinary functions
cvector*-lol: Private ordinary functions

E
equal-listoflist: Public ordinary functions

F
fill-array-with-list: Private ordinary functions
Function, array->listoflist: Private ordinary functions
Function, carray*-lol: Private ordinary functions
Function, carray-lol: Private ordinary functions
Function, cvector*-lol: Private ordinary functions
Function, equal-listoflist: Public ordinary functions
Function, fill-array-with-list: Private ordinary functions
Function, listoflist->array: Public ordinary functions
Function, listoflistp: Public ordinary functions
Function, listoflists-dimensions: Private ordinary functions
Function, listsoflists-consistent-dimensions-p: Private ordinary functions
Function, numeric-type-classifier: Private ordinary functions
Function, sublists-of-same-size-p: Public ordinary functions
Function, transpose-listoflist: Public ordinary functions

L
listoflist->array: Public ordinary functions
listoflistp: Public ordinary functions
listoflists-dimensions: Private ordinary functions
listsoflists-consistent-dimensions-p: Private ordinary functions

N
numeric-type-classifier: Private ordinary functions

S
sublists-of-same-size-p: Public ordinary functions

T
transpose-listoflist: Public ordinary functions


A.3 Variables