<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
  <channel>
    <title>MaplePrimes - comments on Post, Understanding ::uneval</title>
    <link>http://www.mapleprimes.com/posts/97555-Understanding-uneval</link>
    <language>en-us</language>
    <copyright>2026 Maplesoft, A Division of Waterloo Maple Inc.</copyright>
    <generator>Maplesoft Document System</generator>
    <lastBuildDate>Wed, 10 Jun 2026 20:49:41 GMT</lastBuildDate>
    <pubDate>Wed, 10 Jun 2026 20:49:41 GMT</pubDate>
    <itunes:subtitle />
    <itunes:summary />
    <description>The latest comments added to the Post, Understanding ::uneval</description>
    <image>
      <url>http://www.mapleprimes.com/images/mapleprimeswhite.jpg</url>
      <title>MaplePrimes - comments on Post, Understanding ::uneval</title>
      <link>http://www.mapleprimes.com/posts/97555-Understanding-uneval</link>
    </image>
    <item>
      <title>simple useful example</title>
      <link>http://www.mapleprimes.com/posts/97555-Understanding-uneval?ref=Feed:MaplePrimes:Understanding ::uneval:Comments#comment97577</link>
      <itunes:summary>&lt;p&gt;For people like me who are not among that ~10 in the world, the example on the help page doesn't really give a good idea of why you might want to use ::uneval.  When I use it, it is mostly for testing or measuring the evaluation of expressions. So, for those people who might end up here, here is a small example:&lt;/p&gt;
&lt;pre&gt; benchmark := proc(e::uneval)
 local t, b;
     t, b := time(), kernelopts(':-bytesused');
     eval(e);
     return (time() - t)*Unit(second), (kernelopts(':-bytesused') - b)*Unit(byte);
 end proc&lt;/pre&gt;
&lt;p&gt;This is a simple extention of &lt;a href="http://www.maplesoft.com/support/help/search.aspx?term=time"&gt;?time&lt;/a&gt; that also records the memory used to evaluate the expression 'e'.&lt;/p&gt;
&lt;pre&gt;(**) benchmark(solve(x^50-1));
                                0.201 [s], 10924456 [byte]&lt;br&gt;&lt;/pre&gt;</itunes:summary>
      <description>The latest comments added to the Post, Understanding ::uneval</description>
      <guid>97577</guid>
      <pubDate>Thu, 07 Oct 2010 19:54:41 Z</pubDate>
      <itunes:author>John May</itunes:author>
      <author>John May</author>
    </item>
    <item>
      <title>Sigh</title>
      <link>http://www.mapleprimes.com/posts/97555-Understanding-uneval?ref=Feed:MaplePrimes:Understanding ::uneval:Comments#comment97625</link>
      <itunes:summary>&lt;p&gt;&lt;a href="http://www.mapleprimes.com/posts/97555-Understanding-uneval#comment97577"&gt;@John May&lt;/a&gt; I was rather hoping to count you amongst those few people!&amp;nbsp; Thanks for the useful example.&lt;/p&gt;
&lt;p&gt;Of course, there are some subtle differences between an explicit call to 'eval' and the (implicit) full-eval which happens from Maple's top-level, so even your simple example will not quite 'work', for that vast hinterland that is the obscure corner cases of Maple's evaluation rules.&amp;nbsp;&lt;/p&gt;</itunes:summary>
      <description>The latest comments added to the Post, Understanding ::uneval</description>
      <guid>97625</guid>
      <pubDate>Fri, 08 Oct 2010 18:56:20 Z</pubDate>
      <itunes:author>JacquesC</itunes:author>
      <author>JacquesC</author>
    </item>
    <item>
      <title>subtle differences</title>
      <link>http://www.mapleprimes.com/posts/97555-Understanding-uneval?ref=Feed:MaplePrimes:Understanding ::uneval:Comments#comment97640</link>
      <itunes:summary>&lt;p&gt;&lt;a href="http://www.mapleprimes.com/posts/97555-Understanding-uneval#comment97625"&gt;@JacquesC&lt;/a&gt; I wonder also whether there are "&lt;span&gt;subtle differences" between using the &lt;/span&gt;&lt;strong&gt;&lt;span&gt; uneval &lt;/span&gt;&lt;/strong&gt;&lt;span&gt;modifier on the parameter and using unevaluation quotes ('...') on the argument. If so, which ones? &lt;br&gt;&lt;/span&gt;&lt;/p&gt;</itunes:summary>
      <description>The latest comments added to the Post, Understanding ::uneval</description>
      <guid>97640</guid>
      <pubDate>Fri, 08 Oct 2010 23:31:28 Z</pubDate>
      <itunes:author>Alejandro Jakubi</itunes:author>
      <author>Alejandro Jakubi</author>
    </item>
    <item>
      <title>@JacquesC Not to imply that I am disinterested.&amp;nbsp;</title>
      <link>http://www.mapleprimes.com/posts/97555-Understanding-uneval?ref=Feed:MaplePrimes:Understanding ::uneval:Comments#comment97643</link>
      <itunes:summary>&lt;p&gt;&lt;a href="http://www.mapleprimes.com/posts/97555-Understanding-uneval#comment97625"&gt;@JacquesC&lt;/a&gt; Not to imply that I am disinterested.&amp;nbsp; I just can imagine myself being in the top 10.&lt;/p&gt;</itunes:summary>
      <description>The latest comments added to the Post, Understanding ::uneval</description>
      <guid>97643</guid>
      <pubDate>Sat, 09 Oct 2010 00:29:25 Z</pubDate>
      <itunes:author>John May</itunes:author>
      <author>John May</author>
    </item>
    <item>
      <title>Another example?</title>
      <link>http://www.mapleprimes.com/posts/97555-Understanding-uneval?ref=Feed:MaplePrimes:Understanding ::uneval:Comments#comment97763</link>
      <itunes:summary>&lt;p&gt;I'm certainly not among the 10 people.&amp;nbsp; Below is how I examine the "internal" structure of int(x,x) before int(x,x) gets evaluated:&lt;/p&gt;
&lt;p&gt;&amp;gt; mydismantle := proc(expr::uneval) dismantle(expr); end proc:&lt;br&gt;&amp;gt; dismantle(int(x,x));&lt;br&gt;&lt;br&gt;SUM(3)&lt;br&gt;&amp;nbsp;&amp;nbsp; PROD(3)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NAME(4): x&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTPOS(2): 2&lt;br&gt;&amp;nbsp;&amp;nbsp; RATIONAL(3): 1/2&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTPOS(2): 1&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTPOS(2): 2&lt;br&gt;&lt;br&gt;&amp;gt; mydismantle(int(x,x));&lt;br&gt;&lt;br&gt;FUNCTION(3)&lt;br&gt;&amp;nbsp;&amp;nbsp; NAME(4): int #[protected, _syslib]&lt;br&gt;&amp;nbsp;&amp;nbsp; EXPSEQ(3)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NAME(4): x&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NAME(4): x&lt;br&gt;&lt;br&gt;&amp;gt;&lt;/p&gt;</itunes:summary>
      <description>The latest comments added to the Post, Understanding ::uneval</description>
      <guid>97763</guid>
      <pubDate>Wed, 13 Oct 2010 19:38:36 Z</pubDate>
      <itunes:author>Clare So</itunes:author>
      <author>Clare So</author>
    </item>
    <item>
      <title>Yes, exactly</title>
      <link>http://www.mapleprimes.com/posts/97555-Understanding-uneval?ref=Feed:MaplePrimes:Understanding ::uneval:Comments#comment97764</link>
      <itunes:summary>&lt;p&gt;&lt;a href="http://www.mapleprimes.com/posts/97555-Understanding-uneval#comment97763"&gt;@Clare So&lt;/a&gt; that is the kind of example I had in mind.&amp;nbsp; For example, this is how Maple's &lt;strong&gt;ContextMenu &lt;/strong&gt;has to work.&amp;nbsp; It's tricky, because it can get inputs which would never be seen as output, so the analysis of such expression is rather tricky.&lt;/p&gt;</itunes:summary>
      <description>The latest comments added to the Post, Understanding ::uneval</description>
      <guid>97764</guid>
      <pubDate>Wed, 13 Oct 2010 19:56:49 Z</pubDate>
      <itunes:author>JacquesC</itunes:author>
      <author>JacquesC</author>
    </item>
  </channel>
</rss>