lists (original) (raw)
| | | OSdata.com | | ---------------------------------------------------------------------------------------------- | | ---------- |
summary
This subchapter looks at lists.
stub section
This subchapter is a stub section. It will be filled in with instructional material later. For now it serves the purpose of a place holder for the order of instruction.
Professors are invited to give feedback on both the proposed contents and the propsed order of this text book. Send commentary to Milo, PO Box 1361, Tustin, California, 92781, USA.
lists
This subchapter looks at lists.
functions
ATOM(x) — LISP predicate function that takes one argument of type s-list and returns whether or not the argument is an atom. ATOM returns T if the argument is an ATOM and returns NIL if the argument is not an atom.
APPEND(x) — LISP function that takes zero or more arguments of type list and creates a list that has those component lists in the designated order. Note in the example of APPEND '((A) (B)) ;((C) (D))) that APPEND returns ((A) (B) (C) (D)) rather than (A B C D).
ARG(x) — LISP function that takes one arguments of type fixed point number (as an index into a list) and extracts the desired argument from a list.
APPLY(x) — LISP function that takes two or three arguments of type function, type argument list, and optional type environ, and applies the designated function to the designated list.
“36 Access types allow the construction of linked data structures. A value of an access type represents a reference to an object declared as aliased or to an object created by the evaluation of an allocator. Several variables of an access type may designate the same object, and components of one object may designate the same or other objects. Both the elements in such linked data structures and their relation to other elements can be altered during program execution. Access types also permit references to subprograms to be stored, passed as parameters, and ultimately dereferenced as part of an indirect call.” —:Ada-Europe’s Ada Reference Manual: Introduction: Language Summary See legal information
“42.1/2 The predefined standard library packages provide facilities such as string manipulation, containers of various kinds (vectors, lists, maps, etc.), mathematical functions, random number generation, and access to the execution environment.” —:Ada-Europe’s Ada Reference Manual: Introduction: Language Summary See legal information
other
“Pointers also require sensible notation. np is just as mnemonic as nodepointer if you consistently use a naming convention from which np means “node pointer” is easily derived.” —Rob Pike, Notes on Programming in C, February 21, 1989
free music player coding example
Coding example: I am making heavily documented and explained open source code for a method to play music for free — almost any song, no subscription fees, no download costs, no advertisements, all completely legal. This is done by building a front-end to YouTube (which checks the copyright permissions for you).
View music player in action: www.musicinpublic.com/.
Create your own copy from the original source code/ (presented for learning programming).
Because I no longer have the computer and software to make PDFs, the book is available as an HTML file, which you can convert into a PDF.
†UNIX used as a generic term unless specifically used as a trademark (such as in the phrase “UNIX certified”). UNIX is a registered trademark in the United States and other countries, licensed exclusively through X/Open Company Ltd.