<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Clozure CL Blog</title>
	<atom:link href="http://ccl.clozure.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://ccl.clozure.com/blog</link>
	<description>News and Views relating to Clozure Common Lisp</description>
	<lastBuildDate>Wed, 21 Jul 2010 21:17:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Preliminary Windows GUI support via Cocotron</title>
		<link>http://ccl.clozure.com/blog/?p=96</link>
		<comments>http://ccl.clozure.com/blog/?p=96#comments</comments>
		<pubDate>Wed, 21 Jul 2010 21:17:26 +0000</pubDate>
		<dc:creator>gz</dc:creator>
				<category><![CDATA[IDE]]></category>
		<category><![CDATA[ccl]]></category>

		<guid isPermaLink="false">http://ccl.clozure.com/blog/?p=96</guid>
		<description><![CDATA[CCL on 32-bit Windows platforms now includes experimental support  for the Cocoa frameworks using the Cocotron open  source project.  For details on Cocotron, see http://www.cocotron.org
This support  is only available in the trunk.
CCL provides a  pre-built set of DLLs for Cocotron&#8217;s Foundation  and AppKit frameworks but, as this support is still experimental, [...]]]></description>
			<content:encoded><![CDATA[<div>CCL on 32-bit Windows platforms now includes experimental support  for the Cocoa frameworks using the Cocotron open  source project.  For details on Cocotron, see <a href="http://www.cocotron.org/" target="_blank">http://www.cocotron.org</a></div>
<p><div>This support  is only available in the trunk.</div>
<p><div>CCL provides a  pre-built set of DLLs for Cocotron&#8217;s Foundation  and AppKit frameworks but, as this support is still experimental, you  must explicitly checkout these files into your CCL installation.  To do  so, execute the command line</div>
<pre>svn checkout http://svn.clozure.com/publicsvn/openmcl/trunk/aux/cocotron/win32/cocotron</pre>
<div>in  the directory where you have installed CCL (i.e., in the directory containing <span style="font-family: Courier;">wx86cl.exe</span>).</div>
<p><div>Once  you have checked out the DLLs (and supporting files), you load Cocotron just as you do Cocoa on the Mac.  In other  words, evaluate the form</div>
<pre>  (require  "COCOA")</pre>
<div>in CCL which will load the Cocotron&#8217;s Foundation and AppKit frameworks and start  the CCL IDE.  You can also evaluate the form</div>
<pre>  (require "COCOA-APPLICATION")</pre>
<div>to  build a standalone copy of the CCL IDE.</div>
<p><div>You  can also build standalone Cocoa applications on Windows using <span style="font-family: Courier;">build-application</span> as you do today on Mac OS X.</div>
<p><div>As  noted before, this support is experimental.</div>
<p><div>While  the IDE runs, it is not yet stable enough to use for actual development  on Windows.  Use it at your own risk.</div>
<p><div>Cocotron is a work in progress.  It does not yet  implement the entire set of APIs defined by Apple.  It also has bugs. If  you run into problems, you may want to try to create a simple  Objective-C program to see if you can reproduce the problem without CCL.   If the problem is reproducible, please report the problem to the Cocotron developers at <a href="http://code.google.com/p/cocotron/issues/list">http://code.google.com/p/cocotron/issues/list</a>.</div>
]]></content:encoded>
			<wfw:commentRss>http://ccl.clozure.com/blog/?feed=rss2&amp;p=96</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Clozure CL 1.5</title>
		<link>http://ccl.clozure.com/blog/?p=92</link>
		<comments>http://ccl.clozure.com/blog/?p=92#comments</comments>
		<pubDate>Wed, 21 Apr 2010 23:40:00 +0000</pubDate>
		<dc:creator>rme</dc:creator>
				<category><![CDATA[Release Announcements]]></category>

		<guid isPermaLink="false">http://ccl.clozure.com/blog/?p=92</guid>
		<description><![CDATA[Clozure CL 1.5 is now available.
Please see http://ccl.clozure.com/ for information about Clozure  CL, including instructions on how to get it.
]]></description>
			<content:encoded><![CDATA[<p>Clozure CL 1.5 is now available.</p>
<p>Please see <a href="http://ccl.clozure.com/">http://ccl.clozure.com/</a> for information about Clozure  CL, including instructions on how to get it.</p>
]]></content:encoded>
			<wfw:commentRss>http://ccl.clozure.com/blog/?feed=rss2&amp;p=92</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clozure CL 1.5 release candidate</title>
		<link>http://ccl.clozure.com/blog/?p=83</link>
		<comments>http://ccl.clozure.com/blog/?p=83#comments</comments>
		<pubDate>Mon, 12 Apr 2010 04:21:08 +0000</pubDate>
		<dc:creator>rme</dc:creator>
				<category><![CDATA[Release Announcements]]></category>

		<guid isPermaLink="false">http://ccl.clozure.com/blog/?p=83</guid>
		<description><![CDATA[A release candidate of Clozure CL 1.5 is now available.
Please see the release notes for more information, including instructions on how to use Subversion to get a copy if you would like to try it out.
We would appreciate bug reports.
]]></description>
			<content:encoded><![CDATA[<p>A release candidate of Clozure CL 1.5 is now available.</p>
<p>Please see <a href="http://trac.clozure.com/ccl/wiki/ReleaseNotes/1.5">the release notes</a> for more information, including instructions on how to use Subversion to get a copy if you would like to try it out.</p>
<p>We would appreciate bug reports.</p>
]]></content:encoded>
			<wfw:commentRss>http://ccl.clozure.com/blog/?feed=rss2&amp;p=83</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How Clozure CL implements closures</title>
		<link>http://ccl.clozure.com/blog/?p=53</link>
		<comments>http://ccl.clozure.com/blog/?p=53#comments</comments>
		<pubDate>Thu, 14 Jan 2010 11:05:38 +0000</pubDate>
		<dc:creator>rme</dc:creator>
				<category><![CDATA[internals]]></category>

		<guid isPermaLink="false">http://ccl.clozure.com/blog/?p=53</guid>
		<description><![CDATA[I was lurking on the #lisp irc channel on freenode yesterday, and the matter of how Clozure CL implements closures came up in passing.  If you use M-. to see the source of init-nclosure, you&#8217;ll see a fairly impenatrable fragment of assembly code.  I thought I would try to explain it, at least for the [...]]]></description>
			<content:encoded><![CDATA[<p>I was lurking on the #lisp irc channel on freenode yesterday, and the matter of how Clozure CL implements closures came up in passing.  If you use M-. to see the source of <code>init-nclosure</code>, you&#8217;ll see a fairly impenatrable fragment of assembly code.  I thought I would try to explain it, at least for the x86 ports.</p>
<p>To understand how closures are implemented, it is necessary to know how functions are implemented.</p>
<p>A memory allocated object that isn&#8217;t a cons cell is a thing called a uvector.  A uvector consists of a header word and a number of data words.</p>
<p>Functions are uvectors, but they are a little bit funky.  Let&#8217;s look at an example.</p>
<p>We&#8217;re going to run the lisp under gdb so that we can examine how this function is represented in memory:</p>
<pre>$ gdb dx86cl64
[<em>set up how gdb deals with signals, define some utility commands</em>]
(gdb) source /usr/local/src/ccl/lisp-kernel/darwinx8664/.gdbinit
(gdb) run
Starting program: /usr/local/src/ccl/dx86cl64
Reading symbols for shared libraries +. done
Welcome to Clozure Common Lisp Version 1.5-dev-r13385  (DarwinX8664)!
? (defun 2-to-the (x)
    (expt 2 x))
2-TO-THE
? #'2-to-the
[<em>find out the address of the function</em>]
#&lt;Compiled-function 2-TO-THE #x302000A53B8F&gt;
[<em>now we hit C-c</em>]
? ^C
Program received signal SIGINT, Interrupt.
0x00007fff813569ee in __semwait_signal ()
1: x/i $pc  0x7fff813569ee &lt;__semwait_signal+10&gt;: jae 0x7fff813569f5 &lt;__semwait_signal+17&gt;</pre>
<p>We want to see the function in memory.  To avoid talking about tagging, we just observe that memory-allocated objects are always dnode (two machine words) aligned.  Thus we just mask off the low 4 bits.</p>
<pre>(gdb) x/14g 0x302000A53B80
0x302000a53b80:	0x0000000000000d95	0x4c00000000000009</pre>
<p>That first word is the header word.  Note the #x95 in the low 8 bits. That&#8217;s the subtag.  In this case, it&#8217;s x8664::subtag-function.  The upper 56 bits are the element count.  In this case, the function contains 13 (#xd) 64-bit words.</p>
<p>I said earlier that functions were kind of funky.  The first byte of executable code is, of course, the #x4c at address #x302000A53B8F, which is the tagged address of the function object. There are 7 bytes between the start of the first uvector element and the start of the machine code.  We store the number of words of code and other immediate data in the lower 32 bits of the first word.  (This enables the GC to know what part of the uvector that it shouldn&#8217;t scan.)</p>
<p>In our example, we see that the function contains 9 words of code and other immediate data.  We&#8217;ll skip over them.</p>
<pre>0x302000a53b90:	0xf983fffffff92d8d	0x56e5894855257508
0x302000a53ba0:	0x4800000010c7c748	0x00000010b9f8758b
0x302000a53bb0:	0xc9000000419d8b49	0x00000007900a63ff
0x302000a53bc0:	0x906690666600c2cd	0x00000000000000f2</pre>
<p>The #xf2 in the last word is an internal marker called x8664::function-boundary-marker.  It too is used by the GC.</p>
<p>The rest of the data is the function&#8217;s gc-able &#8220;constants&#8221;.</p>
<pre>0x302000a53bd0:	0x000030004001364e	0x0000302000a53c63
0x302000a53be0:	0x0000302000a577ee	0x0000000004000800</pre>
<p>We can use a custom gdb command to look at them.</p>
<pre>[<em>pl stands for "print lisp"</em>]
(gdb) pl 0x000030004001364e
$1 = 0x38e00 "EXPT"</pre>
<p>The symbol EXPT.</p>
<pre>(gdb) pl 0x0000302000a53c63
$2 = 0x38e00 "(PC-SOURCE-MAP #&lt;4-element vector subtag = #xE7 @#x0000302000A53C2D ((UNSIGNED-BYTE 8))&gt; ...</pre>
<p>A list of function metadata.</p>
<pre>(gdb) pl 0x0000302000a577ee
$3 = 0x38e00 "2-TO-THE"</pre>
<p>The function&#8217;s name.</p>
<p>The last word is a fixnum, and it is the function&#8217;s &#8220;lfun-bits&#8221;.  The bit $lfbits-trampoline-bit will be set if the function is a closure trampoline. There are many more $lfbits-xxx things.</p>
<p>There are some internal functions that we can use to look at a function&#8217;s constants and lfun bits from lisp.  %NTH-IMMEDIATE will show a function&#8217;s contants, indexed from 0.</p>
<pre>? (%nth-immediate #'2-to-the 0)
EXPT
? (%nth-immediate #'2-to-the 1)
(FUNCTION-SYMBOL-MAP (#(X) . #(63 17 44)))
? (%nth-immediate #'2-to-the 2)
2-TO-THE</pre>
<p>One last thing to know about functions: the last three arguments to the function are passed in the registers arg_x, arg_y, and arg_z. (On x8632, we only have arg_y and arg_z).  So, a function with only one argument will receive that argument in arg_z. If there are more arguments than arg registers, the arguments are passed on the stack.</p>
<p>OK, so that&#8217;s how functions work.  If anyone is still reading, let&#8217;s look at closures now.</p>
<pre>? (let ((n 0))
    (defun next-val ()
      (incf n))
    (defun set-val (x)
      (setq n x)))
? #'next-val
#&lt;COMPILED-LEXICAL-CLOSURE NEXT-VAL #x302000EEA42F&gt;</pre>
<p>So, that&#8217;s different.  Before we saw output like:</p>
<pre>#&lt;Compiled-function 2-TO-THE #x302000A53B8F&gt;</pre>
<p>Let&#8217;s look at that function&#8217;s constants:</p>
<pre>? (%nth-immediate #'next-val 0)
#&lt;Compiled-function NEXT-VAL (Non-Global)  #x302000EECCFF&gt;</pre>
<p>What&#8217;s this? The function next-val is actually a little trampoline function that sets up and calls the actual closure function.</p>
<p>DISASSEMBLE tries to be friendly and shows you the disassembly of the closure function rather than the trampoline, but we can directly call an internal function to see the trampoline itself:</p>
<pre>? (x86-xdisassemble #'next-val)
L0
[0]     (leaq (@ (:^ L0) (% rip)) (% fn))
[7]     (jmpq (@ .SPCALL-CLOSURE))</pre>
<p>Finally, we can start to see what init-nclosure does.  The code fragment that is init-nclosure generates (at run-time) the little bit of code shown above.  The closed-over values are found in the trampoline function&#8217;s constants.</p>
<pre>? (%nth-immediate #'next-val 1)
#&lt;VALUE-CELL 0 #x302000EEA46D&gt;</pre>
<p>And I mentioned that $lfbits-trampoline-bit would be on in the function&#8217;s lfun-bits:</p>
<pre>? (logbitp $lfbits-trampoline-bit (%nth-immediate #'next-val 2))
T</pre>
<p>When the trampoline is actually called, it jumps to the .SPcall-closure subprimitive in the lisp kernel (see ccl:lisp-kernel;x86-spentry64.s), which prepends the constants in the trampoline representing the closed-over values to the closure function&#8217;s arglist, and calls it.</p>
<p>A closure function thus sees any closed-over values as regular arguments.</p>
<pre>? (disassemble #'next-val)
L0
[0]     (leaq (@ (:^ L0) (% rip)) (% fn))
[7]     (cmpl ($ 8) (% nargs))
[10]    (jne L93)
[...]</pre>
<p>%nargs is the register that contains the (fixnum) count of arguments passed to the function.  If it&#8217;s not fixnum 1, then error.  Note that next-val&#8217;s lambda list is nil&#8212;the argument it is expecting is the closed over value of n.</p>
<p>Anyway, sorry to pontificate at such length about a topic of limited interest, but there it is.</p>
<p>[updated to correct an error explaining tagging]</p>
]]></content:encoded>
			<wfw:commentRss>http://ccl.clozure.com/blog/?feed=rss2&amp;p=53</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Clozure CL 1.4</title>
		<link>http://ccl.clozure.com/blog/?p=45</link>
		<comments>http://ccl.clozure.com/blog/?p=45#comments</comments>
		<pubDate>Thu, 29 Oct 2009 23:03:48 +0000</pubDate>
		<dc:creator>rme</dc:creator>
				<category><![CDATA[Release Announcements]]></category>

		<guid isPermaLink="false">http://ccl.clozure.com/blog/?p=45</guid>
		<description><![CDATA[Clozure CL 1.4 is now available.
For more information and instructions on how to get it, please see http://trac.clozure.com/ccl.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://trac.clozure.com/ccl/wiki/ReleaseNotes/1.4">Clozure CL 1.4</a> is now available.</p>
<p>For more information and instructions on how to get it, please see <a href="http://trac.clozure.com/ccl">http://trac.clozure.com/ccl</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ccl.clozure.com/blog/?feed=rss2&amp;p=45</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clozure CL 1.3</title>
		<link>http://ccl.clozure.com/blog/?p=42</link>
		<comments>http://ccl.clozure.com/blog/?p=42#comments</comments>
		<pubDate>Tue, 14 Apr 2009 01:52:19 +0000</pubDate>
		<dc:creator>rme</dc:creator>
				<category><![CDATA[Release Announcements]]></category>

		<guid isPermaLink="false">http://ccl.clozure.com/blog/?p=42</guid>
		<description><![CDATA[Clozure CL 1.3 is now available.
For more information and instructions on how to get it, please see
http://trac.clozure.com/ccl.
The big news in this release is support for the 32-bit x86 architecture and ports to several more operating systems.  CCL now runs on:

Mac OS X 10.4 and later (PowerPC and x86)
Linux (PowerPC and x86)
FreeBSD 6.x and later [...]]]></description>
			<content:encoded><![CDATA[<p>Clozure CL 1.3 is now available.</p>
<p>For more information and instructions on how to get it, please see<br />
<a href="http://trac.clozure.com/ccl">http://trac.clozure.com/ccl</a>.</p>
<p>The big news in this release is support for the 32-bit x86 architecture and ports to several more operating systems.  CCL now runs on:</p>
<ul>
<li>Mac OS X 10.4 and later (PowerPC and x86)
<li>Linux (PowerPC and x86)
<li>FreeBSD 6.x and later (x86)
<li>Solaris (x86)
<li>MS Windows (x86)
</ul>
<p>There are 32- and 64-bit versions for all platforms.</p>
]]></content:encoded>
			<wfw:commentRss>http://ccl.clozure.com/blog/?feed=rss2&amp;p=42</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Maxima</title>
		<link>http://ccl.clozure.com/blog/?p=38</link>
		<comments>http://ccl.clozure.com/blog/?p=38#comments</comments>
		<pubDate>Wed, 01 Apr 2009 14:52:43 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Software Running in CCL]]></category>
		<category><![CDATA[Maxima]]></category>

		<guid isPermaLink="false">http://ccl.clozure.com/blog/?p=38</guid>
		<description><![CDATA[Barton Willis reports, &#8220;As of last evening, the Maxima test suite runs OK  using 32 bit Clozure for Windows XP. I thank the Clozure CL developers, Gary Byers and R. Matthew Emerson, for their help.  Being able to run Maxima using Clozure CL under Windows, Linux, and OSX will be a great for [...]]]></description>
			<content:encoded><![CDATA[<p>Barton Willis reports, &#8220;As of last evening, the Maxima test suite runs OK  using 32 bit Clozure for Windows XP. I thank the Clozure CL developers, Gary Byers and R. Matthew Emerson, for their help.  Being able to run Maxima using Clozure CL under Windows, Linux, and OSX will be a great for the Maxima community.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://ccl.clozure.com/blog/?feed=rss2&amp;p=38</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clozure CL 1.3 release candidate</title>
		<link>http://ccl.clozure.com/blog/?p=36</link>
		<comments>http://ccl.clozure.com/blog/?p=36#comments</comments>
		<pubDate>Tue, 17 Feb 2009 21:38:29 +0000</pubDate>
		<dc:creator>rme</dc:creator>
				<category><![CDATA[Release Announcements]]></category>

		<guid isPermaLink="false">http://ccl.clozure.com/blog/?p=36</guid>
		<description><![CDATA[A release candidate of Clozure CL 1.3 is now available.
The big news in this release is support for the 32-bit x86 architecture and ports to several more operating systems.  CCL now runs on:

Mac OS X 10.4 and later (PowerPC and x86)
Linux (PowerPC and x86)
FreeBSD 6.x and later (x86)
Solaris (x86)
MS Windows (x86)

There are 32- and [...]]]></description>
			<content:encoded><![CDATA[<p>A release candidate of Clozure CL 1.3 is now available.</p>
<p>The big news in this release is support for the 32-bit x86 architecture and ports to several more operating systems.  CCL now runs on:</p>
<ul>
<li>Mac OS X 10.4 and later (PowerPC and x86)
<li>Linux (PowerPC and x86)
<li>FreeBSD 6.x and later (x86)
<li>Solaris (x86)
<li>MS Windows (x86)
</ul>
<p>There are 32- and 64-bit versions for all platforms.</p>
<p>Please see the <a href="http://trac.clozure.com/ccl/wiki/ReleaseNotes/1.3"> release notes</a> for more information, including instructions on how to use Subversion to get the release candidate.</p>
<p>If you have some time to try it out, we would appreciate bug reports and feedback.</p>
]]></content:encoded>
			<wfw:commentRss>http://ccl.clozure.com/blog/?feed=rss2&amp;p=36</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Pledge Drive to Support the CCL Development Environment</title>
		<link>http://ccl.clozure.com/blog/?p=28</link>
		<comments>http://ccl.clozure.com/blog/?p=28#comments</comments>
		<pubDate>Tue, 28 Oct 2008 19:49:01 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[IDE]]></category>

		<guid isPermaLink="false">http://ccl.clozure.com/blog/?p=28</guid>
		<description><![CDATA[I just sent the following message to OpenMCL-Devel:
Hello CCL Users -
I&#8217;m happy to officially announce our pledge drive to raise funds to improve the CCL IDE.  Now is your chance to help us build a development environment that is worthy of the great CCL compiler and runtime that we already have.

Our goal is to [...]]]></description>
			<content:encoded><![CDATA[<p>I just sent the following message to OpenMCL-Devel:</p>
<p>Hello CCL Users -</p>
<p>I&#8217;m happy to officially announce our pledge drive to raise funds to improve the CCL IDE.  Now is your chance to help us build a development environment that is worthy of the great CCL compiler and runtime that we already have.</p>
<p><span id="more-28"></span></p>
<p>Our goal is to raise $20,000 in pledges.  This will allow us to put substantial dedicated effort into the CCL IDE.  We want to take it from its current wobbly alpha state and turn it into a solid stable development environment for Common Lisp.</p>
<p>The priorities for our work will be set by the people who fund the project.  So far these priorities include:</p>
<ol>
<li>Improving and stabilizing the editor.  (Think Fred.)</li>
<li>Completing the other existing IDE tools (Processes, Apropos, Inspect, Search Files).</li>
<li>Adding additional features and tools to the editor and the IDE (e.g. multiple-font support).</li>
<li>Simplifying the installation and build process to make CCL available to more users, including Lisp newbies.</li>
<li>Reorganizing the source code to encourage future development by the CCL community.</li>
</ol>
<p>We currently have $6,000 in pledges.  Our goal is to reach $20,000 by November 15th.  To keep this effort manageable, we are seeking pledges of $500 or more.</p>
<p>Please consider making a pledge.  If you&#8217;re on this e-mail list, there&#8217;s a good chance you use Clozure CL.  As Free Open-Source Software, we don&#8217;t make any money from sales of CCL or licensing fees for applications written in CCL.  We&#8217;re able to fund some development ourselves.  But to get beyond that &#8212; as we&#8217;d like to do with the IDE &#8212; we need your help.</p>
<p>If you&#8217;d like to make a pledge, please contact me (alms@clozure.com) and we can set up a time to talk about your priorities and the amount you&#8217;d like to pledge.  We can also do that by e-mail, if you prefer.</p>
<p>Thanks in advance for your consideration.  I hope to hear from you soon.</p>
<p>Yours,</p>
<p>Andrew Shalit<br />
Clozure Associates</p>
]]></content:encoded>
			<wfw:commentRss>http://ccl.clozure.com/blog/?feed=rss2&amp;p=28</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lisp gathering Sunday evening in Nashville</title>
		<link>http://ccl.clozure.com/blog/?p=19</link>
		<comments>http://ccl.clozure.com/blog/?p=19#comments</comments>
		<pubDate>Wed, 15 Oct 2008 19:33:47 +0000</pubDate>
		<dc:creator>jaj</dc:creator>
				<category><![CDATA[Conferences]]></category>

		<guid isPermaLink="false">http://ccl.clozure.com/blog/?p=19</guid>
		<description><![CDATA[The Lisp50 conference next week on Monday, October 20 (http://www.lisp50.org/) looks like it is going to be a fantastic conference!  Pascal Costanza has put together an incredible lineup of speakers.
Clozure Associates is putting together an informal gathering of Lispers to get together for some drinks and conversation on Sunday evening.  If you&#8217;re interested in attending, then let me know via [...]]]></description>
			<content:encoded><![CDATA[<p>The Lisp50 conference next week on Monday, October 20 (http://www.lisp50.org/) looks like it is going to be a fantastic conference!  Pascal Costanza has put together an incredible lineup of speakers.</p>
<p>Clozure Associates is putting together an informal gathering of Lispers to get together for some drinks and conversation on Sunday evening.  If you&#8217;re interested in attending, then let me know via an email to jaj at clozure dot com so that we know how big of a reservation to make.  Three people from Clozure will be attending:  Jeremy Jones, Matt Emerson, and Greg Pfeil.  RSVP  Time and Place will be determined and sent out to those who respond.</p>
<p>Hope to see you there!</p>
]]></content:encoded>
			<wfw:commentRss>http://ccl.clozure.com/blog/?feed=rss2&amp;p=19</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
