<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Left Kan extensions of containers</title>
	<atom:link href="http://sneezy.cs.nott.ac.uk/fplunch/weblog/?feed=rss2&#038;p=237" rel="self" type="application/rss+xml" />
	<link>http://sneezy.cs.nott.ac.uk/fplunch/weblog/?p=237</link>
	<description>abstracting the pain away</description>
	<lastBuildDate>Tue, 17 May 2011 07:05:56 +0100</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.3</generator>
	<item>
		<title>By: Peter Morris</title>
		<link>http://sneezy.cs.nott.ac.uk/fplunch/weblog/?p=237#comment-43241</link>
		<dc:creator>Peter Morris</dc:creator>
		<pubDate>Wed, 07 Oct 2009 13:01:43 +0000</pubDate>
		<guid isPermaLink="false">http://sneezy.cs.nott.ac.uk/fplunch/weblog/?p=237#comment-43241</guid>
		<description>Unfortunately the example above does not work, since your assumption that Fin is an endofunctor is not true. This should have been obvious since the type Fin&#039; you construct is the type of non-empty lists, which is rather different than Fin.

It might be an interesting question what this means for GADTs which _are_ functors in the Haskell sense, but I suspect these GADTs are already trivially reducible to plain Haskell data types.</description>
		<content:encoded><![CDATA[<p>Unfortunately the example above does not work, since your assumption that Fin is an endofunctor is not true. This should have been obvious since the type Fin&#8217; you construct is the type of non-empty lists, which is rather different than Fin.</p>
<p>It might be an interesting question what this means for GADTs which _are_ functors in the Haskell sense, but I suspect these GADTs are already trivially reducible to plain Haskell data types.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Derek Elkins</title>
		<link>http://sneezy.cs.nott.ac.uk/fplunch/weblog/?p=237#comment-43124</link>
		<dc:creator>Derek Elkins</dc:creator>
		<pubDate>Sun, 04 Oct 2009 19:35:00 +0000</pubDate>
		<guid isPermaLink="false">http://sneezy.cs.nott.ac.uk/fplunch/weblog/?p=237#comment-43124</guid>
		<description>Yes, I&#039;m treating S and T as the discrete categories generated by the sets.

My notation was somewhat ill-defined.  K_S was intended to mean the constant functor over the discrete category generated from S, S is not being passed to it.  It is just K1 : S -&gt; Set.  I didn&#039;t want S and T to completely disappear.  (Also, in Lan_H o Lan_K, I meant arbitrary H and K, I just wasn&#039;t thinking there.)

The representation of the (semantics of) containers as left Kan extensions comes from &quot;Constructing Polymorphic Programs with Quotient Types.&quot; However, you can also arrive at it by using the explicit representation in terms of coends.  Using the names from the explicit representation for Lan_J F, F = K1 and the equivalence ~ is just the identity relation since we are &quot;integrating&quot; over a discrete category.  The coend becomes just the dependent sum and the product trivializes to just the left component.</description>
		<content:encoded><![CDATA[<p>Yes, I&#8217;m treating S and T as the discrete categories generated by the sets.</p>
<p>My notation was somewhat ill-defined.  K_S was intended to mean the constant functor over the discrete category generated from S, S is not being passed to it.  It is just K1 : S -&gt; Set.  I didn&#8217;t want S and T to completely disappear.  (Also, in Lan_H o Lan_K, I meant arbitrary H and K, I just wasn&#8217;t thinking there.)</p>
<p>The representation of the (semantics of) containers as left Kan extensions comes from &#8220;Constructing Polymorphic Programs with Quotient Types.&#8221; However, you can also arrive at it by using the explicit representation in terms of coends.  Using the names from the explicit representation for Lan_J F, F = K1 and the equivalence ~ is just the identity relation since we are &#8220;integrating&#8221; over a discrete category.  The coend becomes just the dependent sum and the product trivializes to just the left component.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thorsten</title>
		<link>http://sneezy.cs.nott.ac.uk/fplunch/weblog/?p=237#comment-43116</link>
		<dc:creator>Thorsten</dc:creator>
		<pubDate>Sun, 04 Oct 2009 17:50:54 +0000</pubDate>
		<guid isPermaLink="false">http://sneezy.cs.nott.ac.uk/fplunch/weblog/?p=237#comment-43116</guid>
		<description>Looks interesting, but I don&#039;t (yet) get it.
P : S -&gt; Set, do you view S here as a discrete category?
Also the 2nd argument should be a functor, but K_S 1 is a Set.
Why is S &lt;&#124; P a Lan?</description>
		<content:encoded><![CDATA[<p>Looks interesting, but I don&#8217;t (yet) get it.<br />
P : S -> Set, do you view S here as a discrete category?<br />
Also the 2nd argument should be a functor, but K_S 1 is a Set.<br />
Why is S <| P a Lan?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Derek Elkins</title>
		<link>http://sneezy.cs.nott.ac.uk/fplunch/weblog/?p=237#comment-43042</link>
		<dc:creator>Derek Elkins</dc:creator>
		<pubDate>Sat, 03 Oct 2009 23:24:55 +0000</pubDate>
		<guid isPermaLink="false">http://sneezy.cs.nott.ac.uk/fplunch/weblog/?p=237#comment-43042</guid>
		<description>F = S &lt;&#124; P = Lan_P (K_S 1)
G = T &lt;&#124; Q = Lan_Q (K_T 1)
K the constant functor
Lan_H o Lan_K = Lan_(H o K)
provided everything exists, particularly Lan_K
So, Lan_F G = (Lan_F o Lan_Q) (K_T 1) = Lan_(F o Q) (K_T 1) = T &lt;&#124; F o Q</description>
		<content:encoded><![CDATA[<p>F = S &lt;| P = Lan_P (K_S 1)<br />
G = T &lt;| Q = Lan_Q (K_T 1)<br />
K the constant functor<br />
Lan_H o Lan_K = Lan_(H o K)<br />
provided everything exists, particularly Lan_K<br />
So, Lan_F G = (Lan_F o Lan_Q) (K_T 1) = Lan_(F o Q) (K_T 1) = T &lt;| F o Q</p>
]]></content:encoded>
	</item>
</channel>
</rss>
