<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.kram.nz/index.php?action=history&amp;feed=atom&amp;title=SE701%3AScreencasts%3Amgar059%3ASymbols</id>
	<title>SE701:Screencasts:mgar059:Symbols - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.kram.nz/index.php?action=history&amp;feed=atom&amp;title=SE701%3AScreencasts%3Amgar059%3ASymbols"/>
	<link rel="alternate" type="text/html" href="https://wiki.kram.nz/index.php?title=SE701:Screencasts:mgar059:Symbols&amp;action=history"/>
	<updated>2026-04-29T06:00:36Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.kram.nz/index.php?title=SE701:Screencasts:mgar059:Symbols&amp;diff=12704&amp;oldid=prev</id>
		<title>Mark: 21 revision(s)</title>
		<link rel="alternate" type="text/html" href="https://wiki.kram.nz/index.php?title=SE701:Screencasts:mgar059:Symbols&amp;diff=12704&amp;oldid=prev"/>
		<updated>2008-11-03T05:27:46Z</updated>

		<summary type="html">&lt;p&gt;21 revision(s)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[SE701|◄ Back]]&lt;br /&gt;
{{User:Mgar059:LispScreencasts}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;OBJECT classid=&amp;quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&amp;quot; &lt;br /&gt;
codebase=&amp;quot;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0&amp;quot; &lt;br /&gt;
WIDTH=&amp;quot;561&amp;quot; HEIGHT=&amp;quot;454&amp;quot; id=&amp;quot;mgar059-2.swf&amp;quot; ALIGN=&amp;quot;&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;PARAM NAME=movie VALUE=&amp;quot;mgar059-2.swf&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;PARAM NAME=quality VALUE=high&amp;gt; &lt;br /&gt;
 &amp;lt;PARAM NAME=bgcolor VALUE=#ffffff&amp;gt; &lt;br /&gt;
 &amp;lt;EMBED src=&amp;quot;http://studwww.cs.auckland.ac.nz/~mgar059/mgar059-2.swf&amp;quot; quality=high bgcolor=#30d  WIDTH=&amp;quot;561&amp;quot; HEIGHT=&amp;quot;454&amp;quot; NAME=&amp;quot;mgar059-2.swf&amp;quot; ALIGN=&amp;quot;&amp;quot; TYPE=&amp;quot;application/x-shockwave-flash&amp;quot; PLUGINSPAGE=&amp;quot;http://www.macromedia.com/go/getflashplayer&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/EMBED&amp;gt; &lt;br /&gt;
&amp;lt;/OBJECT&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- NOTES&lt;br /&gt;
COMMON LISP&lt;br /&gt;
Expression-orientated.&lt;br /&gt;
&lt;br /&gt;
Lisp functions are written at lists, and can be processed like data, allowing for meta programming. (prefix or polish notation)&lt;br /&gt;
&lt;br /&gt;
Lisp is made up of S-expressions.&lt;br /&gt;
These are made up of lists and atoms. Lists are represented by () and can contain lists. The bits inside lists are atoms.&lt;br /&gt;
&lt;br /&gt;
a basic list looks like (1 2 3)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Covered in this screencast&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[http://# Slides Used]&lt;br /&gt;
&lt;br /&gt;
==Common Lisp Semantics==&lt;br /&gt;
&lt;br /&gt;
===What is lisp===&lt;br /&gt;
&lt;br /&gt;
Lisp stands for &amp;quot;List Processing&amp;quot; language. Lisp code is represented as a giant list which allows &amp;#039;macros&amp;#039; to preprocess the code before it is compiled. Examples of lisp lists include:&lt;br /&gt;
&lt;br /&gt;
 (list 1 2 &amp;#039;3 &amp;quot;Four&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
 (+ 3 4)&lt;br /&gt;
&lt;br /&gt;
 (list 4 . 5)&lt;br /&gt;
&lt;br /&gt;
 ()&lt;br /&gt;
&lt;br /&gt;
 (setf greeting-list &amp;#039;(hello . world))&lt;br /&gt;
&lt;br /&gt;
A list an ordered sequence of elements, where each element is either a list or an &amp;#039;&amp;#039;atom&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
===Constructor Cells===&lt;br /&gt;
&lt;br /&gt;
Lisp code is represented as a singly linked list, with a series of &amp;quot;cons&amp;quot; or construct cells. &amp;lt;br/&amp;gt;&lt;br /&gt;
In lisp you would create one using &amp;lt;code&amp;gt;cons&amp;lt;code&amp;gt; eg:&lt;br /&gt;
 (cons 1 2)  &lt;br /&gt;
&lt;br /&gt;
Each cons cell holds two values. Each cell usually has a pointer to a piece of information associated with it, and a pointer to the next cell which makes up a list. The first pointer can be accessed by taking the &amp;lt;code&amp;gt;(car (list 1 2 3 4))&amp;lt;/code&amp;gt; or the contents of the address register.&lt;br /&gt;
&lt;br /&gt;
 (car (list 1 2 3 4)) &lt;br /&gt;
 =&amp;gt;  1&lt;br /&gt;
&lt;br /&gt;
The cdr of a cell will give you the remaining list i.e.&lt;br /&gt;
&lt;br /&gt;
 (cdr (list 1 2 3 4)) &lt;br /&gt;
 =&amp;gt;  (2 3 4)&lt;br /&gt;
&lt;br /&gt;
There are a few shortcuts for traversing the list such as cadr caddr etc.&lt;br /&gt;
&lt;br /&gt;
*dotted notation.&lt;br /&gt;
&lt;br /&gt;
===Expressions===&lt;br /&gt;
List uses prefix/polish notation. The first element of a list is a &amp;#039;&amp;#039;form&amp;#039;&amp;#039; and the rest of the elements are arguments.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Further reading / Bibliography==&lt;br /&gt;
&lt;br /&gt;
* http://gigamonkeys.com/book/syntax-and-semantics.html&lt;br /&gt;
* http://en.wikipedia.org/wiki/Lisp_programming_language &lt;br /&gt;
* http://www.mactech.com/articles/mactech/Vol.01/01.06/ListProgramming/index.html&lt;br /&gt;
* http://gigamonkeys.com/book/numbers-characters-and-strings.html&lt;br /&gt;
* http://www.webweasel.com/lisp/doc/cl10.htm&lt;br /&gt;
* http://www.cliki.net/Naming%20conventions&lt;br /&gt;
* http://www.gnu.org/software/emacs/manual/html_node/cl/Numbers.html&lt;br /&gt;
&lt;br /&gt;
[[SE701|◄ Back]]&lt;/div&gt;</summary>
		<author><name>Mark</name></author>
	</entry>
</feed>