<?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"
	>
<channel>
	<title>Comments on: More longest paths, and sick folds.</title>
	<atom:link href="http://greenokapi.net/blog/2009/01/31/more-longest-paths-and-sick-folds/feed/" rel="self" type="application/rss+xml" />
	<link>http://greenokapi.net/blog/2009/01/31/more-longest-paths-and-sick-folds/</link>
	<description>Perl, Haskell, stuff</description>
	<pubDate>Fri, 30 Jul 2010 17:39:08 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: Programmer</title>
		<link>http://greenokapi.net/blog/2009/01/31/more-longest-paths-and-sick-folds/#comment-887</link>
		<dc:creator>Programmer</dc:creator>
		<pubDate>Mon, 09 Feb 2009 09:36:42 +0000</pubDate>
		<guid isPermaLink="false">http://greenokapi.net/blog/?p=159#comment-887</guid>
		<description>These days there just isn't a reason to use a language with such a large wart.  Pretty much every other modern language gets this right.

I think Perl 6 does make it easier, but they still have pointers (still confusingly called "references").</description>
		<content:encoded><![CDATA[<br />
<b>Warning</b>:  preg_replace_callback() [<a href='function.preg-replace-callback'>function.preg-replace-callback</a>]: Unknown modifier '|' in <b>/var/www/blog/wp-content/plugins/text-control/text-control/markdown.php</b> on line <b>766</b><br />

]]></content:encoded>
	</item>
	<item>
		<title>By: osfameron</title>
		<link>http://greenokapi.net/blog/2009/01/31/more-longest-paths-and-sick-folds/#comment-711</link>
		<dc:creator>osfameron</dc:creator>
		<pubDate>Mon, 02 Feb 2009 10:32:24 +0000</pubDate>
		<guid isPermaLink="false">http://greenokapi.net/blog/?p=159#comment-711</guid>
		<description>@Programmer: yeah to be honest my main aim was to tackle the problem in two languages and see how they compared - at that point you hadn't qualified the "vastly better" comment, and this was just an exploratory exercise. You're quite right though that Perl's references are hard to /learn/, I've spent a good bit of time mentoringand training on this, and it is a wart in the language. But the rules are quite consistent and once you have mastered them, it is as /capable/ as any other language. (And I think it's clear from my post that I found haskell for one to have its own complexities/learning curve).

I thought Perl6 would radically simplify this issue though, that was certainly one of the early goals as I understood it.</description>
		<content:encoded><![CDATA[<br />
<b>Warning</b>:  preg_replace_callback() [<a href='function.preg-replace-callback'>function.preg-replace-callback</a>]: Unknown modifier '|' in <b>/var/www/blog/wp-content/plugins/text-control/text-control/markdown.php</b> on line <b>766</b><br />

]]></content:encoded>
	</item>
	<item>
		<title>By: Programmer</title>
		<link>http://greenokapi.net/blog/2009/01/31/more-longest-paths-and-sick-folds/#comment-707</link>
		<dc:creator>Programmer</dc:creator>
		<pubDate>Mon, 02 Feb 2009 09:31:25 +0000</pubDate>
		<guid isPermaLink="false">http://greenokapi.net/blog/?p=159#comment-707</guid>
		<description>Who's argument were you trying to prove? :)  I programmed Perl almost exclusively for 5 years so I know it quite well, and the fold above is not a new concept for me.  But it neither addresses nor debunks my comment.  Everyone knows nested data structures are hard in Perl, just google for "Perl nested data structures" and see how many tutorials/tools/posts you find trying to make it easier.  A wise man once said (of user interfaces) "if a feature needs to be documented it's mis-implemented".  In other words, requirement of documentation can be a kind of code smell.  The more a feature has to be explained the more likely it is a bad feature.

One of the biggest problems with Perl is still having pointers (and this makes working with nested data structures more painful).  Every modern language uses references [1].  Sadly this *still* isn't going to be fixed in Perl 6.

[1] The easiest way to understand what I mean here is to look at C++.  Look at how pointers in C++ work and look at how C++ references work.  Which one does Perl's "references" most resemble(hint: which one has to be refed/dereffed)?  In fact Perl does have what every other modern language calls references: the things that get implicitly passed to functions, map and so on (.e.g. $_[0]).</description>
		<content:encoded><![CDATA[<br />
<b>Warning</b>:  preg_replace_callback() [<a href='function.preg-replace-callback'>function.preg-replace-callback</a>]: Unknown modifier '|' in <b>/var/www/blog/wp-content/plugins/text-control/text-control/markdown.php</b> on line <b>766</b><br />

]]></content:encoded>
	</item>
	<item>
		<title>By: Jedai</title>
		<link>http://greenokapi.net/blog/2009/01/31/more-longest-paths-and-sick-folds/#comment-692</link>
		<dc:creator>Jedai</dc:creator>
		<pubDate>Sat, 31 Jan 2009 04:04:15 +0000</pubDate>
		<guid isPermaLink="false">http://greenokapi.net/blog/?p=159#comment-692</guid>
		<description>A "leaves" function in Haskell :

    leaves :: Node -&gt; [FilePath]
    leaves = map joinPath . go 
        where
          go (Node m)
              &#124; M.null m  = [[]]
              &#124; otherwise = concatMap (\(k,v) -&gt; map (k :) $ go v) $ M.assocs m


I use joinPath from System.FilePath, it correctly join directories (the inverse is splitDirectories rather than splitPath which keep too much informations).</description>
		<content:encoded><![CDATA[<br />
<b>Warning</b>:  preg_replace_callback() [<a href='function.preg-replace-callback'>function.preg-replace-callback</a>]: Unknown modifier '|' in <b>/var/www/blog/wp-content/plugins/text-control/text-control/markdown.php</b> on line <b>766</b><br />

]]></content:encoded>
	</item>
	<item>
		<title>By: Senny</title>
		<link>http://greenokapi.net/blog/2009/01/31/more-longest-paths-and-sick-folds/#comment-690</link>
		<dc:creator>Senny</dc:creator>
		<pubDate>Fri, 30 Jan 2009 23:53:14 +0000</pubDate>
		<guid isPermaLink="false">http://greenokapi.net/blog/?p=159#comment-690</guid>
		<description>I believe "hackish" is usually considered a complement in reference to Perl.</description>
		<content:encoded><![CDATA[<br />
<b>Warning</b>:  preg_replace_callback() [<a href='function.preg-replace-callback'>function.preg-replace-callback</a>]: Unknown modifier '|' in <b>/var/www/blog/wp-content/plugins/text-control/text-control/markdown.php</b> on line <b>766</b><br />

]]></content:encoded>
	</item>
</channel>
</rss>
