1874 lines
47 KiB
HTML
1874 lines
47 KiB
HTML
|
|
<!DOCTYPE HTML>
|
|
<html lang="" >
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
|
|
<title>Data Aggregation and Analysis · Learn Lisp The Hard Way</title>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
<meta name="description" content="">
|
|
<meta name="generator" content="GitBook 3.2.3">
|
|
<meta name="author" content=""the Phoeron" Colin J.E. Lupton">
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="gitbook/style.css">
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="gitbook/gitbook-plugin-hints/plugin-hints.css">
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="gitbook/gitbook-plugin-folding-chapters/folding-chapters.css">
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<meta name="HandheldFriendly" content="true"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
|
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
|
|
<link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
|
|
|
|
|
|
<link rel="next" href="3-11-00-cryptosec.html" />
|
|
|
|
|
|
<link rel="prev" href="3-09-00-audio.html" />
|
|
|
|
|
|
</head>
|
|
<body>
|
|
|
|
<div class="book">
|
|
<div class="book-summary">
|
|
|
|
|
|
<div id="book-search-input" role="search">
|
|
<input type="text" placeholder="Type to search" />
|
|
</div>
|
|
|
|
|
|
<nav role="navigation">
|
|
|
|
|
|
|
|
<ul class="summary">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="header">LEARN LISP THE HARD WAY</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="1.1" data-path="./">
|
|
|
|
<a href="index.html">
|
|
|
|
|
|
Second Draft (in-progress)
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="1.2" data-path="CHANGELOG.html">
|
|
|
|
<a href="CHANGELOG.html">
|
|
|
|
|
|
CHANGELOG
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="1.3" data-path="TODO.html">
|
|
|
|
<a href="TODO.html">
|
|
|
|
|
|
TODO
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="header">PREFACE</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="2.1" data-path="preface.html">
|
|
|
|
<a href="preface.html">
|
|
|
|
|
|
TANSTAAFL
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.2" data-path="preface-part-two.html">
|
|
|
|
<a href="preface-part-two.html">
|
|
|
|
|
|
The Hard Way is Easier
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.3" data-path="preface-part-three.html">
|
|
|
|
<a href="preface-part-three.html">
|
|
|
|
|
|
Who Is This Book For?
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.4" data-path="introduction.html">
|
|
|
|
<a href="introduction.html">
|
|
|
|
|
|
Lisp: A Future History
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="2.5" data-path="acknowledgements.html">
|
|
|
|
<a href="acknowledgements.html">
|
|
|
|
|
|
Acknowledgements
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="header">PART ONE</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="3.1" data-path="1-0-0-overview.html">
|
|
|
|
<a href="1-0-0-overview.html">
|
|
|
|
|
|
Grokking Lisp
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="3.1.1" data-path="1-01-00-lisp-bootcamp.html">
|
|
|
|
<a href="1-01-00-lisp-bootcamp.html">
|
|
|
|
|
|
Common Lisp Bootcamp
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="3.1.1.1" data-path="1-01-01-syntax-overview.html">
|
|
|
|
<a href="1-01-01-syntax-overview.html">
|
|
|
|
|
|
Syntax Overview in 5 Minutes
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.1.2" data-path="1-01-02-repl.html">
|
|
|
|
<a href="1-01-02-repl.html">
|
|
|
|
|
|
The REPL
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.1.3" data-path="1-01-03-expressions.html">
|
|
|
|
<a href="1-01-03-expressions.html">
|
|
|
|
|
|
Expressions, Parentheses, and Return Values
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.1.4" data-path="1-01-04-lists-cons-cells.html">
|
|
|
|
<a href="1-01-04-lists-cons-cells.html">
|
|
|
|
|
|
Lists, Cons-Cells, and Memory
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.1.5" data-path="1-01-05-symbols.html">
|
|
|
|
<a href="1-01-05-symbols.html">
|
|
|
|
|
|
Symbols and Namespaces
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.1.6" data-path="1-01-06-prefix-notation.html">
|
|
|
|
<a href="1-01-06-prefix-notation.html">
|
|
|
|
|
|
Prefix Notation
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.1.7" data-path="1-01-07-style-guide.html">
|
|
|
|
<a href="1-01-07-style-guide.html">
|
|
|
|
|
|
Common Lisp Style Guide
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.1.8" data-path="1-01-08-configuration.html">
|
|
|
|
<a href="1-01-08-configuration.html">
|
|
|
|
|
|
Configuring Your Development Environment
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2" data-path="1-02-00-input-output.html">
|
|
|
|
<a href="1-02-00-input-output.html">
|
|
|
|
|
|
Printing, Streams, and Strings
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="3.1.2.1" data-path="1-02-01-strings.html">
|
|
|
|
<a href="1-02-01-strings.html">
|
|
|
|
|
|
Strings
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.2" data-path="1-02-02-more-strings.html">
|
|
|
|
<a href="1-02-02-more-strings.html">
|
|
|
|
|
|
More Strings
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.3" data-path="1-02-03-unicode.html">
|
|
|
|
<a href="1-02-03-unicode.html">
|
|
|
|
|
|
Unicode and Strings
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.4" data-path="1-02-04-chars.html">
|
|
|
|
<a href="1-02-04-chars.html">
|
|
|
|
|
|
Characters
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.5" data-path="1-02-05-more-chars.html">
|
|
|
|
<a href="1-02-05-more-chars.html">
|
|
|
|
|
|
More Characters
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.6" data-path="1-02-06-char-codes.html">
|
|
|
|
<a href="1-02-06-char-codes.html">
|
|
|
|
|
|
Character Codes
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.7" data-path="1-02-07-strings-from-chars.html">
|
|
|
|
<a href="1-02-07-strings-from-chars.html">
|
|
|
|
|
|
Strings from Chars
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.8" data-path="1-02-08-printing.html">
|
|
|
|
<a href="1-02-08-printing.html">
|
|
|
|
|
|
Printing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.9" data-path="1-02-09-more-printing.html">
|
|
|
|
<a href="1-02-09-more-printing.html">
|
|
|
|
|
|
More Printing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.10" data-path="1-02-10-prin1.html">
|
|
|
|
<a href="1-02-10-prin1.html">
|
|
|
|
|
|
Printing With prin1
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.11" data-path="1-02-11-princ.html">
|
|
|
|
<a href="1-02-11-princ.html">
|
|
|
|
|
|
Printing With princ
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.12" data-path="1-02-12-format.html">
|
|
|
|
<a href="1-02-12-format.html">
|
|
|
|
|
|
A Brief Introduction to Format
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.13" data-path="1-02-13-more-format.html">
|
|
|
|
<a href="1-02-13-more-format.html">
|
|
|
|
|
|
A Little Bit More on Format
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.14" data-path="1-02-14-pathnames.html">
|
|
|
|
<a href="1-02-14-pathnames.html">
|
|
|
|
|
|
Pathnames
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.15" data-path="1-02-15-streams.html">
|
|
|
|
<a href="1-02-15-streams.html">
|
|
|
|
|
|
Streams
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.16" data-path="1-02-16-file-streams.html">
|
|
|
|
<a href="1-02-16-file-streams.html">
|
|
|
|
|
|
File Streams
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.17" data-path="1-02-17-binary-streams.html">
|
|
|
|
<a href="1-02-17-binary-streams.html">
|
|
|
|
|
|
Binary Streams
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.18" data-path="1-02-18-prompting-users.html">
|
|
|
|
<a href="1-02-18-prompting-users.html">
|
|
|
|
|
|
Prompting Users
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.2.19" data-path="1-02-19-pretty-printing.html">
|
|
|
|
<a href="1-02-19-pretty-printing.html">
|
|
|
|
|
|
Pretty-Printing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.3" data-path="1-03-0-getting-input-from-users.html">
|
|
|
|
<a href="1-03-0-getting-input-from-users.html">
|
|
|
|
|
|
Extra Credit: Getting Input from Users
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.4" data-path="1-04-0-lists.html">
|
|
|
|
<a href="1-04-0-lists.html">
|
|
|
|
|
|
Lists and List-Operations
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.5" data-path="1-05-0-lookups-trees.html">
|
|
|
|
<a href="1-05-0-lookups-trees.html">
|
|
|
|
|
|
Extra Credit: Look-up Lists and Trees
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6" data-path="1-06-0-math.html">
|
|
|
|
<a href="1-06-0-math.html">
|
|
|
|
|
|
Numbers and Math
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="3.1.6.1" data-path="1-06-01-integers.html">
|
|
|
|
<a href="1-06-01-integers.html">
|
|
|
|
|
|
Integers
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.2" data-path="1-06-02-more-integers.html">
|
|
|
|
<a href="1-06-02-more-integers.html">
|
|
|
|
|
|
More Integers
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.3" data-path="1-06-03-hexadecimal-notation.html">
|
|
|
|
<a href="1-06-03-hexadecimal-notation.html">
|
|
|
|
|
|
Hexadecimal Integer Notation
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.4" data-path="1-06-04-octal-notation.html">
|
|
|
|
<a href="1-06-04-octal-notation.html">
|
|
|
|
|
|
Octal Integer Notation
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.5" data-path="1-06-05-binary-notation.html">
|
|
|
|
<a href="1-06-05-binary-notation.html">
|
|
|
|
|
|
Binary Integer Notation
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.6" data-path="1-06-06-ratios.html">
|
|
|
|
<a href="1-06-06-ratios.html">
|
|
|
|
|
|
Ratios and Rational Numbers
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.7" data-path="1-06-07-floating-point.html">
|
|
|
|
<a href="1-06-07-floating-point.html">
|
|
|
|
|
|
Floating-point Numbers
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.8" data-path="1-06-08-constants.html">
|
|
|
|
<a href="1-06-08-constants.html">
|
|
|
|
|
|
Numeric Constants
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.9" data-path="1-06-09-complex-numbers.html">
|
|
|
|
<a href="1-06-09-complex-numbers.html">
|
|
|
|
|
|
Complex Numbers
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.10" data-path="1-06-10-arithmetic.html">
|
|
|
|
<a href="1-06-10-arithmetic.html">
|
|
|
|
|
|
Arithmetic
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.11" data-path="1-06-11-more-arithmetic.html">
|
|
|
|
<a href="1-06-11-more-arithmetic.html">
|
|
|
|
|
|
More Arithmetic
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.12" data-path="1-06-12-even-more-arithmetic.html">
|
|
|
|
<a href="1-06-12-even-more-arithmetic.html">
|
|
|
|
|
|
Even More Arithmetic
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.13" data-path="1-06-13-exponents.html">
|
|
|
|
<a href="1-06-13-exponents.html">
|
|
|
|
|
|
Exponents
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.14" data-path="1-06-14-logarithms.html">
|
|
|
|
<a href="1-06-14-logarithms.html">
|
|
|
|
|
|
Logarithms
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.15" data-path="1-06-15-trigonometry.html">
|
|
|
|
<a href="1-06-15-trigonometry.html">
|
|
|
|
|
|
Trigonometry
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.6.16" data-path="1-06-16-psuedorandom-numbers.html">
|
|
|
|
<a href="1-06-16-psuedorandom-numbers.html">
|
|
|
|
|
|
Pseudo-Random Numbers
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.7" data-path="1-07-0-arrays.html">
|
|
|
|
<a href="1-07-0-arrays.html">
|
|
|
|
|
|
Extra Credit: Arrays and Vectors
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.8" data-path="1-08-0-variables.html">
|
|
|
|
<a href="1-08-0-variables.html">
|
|
|
|
|
|
Variables, Parameters, and Constants
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.9" data-path="1-09-0-closures.html">
|
|
|
|
<a href="1-09-0-closures.html">
|
|
|
|
|
|
Extra Credit: Closures
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.10" data-path="1-10-0-functions.html">
|
|
|
|
<a href="1-10-0-functions.html">
|
|
|
|
|
|
Functions and Macros
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.11" data-path="1-11-0-text-adventure.html">
|
|
|
|
<a href="1-11-0-text-adventure.html">
|
|
|
|
|
|
Extra Credit: A Simple Text Adventure
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.12" data-path="1-12-0-namespaces.html">
|
|
|
|
<a href="1-12-0-namespaces.html">
|
|
|
|
|
|
Namespaces, Symbols, Packages, and Systems
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.13" data-path="1-13-0-simple-web-app.html">
|
|
|
|
<a href="1-13-0-simple-web-app.html">
|
|
|
|
|
|
Extra Credit: A Simple Web Application
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.14" data-path="1-14-0-conditionals.html">
|
|
|
|
<a href="1-14-0-conditionals.html">
|
|
|
|
|
|
Conditionals
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.15" data-path="1-15-0-command-line-utility.html">
|
|
|
|
<a href="1-15-0-command-line-utility.html">
|
|
|
|
|
|
Extra Credit: Command-Line Utilities
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.16" data-path="1-16-0-map-loop.html">
|
|
|
|
<a href="1-16-0-map-loop.html">
|
|
|
|
|
|
Mapping and Looping
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.17" data-path="1-17-0-iterate.html">
|
|
|
|
<a href="1-17-0-iterate.html">
|
|
|
|
|
|
Extra Credit: Revisiting Loops with Iterate
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.18" data-path="1-18-0-format.html">
|
|
|
|
<a href="1-18-0-format.html">
|
|
|
|
|
|
Format Strings
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.19" data-path="1-19-0-dsl.html">
|
|
|
|
<a href="1-19-0-dsl.html">
|
|
|
|
|
|
Extra Credit: Domain Specific Languages
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="3.1.20" data-path="1-20-0-review.html">
|
|
|
|
<a href="1-20-0-review.html">
|
|
|
|
|
|
Part One in Review
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="header">PART TWO</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="4.1" data-path="2-0-0-overview.html">
|
|
|
|
<a href="2-0-0-overview.html">
|
|
|
|
|
|
The Suffusion of Blue
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="4.1.1" data-path="2-01-0-programming-paradigms.html">
|
|
|
|
<a href="2-01-0-programming-paradigms.html">
|
|
|
|
|
|
Programming Paradigms
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.2" data-path="2-02-0-regex.html">
|
|
|
|
<a href="2-02-0-regex.html">
|
|
|
|
|
|
Extra Credit: Regular Expressions
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.3" data-path="2-03-0-objects-control.html">
|
|
|
|
<a href="2-03-0-objects-control.html">
|
|
|
|
|
|
Objects and Control Structures
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.4" data-path="2-04-0-data-persistence.html">
|
|
|
|
<a href="2-04-0-data-persistence.html">
|
|
|
|
|
|
Extra Credit: Persistence and Databases
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.5" data-path="2-05-0-extended-types.html">
|
|
|
|
<a href="2-05-0-extended-types.html">
|
|
|
|
|
|
Extended Types
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.6" data-path="2-06-0-threads-memos-parallel.html">
|
|
|
|
<a href="2-06-0-threads-memos-parallel.html">
|
|
|
|
|
|
Extra Credit: Concurrency and Memoization
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.7" data-path="2-07-0-logic-and-more-math.html">
|
|
|
|
<a href="2-07-0-logic-and-more-math.html">
|
|
|
|
|
|
Logic and Advanced Math
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.8" data-path="2-08-0-number-theory.html">
|
|
|
|
<a href="2-08-0-number-theory.html">
|
|
|
|
|
|
Extra Credit: Number Theory
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.9" data-path="2-09-0-binary-octets-bits.html">
|
|
|
|
<a href="2-09-0-binary-octets-bits.html">
|
|
|
|
|
|
Binary Streams, Octet-Vectors, and Bit-Vectors
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.10" data-path="2-10-0-improved-text-adventure-engine.html">
|
|
|
|
<a href="2-10-0-improved-text-adventure-engine.html">
|
|
|
|
|
|
Extra Credit: An Improved Text Adventure Engine
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.11" data-path="2-11-0-conditions.html">
|
|
|
|
<a href="2-11-0-conditions.html">
|
|
|
|
|
|
Conditions and Error Handling
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.12" data-path="2-12-0-2d-game.html">
|
|
|
|
<a href="2-12-0-2d-game.html">
|
|
|
|
|
|
Extra Credit: Write a 2D Game
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.13" data-path="2-13-0-compiler.html">
|
|
|
|
<a href="2-13-0-compiler.html">
|
|
|
|
|
|
The Compiler
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.14" data-path="2-14-0-tree-shaker.html">
|
|
|
|
<a href="2-14-0-tree-shaker.html">
|
|
|
|
|
|
Extra Credit: Write a Tree-Shaker
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.15" data-path="2-15-0-docs-and-inspection.html">
|
|
|
|
<a href="2-15-0-docs-and-inspection.html">
|
|
|
|
|
|
Documentation and Inspection
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.16" data-path="2-16-0-foreign-libs.html">
|
|
|
|
<a href="2-16-0-foreign-libs.html">
|
|
|
|
|
|
Extra Credit: Foreign Libraries in Lisp
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.17" data-path="2-17-0-debugging-testing.html">
|
|
|
|
<a href="2-17-0-debugging-testing.html">
|
|
|
|
|
|
Debugging and Unit Testing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.18" data-path="2-18-0-ffi.html">
|
|
|
|
<a href="2-18-0-ffi.html">
|
|
|
|
|
|
Extra Credit: Write a Foreign Function Interface
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.19" data-path="2-19-0-essential-libs.html">
|
|
|
|
<a href="2-19-0-essential-libs.html">
|
|
|
|
|
|
Essential Lisp Libraries
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.20" data-path="2-20-0-packaging-libs.html">
|
|
|
|
<a href="2-20-0-packaging-libs.html">
|
|
|
|
|
|
Extra Credit: Packaging Lisp Libraries
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="4.1.21" data-path="2-21-0-review.html">
|
|
|
|
<a href="2-21-0-review.html">
|
|
|
|
|
|
Detailed Syntax Review
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="header">PART THREE</li>
|
|
|
|
|
|
|
|
<li class="chapter " data-level="5.1" data-path="3-00-00-overview.html">
|
|
|
|
<a href="3-00-00-overview.html">
|
|
|
|
|
|
Lisp So(u)rcery
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<ul class="articles">
|
|
|
|
|
|
<li class="chapter " data-level="5.1.1" data-path="3-01-00-web-apps.html">
|
|
|
|
<a href="3-01-00-web-apps.html">
|
|
|
|
|
|
Real-world Web Apps
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.2" data-path="3-02-00-typesetting.html">
|
|
|
|
<a href="3-02-00-typesetting.html">
|
|
|
|
|
|
Typesetting
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.3" data-path="3-03-00-mobile.html">
|
|
|
|
<a href="3-03-00-mobile.html">
|
|
|
|
|
|
Native Mobile Applications
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.4" data-path="3-04-00-gui.html">
|
|
|
|
<a href="3-04-00-gui.html">
|
|
|
|
|
|
Cross-platform Desktop Applications
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.5" data-path="3-05-00-system-utils.html">
|
|
|
|
<a href="3-05-00-system-utils.html">
|
|
|
|
|
|
Drivers, Daemons, and System-Utilities
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.6" data-path="3-06-00-reverse-engineering.html">
|
|
|
|
<a href="3-06-00-reverse-engineering.html">
|
|
|
|
|
|
Reverse Engineering
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.7" data-path="3-07-00-graphics.html">
|
|
|
|
<a href="3-07-00-graphics.html">
|
|
|
|
|
|
Graphics Rendering
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.8" data-path="3-08-00-gaming.html">
|
|
|
|
<a href="3-08-00-gaming.html">
|
|
|
|
|
|
OpenGL, SDL, and 3D Game Development
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.9" data-path="3-09-00-audio.html">
|
|
|
|
<a href="3-09-00-audio.html">
|
|
|
|
|
|
Audio Generation and Manipulation
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter active" data-level="5.1.10" data-path="3-10-00-data.html">
|
|
|
|
<a href="3-10-00-data.html">
|
|
|
|
|
|
Data Aggregation and Analysis
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.11" data-path="3-11-00-cryptosec.html">
|
|
|
|
<a href="3-11-00-cryptosec.html">
|
|
|
|
|
|
Cryptography and Security
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.12" data-path="3-12-00-fintech.html">
|
|
|
|
<a href="3-12-00-fintech.html">
|
|
|
|
|
|
Financial Software and Crypto-Currencies
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.13" data-path="3-13-00-scientific-computing.html">
|
|
|
|
<a href="3-13-00-scientific-computing.html">
|
|
|
|
|
|
Scientific Computing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.14" data-path="3-14-00-computational-physics.html">
|
|
|
|
<a href="3-14-00-computational-physics.html">
|
|
|
|
|
|
Computational Physics
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.15" data-path="3-15-00-quantum-computing.html">
|
|
|
|
<a href="3-15-00-quantum-computing.html">
|
|
|
|
|
|
Quantum Computing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.16" data-path="3-16-00-nlp.html">
|
|
|
|
<a href="3-16-00-nlp.html">
|
|
|
|
|
|
Natural Language Processing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.17" data-path="3-17-00-ai.html">
|
|
|
|
<a href="3-17-00-ai.html">
|
|
|
|
|
|
Artificial Intelligence
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.18" data-path="3-18-00-robotics.html">
|
|
|
|
<a href="3-18-00-robotics.html">
|
|
|
|
|
|
Robotics
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.19" data-path="3-19-00-space-tech.html">
|
|
|
|
<a href="3-19-00-space-tech.html">
|
|
|
|
|
|
Space Tech
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.20" data-path="3-20-00-neurotech.html">
|
|
|
|
<a href="3-20-00-neurotech.html">
|
|
|
|
|
|
Neuroscience and Thought-Controlled Computing
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.21" data-path="3-21-00-lispos.html">
|
|
|
|
<a href="3-21-00-lispos.html">
|
|
|
|
|
|
A Simple LispOS
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.22" data-path="3-22-00-lisp-machine.html">
|
|
|
|
<a href="3-22-00-lisp-machine.html">
|
|
|
|
|
|
Build Your Own Lisp Machine
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
<li class="chapter " data-level="5.1.23" data-path="3-23-00-gov-mil.html">
|
|
|
|
<a href="3-23-00-gov-mil.html">
|
|
|
|
|
|
Government and Military Grade Systems
|
|
|
|
</a>
|
|
|
|
|
|
|
|
</li>
|
|
|
|
|
|
</ul>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
<li class="divider"></li>
|
|
|
|
<li>
|
|
<a href="https://www.gitbook.com" target="blank" class="gitbook-link">
|
|
Published with GitBook
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
</nav>
|
|
|
|
|
|
</div>
|
|
|
|
<div class="book-body">
|
|
|
|
<div class="body-inner">
|
|
|
|
|
|
|
|
<div class="book-header" role="navigation">
|
|
|
|
|
|
<!-- Title -->
|
|
<h1>
|
|
<i class="fa fa-circle-o-notch fa-spin"></i>
|
|
<a href="index.html" >Data Aggregation and Analysis</a>
|
|
</h1>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="page-wrapper" tabindex="-1" role="main">
|
|
<div class="page-inner">
|
|
|
|
<div id="book-search-results">
|
|
<div class="search-noresults">
|
|
|
|
<section class="normal markdown-section">
|
|
|
|
<h1 id="chapter-310">Chapter 3.10</h1>
|
|
<h2 id="data-aggregation-and-analysis">Data Aggregation and Analysis</h2>
|
|
<blockquote>
|
|
<p>"Mass psychology is not simply a summation of individual psychologies; that is a prime theorem of social psychodynamics---not just my opinion; no exception has ever been found to this theorem."</p>
|
|
<footer>Robert A. Heinlein, <em>Methuselah's Children</em></footer>
|
|
|
|
</blockquote>
|
|
<p>These days, you hear the buzz-word "Big Data" being thrown around everywhere, as if it's something new and exciting. It isn't, really; it is just the natural extension of data aggregation and analysis techniques that have existed for decades, applied to the surprising amount of personal information that is shared with the world on the internet through social media, blogging platforms, and community platforms. Now, what can be <em>inferred</em> from this amount of data is what the buzz is really all about---and where a lot of companies are making all their money.</p>
|
|
<p>At its core, Big Data is simple. It starts with simple techniques for parsing the data available on the internet, from HTML, XML, JSON, and so forth; using concepts from the semantic web, it allows developers to infer more meaning about this data than would otherwise be possible; and then it aggregates large volumes of this data so that global trends and individual preferences can be exploited for profit. And using techniques from artificial intelligence for designing knowledge-based systems, this simple set of techniques can be transformed into a multi-billion dollar enterprise.</p>
|
|
<p>These types of tasks are Lisp's core strength. Symbolic computation is aptly suited for representing knowledge-based systems and artificial intelligence problems, and can give new-comers to the business of Big Data a significant edge against their monolithic, corporate competitors.</p>
|
|
<p>In this chapter we will look at the challenges of scraping websites, xml and json feeds; parsing the data intelligently; storing and indexing large quantities of data; analyzing and graphing such data in meaningful ways; and writing AI agents that can automate this process for you. We will also look at considerations of privacy, and your responsibility in handling, using, and protecting personal information appropriately.</p>
|
|
<h3 id="exercise-3101">Exercise 3.10.1</h3>
|
|
<p><strong>Lisp-Based HTTP Clients</strong></p>
|
|
<pre><code class="lang-lisp">
|
|
|
|
</code></pre>
|
|
<h3 id="exercise-3102">Exercise 3.10.2</h3>
|
|
<p><strong>Scraping the Web</strong></p>
|
|
<pre><code class="lang-lisp">
|
|
|
|
</code></pre>
|
|
<h3 id="exercise-3103">Exercise 3.10.3</h3>
|
|
<p><strong>Parsing XML and HTML</strong></p>
|
|
<pre><code class="lang-lisp">
|
|
|
|
</code></pre>
|
|
<h3 id="exercise-3104">Exercise 3.10.4</h3>
|
|
<p><strong>Parsing JSON</strong></p>
|
|
<pre><code class="lang-lisp">
|
|
|
|
</code></pre>
|
|
<h3 id="exercise-3105">Exercise 3.10.5</h3>
|
|
<p><strong>Data Aggregation</strong></p>
|
|
<pre><code class="lang-lisp">
|
|
|
|
</code></pre>
|
|
<h3 id="exercise-3106">Exercise 3.10.6</h3>
|
|
<p><strong>Targeted Data Mining</strong></p>
|
|
<pre><code class="lang-lisp">
|
|
|
|
</code></pre>
|
|
<h3 id="project-3107">Project 3.10.7</h3>
|
|
<p><strong>An Extensible Knowledge Engine</strong></p>
|
|
<pre><code class="lang-lisp">
|
|
|
|
</code></pre>
|
|
|
|
|
|
</section>
|
|
|
|
</div>
|
|
<div class="search-results">
|
|
<div class="has-results">
|
|
|
|
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
|
|
<ul class="search-results-list"></ul>
|
|
|
|
</div>
|
|
<div class="no-results">
|
|
|
|
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<a href="3-09-00-audio.html" class="navigation navigation-prev " aria-label="Previous page: Audio Generation and Manipulation">
|
|
<i class="fa fa-angle-left"></i>
|
|
</a>
|
|
|
|
|
|
<a href="3-11-00-cryptosec.html" class="navigation navigation-next " aria-label="Next page: Cryptography and Security">
|
|
<i class="fa fa-angle-right"></i>
|
|
</a>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<script>
|
|
var gitbook = gitbook || [];
|
|
gitbook.push(function() {
|
|
gitbook.page.hasChanged({"page":{"title":"Data Aggregation and Analysis","level":"5.1.10","depth":2,"next":{"title":"Cryptography and Security","level":"5.1.11","depth":2,"path":"3-11-00-cryptosec.md","ref":"./3-11-00-cryptosec.md","articles":[]},"previous":{"title":"Audio Generation and Manipulation","level":"5.1.9","depth":2,"path":"3-09-00-audio.md","ref":"./3-09-00-audio.md","articles":[]},"dir":"ltr"},"config":{"plugins":["hints","folding-chapters"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"hints":{"danger":"fa fa-exclamation-circle","info":"fa fa-info-circle","tip":"fa fa-mortar-board","working":"fa fa-wrench"},"folding-chapters":{},"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"theme":"default","author":"\"the Phoeron\" Colin J.E. Lupton","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"index.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"Learn Lisp The Hard Way","gitbook":"*"},"file":{"path":"3-10-00-data.md","mtime":"2022-08-23T00:01:55.636Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2022-08-24T16:15:01.957Z"},"basePath":".","book":{"language":""}});
|
|
});
|
|
</script>
|
|
</div>
|
|
|
|
|
|
<script src="gitbook/gitbook.js"></script>
|
|
<script src="gitbook/theme.js"></script>
|
|
|
|
|
|
<script src="gitbook/gitbook-plugin-folding-chapters/folding-chapters.js"></script>
|
|
|
|
|
|
|
|
<script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
|
|
|
|
|
|
|
|
<script src="gitbook/gitbook-plugin-search/search.js"></script>
|
|
|
|
|
|
|
|
<script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
|
|
|
|
|
|
|
|
<script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
|
|
|
|
|
|
|
|
<script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
|
|
|
|
|
|
|
|
<script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
|
|
|
|
|
|
|
|
</body>
|
|
</html>
|
|
|