<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<feed xmlns="http://www.w3.org/2005/Atom">

	<title>Planet Scheme</title>
	<!--<link rel="self" type="text/atom" href=""/>-->
	<link rel="alternate" type="text/html" href="http://scheme.dk/planet/"/>
	<id></id>
	<updated>2010-03-11T21:00:52+00:00</updated>
	<generator uri="http://www.planetplanet.org/">http://intertwingly.net/code/venus/</generator>

	<entry>
		<title>Dominique Boucher: SchemeScript on Github</title>
		<link rel="alternate" type="text/html" href="http://theschemeway.blogspot.com/2010/03/schemescript-on-github.html"/>
		<id>tag:blogger.com,1999:blog-7061944.post-2202182296949668157</id>
		<updated>2010-03-11T02:20:41+00:00</updated>
		<content type="html">In addition to moving all the development of &lt;a href=&quot;http://schemeway.sourceforge.net/schemescript&quot;&gt;SchemeScript&lt;/a&gt; to git a few months ago, I just pushed my development repository to github. The repository is here:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  &lt;a href=&quot;http://github.com/schemeway/SchemeScript&quot;&gt;http://github.com/schemeway/SchemeScript&lt;/a&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I did this essentially because &lt;a href=&quot;http://github.com&quot;&gt;github&lt;/a&gt; really rocks. It offers a lot of excellent features for tracking parallel development. I also happen to have a number of other projects hosted there.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/7061944-2202182296949668157?l=theschemeway.blogspot.com&quot; alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Dominique Boucher (noreply@blogger.com)</name>
			<uri>http://theschemeway.blogspot.com/</uri>
		</author>
	</entry>

	<entry>
		<title>Joshua Herman: Haven: An open source cloud engine.</title>
		<link rel="alternate" type="text/html" href="http://salty-schemer.blogspot.com/2010/03/haven-open-source-cloud-engine.html"/>
		<id>tag:blogger.com,1999:blog-14082095.post-1975118308127235990</id>
		<updated>2010-03-09T19:11:19+00:00</updated>
		<content type="html">This project Idea is more like a combination of plan9 and RenrakuOS with elements from singularitybut done correctly and much more open development. I plan on having all running code as managed code all in a virtual machine. The virtual machine will boot up across a group of diskless / nondiskless nodes. There will be no file system but more like central database that all nodes can access and</content>
		<author>
			<name>Joshua Herman (noreply@blogger.com)</name>
			<uri>http://salty-schemer.blogspot.com/</uri>
		</author>
	</entry>

	<entry>
		<title>Programming Praxis: Lexicographic Permutations</title>
		<link rel="alternate" type="text/html" href="http://programmingpraxis.com/2010/03/09/lexicographic-permutations/"/>
		<id>http://programmingpraxis.com/?p=2047</id>
		<updated>2010-03-09T09:00:43+00:00</updated>
		<content type="html">&lt;p&gt;Edsger Dijkstra, in his book &lt;em&gt;A Discipline of Programming&lt;/em&gt;, describes a function that, given a list of elements and a function that returns a total ordering of those elements, produces the next lexicographic permutation of the list; for instance, the permutations of the list (1 2 3 4) in lexicographic order are (1 2 3 4) (2 1 3 4) (1 3 2 4) (3 1 2 4) (2 3 1 4) (3 2 1 4) (1 2 4 3) (2 1 4 3) (1 4 2 3) (4 1 2 3) (2 4 1 3) (4 2 1 3) (1 3 4 2) (3 1 4 2) (1 4 3 2) (4 1 3 2) (3 4 1 2) (4 3 1 2) (2 3 4 1) (3 2 4 1) (2 4 3 1) (4 2 3 1) (3 4 2 1) (4 3 2 1).  With the least significant item in the list at the head, the next greater element than (1 2 3 4) is (2 1 3 4), since the most significant tail of the list doesn’t change, and the next greater permutation differs in the least significant elements.  To make a greater permutation, some element of the list must be replaced by a larger element to its left; to make the next permutation, the replacement must happen as far to the left as possible, in the least significant position, and the replacing element must be as small as possible.&lt;/p&gt;
&lt;p&gt;Your task is to write functions that return the next lexicographic permutation and a list of all permutations of a list.  When you are finished, you are welcome to &lt;a href=&quot;http://programmingpraxis.com/2010/03/09/lexicographic-permutations/2/&quot;&gt;read&lt;/a&gt; or &lt;a href=&quot;http://programmingpraxis.codepad.org/Y8uDXfrX&quot;&gt;run&lt;/a&gt; a suggested solution, or to post your own solution or discuss the exercise in the comments below.&lt;/p&gt;
&lt;br /&gt;  &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/programmingpraxis.wordpress.com/2047/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/comments/programmingpraxis.wordpress.com/2047/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godelicious/programmingpraxis.wordpress.com/2047/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/delicious/programmingpraxis.wordpress.com/2047/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gostumble/programmingpraxis.wordpress.com/2047/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/stumble/programmingpraxis.wordpress.com/2047/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godigg/programmingpraxis.wordpress.com/2047/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/digg/programmingpraxis.wordpress.com/2047/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/goreddit/programmingpraxis.wordpress.com/2047/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/reddit/programmingpraxis.wordpress.com/2047/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;img src=&quot;http://stats.wordpress.com/b.gif?host=programmingpraxis.com&amp;amp;blog=6649073&amp;amp;post=2047&amp;amp;subd=programmingpraxis&amp;amp;ref=&amp;amp;feed=1&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;</content>
		<author>
			<name>programmingpraxis</name>
			<uri>http://programmingpraxis.com</uri>
		</author>
	</entry>

	<entry>
		<title>PLT Scheme: Talk at Flourish</title>
		<link rel="alternate" type="text/html" href="http://blog.plt-scheme.org/2010/03/talk-at-flourish.html"/>
		<id>tag:blogger.com,1999:blog-2080885971644496896.post-3811154831217235895</id>
		<updated>2010-03-08T17:22:43+00:00</updated>
		<content type="html">&lt;a href=&quot;http://3.bp.blogspot.com/_gJUvnpacURg/S5UwRCtLiDI/AAAAAAAAAI0/9mdGDzmDD7k/s1600-h/langs.png&quot;&gt;&lt;img src=&quot;http://3.bp.blogspot.com/_gJUvnpacURg/S5UwRCtLiDI/AAAAAAAAAI0/9mdGDzmDD7k/s400/langs.png&quot; alt=&quot;&quot; style=&quot;float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 316px; height: 233px;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5446312393716762674&quot; /&gt;&lt;/a&gt;
&lt;p&gt;
The image in this post shows a tree where the interior nodes represent directories and the leaf nodes represent files in the PLT source code. The leaves are colored based on the programming language used. (To avoid clutter, if there is more than one file in a given directory written in a particular language, that language only gets a single dot.)
&lt;/p&gt;

&lt;p&gt;
Some highlights: the blues are Scheme-like languages, the reds are langauges we use to write documentation (see &lt;a href=&quot;http://docs.plt-scheme.org/scribble/&quot;&gt;Scribble&lt;/a&gt; for more about them), the greens are teaching languages, orange is the language we use to bootstrap new languages, and yellow is a language for metadata about nearby files.
&lt;/p&gt;

&lt;p&gt;
Curious about how we managed to write and use so many different languages?
I'll be giving a talk at &lt;a href=&quot;http://www.flourishconf.com/flourish2010/&quot;&gt;Flourish 2010&lt;/a&gt; next week (3/19 @11am, UIC in Chicago) explaining how. Come to learn more!
&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/2080885971644496896-3811154831217235895?l=blog.plt-scheme.org&quot; alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Robby (noreply@blogger.com)</name>
			<uri>http://blog.plt-scheme.org/</uri>
		</author>
	</entry>

	<entry>
		<title>Grant Rettke: Windows XP RunAs feature is horribly broken</title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WisdomAndWonder/~3/sIbjJmuW2kI/windows-xp-runas-feature-is-horribly-broken"/>
		<id>http://www.wisdomandwonder.com/?p=4580</id>
		<updated>2010-03-07T06:51:32+00:00</updated>
		<content type="html">&lt;p&gt;Switching &lt;em&gt;back&lt;/em&gt; to Windows XP from the Mac has been educational. Along with learning a lot more about Cygin than I had ever known before, I’m discovering new features-to-be-avoided in Windows XP. Here is a biggie: “Run As”.&lt;/p&gt;
&lt;p&gt;Windows allows you to execute programs with another user’s credentials. You are probability thinking “Simple right?”. Well, it isn’t. Using this feature seems to consistently corrupt the RunAs-ed user’s profile. Corrupted profiles seem to be a mysterious thing with little to no way to fix them; creating a new profile is basically the only solution. In my case I restored from a nightly backup (because I know stuff like this is bound to happen on Windows). My takeaway:&lt;/p&gt;
&lt;p&gt;Disable RunAs on Windows!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://support.microsoft.com/kb/830568&quot;&gt;Here&lt;/a&gt; is how.&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/WisdomAndWonder/~4/sIbjJmuW2kI&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Grant</name>
			<uri>http://www.wisdomandwonder.com</uri>
		</author>
	</entry>

	<entry>
		<title>Grant Rettke: Display names of defined colors and show what they look like in Emacs</title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WisdomAndWonder/~3/o_V4OaPfHCI/display-names-of-defined-colors-and-show-what-they-look-like-in-emacs"/>
		<id>http://www.wisdomandwonder.com/?p=4575</id>
		<updated>2010-03-07T00:35:32+00:00</updated>
		<content type="html">&lt;p&gt;The ‘list-colors-display’ function call displays a list of colors, how they look, and their RGB names in its own window.&lt;/p&gt;
&lt;p&gt;(via &lt;a href=&quot;http://emacsworld.blogspot.com/2009/11/quick-way-of-looking-up-colours-in.html&quot;&gt;Got Emacs?&lt;/a&gt;)&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/WisdomAndWonder/~4/o_V4OaPfHCI&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Grant</name>
			<uri>http://www.wisdomandwonder.com</uri>
		</author>
	</entry>

	<entry>
		<title>Programming Praxis: Binary Search Tree</title>
		<link rel="alternate" type="text/html" href="http://programmingpraxis.com/2010/03/05/binary-search-tree/"/>
		<id>http://programmingpraxis.com/?p=2058</id>
		<updated>2010-03-05T09:00:19+00:00</updated>
		<content type="html">&lt;p&gt;&lt;img src=&quot;http://programmingpraxis.files.wordpress.com/2010/03/bst.png?w=640&quot; align=&quot;right&quot; /&gt;Binary search trees are a simple and commonly-used data structure.  A binary search tree is a hierarchical data structure in which each node stores a key, a value, and pointers to two children.  Each node has one parent, except the node at the root of the tree, which has no parents.  At each node, the key is greater than or equal to the keys of all nodes in its left child and less than or equal to the keys of all nodes in its right child.  Any node may be null; a null node has no key, no value, and no children.  A sample binary search tree is shown at the right.&lt;/p&gt;
&lt;p&gt;Traversing the tree is fairly simple.  Start at the root, comparing the key at the current node to the key being sought.  If the target key is less than the current key, repeat the search at the left child; likewise, if the target key is greater than the current key, repeat the search at the right child.  If the target key and current key are the same, you’ve found the desired node; if you reach a null node, the target key is not present in the tree.  The insert and delete operations maintain the in-order property at each node.&lt;/p&gt;
&lt;p&gt;Your task is to write functions that manipulate binary search trees; you should include lookup, insert, delete, and enlist functions in your library.  When you are finished, you are welcome to &lt;a href=&quot;http://programmingpraxis.com/2010/03/05/binary-search-tree/2/&quot;&gt;read&lt;/a&gt; or &lt;a href=&quot;http://programmingpraxis.codepad.org/5TkexKqB&quot;&gt;run&lt;/a&gt; a suggested solution, or to post your own solution or discuss the exercise in the comments below.&lt;/p&gt;
&lt;br /&gt;  &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/programmingpraxis.wordpress.com/2058/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/comments/programmingpraxis.wordpress.com/2058/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godelicious/programmingpraxis.wordpress.com/2058/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/delicious/programmingpraxis.wordpress.com/2058/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gostumble/programmingpraxis.wordpress.com/2058/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/stumble/programmingpraxis.wordpress.com/2058/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godigg/programmingpraxis.wordpress.com/2058/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/digg/programmingpraxis.wordpress.com/2058/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/goreddit/programmingpraxis.wordpress.com/2058/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/reddit/programmingpraxis.wordpress.com/2058/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;img src=&quot;http://stats.wordpress.com/b.gif?host=programmingpraxis.com&amp;amp;blog=6649073&amp;amp;post=2058&amp;amp;subd=programmingpraxis&amp;amp;ref=&amp;amp;feed=1&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;</content>
		<author>
			<name>programmingpraxis</name>
			<uri>http://programmingpraxis.com</uri>
		</author>
	</entry>

	<entry>
		<title>Joshua Herman: Chicago-01 Project</title>
		<link rel="alternate" type="text/html" href="http://salty-schemer.blogspot.com/2010/03/chicago-01-project.html"/>
		<id>tag:blogger.com,1999:blog-14082095.post-428723936520191757</id>
		<updated>2010-03-05T06:36:25+00:00</updated>
		<content type="html">This project Idea is similar to http://github.com/daeken/RenrakuOS but with a more network aware setup.  I plan on having all managed code all in a virtual machine. The virtual machine will boot up across a group of diskless / nondiskless nodes. There will be no file system but more like central database that all nodes can access and write to. I plan on having a nanokernel on the diskless nodes</content>
		<author>
			<name>Joshua Herman (noreply@blogger.com)</name>
			<uri>http://salty-schemer.blogspot.com/</uri>
		</author>
	</entry>

	<entry>
		<title>Will Farr: Distribution for the Ratio of Two Uniform Deviates</title>
		<link rel="alternate" type="text/html" href="http://wmfarr.blogspot.com/2010/03/distribution-for-ratio-of-two-uniform.html"/>
		<id>tag:blogger.com,1999:blog-13073795.post-6996313905495751756</id>
		<updated>2010-03-04T22:48:55+00:00</updated>
		<content type="html">Weird: the distribution for the ratio of two uniform deviates is constant for ratios smaller than 1, and falls like r^2 for larger ratios.  p(r) = 1/2 if r &amp;lt; 1, and 1/(2r^2) if r &amp;gt;= 1 when r = a/b, where a,b ~ U(0, A).  What's up with that?</content>
		<author>
			<name>Will Farr (noreply@blogger.com)</name>
			<uri>http://wmfarr.blogspot.com/</uri>
		</author>
	</entry>

	<entry>
		<title>Programming Praxis: Goldbach’s Conjecture</title>
		<link rel="alternate" type="text/html" href="http://programmingpraxis.com/2010/03/02/goldbachs-conjecture/"/>
		<id>http://programmingpraxis.com/?p=2041</id>
		<updated>2010-03-02T09:00:39+00:00</updated>
		<content type="html">&lt;p&gt;Christian Goldbach (1690-1764) was a Prussian mathematician and contemporary of Euler.  One of the most famous unproven conjectures in number theory is known as Goldbach’s Conjecture, which states that every even number greater than two is the sum of two prime numbers; for example, 28 = 5 + 23.&lt;/p&gt;
&lt;p&gt;Your task is to write a function that finds the two primes that add to a given even number greater than two.  When you are finished, you are welcome to &lt;a href=&quot;http://programmingpraxis.com/2099/12/31/goldbachs-conjecture/2/&quot;&gt;read&lt;/a&gt; or &lt;a href=&quot;http://programmingpraxis.codepad.org/B0jzdRps&quot;&gt;run&lt;/a&gt; a suggested solution, or to post your own solution or discuss the exercise in the comments below.&lt;/p&gt;
&lt;br /&gt;  &lt;a href=&quot;http://feeds.wordpress.com/1.0/gocomments/programmingpraxis.wordpress.com/2041/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/comments/programmingpraxis.wordpress.com/2041/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godelicious/programmingpraxis.wordpress.com/2041/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/delicious/programmingpraxis.wordpress.com/2041/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/gostumble/programmingpraxis.wordpress.com/2041/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/stumble/programmingpraxis.wordpress.com/2041/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/godigg/programmingpraxis.wordpress.com/2041/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/digg/programmingpraxis.wordpress.com/2041/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.wordpress.com/1.0/goreddit/programmingpraxis.wordpress.com/2041/&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://feeds.wordpress.com/1.0/reddit/programmingpraxis.wordpress.com/2041/&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;img src=&quot;http://stats.wordpress.com/b.gif?host=programmingpraxis.com&amp;amp;blog=6649073&amp;amp;post=2041&amp;amp;subd=programmingpraxis&amp;amp;ref=&amp;amp;feed=1&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;</content>
		<author>
			<name>programmingpraxis</name>
			<uri>http://programmingpraxis.com</uri>
		</author>
	</entry>

	<entry>
		<title>Joe Marshall: Followup</title>
		<link rel="alternate" type="text/html" href="http://funcall.blogspot.com/2010/03/followup.html"/>
		<id>tag:blogger.com,1999:blog-8288194986820249216.post-1060775868224528633</id>
		<updated>2010-03-01T20:32:59+00:00</updated>
		<content type="html">&lt;a href=&quot;http://www.blogger.com/profile/04512975624438301971&quot;&gt;Pascal Costanza&lt;/a&gt; wrote:
&lt;blockquote&gt;Student A's statement is self-contradictory. You can only meaningfully talk about making something incorrect when you have a correct meaning in mind in the first place. So for Student A, the program has a meaning, even if he/she denies that.&lt;/blockquote&gt;
Student A might argue:  “The &lt;em&gt;professor&lt;/em&gt; is the one that is assuming there is a correct meaning.  I'm simply pointing out that whatever meaning he might have in mind could be wrong.”&lt;br /&gt;&lt;br /&gt;
&lt;blockquote&gt;Student C's description of the program is circular. He/she states that FACTORIAL implements factorial, which doesn't say much at all - it's both times the same word, both times the same string of characters (only once in upper case and once in lower case).&lt;/blockquote&gt;
Student C replies: “Oh, I meant that the &lt;em&gt;program&lt;/em&gt; named FACTORIAL implements the mathematical &lt;em&gt;function&lt;/em&gt; ‘factorial’.”  (This is a beginner's course, so we shouldn't make him work &lt;em&gt;too&lt;/em&gt; hard.)&lt;br /&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.blogger.com/profile/11095629814500390449&quot;&gt;Alexey&lt;/a&gt; wrote:
&lt;blockquote&gt;I would say to student A: That answer is useless. Of course someone could shadow * or IF; but what did the author of the program mean when they wrote it?&lt;/blockquote&gt;
Student A replies:  “How should &lt;em&gt;I&lt;/em&gt; know?  I can't read minds!”&lt;br /&gt;&lt;br /&gt;
What do we say to Student A?&lt;br /&gt;&lt;br /&gt;
&lt;blockquote&gt;I would say to student B: OK, that's what the program does, for a few trials with a few arguments, but what it does is beside the point. The question was: what does the program mean?&lt;/blockquote&gt;
Student B asks:  So what is the difference between what it “means” and what it “does”?  Doesn't “(+ 2 3)” mean 5?  Doesn't “(factorial 4)” mean 24?&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/8288194986820249216-1060775868224528633?l=funcall.blogspot.com&quot; alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Jrm (eval.apply@gmail.com)</name>
			<uri>http://funcall.blogspot.com/</uri>
		</author>
	</entry>

	<entry>
		<title>PLT Scheme: DAGs vs Trees</title>
		<link rel="alternate" type="text/html" href="http://blog.plt-scheme.org/2010/02/dags-vs-trees.html"/>
		<id>tag:blogger.com,1999:blog-2080885971644496896.post-8557185805751063148</id>
		<updated>2010-03-01T01:32:34+00:00</updated>
		<content type="html">&lt;p&gt;
As I wondering whether or not there is a better layout algorithm for the module browser window, I looked into &lt;a href=&quot;http://www.cs.umd.edu/hcil/treemap-history/&quot;&gt;tree maps&lt;/a&gt;. Of course, the modules in a program form a DAG, not a tree, so I wondered just how big the tree would get if all of the shared structure in the DAG were replicated. Hey, I figured, if a tree map can handle showing me my entire filesystem, maybe that could work.
&lt;/p&gt;

&lt;p&gt;
... yeah, no. Turns out to be hopeless. In the spirit of a geeky take off on a jelly bean counting contest, lets see if you can guess just how big these things get. Consider the module graph from the program &lt;tt&gt;#lang scheme&lt;/tt&gt; (ie, the graph that just contains an empty program). This program loads 170 modules with 917 connections between modules (counting the main file that just contains the &lt;tt&gt;#lang scheme&lt;/tt&gt;).
&lt;/p&gt;

&lt;p&gt;
So, the question: how many nodes are there in the unsharified tree? First one to come within 1 billion of the right answer gets all of the fame and glory that this blog brings to bear (har har). I'll post the answer in the comments in a few days (and no fair cheating, those of you that know enough to be able to get your hands on the DAG).
&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/2080885971644496896-8557185805751063148?l=blog.plt-scheme.org&quot; alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Robby (noreply@blogger.com)</name>
			<uri>http://blog.plt-scheme.org/</uri>
		</author>
	</entry>

	<entry>
		<title>Grant Rettke: Setting up OpenGL with Ikarus on Cygwin 1.7</title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WisdomAndWonder/~3/5JtBZbD0sWw/setting-up-opengl-with-ikarus-on-cygwin-1-7"/>
		<id>http://www.wisdomandwonder.com/?p=4567</id>
		<updated>2010-03-01T00:50:28+00:00</updated>
		<content type="html">&lt;p&gt;While not left without &lt;a href=&quot;http://www.wisdomandwonder.com/article/4559/how-are-dlls-used-on-cygwin-1-7&quot;&gt;questions&lt;/a&gt; I did get OpenGL running correctly with Ikarus over the weekend. &lt;a href=&quot;http://www.wisdomandwonder.com/wordpress/wp-content/uploads/2010/02/ikarus-cygwin-opengl-support.diff_.txt&quot;&gt;Here&lt;/a&gt; is the patch file against trunk to make it happy.&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/WisdomAndWonder/~4/5JtBZbD0sWw&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Grant</name>
			<uri>http://www.wisdomandwonder.com</uri>
		</author>
	</entry>

	<entry>
		<title>Grant Rettke: How are DLLs used on Cygwin 1.7?</title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/WisdomAndWonder/~3/eMQHn_8dqZc/how-are-dlls-used-on-cygwin-1-7"/>
		<id>http://www.wisdomandwonder.com/?p=4559</id>
		<updated>2010-03-01T00:27:50+00:00</updated>
		<content type="html">&lt;p&gt;Over the weekend I needed to set up a R6RS Scheme interpreter on Cygwin. It came down to either PLT or Ikarus. Both seem to be straightforward builds but I couldn’t make PLT happy so I went with Ikarus instead. It was a very simple and straightforward configuration and took maybe a minute to build. Once things were clearly working fine I figured I would try to get some of Ed’s OpenGL (&lt;a href=&quot;http://github.com/dharmatech/box2d-lite&quot;&gt;box2d-lite&lt;/a&gt; and &lt;a href=&quot;http://github.com/dharmatech/agave&quot;&gt;agave&lt;/a&gt;) demos running just for the fun of it.&lt;/p&gt;
&lt;p&gt;Both of the programs depend on the GL and GLUT libraries. At runtime the correct DLL is loaded depending on the OS type. There wasn’t a setting for Cygwin so I added one. The thing was that I specified the wrong file name: /usr/lib/libGL.dll.a and /usr/lib/libglut.dll.a. &lt;/p&gt;
&lt;p&gt;It was an uneducated guess in the first place. I figured there would be a one to one mapping. After Marco kindly kicked my butt on the Ikarus list though, by asking some basic questions like has it ever worked and have I checked out the difference in error messages, I got me thinking that I should have read up on this. &lt;/p&gt;
&lt;p&gt;The Cygwin documentation &lt;a href=&quot;http://cygwin.com/cygwin-ug-net/dll.html#dll-link&quot;&gt;here&lt;/a&gt; and the Redhat documentation &lt;a href=&quot;http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/gnu-linker/win32.html&quot;&gt;here&lt;/a&gt; seem to explain it… Windows DLLs need additional information to be linked against. On Cygwin, when GCC sees .dll.a files it “knows” how to get the additional data out of them in case you want to link to Win32. Reading on in the Redhat documentation, it lists the DLL search path when you specify -L argument for GCC. In that list I saw that /bin is included. That surprised me.&lt;/p&gt;
&lt;p&gt;It turns out that on Cygwin, DLLs that are not compiled to work with Win32 are located there. At least, this is my understanding. When you link to these DLLs though, the OpenGL demos work just fine on Cygwin with Ikarus. &lt;/p&gt;
&lt;p&gt;Is this also your understanding? I need to dig in more to this topic.&lt;/p&gt;
&lt;p&gt;I had been trying to get so many things working this weekend that I didn’t invest the amount of the time that this deserved, or most of those things for that matter.&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/WisdomAndWonder/~4/eMQHn_8dqZc&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</content>
		<author>
			<name>Grant</name>
			<uri>http://www.wisdomandwonder.com</uri>
		</author>
	</entry>

	<entry>
		<title>Dave Herman: Generalizing Javadot</title>
		<link rel="alternate" type="text/html" href="http://calculist.blogspot.com/2010/02/generalizing-javadot.html"/>
		<id>tag:blogger.com,1999:blog-10770855.post-168027357775888332</id>
		<updated>2010-02-28T02:19:47+00:00</updated>
		<content type="html">The idea of &lt;a href=&quot;http://jscheme.sourceforge.net/jscheme/doc/javadot.html&quot;&gt;Javadot&lt;/a&gt; is to allow the rich lexical syntax of Lisp and Scheme with the elegance of the dot-notation from the C tradition by simply allowing scope to trump lexical splitting: if &lt;span style=&quot;font-family: courier new;&quot;&gt;foo.bar&lt;/span&gt; is in scope as an identifier, then it parses as a variable reference; otherwise it parses as &lt;span style=&quot;font-family: courier new;&quot;&gt;&quot;foo&quot;&lt;/span&gt; &lt;span style=&quot;font-family: courier new;&quot;&gt;&quot;.&quot;&lt;/span&gt; &lt;span style=&quot;font-family: courier new;&quot;&gt;&quot;bar&quot;&lt;/span&gt;. It's a simple compromise, it's easy to understand, it plays well with lexical scope, and (in an infix language) you can always circumvent it with whitespace. (I don't &lt;span style=&quot;font-style: italic;&quot;&gt;think&lt;/span&gt; it needs to complicate parsing too much, either, since you can do a post-hoc splitting of the lexeme, rather than forcing the lexer to understand scope the way you're forced to with the &lt;a href=&quot;http://calculist.blogspot.com/2009/02/c-typedef-parsing-problem.html&quot;&gt;C &lt;span style=&quot;font-family: courier new;&quot;&gt;typedef&lt;/span&gt; ambiguity&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;My question is: couldn't you use this idea in an infix language, and generalize it to work for all infix operators? This would allow the use of other common operators such as -, +, *, /, &amp;lt;, and &amp;gt;, all of which I've loved being able to use in identifier names in Scheme, and all of which I also really like being able to use as infix operators.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/tracker/10770855-168027357775888332?l=calculist.blogspot.com&quot; alt=&quot;&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Dave Herman (noreply@blogger.com)</name>
			<uri>http://calculist.blogspot.com/</uri>
		</author>
	</entry>

</feed>
