|
<!DOCTYPE html> |
|
<html> |
|
<head> |
|
<title>exploration</title> |
|
<!-- 2016-07-11 Mon 09:04 --> |
|
<meta charset="utf-8"> |
|
<meta name="generator" content="Org-mode"> |
|
<style type="text/css"> |
|
<!--/*--><![CDATA[/*><!--*/ |
|
.title { text-align: center; } |
|
.todo { font-family: monospace; color: red; } |
|
.done { color: green; } |
|
.tag { background-color: #eee; font-family: monospace; |
|
padding: 2px; font-size: 80%; font-weight: normal; } |
|
.timestamp { color: #bebebe; } |
|
.timestamp-kwd { color: #5f9ea0; } |
|
.right { margin-left: auto; margin-right: 0px; text-align: right; } |
|
.left { margin-left: 0px; margin-right: auto; text-align: left; } |
|
.center { margin-left: auto; margin-right: auto; text-align: center; } |
|
.underline { text-decoration: underline; } |
|
#postamble p, #preamble p { font-size: 90%; margin: .2em; } |
|
p.verse { margin-left: 3%; } |
|
pre { |
|
border: 1px solid #ccc; |
|
box-shadow: 3px 3px 3px #eee; |
|
padding: 8pt; |
|
font-family: monospace; |
|
overflow: auto; |
|
margin: 1.2em; |
|
} |
|
pre.src { |
|
position: relative; |
|
overflow: visible; |
|
padding-top: 1.2em; |
|
} |
|
pre.src:before { |
|
display: none; |
|
position: absolute; |
|
background-color: white; |
|
top: -10px; |
|
right: 10px; |
|
padding: 3px; |
|
border: 1px solid black; |
|
} |
|
pre.src:hover:before { display: inline;} |
|
pre.src-sh:before { content: 'sh'; } |
|
pre.src-bash:before { content: 'sh'; } |
|
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; } |
|
pre.src-R:before { content: 'R'; } |
|
pre.src-perl:before { content: 'Perl'; } |
|
pre.src-java:before { content: 'Java'; } |
|
pre.src-sql:before { content: 'SQL'; } |
|
|
|
table { border-collapse:collapse; } |
|
caption.t-above { caption-side: top; } |
|
caption.t-bottom { caption-side: bottom; } |
|
td, th { vertical-align:top; } |
|
th.right { text-align: center; } |
|
th.left { text-align: center; } |
|
th.center { text-align: center; } |
|
td.right { text-align: right; } |
|
td.left { text-align: left; } |
|
td.center { text-align: center; } |
|
dt { font-weight: bold; } |
|
.footpara:nth-child(2) { display: inline; } |
|
.footpara { display: block; } |
|
.footdef { margin-bottom: 1em; } |
|
.figure { padding: 1em; } |
|
.figure p { text-align: center; } |
|
.inlinetask { |
|
padding: 10px; |
|
border: 2px solid gray; |
|
margin: 10px; |
|
background: #ffffcc; |
|
} |
|
#org-div-home-and-up |
|
{ text-align: right; font-size: 70%; white-space: nowrap; } |
|
textarea { overflow-x: auto; } |
|
.linenr { font-size: smaller } |
|
.code-highlighted { background-color: #ffff00; } |
|
.org-info-js_info-navigation { border-style: none; } |
|
#org-info-js_console-label |
|
{ font-size: 10px; font-weight: bold; white-space: nowrap; } |
|
.org-info-js_search-highlight |
|
{ background-color: #ffff00; color: #000000; font-weight: bold; } |
|
/*]]>*/--> |
|
</style> |
|
<script type="text/javascript"> |
|
/* |
|
@licstart The following is the entire license notice for the |
|
JavaScript code in this tag. |
|
|
|
Copyright (C) 2012-2013 Free Software Foundation, Inc. |
|
|
|
The JavaScript code in this tag is free software: you can |
|
redistribute it and/or modify it under the terms of the GNU |
|
General Public License (GNU GPL) as published by the Free Software |
|
Foundation, either version 3 of the License, or (at your option) |
|
any later version. The code is distributed WITHOUT ANY WARRANTY; |
|
without even the implied warranty of MERCHANTABILITY or FITNESS |
|
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details. |
|
|
|
As additional permission under GNU GPL version 3 section 7, you |
|
may distribute non-source (e.g., minimized or compacted) forms of |
|
that code without the copy of the GNU GPL normally required by |
|
section 4, provided you include this license notice and a URL |
|
through which recipients can access the Corresponding Source. |
|
|
|
|
|
@licend The above is the entire license notice |
|
for the JavaScript code in this tag. |
|
*/ |
|
<!--/*--><![CDATA[/*><!--*/ |
|
function CodeHighlightOn(elem, id) |
|
{ |
|
var target = document.getElementById(id); |
|
if(null != target) { |
|
elem.cacheClassElem = elem.className; |
|
elem.cacheClassTarget = target.className; |
|
target.className = "code-highlighted"; |
|
elem.className = "code-highlighted"; |
|
} |
|
} |
|
function CodeHighlightOff(elem, id) |
|
{ |
|
var target = document.getElementById(id); |
|
if(elem.cacheClassElem) |
|
elem.className = elem.cacheClassElem; |
|
if(elem.cacheClassTarget) |
|
target.className = elem.cacheClassTarget; |
|
} |
|
/*]]>*///--> |
|
</script> |
|
</head> |
|
<body> |
|
<div id="content"> |
|
<h1 class="title">exploration</h1> |
|
<nav id="table-of-contents"> |
|
<h2>Table of Contents</h2> |
|
<div id="text-table-of-contents"> |
|
<ul> |
|
<li><a href="#sec-1">1. Common Lisp REPL Exploration Guide</a> |
|
<ul> |
|
<li><a href="#sec-1-1">Glossary</a></li> |
|
<li><a href="#sec-1-2">Starting and Stopping Lisp</a> |
|
<ul> |
|
<li><a href="#sec-1-2-1">Start lisp from within emacs</a></li> |
|
<li><a href="#sec-1-2-2">Stop the lisp repl in emacs</a></li> |
|
<li><a href="#sec-1-2-3">Restart the lisp repl in emacs</a></li> |
|
</ul> |
|
</li> |
|
<li><a href="#sec-1-3">Surroundings</a> |
|
<ul> |
|
<li><a href="#sec-1-3-1">List of available functions</a></li> |
|
<li><a href="#sec-1-3-2">Last three items in result history (most recent first)</a></li> |
|
<li><a href="#sec-1-3-3">Last three items in command history (most recent first)</a></li> |
|
<li><a href="#sec-1-3-4">Cycle though command history (previous, next item)</a></li> |
|
<li><a href="#sec-1-3-5">Search command history for things that start with <i>search</i></a></li> |
|
</ul> |
|
</li> |
|
<li><a href="#sec-1-4">Available Packages & Quicklisp</a> |
|
<ul> |
|
<li><a href="#sec-1-4-1">List all loaded packages</a></li> |
|
<li><a href="#sec-1-4-2">List all packages imported into a package</a></li> |
|
<li><a href="#sec-1-4-3">List of all available systems in the quicklisp repository</a></li> |
|
<li><a href="#sec-1-4-4">Search the list of systems</a></li> |
|
<li><a href="#sec-1-4-5">Install and load a system</a></li> |
|
<li><a href="#sec-1-4-6">Contents of a loaded package</a></li> |
|
<li><a href="#sec-1-4-7">Contents of a package, including internal symbols</a></li> |
|
</ul> |
|
</li> |
|
<li><a href="#sec-1-5">Symbols and Objects</a> |
|
<ul> |
|
<li><a href="#sec-1-5-1">Is symbol in use?</a></li> |
|
<li><a href="#sec-1-5-2">Is symbol used in the function namespace?</a></li> |
|
<li><a href="#sec-1-5-3">List all of the symbols in the current namespace</a></li> |
|
<li><a href="#sec-1-5-4">Originating package of a symbol</a></li> |
|
<li><a href="#sec-1-5-5">Search for <i>thing</i> in the symbol list (with optional package</a></li> |
|
<li><a href="#sec-1-5-6">Docstring</a></li> |
|
<li><a href="#sec-1-5-7">Type of an object</a></li> |
|
<li><a href="#sec-1-5-8">Object inspector</a></li> |
|
<li><a href="#sec-1-5-9">Inheritance tree for a class</a></li> |
|
<li><a href="#sec-1-5-10">List methods specializing on a class</a></li> |
|
</ul> |
|
</li> |
|
<li><a href="#sec-1-6">Paths, locations, config files</a> |
|
<ul> |
|
<li><a href="#sec-1-6-1">Lisp executable location</a></li> |
|
<li><a href="#sec-1-6-2">Version and variety of Common Lisp</a></li> |
|
<li><a href="#sec-1-6-3">Operating system and machine info</a></li> |
|
<li><a href="#sec-1-6-4">Show the recommended folder for your projects</a></li> |
|
<li><a href="#sec-1-6-5">Location of a specific system</a></li> |
|
<li><a href="#sec-1-6-6">Name of start up configuration file for your lisp</a></li> |
|
</ul> |
|
</li> |
|
<li><a href="#sec-1-7">Code navigation</a> |
|
<ul> |
|
<li><a href="#sec-1-7-1">Jump to the definition of the item at point</a></li> |
|
<li><a href="#sec-1-7-2">Return from jump</a></li> |
|
<li><a href="#sec-1-7-3">List callers of a function</a></li> |
|
<li><a href="#sec-1-7-4">List functions that a function calls (callees)</a></li> |
|
<li><a href="#sec-1-7-5">Show the references, bindings or assignments of the global variable</a></li> |
|
<li><a href="#sec-1-7-6">Look up documentation for the symbol at point in the Common Lisp</a></li> |
|
</ul> |
|
</li> |
|
<li><a href="#sec-1-8">Macros</a> |
|
<ul> |
|
<li><a href="#sec-1-8-1">Examine a macro expansion</a></li> |
|
<li><a href="#sec-1-8-2">Explore the currently available reader macros</a></li> |
|
</ul> |
|
</li> |
|
<li><a href="#sec-1-9">Crashes and errors</a> |
|
<ul> |
|
<li><a href="#sec-1-9-1">Stop a running task</a></li> |
|
<li><a href="#sec-1-9-2">Getting back to normal from the debugger</a></li> |
|
</ul> |
|
</li> |
|
</ul> |
|
</li> |
|
</ul> |
|
</div> |
|
</nav> |
|
<p> |
|
<a href="https://github.com/BnMcGn/lisp-guide">Source repository</a> |
|
</p> |
|
|
|
<div id="outline-container-sec-1" class="outline-2"> |
|
<h2 id="sec-1"><span class="section-number-2">1</span> <a href="http://bnmcgn.github.io/lisp-guide/lisp-exploration.html">Common Lisp REPL Exploration Guide</a></h2> |
|
<div class="outline-text-2" id="text-1"> |
|
<p> |
|
Emacs/Slime edition |
|
</p> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-1" class="outline-3"> |
|
<h3 id="sec-1-1">Glossary</h3> |
|
<div class="outline-text-3" id="text-1-1"> |
|
<dl class="org-dl"> |
|
<dt> symbol </dt><dd>A name. Like a variable, but can be used without an attached value. |
|
</dd> |
|
|
|
<dt> system </dt><dd>A library |
|
</dd> |
|
|
|
<dt> package </dt><dd>A module, more fine-grained than a system. Systems often contain multiple packages. |
|
</dd> |
|
|
|
<dt> (at) point </dt><dd>Emacs will often apply commands to the item under the cursor. This item is said to be at point. |
|
</dd> |
|
|
|
<dt> M- </dt><dd>A reference to the <i>meta</i> modifier key. This is usually the Alt key on PCs and the command key on Macs. |
|
</dd> |
|
|
|
<dt> repl </dt><dd>The interactive prompt of a live lisp session. |
|
</dd> |
|
|
|
<dt> quicklisp, alias ql </dt><dd>Common Lisp's de facto package manager. |
|
</dd> |
|
</dl> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-2" class="outline-3"> |
|
<h3 id="sec-1-2">Starting and Stopping Lisp</h3> |
|
<div class="outline-text-3" id="text-1-2"> |
|
</div><div id="outline-container-sec-1-2-1" class="outline-4"> |
|
<h4 id="sec-1-2-1">Start lisp from within emacs</h4> |
|
<div class="outline-text-4" id="text-1-2-1"> |
|
<pre class="example"> |
|
M-x slime |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-2-2" class="outline-4"> |
|
<h4 id="sec-1-2-2">Stop the lisp repl in emacs</h4> |
|
<div class="outline-text-4" id="text-1-2-2"> |
|
<pre class="example"> |
|
> ,quit |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-2-3" class="outline-4"> |
|
<h4 id="sec-1-2-3">Restart the lisp repl in emacs</h4> |
|
<div class="outline-text-4" id="text-1-2-3"> |
|
<pre class="example"> |
|
> ,restart-inferior-lisp |
|
</pre> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-3" class="outline-3"> |
|
<h3 id="sec-1-3">Surroundings</h3> |
|
<div class="outline-text-3" id="text-1-3"> |
|
</div><div id="outline-container-sec-1-3-1" class="outline-4"> |
|
<h4 id="sec-1-3-1">List of available functions</h4> |
|
<div class="outline-text-4" id="text-1-3-1"> |
|
<p> |
|
[???] |
|
</p> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-3-2" class="outline-4"> |
|
<h4 id="sec-1-3-2">Last three items in result history (most recent first)</h4> |
|
<div class="outline-text-4" id="text-1-3-2"> |
|
<pre class="example"> |
|
> * |
|
> ** |
|
> *** |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-3-3" class="outline-4"> |
|
<h4 id="sec-1-3-3">Last three items in command history (most recent first)</h4> |
|
<div class="outline-text-4" id="text-1-3-3"> |
|
<pre class="example"> |
|
> + |
|
> ++ |
|
> +++ |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-3-4" class="outline-4"> |
|
<h4 id="sec-1-3-4">Cycle though command history (previous, next item)</h4> |
|
<div class="outline-text-4" id="text-1-3-4"> |
|
<pre class="example"> |
|
M-p |
|
M-n |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-3-5" class="outline-4"> |
|
<h4 id="sec-1-3-5">Search command history for things that start with <i>search</i></h4> |
|
<div class="outline-text-4" id="text-1-3-5"> |
|
<pre class="example"> |
|
> search M-p |
|
</pre> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-4" class="outline-3"> |
|
<h3 id="sec-1-4">Available Packages & Quicklisp</h3> |
|
<div class="outline-text-3" id="text-1-4"> |
|
</div><div id="outline-container-sec-1-4-1" class="outline-4"> |
|
<h4 id="sec-1-4-1">List all loaded packages</h4> |
|
<div class="outline-text-4" id="text-1-4-1"> |
|
<div class="org-src-container"> |
|
|
|
<pre class="src src-lisp">(list-all-packages) |
|
</pre> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-4-2" class="outline-4"> |
|
<h4 id="sec-1-4-2">List all packages imported into a package</h4> |
|
<div class="outline-text-4" id="text-1-4-2"> |
|
<pre class="example"> |
|
> (package-use-list (find-package 'package)) |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-4-3" class="outline-4"> |
|
<h4 id="sec-1-4-3">List of all available systems in the quicklisp repository</h4> |
|
<div class="outline-text-4" id="text-1-4-3"> |
|
<pre class="example"> |
|
> (ql:system-list) |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-4-4" class="outline-4"> |
|
<h4 id="sec-1-4-4">Search the list of systems</h4> |
|
<div class="outline-text-4" id="text-1-4-4"> |
|
<pre class="example"> |
|
> (ql:system-apropos search) |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-4-5" class="outline-4"> |
|
<h4 id="sec-1-4-5">Install and load a system</h4> |
|
<div class="outline-text-4" id="text-1-4-5"> |
|
<pre class="example"> |
|
> (ql:quickload 'system) |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-4-6" class="outline-4"> |
|
<h4 id="sec-1-4-6">Contents of a loaded package</h4> |
|
<div class="outline-text-4" id="text-1-4-6"> |
|
<pre class="example"> |
|
> package:<tab> |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-4-7" class="outline-4"> |
|
<h4 id="sec-1-4-7">Contents of a package, including internal symbols</h4> |
|
<div class="outline-text-4" id="text-1-4-7"> |
|
<pre class="example"> |
|
> package::<tab> |
|
</pre> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-5" class="outline-3"> |
|
<h3 id="sec-1-5">Symbols and Objects</h3> |
|
<div class="outline-text-3" id="text-1-5"> |
|
</div><div id="outline-container-sec-1-5-1" class="outline-4"> |
|
<h4 id="sec-1-5-1">Is symbol in use?</h4> |
|
<div class="outline-text-4" id="text-1-5-1"> |
|
<pre class="example"> |
|
> (boundp 'var) |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-5-2" class="outline-4"> |
|
<h4 id="sec-1-5-2">Is symbol used in the function namespace?</h4> |
|
<div class="outline-text-4" id="text-1-5-2"> |
|
<pre class="example"> |
|
> (fboundp 'var) |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-5-3" class="outline-4"> |
|
<h4 id="sec-1-5-3">List all of the symbols in the current namespace</h4> |
|
<div class="outline-text-4" id="text-1-5-3"> |
|
<pre class="example"> |
|
> (apropos "" *package*) |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-5-4" class="outline-4"> |
|
<h4 id="sec-1-5-4">Originating package of a symbol</h4> |
|
<div class="outline-text-4" id="text-1-5-4"> |
|
<pre class="example"> |
|
> (symbol-package 'var) |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-5-5" class="outline-4"> |
|
<h4 id="sec-1-5-5">Search for <i>thing</i> in the symbol list (with optional package</h4> |
|
<div class="outline-text-4" id="text-1-5-5"> |
|
<p> |
|
specifier) |
|
</p> |
|
|
|
<pre class="example"> |
|
> (apropos "thing" 'package) |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-5-6" class="outline-4"> |
|
<h4 id="sec-1-5-6">Docstring</h4> |
|
<div class="outline-text-4" id="text-1-5-6"> |
|
<pre class="example"> |
|
> (describe var) or C-c C-d d on point |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-5-7" class="outline-4"> |
|
<h4 id="sec-1-5-7">Type of an object</h4> |
|
<div class="outline-text-4" id="text-1-5-7"> |
|
<pre class="example"> |
|
> (type-of var) |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-5-8" class="outline-4"> |
|
<h4 id="sec-1-5-8">Object inspector</h4> |
|
<div class="outline-text-4" id="text-1-5-8"> |
|
<pre class="example"> |
|
> (inspect var) |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-5-9" class="outline-4"> |
|
<h4 id="sec-1-5-9">Inheritance tree for a class</h4> |
|
<div class="outline-text-4" id="text-1-5-9"> |
|
<pre class="example"> |
|
M-x slime-browse-classes |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-5-10" class="outline-4"> |
|
<h4 id="sec-1-5-10">List methods specializing on a class</h4> |
|
<div class="outline-text-4" id="text-1-5-10"> |
|
<pre class="example"> |
|
M-x slime-who-specializes |
|
</pre> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-6" class="outline-3"> |
|
<h3 id="sec-1-6">Paths, locations, config files</h3> |
|
<div class="outline-text-3" id="text-1-6"> |
|
</div><div id="outline-container-sec-1-6-1" class="outline-4"> |
|
<h4 id="sec-1-6-1">Lisp executable location</h4> |
|
<div class="outline-text-4" id="text-1-6-1"> |
|
<pre class="example"> |
|
M-: inferior-lisp-program |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-6-2" class="outline-4"> |
|
<h4 id="sec-1-6-2">Version and variety of Common Lisp</h4> |
|
<div class="outline-text-4" id="text-1-6-2"> |
|
<pre class="example"> |
|
> (lisp-implementation-version) |
|
> (lisp-implementation-type) |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-6-3" class="outline-4"> |
|
<h4 id="sec-1-6-3">Operating system and machine info</h4> |
|
<div class="outline-text-4" id="text-1-6-3"> |
|
<pre class="example"> |
|
> (software-version) |
|
> (machine-version) |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-6-4" class="outline-4"> |
|
<h4 id="sec-1-6-4">Show the recommended folder for your projects</h4> |
|
<div class="outline-text-4" id="text-1-6-4"> |
|
<pre class="example"> |
|
> ql:*local-project-directories* |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-6-5" class="outline-4"> |
|
<h4 id="sec-1-6-5">Location of a specific system</h4> |
|
<div class="outline-text-4" id="text-1-6-5"> |
|
<pre class="example"> |
|
> (ql:where-is-system 'system) |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-6-6" class="outline-4"> |
|
<h4 id="sec-1-6-6">Name of start up configuration file for your lisp</h4> |
|
<div class="outline-text-4" id="text-1-6-6"> |
|
<pre class="example"> |
|
> (ql-impl-util::init-file-name-for (lisp-implementation-type)) |
|
</pre> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-7" class="outline-3"> |
|
<h3 id="sec-1-7">Code navigation</h3> |
|
<div class="outline-text-3" id="text-1-7"> |
|
</div><div id="outline-container-sec-1-7-1" class="outline-4"> |
|
<h4 id="sec-1-7-1">Jump to the definition of the item at point</h4> |
|
<div class="outline-text-4" id="text-1-7-1"> |
|
<pre class="example"> |
|
M-. |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-7-2" class="outline-4"> |
|
<h4 id="sec-1-7-2">Return from jump</h4> |
|
<div class="outline-text-4" id="text-1-7-2"> |
|
<pre class="example"> |
|
M-, |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-7-3" class="outline-4"> |
|
<h4 id="sec-1-7-3">List callers of a function</h4> |
|
<div class="outline-text-4" id="text-1-7-3"> |
|
<pre class="example"> |
|
C-c < |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-7-4" class="outline-4"> |
|
<h4 id="sec-1-7-4">List functions that a function calls (callees)</h4> |
|
<div class="outline-text-4" id="text-1-7-4"> |
|
<pre class="example"> |
|
C-c > |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-7-5" class="outline-4"> |
|
<h4 id="sec-1-7-5">Show the references, bindings or assignments of the global variable</h4> |
|
<div class="outline-text-4" id="text-1-7-5"> |
|
<p> |
|
at point |
|
</p> |
|
|
|
<pre class="example"> |
|
C-c C-w r C-c C-w b C-c C-w s |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-7-6" class="outline-4"> |
|
<h4 id="sec-1-7-6">Look up documentation for the symbol at point in the Common Lisp</h4> |
|
<div class="outline-text-4" id="text-1-7-6"> |
|
<p> |
|
Hyperspec |
|
</p> |
|
|
|
<pre class="example"> |
|
C-c C-d h |
|
</pre> |
|
|
|
<p> |
|
Note: only for symbols defined in the Common Lisp standard |
|
</p> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-8" class="outline-3"> |
|
<h3 id="sec-1-8">Macros</h3> |
|
<div class="outline-text-3" id="text-1-8"> |
|
</div><div id="outline-container-sec-1-8-1" class="outline-4"> |
|
<h4 id="sec-1-8-1">Examine a macro expansion</h4> |
|
<div class="outline-text-4" id="text-1-8-1"> |
|
<p> |
|
Given the following loop macro invocation: |
|
</p> |
|
|
|
<pre class="example"> |
|
(loop for i from 1 to 3 do (print i)) |
|
</pre> |
|
|
|
<p> |
|
This will show the expansion: |
|
</p> |
|
|
|
<pre class="example"> |
|
(macroexpand-1 '(loop for i from 1 to 3 do (print i))) |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-8-2" class="outline-4"> |
|
<h4 id="sec-1-8-2">Explore the currently available reader macros</h4> |
|
<div class="outline-text-4" id="text-1-8-2"> |
|
<pre class="example"> |
|
> (inspect *readtable*) |
|
</pre> |
|
|
|
<p> |
|
Note: not user friendly |
|
</p> |
|
</div> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-9" class="outline-3"> |
|
<h3 id="sec-1-9">Crashes and errors</h3> |
|
<div class="outline-text-3" id="text-1-9"> |
|
</div><div id="outline-container-sec-1-9-1" class="outline-4"> |
|
<h4 id="sec-1-9-1">Stop a running task</h4> |
|
<div class="outline-text-4" id="text-1-9-1"> |
|
<pre class="example"> |
|
C-c C-c |
|
</pre> |
|
</div> |
|
</div> |
|
|
|
<div id="outline-container-sec-1-9-2" class="outline-4"> |
|
<h4 id="sec-1-9-2">Getting back to normal from the debugger</h4> |
|
<div class="outline-text-4" id="text-1-9-2"> |
|
<pre class="example"> |
|
q - or select [Abort] |
|
</pre> |
|
|
|
<p> |
|
\\ |
|
</p> |
|
|
|
<p> |
|
Copyright 2016 Ben McGunigle |
|
</p> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
<div id="postamble" class="status"> |
|
<p class="date">Created: 2016-07-11 Mon 09:04</p> |
|
<p class="creator"><a href="http://www.gnu.org/software/emacs/">Emacs</a> 24.4.1 (<a href="http://orgmode.org">Org</a> mode 8.2.10)</p> |
|
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> |
|
</div> |
|
</body> |
|
</html> |