<?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: OpenGL programming in Haskell &#8211; a tutorial (part 1)</title>
	<atom:link href="http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/</link>
	<description>Because my LiveJournal is too silly</description>
	<lastBuildDate>Mon, 15 Mar 2010 18:50:59 +0100</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Functor Salad</title>
		<link>http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/comment-page-1/#comment-160168</link>
		<dc:creator>Functor Salad</dc:creator>
		<pubDate>Mon, 09 Mar 2009 17:05:54 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/#comment-160168</guid>
		<description>Thanks a lot for this tutorial :) This is exactly how a tutorial should be -- begin by showing how to draw some frigging points rather than with 15 pages of boilerplate, side remarks and whatnot. I can usually figure out much of a library from the docs once I got the ball rolling like this, but getting there is a pain from a reference manual.

Minor point: As of now (GLUT-2.1.1.2) the resizing works just fine without the &lt;i&gt;reshape&lt;/i&gt; callback.</description>
		<content:encoded><![CDATA[<p>Thanks a lot for this tutorial <img src='http://blog.mikael.johanssons.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  This is exactly how a tutorial should be &#8212; begin by showing how to draw some frigging points rather than with 15 pages of boilerplate, side remarks and whatnot. I can usually figure out much of a library from the docs once I got the ball rolling like this, but getting there is a pain from a reference manual.</p>
<p>Minor point: As of now (GLUT-2.1.1.2) the resizing works just fine without the <i>reshape</i> callback.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mathematical Pamphlet &#187; Visualizing 2D convex hull using Gtk and OpenGL in Haskell</title>
		<link>http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/comment-page-1/#comment-43416</link>
		<dc:creator>Mathematical Pamphlet &#187; Visualizing 2D convex hull using Gtk and OpenGL in Haskell</dc:creator>
		<pubDate>Tue, 20 Nov 2007 09:06:40 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/#comment-43416</guid>
		<description>[...] best OpenGL tutorial for Haskell that I&#8217;ve found is this one from Michi&#8217;s blog, using GLUT to interface with X. For this tutorial we are going to use the Gtk GLDrawingArea [...]</description>
		<content:encoded><![CDATA[<p>[...] best OpenGL tutorial for Haskell that I&#8217;ve found is this one from Michi&#8217;s blog, using GLUT to interface with X. For this tutorial we are going to use the Gtk GLDrawingArea [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rasmus Ulvund</title>
		<link>http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/comment-page-1/#comment-34974</link>
		<dc:creator>Rasmus Ulvund</dc:creator>
		<pubDate>Mon, 22 Oct 2007 23:45:34 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/#comment-34974</guid>
		<description>Very cute!

I should take some time to play with this.</description>
		<content:encoded><![CDATA[<p>Very cute!</p>
<p>I should take some time to play with this.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Haskell Vs. Lisp &#187; Blog Archive &#187; A game in haskell, day one</title>
		<link>http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/comment-page-1/#comment-7305</link>
		<dc:creator>Haskell Vs. Lisp &#187; Blog Archive &#187; A game in haskell, day one</dc:creator>
		<pubDate>Sun, 04 Feb 2007 19:24:27 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/#comment-7305</guid>
		<description>[...] [1] http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/ [...]</description>
		<content:encoded><![CDATA[<p>[...] [1] <a href="http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/" rel="nofollow">http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rick</title>
		<link>http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/comment-page-1/#comment-3128</link>
		<dc:creator>Rick</dc:creator>
		<pubDate>Sun, 19 Nov 2006 20:32:17 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/#comment-3128</guid>
		<description>Thanks for the tutorial</description>
		<content:encoded><![CDATA[<p>Thanks for the tutorial</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michi</title>
		<link>http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/comment-page-1/#comment-3015</link>
		<dc:creator>Michi</dc:creator>
		<pubDate>Fri, 17 Nov 2006 07:47:03 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/#comment-3015</guid>
		<description>First off, there are definitive ways to write the code prettier than I did - this tutorial is written almost as much for my own learning as it is for teaching purposes.

Secondly, I wouldn&#039;t be able to pinpoint a good knock-out argument why OpenGL in Haskell would be a better idea than, say, OpenGL in C or OpenGL with Python bindings et.c. other than at most being able to manhandle lists and what-not with the Haskell built-in tools. You also will not get the most funky and modern stuff at the current state of HOpenGL, so I&#039;d explicitly recommend against it for, say, games programming in general.

I remember OpenGL in C as being unwieldy and annoying when I coded it, and the way it&#039;s encapsulated in Haskell to be neat in comparison, but this may be taken care of in other language bindings just as well.</description>
		<content:encoded><![CDATA[<p>First off, there are definitive ways to write the code prettier than I did &#8211; this tutorial is written almost as much for my own learning as it is for teaching purposes.</p>
<p>Secondly, I wouldn&#8217;t be able to pinpoint a good knock-out argument why OpenGL in Haskell would be a better idea than, say, OpenGL in C or OpenGL with Python bindings et.c. other than at most being able to manhandle lists and what-not with the Haskell built-in tools. You also will not get the most funky and modern stuff at the current state of HOpenGL, so I&#8217;d explicitly recommend against it for, say, games programming in general.</p>
<p>I remember OpenGL in C as being unwieldy and annoying when I coded it, and the way it&#8217;s encapsulated in Haskell to be neat in comparison, but this may be taken care of in other language bindings just as well.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: alex</title>
		<link>http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/comment-page-1/#comment-2995</link>
		<dc:creator>alex</dc:creator>
		<pubDate>Thu, 16 Nov 2006 20:38:10 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/#comment-2995</guid>
		<description>With all due respect, the code above is pretty ugly.  Is there any real advantage to using Haskell for OpenGL programming?</description>
		<content:encoded><![CDATA[<p>With all due respect, the code above is pretty ugly.  Is there any real advantage to using Haskell for OpenGL programming?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michi&#8217;s blog &#187; Blog Archive &#187; OpenGL programming in Haskell, a tutorial (Part 2)</title>
		<link>http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/comment-page-1/#comment-1577</link>
		<dc:creator>Michi&#8217;s blog &#187; Blog Archive &#187; OpenGL programming in Haskell, a tutorial (Part 2)</dc:creator>
		<pubDate>Tue, 26 Sep 2006 06:51:22 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/#comment-1577</guid>
		<description>[...] As we left off the last installment, we were just about capable to open up a window, and draw some basic things in it by giving coordinate lists to the command renderPrimitive. The programs we built suffered under a couple of very infringing and ugly restraints when we wrote them - for one, they weren&#8217;t really very modularized. The code would have been much clearer had we farmed out important subtasks on other modules. For another, we never even considered the fact that some manipulations would not necessarily be good to do on the entire picture. [...]</description>
		<content:encoded><![CDATA[<p>[...] As we left off the last installment, we were just about capable to open up a window, and draw some basic things in it by giving coordinate lists to the command renderPrimitive. The programs we built suffered under a couple of very infringing and ugly restraints when we wrote them &#8211; for one, they weren&#8217;t really very modularized. The code would have been much clearer had we farmed out important subtasks on other modules. For another, we never even considered the fact that some manipulations would not necessarily be good to do on the entire picture. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michi</title>
		<link>http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/comment-page-1/#comment-1576</link>
		<dc:creator>Michi</dc:creator>
		<pubDate>Tue, 26 Sep 2006 06:45:23 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/#comment-1576</guid>
		<description>Thanks for the corrections. I think the case with the disappearing backslashes is to a certain extent the blogpost being &quot;hung over&quot; from problems I had when editing - where all of a sudden ALL &quot;special&quot; characters ended up escaped with \ all over the place; and at some point I just removed all backslashes (without thinking about the consequences).

I&#039;ll incorporate your points in an edit now. Thanks.</description>
		<content:encoded><![CDATA[<p>Thanks for the corrections. I think the case with the disappearing backslashes is to a certain extent the blogpost being &#8220;hung over&#8221; from problems I had when editing &#8211; where all of a sudden ALL &#8220;special&#8221; characters ended up escaped with \ all over the place; and at some point I just removed all backslashes (without thinking about the consequences).</p>
<p>I&#8217;ll incorporate your points in an edit now. Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: El Seed</title>
		<link>http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/comment-page-1/#comment-1567</link>
		<dc:creator>El Seed</dc:creator>
		<pubDate>Mon, 25 Sep 2006 22:50:21 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/#comment-1567</guid>
		<description>er, in general your backslashes are disappearing, as in 
&lt;code&gt;map (k -&gt; (sin(2*pi*k/12),cos(2*pi*k/12),0.0)) [1..12]&lt;/code&gt;
Also, the keyword is &lt;b&gt;Quads&lt;/b&gt; not &lt;b&gt;Quad&lt;/b&gt;.</description>
		<content:encoded><![CDATA[<p>er, in general your backslashes are disappearing, as in<br />
<code>map (k -&gt; (sin(2*pi*k/12),cos(2*pi*k/12),0.0)) [1..12]</code><br />
Also, the keyword is <b>Quads</b> not <b>Quad</b>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: El Seed</title>
		<link>http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/comment-page-1/#comment-1566</link>
		<dc:creator>El Seed</dc:creator>
		<pubDate>Mon, 25 Sep 2006 22:29:10 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/#comment-1566</guid>
		<description>&lt;code&gt;(x, y, z)-&gt;vertex$Vertex3 x y z&lt;/code&gt;
does not compile for me.  Maybe the intention was
&lt;code&gt;&lt;b&gt;\&lt;/b&gt;(x, y, z)-&gt;vertex$Vertex3 x y z&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p><code>(x, y, z)-&gt;vertex$Vertex3 x y z</code><br />
does not compile for me.  Maybe the intention was<br />
<code><b>\</b>(x, y, z)-&gt;vertex$Vertex3 x y z</code></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michi</title>
		<link>http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/comment-page-1/#comment-1364</link>
		<dc:creator>Michi</dc:creator>
		<pubDate>Fri, 15 Sep 2006 11:19:04 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/#comment-1364</guid>
		<description>One point worth noting is that the added call to postRedisplay I used in the reshape callback is completely redundant. This wasn&#039;t clear to me when writing, however, since I would do most of my testing over an ssh-tunneled X session. Thus updating was slow in general, and in particular resulted in redisplays not occuring as fast as they should.

A locally run test showed me that the behaviour asked actually does occur with reshape defined as
&lt;code type=&quot;haskell&gt;
reshape s@(Size w h) = do
  viewport $= (Position 0 0, s)
&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p>One point worth noting is that the added call to postRedisplay I used in the reshape callback is completely redundant. This wasn&#8217;t clear to me when writing, however, since I would do most of my testing over an ssh-tunneled X session. Thus updating was slow in general, and in particular resulted in redisplays not occuring as fast as they should.</p>
<p>A locally run test showed me that the behaviour asked actually does occur with reshape defined as<br />
<code type="haskell><br />
reshape s@(Size w h) = do<br />
  viewport $= (Position 0 0, s)<br />
</code></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kyle</title>
		<link>http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/comment-page-1/#comment-1357</link>
		<dc:creator>Kyle</dc:creator>
		<pubDate>Thu, 14 Sep 2006 19:23:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/#comment-1357</guid>
		<description>Awesome. Like Leif said, keep it going. 
I&#039;ve been waiting for someone to fill the OpenGL tutorial void in haskell. :)

Also, I happen to think it&#039;s important work.
OpenGL is everywhere and is an excellent example of a low level popular C library for haskell to interface with. The more use it, the better the OpenGL bindings get, the better haskell&#039;s interaction with normal libraries get.</description>
		<content:encoded><![CDATA[<p>Awesome. Like Leif said, keep it going.<br />
I&#8217;ve been waiting for someone to fill the OpenGL tutorial void in haskell. <img src='http://blog.mikael.johanssons.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Also, I happen to think it&#8217;s important work.<br />
OpenGL is everywhere and is an excellent example of a low level popular C library for haskell to interface with. The more use it, the better the OpenGL bindings get, the better haskell&#8217;s interaction with normal libraries get.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Leif D</title>
		<link>http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/comment-page-1/#comment-1353</link>
		<dc:creator>Leif D</dc:creator>
		<pubDate>Thu, 14 Sep 2006 16:48:17 +0000</pubDate>
		<guid isPermaLink="false">http://blog.mikael.johanssons.org/archive/2006/09/opengl-programming-in-haskell-a-tutorial-part-1/#comment-1353</guid>
		<description>Thank you!

Keep more comming :P</description>
		<content:encoded><![CDATA[<p>Thank you!</p>
<p>Keep more comming <img src='http://blog.mikael.johanssons.org/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>
