<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-11295132.post3662062791857319803..comments</id><updated>2007-10-26T07:41:34.070-07:00</updated><category term='category theory'/><category term='lawvere theories'/><category term='astronomy'/><category term='optimisation'/><category term='self-reference'/><category term='comonads'/><category term='haskell'/><category term='programming'/><category term='monad'/><category term='mathematics'/><category term='physics'/><category term='probability'/><category term='types'/><category term='quantum'/><title type='text'>Comments on A Neighborhood of Infinity: How to write tolerably efficient optimzation code ...</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.sigfpe.com/feeds/3662062791857319803/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html'/><author><name>sigfpe</name><uri>http://www.blogger.com/profile/08096190433222340957</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://homepage.mac.com/sigfpe/.Pictures/Photo%20Album%20Pictures/2002-12-07%2014.53.40%20-0800/ImageDSC01397_1.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-11295132.post-8919759540191248133</id><published>2007-06-26T15:26:00.000-07:00</published><updated>2007-06-26T15:26:00.000-07:00</updated><title type='text'>Saizan,&lt;br&gt;&lt;br&gt;Oh, I&amp;#39;m not so bothered about t...</title><content type='html'>Saizan,&lt;BR/&gt;&lt;BR/&gt;Oh, I'm not so bothered about that. g has the bizarre property that you can have x==y but g x /= g y. So you can trick &gt;&gt;= into collapsing things together which you can later pick apart.&lt;BR/&gt;&lt;BR/&gt;But I should state things rigorously. My Monad class requires that Eq and Ord are "well behaved".</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/8919759540191248133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/8919759540191248133'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html?showComment=1182896760000#c8919759540191248133' title=''/><author><name>sigfpe</name><uri>http://www.blogger.com/profile/08096190433222340957</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html' ref='tag:blogger.com,1999:blog-11295132.post-3662062791857319803' source='http://www.blogger.com/feeds/11295132/posts/default/3662062791857319803' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-961546855'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-4225910741129557944</id><published>2007-06-26T14:58:00.000-07:00</published><updated>2007-06-26T14:58:00.000-07:00</updated><title type='text'>Saizan,&lt;br&gt;&lt;br&gt;I've been away for a few days but I...</title><content type='html'>Saizan,&lt;BR/&gt;&lt;BR/&gt;I've been away for a few days but I'll look closely at your example....</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/4225910741129557944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/4225910741129557944'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html?showComment=1182895080000#c4225910741129557944' title=''/><author><name>sigfpe</name><uri>http://www.blogger.com/profile/08096190433222340957</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html' ref='tag:blogger.com,1999:blog-11295132.post-3662062791857319803' source='http://www.blogger.com/feeds/11295132/posts/default/3662062791857319803' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-961546855'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-6303500935285333099</id><published>2007-06-25T12:13:00.000-07:00</published><updated>2007-06-25T12:13:00.000-07:00</updated><title type='text'>Trying to modify "the above code so that it finds ...</title><content type='html'>Trying to modify "the above code so that it finds the one shortest path from {A,B} to {E,F}", without using runM and keeping the returned value as (step1,step4), i've accidentally found a counterexample for the third monad law:&lt;BR/&gt;&lt;BR/&gt;&gt; newtype Collapse a = Collapse { unC :: a } deriving (Show)&lt;BR/&gt;&gt; instance Eq (Collapse a) where (==) _ _ = True&lt;BR/&gt;&gt; instance Ord (Collapse a) where (&lt;=) _ _ = True&lt;BR/&gt;&gt; f = return . Coll&lt;BR/&gt;&gt; g = return . unC&lt;BR/&gt;&lt;BR/&gt;(ex3 &gt;&gt;= f) &gt;&gt;= g --&gt; M {runM = [((B,F),4.0,[B,A,C,E])]}&lt;BR/&gt;ex3 &gt;&gt;= (\x -&gt; f x &gt;&gt;= g) --&gt; M {runM = [((A,E),6.0,[A,B,D,E]),((A,F),6.0,[A,C,E,F]),((B,E),4.0,[B,A,C,E]),((B,F),8.0,[B,D,E,F])]}</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/6303500935285333099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/6303500935285333099'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html?showComment=1182798780000#c6303500935285333099' title=''/><author><name>Saizan</name><uri>http://www.blogger.com/profile/07314943153376710289</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html' ref='tag:blogger.com,1999:blog-11295132.post-3662062791857319803' source='http://www.blogger.com/feeds/11295132/posts/default/3662062791857319803' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-519425646'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-7409998385164251716</id><published>2007-06-20T14:51:00.000-07:00</published><updated>2007-06-20T14:51:00.000-07:00</updated><title type='text'>Anonymous,&lt;br&gt;&lt;br&gt;Hey! Looks like someone else has...</title><content type='html'>Anonymous,&lt;BR/&gt;&lt;BR/&gt;Hey! Looks like someone else has been thinking along similar lines. The free-rig monad sounds exactly like mine (rig=semiring) although jcreed talks about it slightly differently from what I'd expect.&lt;BR/&gt;&lt;BR/&gt;At least I now know I'm not insane...</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/7409998385164251716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/7409998385164251716'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html?showComment=1182376260000#c7409998385164251716' title=''/><author><name>sigfpe</name><uri>http://www.blogger.com/profile/08096190433222340957</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html' ref='tag:blogger.com,1999:blog-11295132.post-3662062791857319803' source='http://www.blogger.com/feeds/11295132/posts/default/3662062791857319803' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-961546855'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-3222664943639739232</id><published>2007-06-20T13:49:00.000-07:00</published><updated>2007-06-20T13:49:00.000-07:00</updated><title type='text'>You might be interested in the links from&lt;br&gt;http:...</title><content type='html'>You might be interested in the links from&lt;BR/&gt;http://jcreed.livejournal.com/1024229.html</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/3222664943639739232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/3222664943639739232'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html?showComment=1182372540000#c3222664943639739232' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html' ref='tag:blogger.com,1999:blog-11295132.post-3662062791857319803' source='http://www.blogger.com/feeds/11295132/posts/default/3662062791857319803' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-887664368'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-1011588784621180977</id><published>2007-06-18T05:14:00.000-07:00</published><updated>2007-06-18T05:14:00.000-07:00</updated><title type='text'>Great article, though I must admit that it took me...</title><content type='html'>Great article, though I must admit that it took me quite a while to really get to grips with it. Thanks a lot for the mind-expanding experience :-)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/1011588784621180977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/1011588784621180977'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html?showComment=1182168840000#c1011588784621180977' title=''/><author><name>Omega Prime</name><uri>http://www.blogger.com/profile/05003540528496327090</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html' ref='tag:blogger.com,1999:blog-11295132.post-3662062791857319803' source='http://www.blogger.com/feeds/11295132/posts/default/3662062791857319803' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1709614491'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-8912654554291667729</id><published>2007-06-17T09:08:00.000-07:00</published><updated>2007-06-17T09:08:00.000-07:00</updated><title type='text'>I did a bit more work on the edit distance code be...</title><content type='html'>I did a bit more work on the edit distance code because, as I hinted, I had suspicions about it. Essentially a rectangular graph is being traversed. But it turns out that each node is visited many times through a traversal. The final algorithm still has polynomial complexity in the string lengths - but it's now worse than quadratic. Hence my title "...tolerably efficient..." rather than "...blindingly efficient...":-)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/8912654554291667729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/8912654554291667729'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html?showComment=1182096480000#c8912654554291667729' title=''/><author><name>sigfpe</name><uri>http://www.blogger.com/profile/08096190433222340957</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html' ref='tag:blogger.com,1999:blog-11295132.post-3662062791857319803' source='http://www.blogger.com/feeds/11295132/posts/default/3662062791857319803' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-961546855'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-8912503008149501152</id><published>2007-06-17T08:08:00.000-07:00</published><updated>2007-06-17T08:08:00.000-07:00</updated><title type='text'>Floyd-Warfield? What was I thinking? Maybe that's ...</title><content type='html'>Floyd-Warfield? What was I thinking? Maybe that's the problem. I've just given away that I'm really one of those markov chain text generators...</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/8912503008149501152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/8912503008149501152'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html?showComment=1182092880000#c8912503008149501152' title=''/><author><name>sigfpe</name><uri>http://www.blogger.com/profile/08096190433222340957</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html' ref='tag:blogger.com,1999:blog-11295132.post-3662062791857319803' source='http://www.blogger.com/feeds/11295132/posts/default/3662062791857319803' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-961546855'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-8319744810955547765</id><published>2007-06-17T04:39:00.000-07:00</published><updated>2007-06-17T04:39:00.000-07:00</updated><title type='text'>s/Floyd-Warfield/Floyd-Warshall/</title><content type='html'>s/Floyd-Warfield/Floyd-Warshall/</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/8319744810955547765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/8319744810955547765'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html?showComment=1182080340000#c8319744810955547765' title=''/><author><name>Thomas Schilling</name><uri>http://www.blogger.com/profile/04274984206279511399</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html' ref='tag:blogger.com,1999:blog-11295132.post-3662062791857319803' source='http://www.blogger.com/feeds/11295132/posts/default/3662062791857319803' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-548608830'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-4246789310000377868</id><published>2007-06-17T04:26:00.000-07:00</published><updated>2007-06-17T04:26:00.000-07:00</updated><title type='text'>Very nice article.&lt;br&gt;&lt;br&gt;For changing the associa...</title><content type='html'>Very nice article.&lt;BR/&gt;&lt;BR/&gt;For changing the associativity you could take a look at continuations. Koen Claessen uses this technique for his parser combinators (on which Text.ParserCombinators.ReadP is based). See section 9 of&lt;BR/&gt;http://www.cs.chalmers.se/~koen/pubs/entry-jfp04-parser.html</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/4246789310000377868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/4246789310000377868'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html?showComment=1182079560000#c4246789310000377868' title=''/><author><name>Twan van Laarhoven</name><uri>http://www.blogger.com/profile/18138442561179666544</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html' ref='tag:blogger.com,1999:blog-11295132.post-3662062791857319803' source='http://www.blogger.com/feeds/11295132/posts/default/3662062791857319803' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-849801029'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-6415962070713632052</id><published>2007-06-17T01:54:00.000-07:00</published><updated>2007-06-17T01:54:00.000-07:00</updated><title type='text'>Me again :-)&lt;br&gt;&lt;br&gt;I finally found the URL of the...</title><content type='html'>Me again :-)&lt;BR/&gt;&lt;BR/&gt;I finally found the URL of the article about semirings and idempotent analysis that I wanted to recommend : &lt;A HREF="http://glitvinov.googlepages.com/2007_JMS_426.pdf" REL="nofollow"&gt;MASLOV DEQUANTIZATION, IDEMPOTENT AND TROPICAL MATHEMATICS: &lt;BR/&gt;A BRIEF INTRODUCTION&lt;/A&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/6415962070713632052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/6415962070713632052'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html?showComment=1182070440000#c6415962070713632052' title=''/><author><name>alpheccar</name><uri>http://www.blogger.com/profile/14645433315403867431</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html' ref='tag:blogger.com,1999:blog-11295132.post-3662062791857319803' source='http://www.blogger.com/feeds/11295132/posts/default/3662062791857319803' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-840620845'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-6485272578025641424</id><published>2007-06-17T01:44:00.000-07:00</published><updated>2007-06-17T01:44:00.000-07:00</updated><title type='text'>On arXiv there are lots of papers by &lt;a href="http...</title><content type='html'>On arXiv there are lots of papers by &lt;A HREF="http://arxiv.org/abs/math/0101021" REL="nofollow"&gt;Maslov&lt;/A&gt; giving computer applications of the (min,+) semiring and other idempotent semirings.  The paper I linked just above is a very good overview with lots of results : Fourier-Legendre transform, shortest path problem etc...</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/6485272578025641424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/6485272578025641424'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html?showComment=1182069840000#c6485272578025641424' title=''/><author><name>alpheccar</name><uri>http://www.blogger.com/profile/14645433315403867431</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html' ref='tag:blogger.com,1999:blog-11295132.post-3662062791857319803' source='http://www.blogger.com/feeds/11295132/posts/default/3662062791857319803' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-840620845'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-5757816548621462788</id><published>2007-06-17T01:38:00.000-07:00</published><updated>2007-06-17T01:38:00.000-07:00</updated><title type='text'>Restricted monads will probably be possible with t...</title><content type='html'>Restricted monads will probably be possible with the class families that I have seen discussed for the first time &lt;A HREF="http://www.comp.mq.edu.au/~asloane/pmwiki.php/SAPLING/SAPLING071?action=download&amp;upname=chakravarty-slides071.pdf" REL="nofollow"&gt;here.&lt;/A&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/5757816548621462788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/5757816548621462788'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html?showComment=1182069480000#c5757816548621462788' title=''/><author><name>alpheccar</name><uri>http://www.blogger.com/profile/14645433315403867431</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html' ref='tag:blogger.com,1999:blog-11295132.post-3662062791857319803' source='http://www.blogger.com/feeds/11295132/posts/default/3662062791857319803' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-840620845'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-4683150530721155382</id><published>2007-06-17T00:59:00.000-07:00</published><updated>2007-06-17T00:59:00.000-07:00</updated><title type='text'>Regarding the very last point, I think we're quite...</title><content type='html'>Regarding the very last point, I think we're quite close to your desired solution there, with &lt;A HREF="http://haskell.org/haskellwiki/GHC/Indexed_types" REL="nofollow"&gt;indexed type families&lt;/A&gt;.&lt;BR/&gt;&lt;BR/&gt;A restricted Set interface is given as an example of the use of class-associated classes, in the slides below, from last week's &lt;A HREF="http://www.comp.mq.edu.au/~asloane/pmwiki.php/SAPLING/SAPLING071" REL="nofollow"&gt;Sydney PL research meeting&lt;/A&gt;. See slide 25 from &lt;A HREF="http://www.comp.mq.edu.au/~asloane/pmwiki.php/SAPLING/SAPLING071?action=download&amp;upname=chakravarty-slides071.pdf" REL="nofollow"&gt;Type Families in Haskell&lt;/A&gt;&lt;BR/&gt;&lt;BR/&gt;I'm sure Manuel and the rest of the type families hackers would appreciate any interesting applications of the new indexed type families extensions in GHC head. The subject of some future sigfpe posts... ?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/4683150530721155382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/4683150530721155382'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html?showComment=1182067140000#c4683150530721155382' title=''/><author><name>Don Stewart</name><uri>http://www.blogger.com/profile/08476737262404343154</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html' ref='tag:blogger.com,1999:blog-11295132.post-3662062791857319803' source='http://www.blogger.com/feeds/11295132/posts/default/3662062791857319803' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-2111047681'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-1272706159219956999</id><published>2007-06-16T22:40:00.000-07:00</published><updated>2007-06-16T22:40:00.000-07:00</updated><title type='text'>Floyd-Warfield?</title><content type='html'>Floyd-Warfield?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/1272706159219956999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/1272706159219956999'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html?showComment=1182058800000#c1272706159219956999' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html' ref='tag:blogger.com,1999:blog-11295132.post-3662062791857319803' source='http://www.blogger.com/feeds/11295132/posts/default/3662062791857319803' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1167608605'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-7253040049181027144</id><published>2007-06-16T22:04:00.000-07:00</published><updated>2007-06-16T22:04:00.000-07:00</updated><title type='text'>Does FSM expand to "Finite State Machine" or "Flyi...</title><content type='html'>Does FSM expand to "Finite State Machine" or "Flying Spaghetti Monster"?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/7253040049181027144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/3662062791857319803/comments/default/7253040049181027144'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html?showComment=1182056640000#c7253040049181027144' title=''/><author><name>Aaron Denney</name><uri>http://www.blogger.com/profile/15613957348593645695</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2007/06/how-to-write-tolerably-efficient.html' ref='tag:blogger.com,1999:blog-11295132.post-3662062791857319803' source='http://www.blogger.com/feeds/11295132/posts/default/3662062791857319803' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-718630641'/></entry></feed>
