<?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; presentation</title>
	<atom:link href="http://conal.net/blog/tag/presentation/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>Tangible Functional Programming: a modern marriage of usability and composability</title>
		<link>http://conal.net/blog/posts/tangible-functional-programming-a-modern-marriage-of-usability-and-composability</link>
		<comments>http://conal.net/blog/posts/tangible-functional-programming-a-modern-marriage-of-usability-and-composability#comments</comments>
		<pubDate>Wed, 21 Nov 2007 04:54:00 +0000</pubDate>
		<dc:creator><![CDATA[Conal]]></dc:creator>
				<category><![CDATA[Functional programming]]></category>
		<category><![CDATA[Eros]]></category>
		<category><![CDATA[interactive programming]]></category>
		<category><![CDATA[paper]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[TV]]></category>

		<guid isPermaLink="false">http://conal.net/blog/posts/tangible-functional-programming-a-modern-marriage-of-usability-and-composability/</guid>
		<description><![CDATA[Earlier this month I gave a tech talk at Google, entitled “Tangible Functional Programming: a modern marriage of usability and composability”. Thanks to Google folks, the talk is now up on YouTube. I showed a way make functional programming “tangible” and visual, rather than abstract and syntactic and, in doing so, to fulfill the original [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><!-- 

Title: Tangible Functional Programming: a modern marriage of usability and composability

Tags: Eros, interactive programming, presentation, TV, paper

URL: http://conal.net/blog/posts/tangible-functional-programming-a-modern-marriage-of-usability-and-composability/

--></p>

<p><!-- references --></p>

<p>Earlier this month I gave a tech talk at Google, entitled “Tangible Functional Programming: a modern marriage of usability and composability”. Thanks to Google folks, <a href="http://www.youtube.com/watch?v=faJ8N0giqzw">the talk is now up on YouTube</a>. I showed a way make functional programming “tangible” and visual, rather than abstract and syntactic and, in doing so, to fulfill the original Unix vision of simple, composable apps.</p>

<p>The key is to keep an app’s interface and functionality combined and separable. Combined yields usability, and separable yields composability. This principle applies not only to GUI-style interfaces, but to textual IO as well, and it applies to both direct composition and syntactic composition. See <a href="http://haskell.org/haskellwiki/TV">the TV page</a> for examples of the latter. The common practice of mixing IO with functionality inhibits composability whether in C or in Haskell.</p>

<p><strong>Edits</strong>:</p>

<ul>
<li>2008-09-09: The technical/theoretical basis for this tech talk is in the paper <a href="http://conal.net/papers/Eros/">Tangible Functional Programming</a>.</li>
<li>2015-08-06: You can find the tech talk slides <a href="http://conal.net/talks/tangible-functional-programming-2007-11.pdf">here</a>.</li>
</ul>

<p><!-- without a comment or something here, the last item above becomes a paragraph --></p>
<p><a href="http://conal.net/blog/?flattrss_redirect&amp;id=38&amp;md5=78254c2dfe8feed60dffcde84ad8ac29"><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/tangible-functional-programming-a-modern-marriage-of-usability-and-composability/feed</wfw:commentRss>
		<slash:comments>6</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%2Ftangible-functional-programming-a-modern-marriage-of-usability-and-composability&amp;language=en_GB&amp;category=text&amp;title=Tangible+Functional+Programming%3A+a+modern+marriage+of+usability+and+composability&amp;description=Earlier+this+month+I+gave+a+tech+talk+at+Google%2C+entitled+%E2%80%9CTangible+Functional+Programming%3A+a+modern+marriage+of+usability+and+composability%E2%80%9D.+Thanks+to+Google+folks%2C+the+talk+is+now+up...&amp;tags=Eros%2Cinteractive+programming%2Cpaper%2Cpresentation%2CTV%2Cblog" type="text/html" />
	</item>
	</channel>
</rss>
