<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
  <channel>
    <title>MaplePrimes - comments on Post, Add, Map, Mul and Seq</title>
    <link>http://www.mapleprimes.com/posts/36097-Add-Map-Mul-And-Seq</link>
    <language>en-us</language>
    <copyright>2026 Maplesoft, A Division of Waterloo Maple Inc.</copyright>
    <generator>Maplesoft Document System</generator>
    <lastBuildDate>Tue, 16 Jun 2026 13:11:07 GMT</lastBuildDate>
    <pubDate>Tue, 16 Jun 2026 13:11:07 GMT</pubDate>
    <itunes:subtitle />
    <itunes:summary />
    <description>The latest comments added to the Post, Add, Map, Mul and Seq</description>
    <image>
      <url>http://www.mapleprimes.com/images/mapleprimeswhite.jpg</url>
      <title>MaplePrimes - comments on Post, Add, Map, Mul and Seq</title>
      <link>http://www.mapleprimes.com/posts/36097-Add-Map-Mul-And-Seq</link>
    </image>
    <item>
      <title>Thread safety</title>
      <link>http://www.mapleprimes.com/posts/36097-Add-Map-Mul-And-Seq?ref=Feed:MaplePrimes:Add, Map, Mul and Seq:Comments#comment60768</link>
      <itunes:summary>&lt;p&gt;How do you tell if some routine is thread-safe?&amp;nbsp; Abstractly, that's easy: routines which do not write to any variables which are non-local are thread-safe.&amp;nbsp; And there are well-known program&amp;nbsp; analyses to do this, and they are all based on the same underlying technology: &lt;a href="http://en.wikipedia.org/wiki/Abstract_interpretation"&gt;abstract interpretation&lt;/a&gt;.&amp;nbsp; And that technology works really well, because it is designed around sound approximations (i.e. false negatives are OK, false positives are not). In practice, this is a fairly hard problem though, especially since Maple's functional programming capabilities are fairly restricted and Maple's operational semantics are sub-optimal.&lt;/p&gt;
&lt;p&gt;But guess what, there is a prototype code analysis tool, based on abstract interpretation which can be used for exactly this purpose!&amp;nbsp; It was written by Stephen Forrest while he was my M.Sc. student.&amp;nbsp; There is a &lt;a href="http://www.cas.mcmaster.ca/~carette/publications/calculemus-2007.pdf"&gt;set of slides&lt;/a&gt; describing that work, as well as an unpublished paper (see pages 5-20 of the &lt;a href="http://www.risc.uni-linz.ac.at/publications/download/risc_3117/wip.pdf"&gt;work-in-progress proceedings&lt;/a&gt; of Calculemus 2007).&amp;nbsp; Of course, the most thorough document is &lt;a href="http://www.cas.mcmaster.ca/~forressa/academic/forressa-thesis.pdf"&gt;Stephen's M.Sc. thesis&lt;/a&gt;.&amp;nbsp; I should put a copy somewhere 'better', as that link is likely to die soon.&lt;/p&gt;
&lt;p&gt;Obligatory rant: I gave that topic to Stephen in September 2005.&amp;nbsp; It's now December 2009, and &lt;b&gt;now &lt;/b&gt;Maplesoft is figuring out that program analysis is &lt;i&gt;quite&lt;/i&gt; &lt;i&gt;useful&lt;/i&gt;.&amp;nbsp; I guess I'll have to wait until at least 2013 before they figure out how useful DSLs and model-based code-generation really are then.&lt;/p&gt;</itunes:summary>
      <description>The latest comments added to the Post, Add, Map, Mul and Seq</description>
      <guid>60768</guid>
      <pubDate>Thu, 24 Dec 2009 09:51:49 Z</pubDate>
      <itunes:author>JacquesC</itunes:author>
      <author>JacquesC</author>
    </item>
    <item>
      <title>decision making process</title>
      <link>http://www.mapleprimes.com/posts/36097-Add-Map-Mul-And-Seq?ref=Feed:MaplePrimes:Add, Map, Mul and Seq:Comments#comment60769</link>
      <itunes:summary>&lt;p&gt;There is no evidence that Maplesoft developers have not been aware of the importance of sophisticated coding techniques (program analysis, DSLs, and lots more) for a long time. The fact that such things do not appear in the product, or get described in detail in public, probably has much more to do with the fact that Maplesoft is a corporation.&lt;/p&gt;
&lt;p&gt;As you yourself have pointed out before on this very forum, there is a natural difference in outlook between developers and management (a &amp;quot;dynamic tension&amp;quot; or similar I believe you called it, between wanting to do things &amp;quot;right&amp;quot; and wanting to make money or adhere to resource restrictions). Referring here to &amp;quot;Maplesoft&amp;quot; in a personified way as if it were all of a single mind, given your earlier statements, seems like a bit of a cheap shot (especially in the blog of a developer).&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</itunes:summary>
      <description>The latest comments added to the Post, Add, Map, Mul and Seq</description>
      <guid>60769</guid>
      <pubDate>Thu, 24 Dec 2009 19:17:39 Z</pubDate>
      <itunes:author>pagan</itunes:author>
      <author>pagan</author>
    </item>
    <item>
      <title>You're right</title>
      <link>http://www.mapleprimes.com/posts/36097-Add-Map-Mul-And-Seq?ref=Feed:MaplePrimes:Add, Map, Mul and Seq:Comments#comment60770</link>
      <itunes:summary>&lt;div class="commentbody"&gt;
&lt;p&gt;I did qualify those particular comments as a 'rant', didn't I?&amp;nbsp; Rants are rarely fully rational, and I knew mine wasn't.&amp;nbsp; It was past when I should have been in bed...&lt;/p&gt;
&lt;p&gt;I won't comment on your post further than to reiterate the subject: you're right.&lt;/p&gt;
&lt;/div&gt;</itunes:summary>
      <description>The latest comments added to the Post, Add, Map, Mul and Seq</description>
      <guid>60770</guid>
      <pubDate>Thu, 24 Dec 2009 19:26:15 Z</pubDate>
      <itunes:author>JacquesC</itunes:author>
      <author>JacquesC</author>
    </item>
    <item>
      <title>outsider question</title>
      <link>http://www.mapleprimes.com/posts/36097-Add-Map-Mul-And-Seq?ref=Feed:MaplePrimes:Add, Map, Mul and Seq:Comments#comment66951</link>
      <itunes:summary>&lt;p&gt;As an outsider to this subject, I wonder: are these &amp;quot;sophisticated coding techniques&amp;quot; being used in other CAS?&lt;/p&gt;</itunes:summary>
      <description>The latest comments added to the Post, Add, Map, Mul and Seq</description>
      <guid>66951</guid>
      <pubDate>Thu, 24 Dec 2009 20:48:08 Z</pubDate>
      <itunes:author>jakubi</itunes:author>
      <author>jakubi</author>
    </item>
    <item>
      <title>Yes</title>
      <link>http://www.mapleprimes.com/posts/36097-Add-Map-Mul-And-Seq?ref=Feed:MaplePrimes:Add, Map, Mul and Seq:Comments#comment66952</link>
      <itunes:summary>&lt;p&gt;First: Maple uses a lot of extremely sophisticated algorithms, in a lot of different areas.&amp;nbsp; It even implements a few sophisticated data-structures.&amp;nbsp; And some of the darker corners (like combstruct and Ore_Algebra) use quite sophisticated programming techniques.&amp;nbsp; I hear that parts of MapleSim are quite 'sophisticated' in this sense too (i.e. some funky run-time code generation is going on).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.aldor.org"&gt;Aldor &lt;/a&gt;uses a lot of advanced programming ideas.&amp;nbsp; &lt;a href="http://linalg.org/"&gt;Linbox &lt;/a&gt;uses (fairly simple, but effective) meta-programming techniques to get very high efficiency; &lt;a href="http://math-atlas.sourceforge.net/"&gt;Atlas &lt;/a&gt;and expecially &lt;a href="http://www.spiral.net/"&gt;Spiral &lt;/a&gt;are considerably more sophisticated.&lt;/p&gt;
&lt;p&gt;But there is a big difference between using sophisticated ideas 'inside', and allowing your users to use the same facilities in an as-easy-as-possible way.&amp;nbsp; &lt;/p&gt;</itunes:summary>
      <description>The latest comments added to the Post, Add, Map, Mul and Seq</description>
      <guid>66952</guid>
      <pubDate>Thu, 24 Dec 2009 21:13:59 Z</pubDate>
      <itunes:author>JacquesC</itunes:author>
      <author>JacquesC</author>
    </item>
    <item>
      <title>quotes</title>
      <link>http://www.mapleprimes.com/posts/36097-Add-Map-Mul-And-Seq?ref=Feed:MaplePrimes:Add, Map, Mul and Seq:Comments#comment66953</link>
      <itunes:summary>&lt;p&gt;I have quoted the expression, following the sense given to it by Pagan above: program analysis, DSLs, etc.&lt;/p&gt;</itunes:summary>
      <description>The latest comments added to the Post, Add, Map, Mul and Seq</description>
      <guid>66953</guid>
      <pubDate>Thu, 24 Dec 2009 22:06:08 Z</pubDate>
      <itunes:author>jakubi</itunes:author>
      <author>jakubi</author>
    </item>
  </channel>
</rss>