From b9a54e4f3cce983d9587fc7eb7a87c517681261d Mon Sep 17 00:00:00 2001 From: Ken Elf Mathieu Sternberg Date: Mon, 29 Jun 2015 18:00:31 -0700 Subject: [PATCH] Trying better format --- README.md | 52 ++++++++++++++++------------------------------------ 1 file changed, 16 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index aa87b2a..1109d1f 100644 --- a/README.md +++ b/README.md @@ -18,42 +18,22 @@ contains a pointer to the next pair. Cons lists traditionally end with a cdr object pointing to an empty list. The following functions are provided to create, identify, traverse, and modify cons lists. -nil: An empty list, used as a static sentinel - -cons(): Construct an empty list - -cons(obj): Create a new list of one object - -cons(obj, lst): Append an object to the head of an existing list - -car(lst): Return the contents of the current cell, or nil. - -cdr(lst): Return a reference to the next item in the list, or nil. - -nilp(lst): (Boolean) is list an empty list? - -pairp(obj): (Boolean) is this a object a pair? - -listp(obj): (Boolean) is this object a list? - -list(a, b, ...): Construct a list out of the arguments - -vectorToList(v): Return a cons list given a vector. Recursive: if a -vector is encountered inside v, it will be converted to a cons list. - -listToVector(l): Return a vector given a cons list. Recursive: if -car(l) is itself a cons list, the returned vector will contain an -internal vector at that position. - -setcar(obj, l): Replace the contents of car(l) with obj - -setcdr(obj, l): Replace the contents of cdr(l) with obj - -cadr(lst), cddr(lst), cdar(lst), caar(lst), caddr(lst), cdddr(lst), -cadar(lst), cddar(lst), caadr(lst), cdadr(lst): Common -lisp functions that extend standard list addressing. - -metacadr(string): For more complex addressing, metacadr() can be +* `nil `: An empty list, used as a static sentinel +* `cons() `: Construct an empty list +* `cons(obj)`: Create a new list of one object +* `cons(obj, lst)`: Append an object to the head of an existing list +* `car(lst)`: Return the contents of the current cell, or nil. +* `cdr(lst)`: Return a reference to the next item in the list, or nil. +* `nilp(lst)`: (Boolean) is list an empty list? +* `pairp(obj)`: (Boolean) is this a object a pair? +* `listp(obj)`: (Boolean) is this object a list? +* `list(a, b, ...)`: Construct a list out of the arguments +* `vectorToList(v)`: Return a cons list given a vector. Recursive: if a vector is encountered inside v, it will be converted to a cons list. +* `listToVector(l)`: Return a vector given a cons list. Recursive: if car(l) is itself a cons list, the returned vector will contain an internal vector at that position. +* `setcar(obj, l)`: Replace the contents of car(l) with obj +* `setcdr(obj, l)`: Replace the contents of cdr(l) with obj +* `cadr(lst), cddr(lst), cdar(lst), caar(lst), caddr(lst), cdddr(lst), cadar(lst), cddar(lst), caadr(lst), cdadr(lst)`: Common lisp functions that extend standard list addressing. +* `metacadr(string)`: For more complex addressing, metacadr() can be provided with a string that describes the address desired, and returns the qualifying function. For example, this library does not provide caddddr(), but it can easily be generated: metacadr("caddddr") will