<?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; end-user programming</title>
	<atom:link href="http://conal.net/blog/tag/end-user-programming/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>ICFP &#8217;07 paper draft &#8212; comments please</title>
		<link>http://conal.net/blog/posts/icfp-07-paper-draft-comments-please</link>
		<comments>http://conal.net/blog/posts/icfp-07-paper-draft-comments-please#comments</comments>
		<pubDate>Tue, 27 Mar 2007 19:14:00 +0000</pubDate>
		<dc:creator><![CDATA[Conal]]></dc:creator>
				<category><![CDATA[Functional programming]]></category>
		<category><![CDATA[combinators]]></category>
		<category><![CDATA[DeepArrow]]></category>
		<category><![CDATA[end-user programming]]></category>
		<category><![CDATA[Eros]]></category>
		<category><![CDATA[icfp]]></category>
		<category><![CDATA[TV]]></category>

		<guid isPermaLink="false">http://conal.net/blog/posts/icfp-07-paper-draft-comments-please/</guid>
		<description><![CDATA[Warning: if you&#8217;re on the ICFP program committee and want to preserve double-blind reviewing, please ignore this post. I&#8217;ve been working on an ICFP paper called “Tangible Functional Programming”, revising my last year&#8217;s submission on Eros. If you&#8217;re interested in taking a look, I&#8217;d greatly appreciate any comments, especially before the April 6 submission deadline. [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Warning: if you&#8217;re on the ICFP program committee and want to preserve double-blind reviewing, please ignore this post.</p>

<p>I&#8217;ve been working on an ICFP paper called “<a href="http://conal.net/papers/Eros">Tangible Functional Programming</a>”, revising my last year&#8217;s submission on Eros.  If you&#8217;re interested in taking a look, I&#8217;d greatly appreciate any comments, especially before the April 6 submission deadline.</p>

<p><span style="font-weight: bold;">Abstract</span></p>

<blockquote>  <p>We present a user-friendly approach to unifying program creation and  execution, based on a notion of “tangible values” (TVs), which are visible and interactive GUI manifestations of pure values. Programming happens by gestural  composition of TVs. Our goal is to give end-users the ability to  create parameterized, composable content without imposing the usual abstract and  linguistic working style of programmers. We hope that such a system will put the  essence of programming into the hands of many more people, and in particular  people with artistic/visual creative style.</p>  <p>In realizing this vision, we develop algebras for visual presentation and for  “deep” function application, where function and argument may both be nested  within a structure of tuples, functions, etc. Composition gestures are  translated into chains of combinators that act simultaneously  on statically typed values and their visualizations.</p> </blockquote>

<p>
</p>

<p style="text-align: left;">Here is a figure from the paper, showing one stage of an interactively composed interactive 2D region. The user selects compatibly-typed input and output widgets, typically in different TVs. The result is a new TV that merges the source TVs, <i>except</i> for the connected input and output, which vanish.  The sliders control the disk and checker sizes and the checker&#8217;s rotation angle.</p>

<p align="center"><img src="http://conal.net/papers/Eros/png/make-diskChecker.png" border="0" /></p>

<p><b>Edit</b> on March 28:I just added two relevant pointers to the <href=http: net="" papers="" eros="">paper&#8217;s web page:</href=http:>
</p>

<ul><li>The <a href="http://haskell.org/haskellwiki/TV">TV</a> library page</li><li>The <a href="http://haskell.org/haskellwiki/DeepArrow">DeepArrow</a> library page</li></ul>
<p><a href="http://conal.net/blog/?flattrss_redirect&amp;id=32&amp;md5=b60d4e3afa1c33dfba8abb6520038173"><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/icfp-07-paper-draft-comments-please/feed</wfw:commentRss>
		<slash:comments>1</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%2Ficfp-07-paper-draft-comments-please&amp;language=en_GB&amp;category=text&amp;title=ICFP+%26%238217%3B07+paper+draft+%26%238212%3B+comments+please&amp;description=Warning%3A+if+you%26%238217%3Bre+on+the+ICFP+program+committee+and+want+to+preserve+double-blind+reviewing%2C+please+ignore+this+post.+I%26%238217%3Bve+been+working+on+an+ICFP+paper+called+%E2%80%9CTangible+Functional+Programming%E2%80%9D%2C+revising...&amp;tags=combinators%2CDeepArrow%2Cend-user+programming%2CEros%2Cicfp%2CTV%2Cblog" type="text/html" />
	</item>
		<item>
		<title>Non-syntactic, end-user, functional programming</title>
		<link>http://conal.net/blog/posts/non-syntactic-end-user-functional-programming</link>
		<comments>http://conal.net/blog/posts/non-syntactic-end-user-functional-programming#comments</comments>
		<pubDate>Mon, 11 Sep 2006 17:26:00 +0000</pubDate>
		<dc:creator><![CDATA[Conal]]></dc:creator>
				<category><![CDATA[Functional programming]]></category>
		<category><![CDATA[end-user programming]]></category>
		<category><![CDATA[Eros]]></category>
		<category><![CDATA[paper]]></category>
		<category><![CDATA[tangible value]]></category>

		<guid isPermaLink="false">http://conal.net/blog/posts/non-syntactic-end-user-functional-programming/</guid>
		<description><![CDATA[(This is an edited version of a post made on April 11 that somehow became inaccessible from my main blog page.) I have a draft paper called “Functional Programming by Interacting with Concrete Values”. I&#8217;m very excited about this research direction as a way to let people program without turning them into programmers. A concrete [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>(This is an edited version of a post made on April 11 that somehow became inaccessible from my main blog page.)</p>

<p>I have a draft paper called “<a href="http://conal.net/papers/Eros">Functional Programming by Interacting with Concrete Values</a>”. I&#8217;m very excited about this research direction as a way to let people program without turning them into programmers.  A concrete form of this goal is enable artists to make and share their own software tools (parameterized image effects), while staying in an artistic creative mode.</p>

<p>An excerpt from the introduction:</p>

<blockquote>Suppose <i>users</i> of interactive programs could also create such programs with a simple extension of their current style of interaction.  First, such a development would enable many more people to create and share computational content.  Second, it would allow this content to be created without imposing the abstract, linguistic mode of creativity.  This freedom may give birth to new kinds of programs whose creation is nurtured by a concrete and visual environment.</blockquote>

<p>Comments please (related work, ideas, typos, unclear bits, etc)!</p>

<p><strong>Edit 2008-04-17</strong>: The paper didn&#8217;t get accepted in 2006.  Thanks to very helpful review comments, and a lot of rewriting, the paper did get accepted in 2007, under the title &#8220;Tangible functional programming&#8221;.</p>
<p><a href="http://conal.net/blog/?flattrss_redirect&amp;id=28&amp;md5=2296841220301db7e3f925330c861074"><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/non-syntactic-end-user-functional-programming/feed</wfw:commentRss>
		<slash:comments>2</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%2Fnon-syntactic-end-user-functional-programming&amp;language=en_GB&amp;category=text&amp;title=Non-syntactic%2C+end-user%2C+functional+programming&amp;description=%28This+is+an+edited+version+of+a+post+made+on+April+11+that+somehow+became+inaccessible+from+my+main+blog+page.%29+I+have+a+draft+paper+called+%E2%80%9CFunctional+Programming+by...&amp;tags=end-user+programming%2CEros%2Cpaper%2Ctangible+value%2Cblog" type="text/html" />
	</item>
	</channel>
</rss>
