<?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>dvanhorn @ λ-calcul.us</title>
	<atom:link href="http://dvanhorn.lambda-calcul.us/feed/" rel="self" type="application/rss+xml" />
	<link>http://dvanhorn.lambda-calcul.us</link>
	<description>Research weblog for David Van Horn</description>
	<lastBuildDate>Mon, 26 Jul 2010 20:17:10 +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>Abstracting Abstract Machines: Storing and stacking continuations</title>
		<link>http://dvanhorn.lambda-calcul.us/2010/07/26/abstracting-abstract-machine/</link>
		<comments>http://dvanhorn.lambda-calcul.us/2010/07/26/abstracting-abstract-machine/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 20:17:10 +0000</pubDate>
		<dc:creator>dvanhorn</dc:creator>
				<category><![CDATA[Announce]]></category>
		<category><![CDATA[CFA]]></category>

		<guid isPermaLink="false">http://dvanhorn.lambda-calcul.us/?p=286</guid>
		<description><![CDATA[We&#8217;ve been working on two techniques for systematically deriving abstract interpretations approximating canonical machines for higher-order languages. The first allocates continuations in a bounded store to achieve a finite state-space. We demonstrate the generality of this approach by transforming classical abstract machines into abstract interpreters.

Abstracting Abstract Machines.
David Van Horn and Matthew Might.
The 15th ACM SIGPLAN [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve been working on two techniques for systematically deriving abstract interpretations approximating canonical machines for higher-order languages. The first allocates continuations in a bounded store to achieve a finite state-space. We demonstrate the generality of this approach by transforming classical abstract machines into abstract interpreters.</p>
<blockquote><p>
<em>Abstracting Abstract Machines</em>.<br />
David Van Horn and Matthew Might.<br />
The 15th ACM SIGPLAN International Conference on Functional Programming (ICFP&#8217;10), Baltimore, Maryland, September, 2010.</p>
<p>We describe a derivational approach to abstract interpretation that yields novel and transparently sound static analyses when applied to well-established abstract machines. To demonstrate the technique and support our claim, we transform the CEK machine of Felleisen and Friedman, a lazy variant of Krivine&#8217;s machine, and the stack-inspecting CM machine of Clements and Felleisen into abstract interpretations of themselves. The resulting analyses bound temporal ordering of program events; predict return-flow and stack-inspection behavior; and approximate the flow and evaluation of by-need parameters. For all of these machines, we find that a series of well-known concrete machine refactorings, plus a technique we call store-allocated continuations, leads to machines that abstract into static analyses simply by bounding their stores. We demonstrate that the technique scales up uniformly to allow static analysis of realistic language features, including tail calls, conditionals, side effects, exceptions, first-class continuations, and even garbage collection. </p>
<ul>
<li><a href="http://www.ccs.neu.edu/home/dvanhorn/pubs/vanhorn-might-icfp10.pdf">PDF</a></li>
</ul>
</blockquote>
<p>The second technique keeps continuations on the stack to achieve a push-down model of abstract interpretation. The resulting abstract interpreter always matches calls and returns, achieving a higher level of precision by never conflating call and return pairs. Although this technique produces abstract interpreters with infinite state-spaces, we demonstrate how basic static analysis questions remain decidable by casting them as language inclusion problems answered by push-down automata. </p>
<blockquote><p>
<em>Pushdown Control-Flow Analysis of Higher-Order Programs</em>.<br />
Christopher Earl, Matthew Might, and David Van Horn.<br />
The 2010 Workshop on Scheme and Functional Programming (SFP 2010), Montréal, Québec, Canada, August, 2010.</p>
<p>    Context-free approaches to static analysis gain precision over classical approaches by perfectly matching returns to call sites—a property that eliminates spurious interprocedural paths. Vardoulakis and Shivers&#8217;s recent formulation of CFA2 showed that it is possible (if expensive) to apply context-free methods to higher-order languages and gain the same boost in precision achieved over first-order programs.</p>
<p>    To this young body of work on context-free analysis of higher-order programs, we contribute a pushdown control-flow analysis framework, which we derive as an abstract interpretation of a CESK machine with an unbounded stack. One instantiation of this framework marks the first polyvariant pushdown analysis of higher-order programs; another marks the first polynomial-time analysis. In the end, we arrive at a framework for control-flow analysis that can efficiently compute pushdown generalizations of classical control-flow analyses.</p>
<ul>
<li><a href="http://www.ccs.neu.edu/home/dvanhorn/pubs/earl-might-vanhorn-sfp10.pdf">PDF</a></li>
</ul>
</blockquote>
<p>There are also slides (<a href="http://www.ccs.neu.edu/home/dvanhorn/talks/abstracting-abstract-machines-harvard-2010.pdf">PDF</a>) covering both techniques from a talk given at the Harvard PL seminar.</p>
]]></content:encoded>
			<wfw:commentRss>http://dvanhorn.lambda-calcul.us/2010/07/26/abstracting-abstract-machine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IBM PL Day</title>
		<link>http://dvanhorn.lambda-calcul.us/2010/06/09/ibm-pl-day/</link>
		<comments>http://dvanhorn.lambda-calcul.us/2010/06/09/ibm-pl-day/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 06:30:31 +0000</pubDate>
		<dc:creator>dvanhorn</dc:creator>
				<category><![CDATA[Announce]]></category>

		<guid isPermaLink="false">http://dvanhorn.lambda-calcul.us/?p=277</guid>
		<description><![CDATA[IBM Programming Languages Day
July 29, 2010, Hawthorne NY
The eleventh annual Programming Languages Day will be held at the IBM Thomas J. Watson Research Center on Thursday, July 29, 2010.  The day will be held in cooperation with the New Jersey and New England Programming Languages and Systems Seminars.  The main goal of the [...]]]></description>
			<content:encoded><![CDATA[<p>IBM Programming Languages Day</p>
<blockquote><p>July 29, 2010, Hawthorne NY</p>
<p>The eleventh annual Programming Languages Day will be held at the IBM Thomas J. Watson Research Center on Thursday, July 29, 2010.  The day will be held in cooperation with the New Jersey and New England Programming Languages and Systems Seminars.  The main goal of the event is to increase awareness of each other&#8217;s work, and to encourage interaction and collaboration.<span id="more-277"></span></p>
<p>The Programming Languages Day features a keynote presentation and approximately 8 regular presentations.  Prof. Doug Lea, State University of New York at Oswego, will deliver the keynote presentation this year.</p>
<p>If you would like to present your work, please send a title and abstract to etorlak@us.ibm.com by June 23, 2010.  Tutorials or joint presentations are welcomed.  We also solicit input on topics or particular presentations that would be of interest to attendees.</p>
<p>Abstracts will be selected by a committee consisting of Adriana Compagnoni, Stevens Institute of Technology; Joshua Guttman, Worcester Polytechnic Institute; and Emina Torlak, IBM Research.  Notification of accepted abstracts will be sent by approximately June 30, 2010.</p>
<p>You are welcome from 9AM onwards, and the keynote presentation will start at 10AM sharp.  We expect the program to run until 4PM.  The Programming Languages day will be held in room GN-F15 in the Hawthorne-1 building in Hawthorne, New York.</p>
<p>If you plan to attend the Programming Languages Day, please register by sending an e-mail with your name, affiliation, contact information, and dietary restrictions to etorlak@us.ibm.com so that we can plan for lunch and refreshments.</p>
<p>Important Dates:</p>
<p>Talk title and abstract deadline:  June 23rd<br />
Acceptance notification:  June 30th<br />
PL Day 2010:  July 29th</p>
<p>Program committee:</p>
<p>Adriana Compagnoni, Stevens Institute of Technology<br />
Joshua Guttman, Worcester Polytechnic Institute<br />
Emina Torlak, IBM T.J. Watson Research Center</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://dvanhorn.lambda-calcul.us/2010/06/09/ibm-pl-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plotkin given SIGPLAN achievement award</title>
		<link>http://dvanhorn.lambda-calcul.us/2010/06/09/plotkin-given-sigplan-achievement-award/</link>
		<comments>http://dvanhorn.lambda-calcul.us/2010/06/09/plotkin-given-sigplan-achievement-award/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 06:19:05 +0000</pubDate>
		<dc:creator>dvanhorn</dc:creator>
				<category><![CDATA[Announce]]></category>

		<guid isPermaLink="false">http://dvanhorn.lambda-calcul.us/?p=273</guid>
		<description><![CDATA[Gordon Plotkin was awarded the SIGPLAN achievement award at this year&#8217;s PLDI.

Professor Gordon D. Plotkin has made fundamental advances in almost every area of the theory of programming languages. His contributions have helped to establish the mathematical foundations on which the scientific study of programming languages are based. His 1975 paper &#8220;Call-by-name, Call-by-value, and the [...]]]></description>
			<content:encoded><![CDATA[<p>Gordon Plotkin was awarded the SIGPLAN achievement award at this year&#8217;s PLDI.</p>
<blockquote><p>
Professor Gordon D. Plotkin has made fundamental advances in almost every area of the theory of programming languages. His contributions have helped to establish the mathematical foundations on which the scientific study of programming languages are based. His 1975 paper &#8220;Call-by-name, Call-by-value, and the λ-calculus&#8221; exposed the relationship between the reduction semantics of the λ-calculus and its operational semantics, as defined by Landin&#8217;s SECD machine. In the process, he defined what it meant for a calculus and a semantics to correspond: this launched the study of operational semantics as it is now understood. <span id="more-273"></span>He invented Structural Operational Semantics as a technique for specifying the semantics of a wide range of programming languages, concurrent as well as sequential; this form of semantics is now one of the basic working tools of researchers developing new programming languages and type systems.</p>
<p>Plotkin&#8217;s contributions to the development of the mathematical theory of domains, and its applications to the denotational semantics of programming languages, have been of fundamental importance: they include his powerdomain construction, systematic development of the general theory of the solution of recursive domain equations, and his work on PCF and the full abstraction problem.</p>
<p>Plotkin&#8217;s work with Glynn Winskel on event structures is the basis for reasoning about distributed systems, process algebras, and reactive systems. Event structures have been enormously influential in the development of models of concurrency. He has also investigated the logical foundations of computer security, including logics for specifying authorization policies for computer systems. Plotkin continues to make bold and deep contributions, for example, in his current work on the algebraic theory of effects, and on languages and calculi for biochemical modelling. Taken together, Gordon Plotkin&#8217;s contributions over the past four decades exhibit a range and depth unmatched in the field.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://dvanhorn.lambda-calcul.us/2010/06/09/plotkin-given-sigplan-achievement-award/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Photos from TFP 2010</title>
		<link>http://dvanhorn.lambda-calcul.us/2010/06/08/photos-from-tfp-2010/</link>
		<comments>http://dvanhorn.lambda-calcul.us/2010/06/08/photos-from-tfp-2010/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 15:07:45 +0000</pubDate>
		<dc:creator>dvanhorn</dc:creator>
				<category><![CDATA[Photos]]></category>

		<guid isPermaLink="false">http://dvanhorn.lambda-calcul.us/?p=268</guid>
		<description><![CDATA[Some photos from TFP 2010, Norman, Oklahoma.
]]></description>
			<content:encoded><![CDATA[<p>Some <a href="http://www.flickr.com/photos/dvanhorn/sets/72157624106666133/">photos</a> from TFP 2010, Norman, Oklahoma.</p>
]]></content:encoded>
			<wfw:commentRss>http://dvanhorn.lambda-calcul.us/2010/06/08/photos-from-tfp-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Robin Milner: The Elegant Pragmatist</title>
		<link>http://dvanhorn.lambda-calcul.us/2010/06/08/robin-milner-the-elegant-pragmatist/</link>
		<comments>http://dvanhorn.lambda-calcul.us/2010/06/08/robin-milner-the-elegant-pragmatist/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 14:56:52 +0000</pubDate>
		<dc:creator>dvanhorn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dvanhorn.lambda-calcul.us/?p=260</guid>
		<description><![CDATA[Turing award winner and programming language trailblazer,  Robin Milner, who recently passed away, has a cover story in the latest Communications of the ACM.

A man of modest background and quiet brilliance, Milner made ground-breaking contributions to the fields of verification, programming languages, and concurrency. He was born in 1934 near Plymouth, England, and won [...]]]></description>
			<content:encoded><![CDATA[<p>Turing award winner and programming language trailblazer, <a href="http://cacm.acm.org/magazines/2010/6/92474-robin-milner-the-elegant-pragmatist/fulltext"><img src="http://portalparts.acm.org/1750000/1743546/cover/cover_full.jpg" style="float: right; margin-left: 1em;"/></a> Robin Milner, who recently passed away, has a <a href="http://cacm.acm.org/magazines/2010/6/92474-robin-milner-the-elegant-pragmatist/fulltext">cover story</a> in the latest Communications of the ACM.</p>
<blockquote><p>
A man of modest background and quiet brilliance, Milner made ground-breaking contributions to the fields of verification, programming languages, and concurrency. He was born in 1934 near Plymouth, England, and won scholarships to Eton—where he developed an enduring love of math as well as a prodigious work ethic—and King&#8217;s College, Cambridge. It was during his time at Cambridge that Milner was introduced to programming, though the subject didn&#8217;t interest him initially. &#8220;I regarded programming as really rather inelegant,&#8221; he recalled in an interview in 2001 with Martin Berger, a professor at the University of Sussex. &#8220;So I resolved that I would never go near a computer in my life.&#8221;
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://dvanhorn.lambda-calcul.us/2010/06/08/robin-milner-the-elegant-pragmatist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s the Racket?</title>
		<link>http://dvanhorn.lambda-calcul.us/2010/06/07/whats-the-racket/</link>
		<comments>http://dvanhorn.lambda-calcul.us/2010/06/07/whats-the-racket/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 18:23:37 +0000</pubDate>
		<dc:creator>dvanhorn</dc:creator>
				<category><![CDATA[Announce]]></category>
		<category><![CDATA[Scheme]]></category>

		<guid isPermaLink="false">http://dvanhorn.lambda-calcul.us/?p=249</guid>
		<description><![CDATA[Racket, the system formerly known as PLT Scheme, has just been released.
PLT is happy to announce the release of Racket, available from
http://racket-lang.org/
With Racket, you can script command shells and web servers; you can quickly prototype animations and complex GUIs; regexps and threads are here to serve you.  To organize your systems, you can mix [...]]]></description>
			<content:encoded><![CDATA[<p>Racket, the system formerly known as PLT Scheme, has just been released.<img style="float: right;" src="http://racket-lang.org/logo.png"/></p>
<blockquote><p>PLT is happy to announce the release of Racket, available from</p>
<p><a href="http://racket-lang.org/">http://racket-lang.org/</a></p>
<p>With Racket, you can script command shells and web servers; you can quickly prototype animations and complex GUIs; regexps and threads are here to serve you.  To organize your systems, you can mix and match classes, modules or components.  Best of all, you start without writing down types.  If you later wish to turn your script into a program, equip your Racket modules with explicit type declarations as you wish.  And Racket doesn&#8217;t just come as a typed variant; you can also write your modules in a purely functional and lazy dialect.</p>
<p>Racket comes in so many flavors because Racket is much more than a standard scripting language or a plain programming language.  Racket supports language extensibility to an unequaled degree.  A Racket programmer knows that making up a new language is as easy as writing a new library.</p>
<p>To help you start quickly, Racket includes batteries in all shapes and sizes, most importantly, extensive documentation and all kinds of libraries.</p>
<p>Racket occupies a unique position between research and practice.  It inherits many major ideas from language research, among them type safety (when the type system says that x is a number, then at runtime it always is a number) and memory safety (when some memory is reclaimed by the garbage collector it is impossible to still have a reference to it).  At the same time, user demand governs rigid adherence to purely theoretical principles.</p>
<p>Racket, formerly PLT Scheme, is a product of over 15 years of development.  Although Racket starts with a mature software base and an established user community, its new name reflects our view that this is just the beginning of Racket&#8217;s evolution.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://dvanhorn.lambda-calcul.us/2010/06/07/whats-the-racket/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fun with Unicode and delimited continuations</title>
		<link>http://dvanhorn.lambda-calcul.us/2010/06/03/fun-with-unicode-and-delimited-continuations/</link>
		<comments>http://dvanhorn.lambda-calcul.us/2010/06/03/fun-with-unicode-and-delimited-continuations/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 16:27:01 +0000</pubDate>
		<dc:creator>dvanhorn</dc:creator>
				<category><![CDATA[Poetry]]></category>
		<category><![CDATA[Scheme]]></category>

		<guid isPermaLink="false">http://dvanhorn.lambda-calcul.us/?p=235</guid>
		<description><![CDATA[Doug Orleans&#8217; cute program to compute roots of quadratic equations:

(define (± x y)
  (shift k (values (k (+ x y)) (k (- x y)))))

(define (quadratic-formula-roots a b c)
  (reset (/ (± (- b) (√ (- (² b) (* 4 a c))))
	    (* 2 a))))

]]></description>
			<content:encoded><![CDATA[<p>Doug Orleans&#8217; <a href="http://list.cs.brown.edu/pipermail/plt-scheme/2010-June/039710.html">cute program</a> to compute roots of quadratic equations:</p>
<pre>
(define (± x y)
  (shift k (values (k (+ x y)) (k (- x y)))))

(define (quadratic-formula-roots a b c)
  (reset (/ (± (- b) (√ (- (² b) (* 4 a c))))
	    (* 2 a))))
</pre>
]]></content:encoded>
			<wfw:commentRss>http://dvanhorn.lambda-calcul.us/2010/06/03/fun-with-unicode-and-delimited-continuations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Evaluating Call By Need on the Control Stack</title>
		<link>http://dvanhorn.lambda-calcul.us/2010/05/18/evaluating-call-by-need-on-the-control-stack/</link>
		<comments>http://dvanhorn.lambda-calcul.us/2010/05/18/evaluating-call-by-need-on-the-control-stack/#comments</comments>
		<pubDate>Tue, 18 May 2010 15:38:13 +0000</pubDate>
		<dc:creator>dvanhorn</dc:creator>
				<category><![CDATA[Announce]]></category>
		<category><![CDATA[Lazy]]></category>

		<guid isPermaLink="false">http://dvanhorn.lambda-calcul.us/?p=231</guid>
		<description><![CDATA[New paper from Stephen Chang, David Van Horn, and Matthias Felleisen, appearing at Trends in Functional Programming 2010: Evaluating Call By Need on the Control Stack.
Abstract:
Ariola and Felleisen&#8217;s call-by-need λ-calculus replaces a variable occurrence with its value at the last possible moment. To support this gradual notion of substitution, function applications—once established—are never discharged. In [...]]]></description>
			<content:encoded><![CDATA[<p>New paper from Stephen Chang, David Van Horn, and Matthias Felleisen, appearing at Trends in Functional Programming 2010: Evaluating Call By Need on the Control Stack.</p>
<p>Abstract:</p>
<blockquote><p>Ariola and Felleisen&#8217;s call-by-need λ-calculus replaces a variable occurrence with its value at the last possible moment. To support this gradual notion of substitution, function applications—once established—are never discharged. In this paper we show how to translate this notion of reduction into an abstract machine that resolves variable references via the control stack. In particular, the machine uses the <em>static address</em> of a variable occurrence to extract its current value from the <em>dynamic control stack</em>.</p></blockquote>
<p><a href="http://www.ccs.neu.edu/home/dvanhorn/pubs/chang-vanhorn-felleisen-tfp10.pdf">PDF</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dvanhorn.lambda-calcul.us/2010/05/18/evaluating-call-by-need-on-the-control-stack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First you curse&#8230;</title>
		<link>http://dvanhorn.lambda-calcul.us/2010/03/31/first-you-curse/</link>
		<comments>http://dvanhorn.lambda-calcul.us/2010/03/31/first-you-curse/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 15:50:46 +0000</pubDate>
		<dc:creator>dvanhorn</dc:creator>
				<category><![CDATA[Paradox]]></category>
		<category><![CDATA[Stupid]]></category>

		<guid isPermaLink="false">http://dvanhorn.lambda-calcul.us/?p=225</guid>
		<description><![CDATA[&#8230;then you recurse: http://www.google.com/search?q=recursion.
]]></description>
			<content:encoded><![CDATA[<p>&#8230;then you recurse: <a href="http://www.google.com/search?q=recursion">http://www.google.com/search?q=recursion</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dvanhorn.lambda-calcul.us/2010/03/31/first-you-curse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PhD and Postdoc positions: Functional Programming and Automatic Differentiation</title>
		<link>http://dvanhorn.lambda-calcul.us/2010/03/04/phd-and-postdoc-positions-functional-programming-and-automatic-differentiation/</link>
		<comments>http://dvanhorn.lambda-calcul.us/2010/03/04/phd-and-postdoc-positions-functional-programming-and-automatic-differentiation/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 01:14:51 +0000</pubDate>
		<dc:creator>dvanhorn</dc:creator>
				<category><![CDATA[Jobs]]></category>

		<guid isPermaLink="false">http://dvanhorn.lambda-calcul.us/?p=219</guid>
		<description><![CDATA[Barak Pearlmutter is looking for PhD students and postdocs to work on functional programming and automatic differentiation.

I&#8217;m looking for PhD students and postdocs interested in working on an
elegant combination of functional programming and big-iron style
numeric computing.  Blurb below.  If you know anyone good who might be
interested, I&#8217;d be grateful if you&#8217;d pass this [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.bcl.hamilton.ie/~barak/">Barak Pearlmutter</a> is looking for PhD students and postdocs to work on functional programming and automatic differentiation.</p>
<blockquote><p>
I&#8217;m looking for PhD students and postdocs interested in working on an<br />
elegant combination of functional programming and big-iron style<br />
numeric computing.  Blurb below.  If you know anyone good who might be<br />
interested, I&#8217;d be grateful if you&#8217;d pass this along.
</p></blockquote>
<p>Sounds fun!</p>
<blockquote><p>
	 Functional Programming and Automatic Differentiation</p>
<p>			   PhD Studentships<br />
			Postdoctoral Positions</p>
<p>We are adding exact first-class derivative calculation operators<br />
(Automatic Differentiation or AD) to the lambda calculus, and<br />
embodying the combination into a production-quality optimising<br />
compiler.  Our research prototype compiler generates object code<br />
competitive with the fastest current systems, which are based on<br />
FORTRAN.  We are seeking PhD students and postdocs with interest and<br />
experience in relevant areas: programming language theory, numeric<br />
computing/numeric linear algebra, or differential geometry; and a<br />
burning drive to help lift big iron numeric computing out of the 1960s<br />
and into a newer higher order.  Specific sub-projects include:<br />
compiler and numeric programming environment construction; writing,<br />
simplifying, and generalising numeric algorithms through the use of AD<br />
operators; and associated type/lambda calculus/PLT/real computation<br />
issues.</p>
<p>The project headquarters will be in the Hamilton Institute, NUI<br />
Maynooth, Ireland, http://www.hamilton.ie/.</p>
<p>Applications to:<br />
  &#8220;Barak A. Pearlmutter&#8221; <barak+ad-fp-job@cs.nuim.ie>
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://dvanhorn.lambda-calcul.us/2010/03/04/phd-and-postdoc-positions-functional-programming-and-automatic-differentiation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
