<?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>Conal Elliott &#187; inspiration</title>
	<atom:link href="http://conal.net/blog/tag/inspiration/feed" rel="self" type="application/rss+xml" />
	<link>http://conal.net/blog</link>
	<description>Inspirations &#38; experiments, mainly about denotative/functional programming in Haskell</description>
	<lastBuildDate>Thu, 25 Jul 2019 18:15:11 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.1.17</generator>
	<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=conal&amp;popout=1&amp;url=http%3A%2F%2Fconal.net%2Fblog%2F&amp;language=en_US&amp;category=text&amp;title=Conal+Elliott&amp;description=Inspirations+%26amp%3B+experiments%2C+mainly+about+denotative%2Ffunctional+programming+in+Haskell&amp;tags=blog" type="text/html" />
	<item>
		<title>Early inspirations and new directions in functional reactive programming</title>
		<link>http://conal.net/blog/posts/early-inspirations-and-new-directions-in-functional-reactive-programming</link>
		<comments>http://conal.net/blog/posts/early-inspirations-and-new-directions-in-functional-reactive-programming#comments</comments>
		<pubDate>Mon, 01 Dec 2008 07:24:09 +0000</pubDate>
		<dc:creator><![CDATA[Conal]]></dc:creator>
				<category><![CDATA[Functional programming]]></category>
		<category><![CDATA[FRP]]></category>
		<category><![CDATA[functional reactive programming]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[inspiration]]></category>
		<category><![CDATA[relative time]]></category>

		<guid isPermaLink="false">http://conal.net/blog/?p=66</guid>
		<description><![CDATA[In 1989, I was a grad student nearing completion at Carnegie Mellon. Kavi Arya gave a talk on &#8220;functional animation&#8221;, using lazy lists. I was awe-struck with the elegance and power of that simple idea, and I&#8217;ve been hooked on functional animation ever since. At the end of Kavi&#8217;s talk, John Reynolds offered a remark, [&#8230;]]]></description>
				<content:encoded><![CDATA[<!-- 

Title: Early inspirations and new directions in functional reactive programming

Tags: history, inspiration, relative time, FRP, functional reactive programming

URL: http://conal.net/blog/posts/early-inspirations-and-new-directions-in-functional-reactive-programming/

-->

<!-- references -->

<!-- teaser -->

<p>In 1989, I was a grad student nearing completion at Carnegie Mellon.
Kavi Arya gave a talk on &#8220;functional animation&#8221;, using lazy lists.
I was awe-struck with the elegance and power of that simple idea, and I&#8217;ve been hooked on functional animation ever since.</p>

<p>At the end of Kavi&#8217;s talk, <a href="http://www.cs.cmu.edu/~jcr/">John Reynolds</a> offered a remark, roughly as follows:</p>

<blockquote>
  <p>You can think of sequences as functions from the natural numbers.
  Have you thought about functions from the reals instead?
  Doing so might help with the awkwardness with interpolation.</p>
</blockquote>

<p>I knew at once I&#8217;d heard a wonderful idea, so I went back to my office, wrote it down, and promised myself that I wouldn&#8217;t think about Kavi&#8217;s work and John&#8217;s insight until my dissertation was done.
Otherwise, I might never have finished.
A year or so later, at Sun Microsystems, I started working on functional animation, which then grew into functional reactive programming (FRP).</p>

<p>In the dozens of variations on FRP I&#8217;ve played with over the last 15 years, John&#8217;s refinement of Kavi&#8217;s idea has always been the heart of the matter for me.</p>

<p>Lately, I&#8217;ve been rethinking FRP yet again, and I&#8217;m very excited about where it&#8217;s leading me.</p>

<p>The semantic model of FRP has been based on behaviors of infinite duration and, mostly on absolute time.
Recently I realized that some problems of non-modular interaction could be elegantly addressed by switching to finite duration and relative time, and by adopting a <em>co-monadic</em> approach.</p>

<p>Upcoming post will explore these ideas.</p>

<!--
**Edits**:

* 2008-02-09: just fiddling around
-->

<!-- without a comment or something here, the last item above becomes a paragraph -->
<p><a href="http://conal.net/blog/?flattrss_redirect&amp;id=66&amp;md5=b845d26270e91da23f6d98ba030eb754"><img src="http://conal.net/blog/wp-content/plugins/flattr/img/flattr-badge-white.png" srcset="http://conal.net/blog/wp-content/plugins/flattr/img/flattr-badge-white.png, http://conal.net/blog/wp-content/plugins/flattr/img/flattr-badge-white@2x.png 2xhttp://conal.net/blog/wp-content/plugins/flattr/img/flattr-badge-white.png, http://conal.net/blog/wp-content/plugins/flattr/img/flattr-badge-white@3x.png 3x" alt="Flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://conal.net/blog/posts/early-inspirations-and-new-directions-in-functional-reactive-programming/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		<atom:link rel="payment" title="Flattr this!" href="https://flattr.com/submit/auto?user_id=conal&amp;popout=1&amp;url=http%3A%2F%2Fconal.net%2Fblog%2Fposts%2Fearly-inspirations-and-new-directions-in-functional-reactive-programming&amp;language=en_GB&amp;category=text&amp;title=Early+inspirations+and+new+directions+in+functional+reactive+programming&amp;description=In+1989%2C+I+was+a+grad+student+nearing+completion+at+Carnegie+Mellon.+Kavi+Arya+gave+a+talk+on+%26%238220%3Bfunctional+animation%26%238221%3B%2C+using+lazy+lists.+I+was+awe-struck+with+the+elegance+and...&amp;tags=FRP%2Cfunctional+reactive+programming%2Chistory%2Cinspiration%2Crelative+time%2Cblog" type="text/html" />
	</item>
	</channel>
</rss>
