<?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: Thoughts on semantics for 3D graphics</title>
	<atom:link href="http://conal.net/blog/posts/thoughts-on-semantics-for-3d-graphics/feed/" rel="self" type="application/rss+xml" />
	<link>http://conal.net/blog/posts/thoughts-on-semantics-for-3d-graphics/</link>
	<description>Inspirations &#38; experiments, mainly about denotational programming in Haskell</description>
	<lastBuildDate>Tue, 09 Mar 2010 23:08:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: conal</title>
		<link>http://conal.net/blog/posts/thoughts-on-semantics-for-3d-graphics/comment-page-1/#comment-32609</link>
		<dc:creator>conal</dc:creator>
		<pubDate>Thu, 26 Nov 2009 00:15:20 +0000</pubDate>
		<guid isPermaLink="false">http://conal.net/blog/?p=90#comment-32609</guid>
		<description>&lt;blockquote&gt;
  &lt;p&gt;So do you have any intuition about what kind of shapes this essence you’re looking for might take?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Yes, I do.  It will be simple, familiar, and general to math/types/FP folks.  Sum/product/function -- that sort of thing.  It will explain known domain-specific operations as special cases of more general/simple operations.  There will be plenty of &lt;a href=&quot;http://conal.net/blog/tag/type-class-morphism/&quot; rel=&quot;nofollow&quot;&gt;TCMs&lt;/a&gt; in the API and not much else.  Like Reactive&#039;s FRP model built simply from product (Future) and function (Behavior).&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;As for extrapolation to yet unknown problems, my feeling is that it will practically come for free if the unification is successful.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Oh -- then I guess we&#039;re on the same track.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<blockquote>
  <p>So do you have any intuition about what kind of shapes this essence you’re looking for might take?</p>
</blockquote>

<p>Yes, I do.  It will be simple, familiar, and general to math/types/FP folks.  Sum/product/function &#8212; that sort of thing.  It will explain known domain-specific operations as special cases of more general/simple operations.  There will be plenty of <a href="http://conal.net/blog/tag/type-class-morphism/" rel="nofollow">TCMs</a> in the API and not much else.  Like Reactive&#8217;s FRP model built simply from product (Future) and function (Behavior).</p>

<blockquote>
  <p>As for extrapolation to yet unknown problems, my feeling is that it will practically come for free if the unification is successful.</p>
</blockquote>

<p>Oh &#8212; then I guess we&#8217;re on the same track.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Patai Gergely</title>
		<link>http://conal.net/blog/posts/thoughts-on-semantics-for-3d-graphics/comment-page-1/#comment-32590</link>
		<dc:creator>Patai Gergely</dc:creator>
		<pubDate>Wed, 25 Nov 2009 21:30:00 +0000</pubDate>
		<guid isPermaLink="false">http://conal.net/blog/?p=90#comment-32590</guid>
		<description>&lt;blockquote&gt;My faith (stemming personal intuition and experience) is that when I get to the heart of the matter in elegant isolation, I see pragmatic strengths and defects clearly.&lt;/blockquote&gt;

&lt;p&gt;So do you have any intuition about what kind of shapes this essence you’re looking for might take? Are you looking for the ‘SK calculus of 3D geometry’, or a higher-level view?&lt;/p&gt;

&lt;blockquote&gt;The notion of “real problems” is a slippery one. So often our difficulties are in the questions we’re used to asking and the old paradigms we’re attached to.&lt;/blockquote&gt;

&lt;p&gt;Of course it is slippery, since there are several ways to look at the same thing, which I also alluded to. But I was basically trying to say here that the ultimate ‘grand unified theory’ should be able to capture all these facets, so there will be a point where you’ll have to consider these connections. As for extrapolation to yet unknown problems, my feeling is that it will practically come for free if the unification is successful.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<blockquote>My faith (stemming personal intuition and experience) is that when I get to the heart of the matter in elegant isolation, I see pragmatic strengths and defects clearly.</blockquote>

<p>So do you have any intuition about what kind of shapes this essence you’re looking for might take? Are you looking for the ‘SK calculus of 3D geometry’, or a higher-level view?</p>

<blockquote>The notion of “real problems” is a slippery one. So often our difficulties are in the questions we’re used to asking and the old paradigms we’re attached to.</blockquote>

<p>Of course it is slippery, since there are several ways to look at the same thing, which I also alluded to. But I was basically trying to say here that the ultimate ‘grand unified theory’ should be able to capture all these facets, so there will be a point where you’ll have to consider these connections. As for extrapolation to yet unknown problems, my feeling is that it will practically come for free if the unification is successful.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Jake McArthur</title>
		<link>http://conal.net/blog/posts/thoughts-on-semantics-for-3d-graphics/comment-page-1/#comment-32534</link>
		<dc:creator>Jake McArthur</dc:creator>
		<pubDate>Wed, 25 Nov 2009 01:27:26 +0000</pubDate>
		<guid isPermaLink="false">http://conal.net/blog/?p=90#comment-32534</guid>
		<description>&lt;p&gt;I think maybe I pushed that &quot;leaky abstraction&quot; analogy a bit far. All I really mean is that I prefer a model with explicit flaws over a model with hidden flaws.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I think maybe I pushed that &#8220;leaky abstraction&#8221; analogy a bit far. All I really mean is that I prefer a model with explicit flaws over a model with hidden flaws.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Jake McArthur</title>
		<link>http://conal.net/blog/posts/thoughts-on-semantics-for-3d-graphics/comment-page-1/#comment-32532</link>
		<dc:creator>Jake McArthur</dc:creator>
		<pubDate>Wed, 25 Nov 2009 01:25:29 +0000</pubDate>
		<guid isPermaLink="false">http://conal.net/blog/?p=90#comment-32532</guid>
		<description>&lt;p&gt;&quot;Hm. It feels good to come clean. No wonder Catholics like going to confession.&quot;&lt;/p&gt;

&lt;p&gt;Exposing the limitations of a model also gives me a clearer picture of it, which makes it simpler for me to reason about, although it loses a superficial appearance of simplicity in the process. Perhaps a good analogy would be my taste for Arch Linux over Ubuntu. They both share the same basic architecture, but Ubuntu hides its warts with a simple interface, having the advantage of not initially confusing a user, but the disadvantage of masking the true cause of problems that do arise, while Arch intentionally exposes the inherent complexity of its architecture, perhaps making the learning curve steeper, but also making it easier to reason about due to its full disclosure. While Ubuntu has an abstraction which Arch lacks, it is not a good abstraction because it leaks, therefore the user must learn not only the abstraction but also how it works. Masking or failing to make clear the inherent flaws of a model, I think, is kind of like a leaky abstraction.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>&#8220;Hm. It feels good to come clean. No wonder Catholics like going to confession.&#8221;</p>

<p>Exposing the limitations of a model also gives me a clearer picture of it, which makes it simpler for me to reason about, although it loses a superficial appearance of simplicity in the process. Perhaps a good analogy would be my taste for Arch Linux over Ubuntu. They both share the same basic architecture, but Ubuntu hides its warts with a simple interface, having the advantage of not initially confusing a user, but the disadvantage of masking the true cause of problems that do arise, while Arch intentionally exposes the inherent complexity of its architecture, perhaps making the learning curve steeper, but also making it easier to reason about due to its full disclosure. While Ubuntu has an abstraction which Arch lacks, it is not a good abstraction because it leaks, therefore the user must learn not only the abstraction but also how it works. Masking or failing to make clear the inherent flaws of a model, I think, is kind of like a leaky abstraction.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: conal</title>
		<link>http://conal.net/blog/posts/thoughts-on-semantics-for-3d-graphics/comment-page-1/#comment-32463</link>
		<dc:creator>conal</dc:creator>
		<pubDate>Tue, 24 Nov 2009 03:58:33 +0000</pubDate>
		<guid isPermaLink="false">http://conal.net/blog/?p=90#comment-32463</guid>
		<description>&lt;p&gt;Thanks for the suggestions, Michael.
Mark Rafter made some detailed suggestions along these lines in March, which I&#039;d forgotten.
Worth picking up!&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Thanks for the suggestions, Michael.
Mark Rafter made some detailed suggestions along these lines in March, which I&#8217;d forgotten.
Worth picking up!</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Robinson</title>
		<link>http://conal.net/blog/posts/thoughts-on-semantics-for-3d-graphics/comment-page-1/#comment-32461</link>
		<dc:creator>Michael Robinson</dc:creator>
		<pubDate>Tue, 24 Nov 2009 03:34:44 +0000</pubDate>
		<guid isPermaLink="false">http://conal.net/blog/?p=90#comment-32461</guid>
		<description>&lt;p&gt;Thanks for the inspiring article!  As an applied mathematician, with strong affinity for differerntial (and other) topology, I&#039;m wondering how much of this might abstract in dimension.  (I&#039;m tangentially responding to Luke&#039;s comment, as well.)&lt;/p&gt;

&lt;p&gt;Namely, can you lift your discussion easily into one concerning smooth maps between manifolds of arbitrary dimension (or better yet, definable maps for some o-minimal structure, so you can handle corners in a principled fashion)?&lt;/p&gt;

&lt;p&gt;Of course, to supply some hedged answers (though without a doubt you&#039;re more aware of how to formalize this into Haskell than I) it seems that there are two major obstructions:
1. Abstracting over dimension seems to write.  Lists for instance, don&#039;t have compile-time length guarantees, and tuples get awkward when you must say (R,R,R,...R).  Then again, I really appreciate your vector space library!
2. Bookkeeping manifold charts is bound to be kind of troublesome.  On one hand, you might require charts to look the same, with specified ways to combine them (simplicial complexes are a really rigid way to manage this, Cw complexes are more flexible, but still restrictive, and of course neither fit the usual definitions).  The essential problem is one of defining subsets of R^n in a nice way, perhaps o-minimal structures help here too.&lt;/p&gt;

&lt;p&gt;In any event, this is idle speculation; but it would be a helpful semantics for computing on manifolds in Haskell!&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Thanks for the inspiring article!  As an applied mathematician, with strong affinity for differerntial (and other) topology, I&#8217;m wondering how much of this might abstract in dimension.  (I&#8217;m tangentially responding to Luke&#8217;s comment, as well.)</p>

<p>Namely, can you lift your discussion easily into one concerning smooth maps between manifolds of arbitrary dimension (or better yet, definable maps for some o-minimal structure, so you can handle corners in a principled fashion)?</p>

<p>Of course, to supply some hedged answers (though without a doubt you&#8217;re more aware of how to formalize this into Haskell than I) it seems that there are two major obstructions:
1. Abstracting over dimension seems to write.  Lists for instance, don&#8217;t have compile-time length guarantees, and tuples get awkward when you must say (R,R,R,&#8230;R).  Then again, I really appreciate your vector space library!
2. Bookkeeping manifold charts is bound to be kind of troublesome.  On one hand, you might require charts to look the same, with specified ways to combine them (simplicial complexes are a really rigid way to manage this, Cw complexes are more flexible, but still restrictive, and of course neither fit the usual definitions).  The essential problem is one of defining subsets of R^n in a nice way, perhaps o-minimal structures help here too.</p>

<p>In any event, this is idle speculation; but it would be a helpful semantics for computing on manifolds in Haskell!</p>]]></content:encoded>
	</item>
	<item>
		<title>By: conal</title>
		<link>http://conal.net/blog/posts/thoughts-on-semantics-for-3d-graphics/comment-page-1/#comment-32453</link>
		<dc:creator>conal</dc:creator>
		<pubDate>Tue, 24 Nov 2009 01:23:53 +0000</pubDate>
		<guid isPermaLink="false">http://conal.net/blog/?p=90#comment-32453</guid>
		<description>&lt;p&gt;Jake: yes, I am copping out here and choosing an implementation-friendly, unnatural model in going for surfaces (over 2D) instead of a 3D model.  And as always, the cheater has to pay.  For instance, my cop-out means that I can&#039;t do CSG naturally, nor the effect of the medium (air, smoke, heat, water, glass, etc) through which light passes.&lt;/p&gt;

&lt;p&gt;Hm.  It feels good to come clean.  No wonder Catholics like going to confession.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Jake: yes, I am copping out here and choosing an implementation-friendly, unnatural model in going for surfaces (over 2D) instead of a 3D model.  And as always, the cheater has to pay.  For instance, my cop-out means that I can&#8217;t do CSG naturally, nor the effect of the medium (air, smoke, heat, water, glass, etc) through which light passes.</p>

<p>Hm.  It feels good to come clean.  No wonder Catholics like going to confession.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Jake McArthur</title>
		<link>http://conal.net/blog/posts/thoughts-on-semantics-for-3d-graphics/comment-page-1/#comment-32451</link>
		<dc:creator>Jake McArthur</dc:creator>
		<pubDate>Tue, 24 Nov 2009 01:08:42 +0000</pubDate>
		<guid isPermaLink="false">http://conal.net/blog/?p=90#comment-32451</guid>
		<description>&lt;p&gt;I did indeed mean the latter, why you didn’t use 3D images. To quote your quotation by Luke Palmer, &quot;If extreme idealism isn’t working out for you, maybe it is because you are not wholeheartedly following your own ideals.&quot; Do you, for any reason besides ease of implementation, not see 3D images (perhaps with some contraints on what kind of operations are actually exposed to be friendly to the GPU) as an ideal? (You may delete my previous comment. I did not mean to hit submit.)&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I did indeed mean the latter, why you didn’t use 3D images. To quote your quotation by Luke Palmer, &#8220;If extreme idealism isn’t working out for you, maybe it is because you are not wholeheartedly following your own ideals.&#8221; Do you, for any reason besides ease of implementation, not see 3D images (perhaps with some contraints on what kind of operations are actually exposed to be friendly to the GPU) as an ideal? (You may delete my previous comment. I did not mean to hit submit.)</p>]]></content:encoded>
	</item>
	<item>
		<title>By: conal</title>
		<link>http://conal.net/blog/posts/thoughts-on-semantics-for-3d-graphics/comment-page-1/#comment-32449</link>
		<dc:creator>conal</dc:creator>
		<pubDate>Tue, 24 Nov 2009 00:56:42 +0000</pubDate>
		<guid isPermaLink="false">http://conal.net/blog/?p=90#comment-32449</guid>
		<description>&lt;p&gt;Hi Jake.&lt;/p&gt;

&lt;p&gt;I&#039;m unclear on the question.  The surface model &lt;em&gt;is&lt;/em&gt; the image model (functions of 2D).&lt;/p&gt;

&lt;p&gt;Or maybe you mean why didn&#039;t I use 3D images, i.e., functions of &lt;em&gt;R&lt;sup&gt;3&lt;/sup&gt;&lt;/em&gt; (infinite, continuous voxel map).  If so, then yes, mainly for GPU-friendliness.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Hi Jake.</p>

<p>I&#8217;m unclear on the question.  The surface model <em>is</em> the image model (functions of 2D).</p>

<p>Or maybe you mean why didn&#8217;t I use 3D images, i.e., functions of <em>R<sup>3</sup></em> (infinite, continuous voxel map).  If so, then yes, mainly for GPU-friendliness.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Jake McArthur</title>
		<link>http://conal.net/blog/posts/thoughts-on-semantics-for-3d-graphics/comment-page-1/#comment-32448</link>
		<dc:creator>Jake McArthur</dc:creator>
		<pubDate>Tue, 24 Nov 2009 00:34:38 +0000</pubDate>
		<guid isPermaLink="false">http://conal.net/blog/?p=90#comment-32448</guid>
		<description>&lt;p&gt;I&#039;m curious about your reasons for the surface model for 3D rather than the image model as you use for 2D. Is it primarily for GPU friendliness?&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I&#8217;m curious about your reasons for the surface model for 3D rather than the image model as you use for 2D. Is it primarily for GPU friendliness?</p>]]></content:encoded>
	</item>
	<item>
		<title>By: conal</title>
		<link>http://conal.net/blog/posts/thoughts-on-semantics-for-3d-graphics/comment-page-1/#comment-32432</link>
		<dc:creator>conal</dc:creator>
		<pubDate>Mon, 23 Nov 2009 21:11:50 +0000</pubDate>
		<guid isPermaLink="false">http://conal.net/blog/?p=90#comment-32432</guid>
		<description>&lt;blockquote&gt;
  &lt;p&gt;It seems to me that the biggest challenge is not to come up with a semantics that’s consistent and elegant in isolation, but to provide a structure that gives elegant solutions to real problems.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I look at these challenges as in harmony rather than in tension.
My faith (stemming personal intuition and experience) is that when I get to the heart of the matter in elegant isolation, I see pragmatic strengths and defects clearly.
I don&#039;t expect this perspective to be a popular one, and I don&#039;t mind unpopularity.  It&#039;s a personal path that&#039;s true to myself, which is enough for me.&lt;/p&gt;

&lt;p&gt;So, reworking your words to speak for myself: It seems to me that the biggest challenge is to come up with a semantics that’s consistent and elegant in isolation and therefore provides a structure that gives elegant solutions to real problems, &lt;em&gt;including ones we haven&#039;t yet imagined&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;The notion of &quot;real problems&quot; is a slippery one.
So often our difficulties are in the questions we&#039;re used to asking and the old paradigms we&#039;re attached to.
3D artists might love using an elegant denotational design, or they might have to have their brains rewired, or just wait for a younger generation.&lt;/p&gt;

&lt;p&gt;To sum up, I&#039;ll repeat two principles that &lt;a href=&quot;http://lukepalmer.wordpress.com/2009/06/17/my-premonition/&quot; rel=&quot;nofollow&quot;&gt;Luke Palmer shared in a post from last June&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;If extreme idealism isn’t working out for you, maybe it is because you are not wholeheartedly following your own ideals.&lt;/p&gt;
  
  &lt;p&gt;You must be the change you wish to see in the world (– Mahatma Gandhi). As applied to software: design software as if it were the beautiful paradise you want it to be, then build pieces of the scaffolding back to the status quo.&lt;/p&gt;
&lt;/blockquote&gt;
</description>
		<content:encoded><![CDATA[<blockquote>
  <p>It seems to me that the biggest challenge is not to come up with a semantics that’s consistent and elegant in isolation, but to provide a structure that gives elegant solutions to real problems.</p>
</blockquote>

<p>I look at these challenges as in harmony rather than in tension.
My faith (stemming personal intuition and experience) is that when I get to the heart of the matter in elegant isolation, I see pragmatic strengths and defects clearly.
I don&#8217;t expect this perspective to be a popular one, and I don&#8217;t mind unpopularity.  It&#8217;s a personal path that&#8217;s true to myself, which is enough for me.</p>

<p>So, reworking your words to speak for myself: It seems to me that the biggest challenge is to come up with a semantics that’s consistent and elegant in isolation and therefore provides a structure that gives elegant solutions to real problems, <em>including ones we haven&#8217;t yet imagined</em>.</p>

<p>The notion of &#8220;real problems&#8221; is a slippery one.
So often our difficulties are in the questions we&#8217;re used to asking and the old paradigms we&#8217;re attached to.
3D artists might love using an elegant denotational design, or they might have to have their brains rewired, or just wait for a younger generation.</p>

<p>To sum up, I&#8217;ll repeat two principles that <a href="http://lukepalmer.wordpress.com/2009/06/17/my-premonition/" rel="nofollow">Luke Palmer shared in a post from last June</a>:</p>

<blockquote>
  <p>If extreme idealism isn’t working out for you, maybe it is because you are not wholeheartedly following your own ideals.</p>
  
  <p>You must be the change you wish to see in the world (– Mahatma Gandhi). As applied to software: design software as if it were the beautiful paradise you want it to be, then build pieces of the scaffolding back to the status quo.</p>
</blockquote>]]></content:encoded>
	</item>
	<item>
		<title>By: Patai Gergely</title>
		<link>http://conal.net/blog/posts/thoughts-on-semantics-for-3d-graphics/comment-page-1/#comment-32429</link>
		<dc:creator>Patai Gergely</dc:creator>
		<pubDate>Mon, 23 Nov 2009 20:22:53 +0000</pubDate>
		<guid isPermaLink="false">http://conal.net/blog/?p=90#comment-32429</guid>
		<description>&lt;p&gt;Have you considered looking at this problem from the angle of a modelling artist? How can you create complex shapes, like models of real-life objects and creatures, in a human friendly way? It seems to me that the biggest challenge is not to come up with a semantics that’s consistent and elegant in isolation, but to provide a structure that gives elegant solutions to real problems. Of course, it also depends on the audience what ‘real problem’ means, since e.g. procedural geometry is a completely different story from that of the human sculptor.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Have you considered looking at this problem from the angle of a modelling artist? How can you create complex shapes, like models of real-life objects and creatures, in a human friendly way? It seems to me that the biggest challenge is not to come up with a semantics that’s consistent and elegant in isolation, but to provide a structure that gives elegant solutions to real problems. Of course, it also depends on the audience what ‘real problem’ means, since e.g. procedural geometry is a completely different story from that of the human sculptor.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Luke Palmer</title>
		<link>http://conal.net/blog/posts/thoughts-on-semantics-for-3d-graphics/comment-page-1/#comment-32422</link>
		<dc:creator>Luke Palmer</dc:creator>
		<pubDate>Mon, 23 Nov 2009 18:21:49 +0000</pubDate>
		<guid isPermaLink="false">http://conal.net/blog/?p=90#comment-32422</guid>
		<description>&lt;p&gt;Interesting discussion.  Here are a few notes:&lt;/p&gt;

&lt;p&gt;In a dependently typed setting, the two domains you discuss (pure types and characteristic functions) are the same, barring computability concerns.&lt;/p&gt;

&lt;p&gt;You seem to have forgotten about derivatives by the end of this article.  I get the impression that continuity and differentiability are pretty important to 3D geometry.  Continuity has a general interpretation in the realm of computable functions: i.e. a function from [0,1] to Bool can be continuous as long as it includes a _&#124;_ in between the intervals where it is True and those where it is False.  I have been quietly nagged for a while about the corresponding notion for derivatives.  What would a differentiable function from Either [0,1] [0,1] look like?&lt;/p&gt;

&lt;p&gt;But I feel like if you can capture derivatives, the polymorphic domain approach is pretty good.  Mathematicians (in diff. geometry) work with parameterized surfaces using whatever domain is the most convenient... and they have thought about this stuff a lot :-)&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Interesting discussion.  Here are a few notes:</p>

<p>In a dependently typed setting, the two domains you discuss (pure types and characteristic functions) are the same, barring computability concerns.</p>

<p>You seem to have forgotten about derivatives by the end of this article.  I get the impression that continuity and differentiability are pretty important to 3D geometry.  Continuity has a general interpretation in the realm of computable functions: i.e. a function from [0,1] to Bool can be continuous as long as it includes a _|_ in between the intervals where it is True and those where it is False.  I have been quietly nagged for a while about the corresponding notion for derivatives.  What would a differentiable function from Either [0,1] [0,1] look like?</p>

<p>But I feel like if you can capture derivatives, the polymorphic domain approach is pretty good.  Mathematicians (in diff. geometry) work with parameterized surfaces using whatever domain is the most convenient&#8230; and they have thought about this stuff a lot <img src='http://conal.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>]]></content:encoded>
	</item>
</channel>
</rss>
