<?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>Wisdom and Wonder &#187; Programming</title>
	<atom:link href="http://www.wisdomandwonder.com/tag/programming/feed" rel="self" type="application/rss+xml" />
	<link>http://www.wisdomandwonder.com</link>
	<description>Computer Science and Personal Philosophy</description>
	<lastBuildDate>Mon, 26 Jul 2010 01:23:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>DrScheme Style Buffer Evaluation for OCaml in Emacs</title>
		<link>http://www.wisdomandwonder.com/article/4797/drscheme-style-buffer-evaluation-for-ocaml-in-emacs</link>
		<comments>http://www.wisdomandwonder.com/article/4797/drscheme-style-buffer-evaluation-for-ocaml-in-emacs#comments</comments>
		<pubDate>Thu, 27 May 2010 02:56:21 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Emacs]]></category>
		<category><![CDATA[Ide]]></category>
		<category><![CDATA[ML]]></category>
		<category><![CDATA[OCaml]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Programming Language]]></category>

		<guid isPermaLink="false">http://www.wisdomandwonder.com/?p=4797</guid>
		<description><![CDATA[When you want to evaluate code inside of DrScheme, you hit the F5 key and the entire editor buffer gets evaluated inside of a new REPL. Unlike Emacs, the ability to send the current expression, region, or buffer to the REPL isn&#8217;t available. It might sound constricting, but in practice it is very nice because [...]]]></description>
			<content:encoded><![CDATA[<p>When you want to evaluate code inside of <a href="http://www.plt-scheme.org/">DrScheme</a>, you hit the F5 key and the entire editor buffer gets evaluated inside of a new REPL. Unlike Emacs, the ability to send the current expression, region, or buffer to the REPL isn&#8217;t available. It might sound constricting, but in practice it is very nice because you are always working with the most up-to-date versions of your definitions. It might sound slow to start a new REPL on each run, but it isn&#8217;t; on my older desktop the new REPL comes up before my finger even comes off of the F5 key. This approach seemed like a nice to have for working with OCaml in <a href="https://forge.ocamlcore.org/projects/tuareg/">Tuareg</a> mode on Emacs, so I pieced together a function to do so against Tuareg 1.45.6:</p>

<div class="wp_syntax"><div class="code"><pre class="lisp" style="font-family:monospace;"><span style="color: #000000; font-weight: bold; ">&#40;</span><span style="color: #000000; ">defun</span> tuareg-eval-buffer-drscheme-style <span style="color: #000000; font-weight: bold; ">&#40;</span><span style="color: #000000; font-weight: bold; ">&#41;</span>
  <span style="color: #000000; ">&quot;Send the buffer to a brand new Tuareg Interactive process.&quot;</span>
  <span style="color: #000000; font-weight: bold; ">&#40;</span>interactive<span style="color: #000000; font-weight: bold; ">&#41;</span>
  <span style="color: #000000; font-weight: bold; ">&#40;</span>tuareg-kill-caml<span style="color: #000000; font-weight: bold; ">&#41;</span>
  <span style="color: #000000; font-weight: bold; ">&#40;</span>sleep-for <span style="color: #000000; ">0.25</span><span style="color: #000000; font-weight: bold; ">&#41;</span>
  <span style="color: #000000; font-weight: bold; ">&#40;</span><span style="color: #000000; ">if</span> <span style="color: #000000; font-weight: bold; ">&#40;</span>get-buffer tuareg-interactive-buffer-<span style="color: #000000; ">name</span><span style="color: #000000; font-weight: bold; ">&#41;</span>
      <span style="color: #000000; font-weight: bold; ">&#40;</span>kill-buffer tuareg-interactive-buffer-<span style="color: #000000; ">name</span><span style="color: #000000; font-weight: bold; ">&#41;</span><span style="color: #000000; font-weight: bold; ">&#41;</span>
  <span style="color: #000000; font-weight: bold; ">&#40;</span>tuareg-eval-buffer<span style="color: #000000; font-weight: bold; ">&#41;</span>
  <span style="color: #000000; font-weight: bold; ">&#40;</span>switch-to-buffer tuareg-interactive-buffer-<span style="color: #000000; ">name</span><span style="color: #000000; font-weight: bold; ">&#41;</span><span style="color: #000000; font-weight: bold; ">&#41;</span></pre></div></div>

<p>Out of the box Tuareg mode will ask you what program name to run to start OCaml each and every time you evaluate the buffer, even when the variable storing that name is defined. I didn&#8217;t find a way to avoid this prompt so I patched Tuareg such that it will not ask you if a value is already defined for the program name. <a href="http://www.wisdomandwonder.com/wordpress/wp-content/uploads/2010/05/tuareg-1.45.6-interactive-program.patch.txt">Here</a> is the patch.</p>
<p>Thus far it has been nice to have the option of evaluating the whole buffer in a new REPL in addition to the existing incremental evaluation options.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wisdomandwonder.com/article/4797/drscheme-style-buffer-evaluation-for-ocaml-in-emacs/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tuareg mode has new maintainers</title>
		<link>http://www.wisdomandwonder.com/link/4788/tuareg-mode-has-new-maintainers</link>
		<comments>http://www.wisdomandwonder.com/link/4788/tuareg-mode-has-new-maintainers#comments</comments>
		<pubDate>Tue, 25 May 2010 16:51:32 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Link]]></category>
		<category><![CDATA[Emacs]]></category>
		<category><![CDATA[Ide]]></category>
		<category><![CDATA[ML]]></category>
		<category><![CDATA[OCaml]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Programming Language]]></category>

		<guid isPermaLink="false">http://www.wisdomandwonder.com/?p=4788</guid>
		<description><![CDATA[Maintenance of the Tuareg mode for Emacs has been taken over by some Jane Street Capital folks and can be found here on OCamlCore.
(via caml-list)
]]></description>
			<content:encoded><![CDATA[<p>Maintenance of the Tuareg mode for Emacs has been taken over by some Jane Street Capital folks and can be found <a href="https://forge.ocamlcore.org/projects/tuareg/">here</a> on OCamlCore.</p>
<p>(via <a href="http://groups.google.com/group/fa.caml/browse_thread/thread/f575a5d8b3d491/79ed60f63e3239f3?lnk=gst&#038;q=+new+emacs+tuareg+mode+release#79ed60f63e3239f3">caml-list</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wisdomandwonder.com/link/4788/tuareg-mode-has-new-maintainers/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Emacs 23.2 is out</title>
		<link>http://www.wisdomandwonder.com/link/4735/emacs-23-2-is-out</link>
		<comments>http://www.wisdomandwonder.com/link/4735/emacs-23-2-is-out#comments</comments>
		<pubDate>Sat, 08 May 2010 12:14:06 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Link]]></category>
		<category><![CDATA[Emacs]]></category>
		<category><![CDATA[Ide]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.wisdomandwonder.com/?p=4735</guid>
		<description><![CDATA[(via gmame via Alex)
]]></description>
			<content:encoded><![CDATA[<p>(via <a href="http://permalink.gmane.org/gmane.emacs.announce/17">gmame</a> via <a href="http://alexott.blogspot.com/2010/05/gnu-emacs-232-released.html?utm_source=feedburner&#038;utm_medium=feed&#038;utm_campaign=Feed%3A+alexott+%28Alex+Ott%27s+blog%29">Alex</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wisdomandwonder.com/link/4735/emacs-23-2-is-out/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maven and Idea</title>
		<link>http://www.wisdomandwonder.com/link/4535/maven-and-idea</link>
		<comments>http://www.wisdomandwonder.com/link/4535/maven-and-idea#comments</comments>
		<pubDate>Thu, 04 Feb 2010 19:37:01 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Link]]></category>
		<category><![CDATA[Build]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.wisdomandwonder.com/?p=4535</guid>
		<description><![CDATA[Here is how to ask Maven to generate Idea project files for you:

mvn idea:idea -DjdkName=1.5

(via Maven)
]]></description>
			<content:encoded><![CDATA[<p>Here is how to ask Maven to generate Idea project files for you:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">mvn idea:idea <span style="color: #660033;">-DjdkName</span>=<span style="color: #000000; ">1.5</span></pre></div></div>

<p>(via <a href="http://maven.apache.org/plugins/maven-idea-plugin/usage.html">Maven</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wisdomandwonder.com/link/4535/maven-and-idea/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dynamic Languages Wizards Series</title>
		<link>http://www.wisdomandwonder.com/link/4451/dynamic-languages-wizards-series</link>
		<comments>http://www.wisdomandwonder.com/link/4451/dynamic-languages-wizards-series#comments</comments>
		<pubDate>Mon, 18 Jan 2010 21:12:53 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Link]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.wisdomandwonder.com/?p=4451</guid>
		<description><![CDATA[While I haven&#8217;t watched these yet; they do sound interesting.
(via dhess)
]]></description>
			<content:encoded><![CDATA[<p>While I haven&#8217;t watched <a href="http://www.ai.mit.edu/projects/dynlangs/wizards-panels.html">these</a> yet; they do sound interesting.</p>
<p>(via <a href="http://twitter.com/dhess/statuses/7888671051">dhess</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wisdomandwonder.com/link/4451/dynamic-languages-wizards-series/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The aim of a language</title>
		<link>http://www.wisdomandwonder.com/link/4271/the-aim-of-a-language</link>
		<comments>http://www.wisdomandwonder.com/link/4271/the-aim-of-a-language#comments</comments>
		<pubDate>Wed, 23 Dec 2009 02:20:46 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Link]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Programming Language]]></category>

		<guid isPermaLink="false">http://www.wisdomandwonder.com/?p=4271</guid>
		<description><![CDATA[to turn ideas into software, quickly and faithfully
&#8211; John Chambers
Great aim!
]]></description>
			<content:encoded><![CDATA[<blockquote><p>to turn ideas into software, quickly and faithfully</p></blockquote>
<p>&#8211; <a href="http://en.wikipedia.org/wiki/S_programming_language">John Chambers</a></p>
<p>Great aim!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wisdomandwonder.com/link/4271/the-aim-of-a-language/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Pattern Repository for Parallel Programming</title>
		<link>http://www.wisdomandwonder.com/link/4211/a-pattern-repository-for-parallel-programming</link>
		<comments>http://www.wisdomandwonder.com/link/4211/a-pattern-repository-for-parallel-programming#comments</comments>
		<pubDate>Mon, 21 Dec 2009 20:50:07 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Link]]></category>
		<category><![CDATA[Paralell]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.wisdomandwonder.com/?p=4211</guid>
		<description><![CDATA[Here is a repository for parallel programming patterns.
(via pinku)
]]></description>
			<content:encoded><![CDATA[<p><a href="http://parlab.eecs.berkeley.edu/wiki/patterns/patterns">Here</a> is a repository for parallel programming patterns.</p>
<p>(via <a href="http://surana.wordpress.com/2009/12/18/parallel-programming-patterns/">pinku</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wisdomandwonder.com/link/4211/a-pattern-repository-for-parallel-programming/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Bipolar Lisp Programmer</title>
		<link>http://www.wisdomandwonder.com/link/4205/the-bipolar-lisp-programmer</link>
		<comments>http://www.wisdomandwonder.com/link/4205/the-bipolar-lisp-programmer#comments</comments>
		<pubDate>Mon, 21 Dec 2009 20:44:29 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Link]]></category>
		<category><![CDATA[Lisp]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Programming Language]]></category>
		<category><![CDATA[Scheme]]></category>

		<guid isPermaLink="false">http://www.wisdomandwonder.com/?p=4205</guid>
		<description><![CDATA[Ben referred us to this article (cached here) in the midst of a discussion about, among other things, why there is still no FFI in the Scheme standard. 
That article is really interesting.
What did you think about it?
]]></description>
			<content:encoded><![CDATA[<p>Ben referred us to this <a href="http://www.lambdassociates.org/blog/bipolar.htm?repost">article</a> (cached <a href="http://74.125.153.132/search?q=cache:NcGBpP8WxmwJ:www.lambdassociates.org/blog/bipolar.htm%3Frepost+Qi+%2BLIsp+%2Bbipolar&#038;cd=4&#038;hl=en&#038;ct=clnk&#038;gl=jp&#038;client=firefox-a">here</a>) in the midst of a <a href="http://groups.google.com/group/comp.lang.scheme/msg/87270e6d3865824d">discussion</a> about, among other things, why there is still no FFI in the Scheme standard. </p>
<p>That article is really interesting.</p>
<p>What did you think about it?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wisdomandwonder.com/link/4205/the-bipolar-lisp-programmer/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Conway&#8217;s Law</title>
		<link>http://www.wisdomandwonder.com/link/4161/conways-law</link>
		<comments>http://www.wisdomandwonder.com/link/4161/conways-law#comments</comments>
		<pubDate>Sat, 21 Nov 2009 14:55:03 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Link]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.wisdomandwonder.com/?p=4161</guid>
		<description><![CDATA[Conway&#8217;s Law is not intended to be a joke or nasty witticism:
&#8230;organizations which design systems &#8230; are constrained to produce designs which are copies of the communication structures of these organizations.
&#8211; Melvin Conway
(via Fare via Wikipedia)
]]></description>
			<content:encoded><![CDATA[<p>Conway&#8217;s Law is not intended to be a joke or nasty witticism:</p>
<blockquote><p>&#8230;organizations which design systems &#8230; are constrained to produce designs which are copies of the communication structures of these organizations.</p></blockquote>
<p>&#8211; Melvin Conway</p>
<p>(via <a href="http://fare.livejournal.com/149264.html">Fare</a> via <a href="http://en.wikipedia.org/wiki/Conway's_Law">Wikipedia</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wisdomandwonder.com/link/4161/conways-law/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Elastic tabstops</title>
		<link>http://www.wisdomandwonder.com/link/4017/elastic-tabstops</link>
		<comments>http://www.wisdomandwonder.com/link/4017/elastic-tabstops#comments</comments>
		<pubDate>Sun, 04 Oct 2009 04:58:15 +0000</pubDate>
		<dc:creator>Grant</dc:creator>
				<category><![CDATA[Link]]></category>
		<category><![CDATA[Ide]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.wisdomandwonder.com/?p=4017</guid>
		<description><![CDATA[The argument: Code an in editor should be dynamically formatted using something like intelligent table-based layouts. 
Seems like an OK idea. Read about it here.
]]></description>
			<content:encoded><![CDATA[<p>The argument: Code an in editor should be dynamically formatted using something like intelligent table-based layouts. </p>
<p>Seems like an OK idea. Read about it <a href="http://nickgravgaard.com/elastictabstops/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wisdomandwonder.com/link/4017/elastic-tabstops/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
