<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Simplifying semantics with type class morphisms</title>
	<atom:link href="http://conal.net/blog/posts/simplifying-semantics-with-type-class-morphisms/feed/" rel="self" type="application/rss+xml" />
	<link>http://conal.net/blog/posts/simplifying-semantics-with-type-class-morphisms/</link>
	<description>Inspirations &#38; experiments, mainly about functional programming in Haskell</description>
	<pubDate>Fri, 29 Aug 2008 02:07:02 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
		<item>
		<title>By: Kefer</title>
		<link>http://conal.net/blog/posts/simplifying-semantics-with-type-class-morphisms/#comment-2282</link>
		<dc:creator>Kefer</dc:creator>
		<pubDate>Fri, 11 Apr 2008 04:03:19 +0000</pubDate>
		<guid isPermaLink="false">http://conal.net/blog/?p=23#comment-2282</guid>
		<description>&lt;p&gt;@ Paul, Raoul:&lt;/p&gt;

&lt;p&gt;"Meaning" is what you want in your mind when working with this stuff, "representation" is the irrelevant nuts-and-bolts that get in the way.&lt;/p&gt;

&lt;p&gt;Instead of the meaning of the number "3", you could get sidetracked for e.g. with the fontography of the symbol, its various representational history and evolution, etc.&lt;/p&gt;

&lt;p&gt;Conal is building a new set of tools (i.e. a library). Every code library is essentially an abstraction layer. How to go about reasoning with the tools, using them effectively, is what he's trying to get at with "meaning", as opposed to the innards of the abstraction layer, the "representation."&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>@ Paul, Raoul:</p>

<p>&#8220;Meaning&#8221; is what you want in your mind when working with this stuff, &#8220;representation&#8221; is the irrelevant nuts-and-bolts that get in the way.</p>

<p>Instead of the meaning of the number &#8220;3&#8243;, you could get sidetracked for e.g. with the fontography of the symbol, its various representational history and evolution, etc.</p>

<p>Conal is building a new set of tools (i.e. a library). Every code library is essentially an abstraction layer. How to go about reasoning with the tools, using them effectively, is what he&#8217;s trying to get at with &#8220;meaning&#8221;, as opposed to the innards of the abstraction layer, the &#8220;representation.&#8221;</p>]]></content:encoded>
	</item>
	<item>
		<title>By: conal</title>
		<link>http://conal.net/blog/posts/simplifying-semantics-with-type-class-morphisms/#comment-2279</link>
		<dc:creator>conal</dc:creator>
		<pubDate>Fri, 11 Apr 2008 01:09:01 +0000</pubDate>
		<guid isPermaLink="false">http://conal.net/blog/?p=23#comment-2279</guid>
		<description>&lt;p&gt;Raoul: yes, that's &lt;em&gt;exactly&lt;/em&gt; what I mean.  Thanks.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Raoul: yes, that&#8217;s <em>exactly</em> what I mean.  Thanks.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Raoul Duke</title>
		<link>http://conal.net/blog/posts/simplifying-semantics-with-type-class-morphisms/#comment-2277</link>
		<dc:creator>Raoul Duke</dc:creator>
		<pubDate>Fri, 11 Apr 2008 01:03:42 +0000</pubDate>
		<guid isPermaLink="false">http://conal.net/blog/?p=23#comment-2277</guid>
		<description>&lt;p&gt;Re: Paul's question.&lt;/p&gt;

&lt;p&gt;(I'm a &lt;em&gt;complete&lt;/em&gt; hick when it comes to most mathematics, let alone this stuff, so apologies if I'm being really painfully clueless.)&lt;/p&gt;

&lt;p&gt;Conal, I interpret what you say at the start of your post to mean that Behaviour is used in an actual program e.g. Haskell code that can be compiled and run, whereas B is not about Haskell but about meaning/semantics/'purely' math, but you happen to use Haskell notation to talk about it.&lt;/p&gt;

&lt;p&gt;??&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Re: Paul&#8217;s question.</p>

<p>(I&#8217;m a <em>complete</em> hick when it comes to most mathematics, let alone this stuff, so apologies if I&#8217;m being really painfully clueless.)</p>

<p>Conal, I interpret what you say at the start of your post to mean that Behaviour is used in an actual program e.g. Haskell code that can be compiled and run, whereas B is not about Haskell but about meaning/semantics/&#8217;purely&#8217; math, but you happen to use Haskell notation to talk about it.</p>

<p>??</p>]]></content:encoded>
	</item>
	<item>
		<title>By: conal</title>
		<link>http://conal.net/blog/posts/simplifying-semantics-with-type-class-morphisms/#comment-2275</link>
		<dc:creator>conal</dc:creator>
		<pubDate>Thu, 10 Apr 2008 17:26:11 +0000</pubDate>
		<guid isPermaLink="false">http://conal.net/blog/?p=23#comment-2275</guid>
		<description>&lt;p&gt;Hi Paul, Thanks for the question.  Please let me know if the following explanation helps.&lt;/p&gt;

&lt;p&gt;In FRP, &lt;code&gt;Behavior&lt;/code&gt; is a parameterized abstract data type&lt;/p&gt;

&lt;p&gt;&lt;div&gt;
&lt;pre class="haskell"&gt;&lt;span style="color: #050; font-weight: bold;"&gt;type&lt;/span&gt; Behavior a&lt;/pre&gt;
&lt;/div&gt;&lt;/p&gt;

&lt;p&gt;This type can be &lt;em&gt;represented&lt;/em&gt; in various ways (e.g., see &lt;a href="http://conal.net/papers/plilpalp98/" rel="nofollow"&gt;Functional Implementations of Continuous Modeled Animation&lt;/a&gt;).
In this post, however, I don't address the representation at all, leaving &lt;code&gt;Behavior&lt;/code&gt; abstract.
Instead, I talk about the &lt;em&gt;meaning&lt;/em&gt; of behaviors, in the sense of denotational semantics.
(In case this notion of &lt;em&gt;meaning&lt;/em&gt; is not clear yet, consider the relationship between the &lt;em&gt;numeral&lt;/em&gt; "3" and the number 3.
We conventionally &lt;em&gt;interpret&lt;/em&gt; numerals as numbers, but numerals are symbols, while numbers are quantities.)
What's perhaps unusual here is that I'm giving the meaning of a data type, not a language.
(Though languages can be viewed of data types in a meta-language.)&lt;/p&gt;

&lt;p&gt;A behavior represents (can be interpreted as) a value that varies in time.
The semantic domain &lt;code&gt;B&lt;/code&gt; and semantic function, &lt;code&gt;at :: Behavior a -&#62; B a&lt;/code&gt;, make that interpretation formal.
For instance, in the meaning of the behavior &lt;code&gt;time&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;div&gt;
&lt;pre class="haskell"&gt;at time == &lt;a href="http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#v:id" rel="nofollow"&gt;&lt;span style="font-weight: bold;"&gt;id&lt;/span&gt;&lt;/a&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;/p&gt;

&lt;p&gt;note that &lt;code&gt;time :: Behavior Time&lt;/code&gt;, while &lt;code&gt;id :: B Time&lt;/code&gt;, i.e., &lt;code&gt;id :: Time -&#62; Time&lt;/code&gt;.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Hi Paul, Thanks for the question.  Please let me know if the following explanation helps.</p>

<p>In FRP, <code>Behavior</code> is a parameterized abstract data type</p>

<p><div>
<pre class="haskell"><span style="color: #050; font-weight: bold;">type</span> Behavior a</pre>
</div></p>

<p>This type can be <em>represented</em> in various ways (e.g., see <a href="http://conal.net/papers/plilpalp98/" rel="nofollow">Functional Implementations of Continuous Modeled Animation</a>).
In this post, however, I don&#8217;t address the representation at all, leaving <code>Behavior</code> abstract.
Instead, I talk about the <em>meaning</em> of behaviors, in the sense of denotational semantics.
(In case this notion of <em>meaning</em> is not clear yet, consider the relationship between the <em>numeral</em> &#8220;3&#8243; and the number 3.
We conventionally <em>interpret</em> numerals as numbers, but numerals are symbols, while numbers are quantities.)
What&#8217;s perhaps unusual here is that I&#8217;m giving the meaning of a data type, not a language.
(Though languages can be viewed of data types in a meta-language.)</p>

<p>A behavior represents (can be interpreted as) a value that varies in time.
The semantic domain <code>B</code> and semantic function, <code>at :: Behavior a -&gt; B a</code>, make that interpretation formal.
For instance, in the meaning of the behavior <code>time</code></p>

<p><div>
<pre class="haskell">at time == <a href="http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#v:id" rel="nofollow"><span style="font-weight: bold;">id</span></a></pre>
</div></p>

<p>note that <code>time :: Behavior Time</code>, while <code>id :: B Time</code>, i.e., <code>id :: Time -&gt; Time</code>.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Christophe Poucet (vincenz)</title>
		<link>http://conal.net/blog/posts/simplifying-semantics-with-type-class-morphisms/#comment-2274</link>
		<dc:creator>Christophe Poucet (vincenz)</dc:creator>
		<pubDate>Thu, 10 Apr 2008 17:22:02 +0000</pubDate>
		<guid isPermaLink="false">http://conal.net/blog/?p=23#comment-2274</guid>
		<description>&lt;p&gt;Great article, I really liked it.  Especially after the clarification.  The subtler points are definitely food for thought, thanks for the conversation :)&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Great article, I really liked it.  Especially after the clarification.  The subtler points are definitely food for thought, thanks for the conversation <img src='http://conal.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>]]></content:encoded>
	</item>
	<item>
		<title>By: Paul Johnson</title>
		<link>http://conal.net/blog/posts/simplifying-semantics-with-type-class-morphisms/#comment-2239</link>
		<dc:creator>Paul Johnson</dc:creator>
		<pubDate>Wed, 09 Apr 2008 08:24:56 +0000</pubDate>
		<guid isPermaLink="false">http://conal.net/blog/?p=23#comment-2239</guid>
		<description>&lt;p&gt;What do you mean by "meaning"?  I noticed the meaning = definition pattern in your paper, but since I've never come across this use of the word "meaning" I can't see how its anything other than a tautology.&lt;/p&gt;

&lt;p&gt;Thanks,&lt;/p&gt;

&lt;p&gt;Paul.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>What do you mean by &#8220;meaning&#8221;?  I noticed the meaning = definition pattern in your paper, but since I&#8217;ve never come across this use of the word &#8220;meaning&#8221; I can&#8217;t see how its anything other than a tautology.</p>

<p>Thanks,</p>

<p>Paul.</p>]]></content:encoded>
	</item>
</channel>
</rss>
