<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Random Hacks comments</title>
    <link>http://www.readinglists2rss.com/</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Technology and Other Fun Stuff</description>
    <item>
      <title>"McCarthy's Ambiguous Operator" by person-b</title>
      <description>&lt;p&gt;This reminds me of Damian Conway&amp;#8217;s Positronic::Variables &lt;span class="caps"&gt;CPAN&lt;/span&gt; Perl module. He wrote it for his (hilarious &amp;#8211; highly recommended) talk on &amp;#8220;Temporally Quaquaversal Virtual Nanomachine Programming In Multiple Topologically Connected Quantum-Relativistic Parallel Timespaces&amp;#8230;Made Easy!&amp;#8221; (http://blip.tv/file/1145545/). It actually did look into the future.&lt;/p&gt;</description>
      <pubDate>Fri, 03 Jul 2009 18:32:36 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:2fcd585c-1651-48c3-8008-8244296c24fd</guid>
      <link>http://www.readinglists2rss.com/articles/2005/10/11/amb-operator#comment-645</link>
    </item>
    <item>
      <title>"Write a 32-line chat client using Ruby, AMQP &amp; EventMachine (and a GUI using Shoes)" by TheCheshireCatalyst</title>
      <description>&lt;p&gt;Use&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/PSYC" rel="nofollow"&gt; PSYC &lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://about.psyc.eu/" rel="nofollow"&gt; And here &lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 11 Jun 2009 13:59:21 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:6a9647ce-d25f-4aa4-9132-b6341e5492f8</guid>
      <link>http://www.readinglists2rss.com/articles/2009/05/08/chat-client-ruby-amqp-eventmachine-shoes#comment-640</link>
    </item>
    <item>
      <title>"How to make Data.Set a monad" by Lemming</title>
      <description>&lt;p&gt;Here an interactive link to &lt;a href="http://www.haskell.org/pipermail/haskell-cafe/2008-March/041084.html" rel="nofollow"&gt;Monad instance for Data.Set, again&lt;/a&gt; on Haskell-Cafe.&lt;/p&gt;</description>
      <pubDate>Mon, 08 Jun 2009 05:42:44 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:7572eb71-acb0-4c39-92f7-d75f3f36ff14</guid>
      <link>http://www.readinglists2rss.com/articles/2007/03/15/data-set-monad-haskell-macros#comment-639</link>
    </item>
    <item>
      <title>"How to make Data.Set a monad" by Lemming</title>
      <description>&lt;p&gt;The disadvantage of this approach is, that in a function you need a (Monad2 m a b) for each transition from a type &amp;#8216;a&amp;#8217; to another type &amp;#8216;b&amp;#8217;. Wolfgang Jeltsch gave a solution on Haskell-Cafe which only needs a constraints like (Monad1 m a, Monad1 m b). It uses type families and existential quantification for packing and unpacking the Ord dictionary.&lt;/p&gt;


	&lt;p&gt;http://www.haskell.org/pipermail/haskell-cafe/2008-March/041084.html&lt;/p&gt;</description>
      <pubDate>Mon, 08 Jun 2009 05:40:24 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:0a5bd840-b2cd-4071-9357-c843a22e78c1</guid>
      <link>http://www.readinglists2rss.com/articles/2007/03/15/data-set-monad-haskell-macros#comment-638</link>
    </item>
    <item>
      <title>"8 ways to report errors in Haskell" by andrew u frank</title>
      <description>&lt;p&gt;Using ghc 6.10 (with base 4.0.0.0) the module Control.Exception becomes easier to use and seem to be quite flexible.&lt;/p&gt;


	&lt;p&gt;The only limitation I can see is that the exception raised in pure code (this is possible) cannot be caught in pure code; catching exceptions is only possible in the IO monade. I wonder, if this is a serious restriction and how difficult it would be to ovecome.
The same example with division by zero becomes (if properly formated):&lt;/p&gt;


	&lt;p&gt;import qualified Control.Exception as E&lt;/p&gt;


	&lt;p&gt;import Data.Typeable&lt;/p&gt;


	&lt;p&gt;data MyException = DivByZero | ThisEx | ThatEx String deriving (Show, Eq, Typeable)&lt;/p&gt;


	&lt;p&gt;instance E.Exception MyException&lt;/p&gt;


	&lt;p&gt;myDiv9 :: (Monad m) =&amp;gt; Float -&amp;gt; Float -&amp;gt; m Float&lt;/p&gt;


	&lt;p&gt;myDiv9 a 0 = E.throw DivByZero&lt;/p&gt;


	&lt;p&gt;myDiv9 a 99 = E.throw (ThatEx &amp;#8220;Fortran style ending&amp;#8221;)&lt;/p&gt;


	&lt;p&gt;myDiv9 a b = return (a / b)&lt;/p&gt;


	&lt;p&gt;isDivByZero (DivByZero) = True&lt;/p&gt;


	&lt;p&gt;isDivByZero _ = False&lt;/p&gt;


	&lt;p&gt;example9 :: Float -&amp;gt; Float -&amp;gt; IO ()&lt;/p&gt;


	&lt;p&gt;example9 x y =
    E.catchJust (\e -&amp;gt; if isDivByZero e then Just (e) else Nothing)&lt;/p&gt;


	&lt;p&gt;(do 
              q &amp;lt;- myDiv9 x y
              putStrLn (show q)
              E.throw ThisEx
           )&lt;/p&gt;


	&lt;p&gt;(\err -&amp;gt; 
                do 
                  putStrLn (&amp;#8220;my DivByZero &amp;#8221; ++ show (err:: MyException))
                  return ()
            )&lt;/p&gt;</description>
      <pubDate>Sat, 06 Jun 2009 07:02:54 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:9ec15195-c21b-4122-9432-973c3dc5ef9a</guid>
      <link>http://www.readinglists2rss.com/articles/2007/03/10/haskell-8-ways-to-report-errors#comment-637</link>
    </item>
    <item>
      <title>"8 ways to report errors in Haskell" by andrew u frank</title>
      <description>&lt;p&gt;moving from ghc 6.8.2 to 6.10 I cannot recompile the examples given here (especially 1 and 4). What has changed in base 4.0.0.0? The error I get is&lt;/p&gt;


	&lt;p&gt;Ambiguous type variable `e&amp;#8217; in the constraint:
      `Exception e&amp;#8217;
        arising from a use of `E.catch&amp;#8217;&lt;/p&gt;


	&lt;p&gt;anybody can help?&lt;/p&gt;</description>
      <pubDate>Thu, 04 Jun 2009 11:44:07 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:0c895db1-df07-4094-becd-6aa4d0f59013</guid>
      <link>http://www.readinglists2rss.com/articles/2007/03/10/haskell-8-ways-to-report-errors#comment-636</link>
    </item>
    <item>
      <title>"Jim Hefferon's Linear Algebra: A free textbook with fascinating applications" by Regnessem</title>
      <description>&lt;p&gt;&amp;#8220;SVD is insanely useful&amp;#8221; is true but in very limited sense. There&amp;#8217;s plenty of richfull life out of the realm of ortonormal basis. Jim Hefferon really paves the road to move on beyond &lt;span class="caps"&gt;SVD&lt;/span&gt;!&lt;/p&gt;</description>
      <pubDate>Mon, 01 Jun 2009 17:00:40 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:850c900f-8913-43fc-838c-91396529b06c</guid>
      <link>http://www.readinglists2rss.com/articles/2007/03/07/hefferon-linear-algebra-review#comment-635</link>
    </item>
    <item>
      <title>"Map fusion: Making Haskell 225% faster" by Aaron McDaid</title>
      <description>&lt;p&gt;Jim,
&lt;span class="caps"&gt;GHC&lt;/span&gt; can&amp;#8217;t automatically know that such a rule is valid. For example, (filter f . filter g) is not equivalent to (filter (f.g))&lt;/p&gt;


	&lt;p&gt;Each author&amp;#8217;s implementation of functions called treeMap could be quite different, and it would be difficult to improve &lt;span class="caps"&gt;GHC&lt;/span&gt; such that it could correctly know which implementations could be optimized.&lt;/p&gt;</description>
      <pubDate>Sat, 30 May 2009 16:00:33 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:84d474ff-a1e0-4f66-9224-f4dbb2717f5d</guid>
      <link>http://www.readinglists2rss.com/articles/2007/02/10/map-fusion-and-haskell-performance#comment-634</link>
    </item>
    <item>
      <title>"FTC Spam Archive" by Random Thoughts</title>
      <description>&lt;p&gt;That is interesting. They are even prosecuting spammers it says. GMail is really good at filtering spam, but there&amp;#8217;s always a few that get buy. Spamhaus is typically used by the big e-mail providers. There are e-mail servers that get blocked because GMail, Yahoo, etc&amp;#8230; query their database before accepting mail. One reason is for the mail client set up in Linux seems like spam if it is from a server hosted by Comcast. They expect all e-mail to be sent through Outlook or the Comcast e-mail site.&lt;/p&gt;</description>
      <pubDate>Fri, 29 May 2009 01:17:53 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:4becb6e9-3cf7-471c-9536-32ac6784e5b9</guid>
      <link>http://www.readinglists2rss.com/articles/2002/09/23/ftc-spam-archive#comment-633</link>
    </item>
    <item>
      <title>"Haskell: Queues without pointers" by Eric</title>
      <description>&lt;p&gt;Mike: Remember, we trying to build a purely functional queue, so we can&amp;#8217;t modify any links once we&amp;#8217;ve created them. So unless you do something fairly clever with lazy evaluation, you can&amp;#8217;t set up the double links.&lt;/p&gt;</description>
      <pubDate>Fri, 22 May 2009 08:13:07 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:9766d400-f590-45e7-9607-f73c4cf126d2</guid>
      <link>http://www.readinglists2rss.com/articles/2007/02/08/haskell-queues-without-pointers#comment-632</link>
    </item>
  </channel>
</rss>
