<?xml version="1.0" encoding="UTF-8"?>
<tickets type="array">
<ticket>
  <assigned-to-id>chTxNs5UKr24fraaeP0Qfc</assigned-to-id>
  <completed-date type="datetime"></completed-date>
  <component-id type="integer">2</component-id>
  <created-on type="datetime">2011-10-24T11:25:54-04:00</created-on>
  <description>isFunctionCall operates on the assumption that an id uniquely identifies a function. This is no longer the case in Prexonite 1.2.4
The function should be wrapped in a macro that warns about the deprecation. There is no need to provide an alternative.</description>
  <from-support type="integer">1</from-support>
  <id type="integer">8743153</id>
  <importance type="integer">99</importance>
  <is-story type="boolean">false</is-story>
  <milestone-id type="integer">665573</milestone-id>
  <notification-list>chTxNs5UKr24fraaeP0Qfc</notification-list>
  <number type="integer">99</number>
  <priority type="integer">4</priority>
  <reporter-id>chTxNs5UKr24fraaeP0Qfc</reporter-id>
  <space-id>d27yQqgRir3iNOabIlDkbG</space-id>
  <status type='integer'>1</status>
  <status-name>Accepted</status-name>
  <story-importance type="integer">0</story-importance>
  <summary>Deprecate isFunctionCall from psr\ast.pxs </summary>
  <updated-at type="datetime">2011-10-24T11:25:54-04:00</updated-at>
  <working-hours type="float">1.0</working-hours>
  <working-hour type="float" warning="deprecated">1.0</working-hour>
  <estimate type="string">None</estimate>
  <total-estimate type="float">0.0</total-estimate>
  <invested-hours type="float">0.0</invested-hours>
  <assigned-to><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></assigned-to>
  <reporter><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></reporter>
<custom-fields>
<custom-field type="List" name="Type" id="21601">technical debt</custom-field>
<custom-field type="List" name="Severity" id="21603">minor defect</custom-field>
<custom-field type="List" name="Impact" id="40248">None</custom-field>
</custom-fields>
<CustomFields deprecated="use custom-fields">
<CustomField type="List" name="Type" id="21601">technical debt</CustomField>
<CustomField type="List" name="Severity" id="21603">minor defect</CustomField>
<CustomField type="List" name="Impact" id="40248">None</CustomField>
</CustomFields>
</ticket>
<ticket>
  <assigned-to-id>chTxNs5UKr24fraaeP0Qfc</assigned-to-id>
  <completed-date type="datetime"></completed-date>
  <component-id type="integer">5</component-id>
  <created-on type="datetime">2011-04-20T19:55:18-04:00</created-on>
  <description>There still are a number of incorrect uses of ToLower/ToDouble (not supplying culture) in Prexonite.
These almost certainly are all bugs. Need to find, and remove them.</description>
  <from-support type="integer">0</from-support>
  <id type="integer">3671783</id>
  <importance type="integer">17</importance>
  <is-story type="boolean">false</is-story>
  <milestone-id type="integer">378335</milestone-id>
  <notification-list>chTxNs5UKr24fraaeP0Qfc</notification-list>
  <number type="integer">70</number>
  <priority type="integer">2</priority>
  <reporter-id>chTxNs5UKr24fraaeP0Qfc</reporter-id>
  <space-id>d27yQqgRir3iNOabIlDkbG</space-id>
  <status type='integer'>1</status>
  <status-name>Accepted</status-name>
  <story-importance type="integer">0</story-importance>
  <summary>Hunt down CA1304/CA1305 ToLower/ToDouble etc.</summary>
  <updated-at type="datetime">2011-04-20T19:55:28-04:00</updated-at>
  <working-hours type="float">6.0</working-hours>
  <working-hour type="float" warning="deprecated">6.0</working-hour>
  <estimate type="string">None</estimate>
  <total-estimate type="float">0.0</total-estimate>
  <invested-hours type="float">0.0</invested-hours>
  <assigned-to><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></assigned-to>
  <reporter><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></reporter>
<custom-fields>
<custom-field type="List" name="Type" id="21601">defect</custom-field>
<custom-field type="List" name="Severity" id="21603">major defect</custom-field>
</custom-fields>
<CustomFields deprecated="use custom-fields">
<CustomField type="List" name="Type" id="21601">defect</CustomField>
<CustomField type="List" name="Severity" id="21603">major defect</CustomField>
</CustomFields>
</ticket>
<ticket>
  <assigned-to-id>chTxNs5UKr24fraaeP0Qfc</assigned-to-id>
  <completed-date type="datetime"></completed-date>
  <component-id type="integer">2</component-id>
  <created-on type="datetime">2011-03-29T09:21:42-04:00</created-on>
  <description>As a user of Prexonite, I'm able to write an interpreter directive at the top of a Prexonite Script file (#! /usr/bin/env mono Prx.exe).

Such a directive is ignored by Prexonite despite the fact that neither # not #! are recognized comment tokens.</description>
  <from-support type="integer">0</from-support>
  <id type="integer">3488939</id>
  <importance type="integer">14</importance>
  <is-story type="boolean">true</is-story>
  <milestone-id type="integer">378335</milestone-id>
  <notification-list>chTxNs5UKr24fraaeP0Qfc</notification-list>
  <number type="integer">50</number>
  <priority type="integer">3</priority>
  <reporter-id>chTxNs5UKr24fraaeP0Qfc</reporter-id>
  <space-id>d27yQqgRir3iNOabIlDkbG</space-id>
  <status type='integer'>1</status>
  <status-name>Accepted</status-name>
  <story-importance type="integer">0</story-importance>
  <summary>Prexonite Script files can be used as scripts under Linux</summary>
  <updated-at type="datetime">2011-09-22T01:53:19-04:00</updated-at>
  <working-hours type="float">2.0</working-hours>
  <working-hour type="float" warning="deprecated">2.0</working-hour>
  <estimate type="string">None</estimate>
  <total-estimate type="float">0.0</total-estimate>
  <invested-hours type="float">0.0</invested-hours>
  <assigned-to><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></assigned-to>
  <reporter><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></reporter>
<custom-fields>
<custom-field type="List" name="Type" id="21601">enhancement</custom-field>
<custom-field type="List" name="Severity" id="21603">suggestion</custom-field>
</custom-fields>
<CustomFields deprecated="use custom-fields">
<CustomField type="List" name="Type" id="21601">enhancement</CustomField>
<CustomField type="List" name="Severity" id="21603">suggestion</CustomField>
</CustomFields>
</ticket>
<ticket>
  <assigned-to-id>chTxNs5UKr24fraaeP0Qfc</assigned-to-id>
  <completed-date type="datetime"></completed-date>
  <component-id type="integer">2</component-id>
  <created-on type="datetime">2011-03-29T09:27:04-04:00</created-on>
  <description>When compiling one (or multiple) script files, if the input files had interpreter directives, the output file should have the same interpreter directive.

Not all files compiled agree on an interpreter directive, a warning is output on stderr, informing the user that the interpreter directive of the first file listed on the command line was chosen. The message should include the directive verbatim.</description>
  <from-support type="integer">0</from-support>
  <id type="integer">3489005</id>
  <importance type="integer">16</importance>
  <is-story type="boolean">false</is-story>
  <milestone-id type="integer">378335</milestone-id>
  <notification-list>chTxNs5UKr24fraaeP0Qfc</notification-list>
  <number type="integer">51</number>
  <priority type="integer">3</priority>
  <reporter-id>chTxNs5UKr24fraaeP0Qfc</reporter-id>
  <space-id>d27yQqgRir3iNOabIlDkbG</space-id>
  <status type='integer'>1</status>
  <status-name>Accepted</status-name>
  <story-importance type="integer">0</story-importance>
  <summary>Copy interpreter directive into compiled files</summary>
  <updated-at type="datetime">2011-09-22T01:53:17-04:00</updated-at>
  <working-hours type="float">2.0</working-hours>
  <working-hour type="float" warning="deprecated">2.0</working-hour>
  <estimate type="string">None</estimate>
  <total-estimate type="float">0.0</total-estimate>
  <invested-hours type="float">0.0</invested-hours>
  <assigned-to><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></assigned-to>
  <reporter><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></reporter>
<custom-fields>
<custom-field type="List" name="Type" id="21601">enhancement</custom-field>
<custom-field type="List" name="Severity" id="21603">suggestion</custom-field>
</custom-fields>
<CustomFields deprecated="use custom-fields">
<CustomField type="List" name="Type" id="21601">enhancement</CustomField>
<CustomField type="List" name="Severity" id="21603">suggestion</CustomField>
</CustomFields>
</ticket>
<ticket>
  <assigned-to-id>chTxNs5UKr24fraaeP0Qfc</assigned-to-id>
  <completed-date type="datetime"></completed-date>
  <component-id type="integer">2</component-id>
  <created-on type="datetime">2011-04-08T08:00:51-04:00</created-on>
  <description>Prexonite currently only builds on Windows under VS2010. That is not ideal. 

There should be a mechanism that allows Prexonite to be built under linux/mono, possibly without support for T4.
Ideally the MSBuild file can be used for both platforms. Otherwise a separate mechanism is needed (Makefile, XBuild).</description>
  <from-support type="integer">0</from-support>
  <id type="integer">3576449</id>
  <importance type="integer">11</importance>
  <is-story type="boolean">true</is-story>
  <milestone-id type="integer">378335</milestone-id>
  <notification-list>chTxNs5UKr24fraaeP0Qfc</notification-list>
  <number type="integer">58</number>
  <priority type="integer">3</priority>
  <reporter-id>chTxNs5UKr24fraaeP0Qfc</reporter-id>
  <space-id>d27yQqgRir3iNOabIlDkbG</space-id>
  <status type='integer'>1</status>
  <status-name>Accepted</status-name>
  <story-importance type="integer">0</story-importance>
  <summary>Add mono/linux compatible build instructions</summary>
  <updated-at type="datetime">2011-07-12T18:13:40-04:00</updated-at>
  <working-hours type="float">6.0</working-hours>
  <working-hour type="float" warning="deprecated">6.0</working-hour>
  <estimate type="string">None</estimate>
  <total-estimate type="float">0.0</total-estimate>
  <invested-hours type="float">0.0</invested-hours>
  <assigned-to><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></assigned-to>
  <reporter><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></reporter>
<custom-fields>
<custom-field type="List" name="Type" id="21601">enhancement</custom-field>
<custom-field type="List" name="Severity" id="21603">suggestion</custom-field>
</custom-fields>
<CustomFields deprecated="use custom-fields">
<CustomField type="List" name="Type" id="21601">enhancement</CustomField>
<CustomField type="List" name="Severity" id="21603">suggestion</CustomField>
</CustomFields>
</ticket>
<ticket>
  <assigned-to-id>chTxNs5UKr24fraaeP0Qfc</assigned-to-id>
  <completed-date type="datetime"></completed-date>
  <component-id type="integer">4</component-id>
  <created-on type="datetime">2011-04-08T08:02:30-04:00</created-on>
  <description>Test should not just be run on Windows, but also on mono/linux.

It should be possible to run the test suite under mono/linux. One simple command line should be enough (e.g., &lt;code&gt;make test&lt;/code&gt;)</description>
  <from-support type="integer">0</from-support>
  <id type="integer">3576459</id>
  <importance type="integer">12</importance>
  <is-story type="boolean">true</is-story>
  <milestone-id type="integer">378335</milestone-id>
  <notification-list>chTxNs5UKr24fraaeP0Qfc</notification-list>
  <number type="integer">59</number>
  <priority type="integer">3</priority>
  <reporter-id>chTxNs5UKr24fraaeP0Qfc</reporter-id>
  <space-id>d27yQqgRir3iNOabIlDkbG</space-id>
  <status type='integer'>1</status>
  <status-name>Accepted</status-name>
  <story-importance type="integer">0</story-importance>
  <summary>Make automated testing under mono/linux possible</summary>
  <updated-at type="datetime">2011-07-12T18:13:50-04:00</updated-at>
  <working-hours type="float">3.0</working-hours>
  <working-hour type="float" warning="deprecated">3.0</working-hour>
  <estimate type="string">None</estimate>
  <total-estimate type="float">0.0</total-estimate>
  <invested-hours type="float">0.0</invested-hours>
  <assigned-to><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></assigned-to>
  <reporter><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></reporter>
<custom-fields>
<custom-field type="List" name="Type" id="21601">enhancement</custom-field>
<custom-field type="List" name="Severity" id="21603">suggestion</custom-field>
</custom-fields>
<CustomFields deprecated="use custom-fields">
<CustomField type="List" name="Type" id="21601">enhancement</CustomField>
<CustomField type="List" name="Severity" id="21603">suggestion</CustomField>
</CustomFields>
</ticket>
<ticket>
  <assigned-to-id>chTxNs5UKr24fraaeP0Qfc</assigned-to-id>
  <completed-date type="datetime"></completed-date>
  <component-id type="integer">0</component-id>
  <created-on type="datetime">2011-06-13T15:19:18-04:00</created-on>
  <description>The following code fails with &quot;System.InvalidProgramException : JIT Compiler encountered an internal limitation.&quot;
&lt;pre&gt;&lt;code&gt;function f()
{
    return 1;
}

function main()
{
    var zs = [];
    zs[] = call\sub(f(?));  
    return zs[0];
}
&lt;/code&gt;&lt;/pre&gt;
Assigning to &quot;zs[]&quot; is important. Removing the assignment or assigning to a local variable does not trigger the error.</description>
  <from-support type="integer">0</from-support>
  <id type="integer">4151660</id>
  <importance type="integer">10</importance>
  <is-story type="boolean">false</is-story>
  <milestone-id type="integer">378335</milestone-id>
  <notification-list>chTxNs5UKr24fraaeP0Qfc</notification-list>
  <number type="integer">72</number>
  <priority type="integer">3</priority>
  <reporter-id>chTxNs5UKr24fraaeP0Qfc</reporter-id>
  <space-id>d27yQqgRir3iNOabIlDkbG</space-id>
  <status type='integer'>1</status>
  <status-name>Accepted</status-name>
  <story-importance type="integer">0</story-importance>
  <summary>Non-local jumps in BlockExpressions result in invalid byte code.</summary>
  <updated-at type="datetime">2011-09-22T04:51:33-04:00</updated-at>
  <working-hours type="float">4.0</working-hours>
  <working-hour type="float" warning="deprecated">4.0</working-hour>
  <estimate type="string">None</estimate>
  <total-estimate type="float">0.0</total-estimate>
  <invested-hours type="float">4.0</invested-hours>
  <assigned-to><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></assigned-to>
  <reporter><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></reporter>
<custom-fields>
<custom-field type="List" name="Type" id="21601">defect</custom-field>
<custom-field type="List" name="Severity" id="21603">major defect</custom-field>
</custom-fields>
<CustomFields deprecated="use custom-fields">
<CustomField type="List" name="Type" id="21601">defect</CustomField>
<CustomField type="List" name="Severity" id="21603">major defect</CustomField>
</CustomFields>
</ticket>
<ticket>
  <assigned-to-id>chTxNs5UKr24fraaeP0Qfc</assigned-to-id>
  <completed-date type="datetime"></completed-date>
  <component-id type="integer">5</component-id>
  <created-on type="datetime">2011-06-20T21:39:15-04:00</created-on>
  <description>There are a number of goto-constructs in Prexonite that are apparently not understood by the mono C# compiler (not blaming dmcs here, Microsofts csc is probably a bit too liberal). Need to rewrite these sections with structured blocks... (sigh)


&lt;pre&gt;&lt;code&gt;Compiler/Ast/AstBinaryOperator.cs(286,26): error CS0159: The label `additionRedundancy:' could not be found within the scope of the goto statement
Compiler/Ast/AstBinaryOperator.cs(344,26): error CS0159: The label `divisionRedundancy:' could not be found within the scope of the goto statement
Compiler/CompilerTarget.cs(1659,30): error CS0159: The label `replaceInt:' could not be found within the scope of the goto statement
Compiler/CompilerTarget.cs(1662,30): error CS0159: The label `replaceInt:' could not be found within the scope of the goto statement
Compiler/CompilerTarget.cs(1665,30): error CS0159: The label `replaceInt:' could not be found within the scope of the goto statement
FunctionContext.cs(658,30): error CS0159: The label `doIncrement:' could not be found within the scope of the goto statement
FunctionContext.cs(677,30): error CS0159: The label `doDecrement:' could not be found within the scope of the goto statement
FunctionContext.cs(894,30): error CS0159: The label `doIndloc:' could not be found within the scope of the goto statement
FunctionContext.cs(910,30): error CS0159: The label `doIndloc:' could not be found within the scope of the goto statement
FunctionContext.cs(915,30): error CS0159: The label `doIndloc:' could not be found within the scope of the goto statement
Types/StructurePType.cs(345,34): error CS0159: The label `normalString:' could not be found within the scope of the goto statement
&lt;/code&gt;&lt;/pre&gt;
</description>
  <from-support type="integer">0</from-support>
  <id type="integer">4211280</id>
  <importance type="integer">15</importance>
  <is-story type="boolean">false</is-story>
  <milestone-id type="integer">378335</milestone-id>
  <notification-list>chTxNs5UKr24fraaeP0Qfc</notification-list>
  <number type="integer">81</number>
  <priority type="integer">3</priority>
  <reporter-id>chTxNs5UKr24fraaeP0Qfc</reporter-id>
  <space-id>d27yQqgRir3iNOabIlDkbG</space-id>
  <status type='integer'>1</status>
  <status-name>Accepted</status-name>
  <story-importance type="integer">0</story-importance>
  <summary>Some Goto's not understood by mono compiler</summary>
  <updated-at type="datetime">2011-08-03T09:04:43-04:00</updated-at>
  <working-hours type="float">0.0</working-hours>
  <working-hour type="float" warning="deprecated">0.0</working-hour>
  <estimate type="string">None</estimate>
  <total-estimate type="float">0.0</total-estimate>
  <invested-hours type="float">0.0</invested-hours>
  <assigned-to><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></assigned-to>
  <reporter><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></reporter>
<custom-fields>
<custom-field type="List" name="Type" id="21601">defect</custom-field>
<custom-field type="List" name="Severity" id="21603">blocker</custom-field>
</custom-fields>
<CustomFields deprecated="use custom-fields">
<CustomField type="List" name="Type" id="21601">defect</CustomField>
<CustomField type="List" name="Severity" id="21603">blocker</CustomField>
</CustomFields>
</ticket>
<ticket>
  <assigned-to-id>chTxNs5UKr24fraaeP0Qfc</assigned-to-id>
  <completed-date type="datetime"></completed-date>
  <component-id type="integer">5</component-id>
  <created-on type="datetime">2011-06-20T21:42:48-04:00</created-on>
  <description>In several cases, the path on disk does not correspond to the path in the project 1:1 (case sensitive; works on Windows, fails under Linux)


* The folder AST must be renamed to Ast
* The file Prexonite/Compiler/Ast/AstTypeCast.cs must be renamed to Prexonite/Compiler/Ast/AstTypecast.cs (&#8594; lowercase c) || or the reference in the project must be changed!
</description>
  <from-support type="integer">0</from-support>
  <id type="integer">4211288</id>
  <importance type="integer">6</importance>
  <is-story type="boolean">false</is-story>
  <milestone-id type="integer">378335</milestone-id>
  <notification-list>chTxNs5UKr24fraaeP0Qfc</notification-list>
  <number type="integer">82</number>
  <priority type="integer">3</priority>
  <reporter-id>chTxNs5UKr24fraaeP0Qfc</reporter-id>
  <space-id>d27yQqgRir3iNOabIlDkbG</space-id>
  <status type='integer'>1</status>
  <status-name>Accepted</status-name>
  <story-importance type="integer">0</story-importance>
  <summary>Mismatch between file names/paths on disk versus in project.</summary>
  <updated-at type="datetime">2011-06-20T21:44:27-04:00</updated-at>
  <working-hours type="float">0.0</working-hours>
  <working-hour type="float" warning="deprecated">0.0</working-hour>
  <estimate type="string">None</estimate>
  <total-estimate type="float">0.0</total-estimate>
  <invested-hours type="float">0.0</invested-hours>
  <assigned-to><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></assigned-to>
  <reporter><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></reporter>
<custom-fields>
<custom-field type="List" name="Type" id="21601">defect</custom-field>
<custom-field type="List" name="Severity" id="21603">blocker</custom-field>
</custom-fields>
<CustomFields deprecated="use custom-fields">
<CustomField type="List" name="Type" id="21601">defect</CustomField>
<CustomField type="List" name="Severity" id="21603">blocker</CustomField>
</CustomFields>
</ticket>
<ticket>
  <assigned-to-id>chTxNs5UKr24fraaeP0Qfc</assigned-to-id>
  <completed-date type="datetime"></completed-date>
  <component-id type="integer">5</component-id>
  <created-on type="datetime">2011-06-20T21:45:32-04:00</created-on>
  <description></description>
  <from-support type="integer">0</from-support>
  <id type="integer">4211296</id>
  <importance type="integer">13</importance>
  <is-story type="boolean">false</is-story>
  <milestone-id type="integer">378335</milestone-id>
  <notification-list>chTxNs5UKr24fraaeP0Qfc</notification-list>
  <number type="integer">83</number>
  <priority type="integer">3</priority>
  <reporter-id>chTxNs5UKr24fraaeP0Qfc</reporter-id>
  <space-id>d27yQqgRir3iNOabIlDkbG</space-id>
  <status type='integer'>1</status>
  <status-name>Accepted</status-name>
  <story-importance type="integer">0</story-importance>
  <summary>Find a solution for portable `add` and `requires` directives.</summary>
  <updated-at type="datetime">2011-08-03T09:04:46-04:00</updated-at>
  <working-hours type="float">0.0</working-hours>
  <working-hour type="float" warning="deprecated">0.0</working-hour>
  <estimate type="string">None</estimate>
  <total-estimate type="float">0.0</total-estimate>
  <invested-hours type="float">0.0</invested-hours>
  <assigned-to><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></assigned-to>
  <reporter><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></reporter>
<custom-fields>
<custom-field type="List" name="Type" id="21601">defect</custom-field>
<custom-field type="List" name="Severity" id="21603">major defect</custom-field>
</custom-fields>
<CustomFields deprecated="use custom-fields">
<CustomField type="List" name="Type" id="21601">defect</CustomField>
<CustomField type="List" name="Severity" id="21603">major defect</CustomField>
</CustomFields>
</ticket>
<ticket>
  <assigned-to-id>chTxNs5UKr24fraaeP0Qfc</assigned-to-id>
  <completed-date type="datetime"></completed-date>
  <component-id type="integer">1</component-id>
  <created-on type="datetime">2011-08-09T08:56:39-04:00</created-on>
  <description>Finally blocks (including disposing in using and foreach statements) are not guaranteed to run when exiting the function early (only non-CIL).

This makes coroutines that handle resources (such as threads, file handles) impossible.</description>
  <from-support type="integer">0</from-support>
  <id type="integer">4674880</id>
  <importance type="integer">85</importance>
  <is-story type="boolean">false</is-story>
  <milestone-id type="integer">378335</milestone-id>
  <notification-list>chTxNs5UKr24fraaeP0Qfc</notification-list>
  <number type="integer">85</number>
  <priority type="integer">3</priority>
  <reporter-id>chTxNs5UKr24fraaeP0Qfc</reporter-id>
  <space-id>d27yQqgRir3iNOabIlDkbG</space-id>
  <status type='integer'>1</status>
  <status-name>Accepted</status-name>
  <story-importance type="integer">0</story-importance>
  <summary>Finally blocks not guaranteed to run with early return/coroutines</summary>
  <updated-at type="datetime">2011-08-09T08:56:39-04:00</updated-at>
  <working-hours type="float">0.0</working-hours>
  <working-hour type="float" warning="deprecated">0.0</working-hour>
  <estimate type="string">None</estimate>
  <total-estimate type="float">0.0</total-estimate>
  <invested-hours type="float">0.0</invested-hours>
  <assigned-to><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></assigned-to>
  <reporter><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></reporter>
<custom-fields>
<custom-field type="List" name="Type" id="21601">defect</custom-field>
<custom-field type="List" name="Severity" id="21603">major defect</custom-field>
<custom-field type="List" name="Impact" id="40248">None</custom-field>
</custom-fields>
<CustomFields deprecated="use custom-fields">
<CustomField type="List" name="Type" id="21601">defect</CustomField>
<CustomField type="List" name="Severity" id="21603">major defect</CustomField>
<CustomField type="List" name="Impact" id="40248">None</CustomField>
</CustomFields>
</ticket>
<ticket>
  <assigned-to-id>chTxNs5UKr24fraaeP0Qfc</assigned-to-id>
  <completed-date type="datetime"></completed-date>
  <component-id type="integer">5</component-id>
  <created-on type="datetime">2011-10-06T12:57:43-04:00</created-on>
  <description>So far Prexonite performance has mostly been tested against micro-benchmarks. There is one important problem with those: They usually don't capture work the GC has to perform. 
In Prexonite, allocating a new value is relatively cheap (because the GC keeps the heap defragmented which in turn makes allocation fast). And Prexonite allocates a lot of heap objects. But you only pay for these once they're being collected. 

So: create a benchmark (or find something that can be used as a benchmark) that resembles the sort of tasks that Prexonite is likely to perform &quot;out in the wild&quot;. Put that benchmark under version control and use it regularly.</description>
  <from-support type="integer">0</from-support>
  <id type="integer">7736093</id>
  <importance type="integer">97</importance>
  <is-story type="boolean">false</is-story>
  <milestone-id type="integer">378335</milestone-id>
  <notification-list>chTxNs5UKr24fraaeP0Qfc</notification-list>
  <number type="integer">97</number>
  <priority type="integer">3</priority>
  <reporter-id>chTxNs5UKr24fraaeP0Qfc</reporter-id>
  <space-id>d27yQqgRir3iNOabIlDkbG</space-id>
  <status type='integer'>1</status>
  <status-name>Accepted</status-name>
  <story-importance type="integer">0</story-importance>
  <summary>Create/find non-synthetic benchmark</summary>
  <updated-at type="datetime">2011-10-06T12:57:43-04:00</updated-at>
  <working-hours type="float">0.0</working-hours>
  <working-hour type="float" warning="deprecated">0.0</working-hour>
  <estimate type="string">None</estimate>
  <total-estimate type="float">0.0</total-estimate>
  <invested-hours type="float">0.0</invested-hours>
  <assigned-to><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></assigned-to>
  <reporter><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></reporter>
<custom-fields>
<custom-field type="List" name="Type" id="21601">task</custom-field>
<custom-field type="List" name="Severity" id="21603">suggestion</custom-field>
<custom-field type="List" name="Impact" id="40248">None</custom-field>
</custom-fields>
<CustomFields deprecated="use custom-fields">
<CustomField type="List" name="Type" id="21601">task</CustomField>
<CustomField type="List" name="Severity" id="21603">suggestion</CustomField>
<CustomField type="List" name="Impact" id="40248">None</CustomField>
</CustomFields>
</ticket>
<ticket>
  <assigned-to-id>chTxNs5UKr24fraaeP0Qfc</assigned-to-id>
  <completed-date type="datetime"></completed-date>
  <component-id type="integer">0</component-id>
  <created-on type="datetime">2011-12-18T06:25:55-05:00</created-on>
  <description>Idea: Take a bunch of modules and repackage its contents into a single new module
Purpose: Compile lots of files and/or small modules separately (for performance/stability) and then create a single, unified module for others to link against.

Boundaries:
* &quot;Binary compatibility&quot; not necessary. It is not necessary (and in general not possible) to support clients, that linked against the fragments, to work with the unified module without re-compilation.
* Need to provide updated symbolic information for target module</description>
  <from-support type="integer">1</from-support>
  <id type="integer">11633963</id>
  <importance type="integer">101</importance>
  <is-story type="boolean">false</is-story>
  <milestone-id type="integer">378335</milestone-id>
  <notification-list>chTxNs5UKr24fraaeP0Qfc</notification-list>
  <number type="integer">101</number>
  <priority type="integer">3</priority>
  <reporter-id>chTxNs5UKr24fraaeP0Qfc</reporter-id>
  <space-id>d27yQqgRir3iNOabIlDkbG</space-id>
  <status type='integer'>1</status>
  <status-name>Accepted</status-name>
  <story-importance type="integer">0</story-importance>
  <summary>Repackage Module contents</summary>
  <updated-at type="datetime">2011-12-18T06:25:55-05:00</updated-at>
  <working-hours type="float">0.0</working-hours>
  <working-hour type="float" warning="deprecated">0.0</working-hour>
  <estimate type="string">None</estimate>
  <total-estimate type="float">0.0</total-estimate>
  <invested-hours type="float">0.0</invested-hours>
  <assigned-to><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></assigned-to>
  <reporter><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></reporter>
<custom-fields>
<custom-field type="List" name="Type" id="21601">enhancement</custom-field>
<custom-field type="List" name="Severity" id="21603">suggestion</custom-field>
<custom-field type="Text" name="Keywords" id="21607">module</custom-field>
<custom-field type="List" name="Impact" id="40248">None</custom-field>
</custom-fields>
<CustomFields deprecated="use custom-fields">
<CustomField type="List" name="Type" id="21601">enhancement</CustomField>
<CustomField type="List" name="Severity" id="21603">suggestion</CustomField>
<CustomField type="Text" name="Keywords" id="21607">module</CustomField>
<CustomField type="List" name="Impact" id="40248">None</CustomField>
</CustomFields>
</ticket>
<ticket>
  <assigned-to-id>chTxNs5UKr24fraaeP0Qfc</assigned-to-id>
  <completed-date type="datetime"></completed-date>
  <component-id type="integer">0</component-id>
  <created-on type="datetime">2010-08-28T06:56:59-04:00</created-on>
  <description>A comment (line or block) as the last non-whitespace element of a script file causes a compiler error. This MUST be legal.

The problem seems to be connected with the build commands &lt;code&gt;add&lt;/code&gt; and &lt;code&gt;require&lt;/code&gt; (or the underlying mechanisms in the loader).

Workaround: add an empty initialization block after the comment: 

&lt;pre&gt;&lt;code&gt;
//the last comment
{ }&lt;/code&gt;&lt;/pre&gt;</description>
  <from-support type="integer">0</from-support>
  <id type="integer">2051805</id>
  <importance type="integer">4</importance>
  <is-story type="boolean">true</is-story>
  <milestone-id type="integer">378335</milestone-id>
  <notification-list>chTxNs5UKr24fraaeP0Qfc</notification-list>
  <number type="integer">26</number>
  <priority type="integer">4</priority>
  <reporter-id>chTxNs5UKr24fraaeP0Qfc</reporter-id>
  <space-id>d27yQqgRir3iNOabIlDkbG</space-id>
  <status type='integer'>1</status>
  <status-name>Accepted</status-name>
  <story-importance type="integer">0</story-importance>
  <summary>Comment at the end of a script file causes compiler error</summary>
  <updated-at type="datetime">2011-06-19T13:08:20-04:00</updated-at>
  <working-hours type="float">4.0</working-hours>
  <working-hour type="float" warning="deprecated">4.0</working-hour>
  <estimate type="string">None</estimate>
  <total-estimate type="float">0.0</total-estimate>
  <invested-hours type="float">0.0</invested-hours>
  <assigned-to><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></assigned-to>
  <reporter><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></reporter>
<custom-fields>
<custom-field type="List" name="Type" id="21601">defect</custom-field>
<custom-field type="List" name="Severity" id="21603">major defect</custom-field>
<custom-field type="List" name="Resolution" id="21605"></custom-field>
<custom-field type="Text" name="Keywords" id="21607"></custom-field>
</custom-fields>
<CustomFields deprecated="use custom-fields">
<CustomField type="List" name="Type" id="21601">defect</CustomField>
<CustomField type="List" name="Severity" id="21603">major defect</CustomField>
<CustomField type="List" name="Resolution" id="21605"></CustomField>
<CustomField type="Text" name="Keywords" id="21607"></CustomField>
</CustomFields>
</ticket>
<ticket>
  <assigned-to-id>chTxNs5UKr24fraaeP0Qfc</assigned-to-id>
  <completed-date type="datetime"></completed-date>
  <component-id type="integer"></component-id>
  <created-on type="datetime">2011-01-11T21:32:42-05:00</created-on>
  <description>A possible enhancement to #37.

A macro writer CAN communicate to the compiler, that it wants to take advantage of *automatic compatibility with partial application*. This*does not replace* the ability to communicate (manual) compatibility as per #37.

Automatic partial-application-compatibility MIGHT require additional work from the macro writer, but in the average case SHOULD require less effort than (manual) compatibility as per #37.

h1. Implementation idea for automatic partial-application-compatibility 
 1. Create a nested function f_1 for every partial macro invocation.
 2. Insert the AST returned by the macro function/command/etc into that function f_1 
 3. In the invoking function f_0, replace the partial macro invocation with a reference to/or partial application of f_1.

Step 1 will require analysis of the AST and possibly additional information returned by the macro to determine things like shared variables (which will also affect f~0~)</description>
  <from-support type="integer">0</from-support>
  <id type="integer">2920229</id>
  <importance type="integer">8</importance>
  <is-story type="boolean">true</is-story>
  <milestone-id type="integer">378335</milestone-id>
  <notification-list>chTxNs5UKr24fraaeP0Qfc</notification-list>
  <number type="integer">38</number>
  <priority type="integer">4</priority>
  <reporter-id>chTxNs5UKr24fraaeP0Qfc</reporter-id>
  <space-id>d27yQqgRir3iNOabIlDkbG</space-id>
  <status type='integer'>1</status>
  <status-name>Accepted</status-name>
  <story-importance type="integer">0</story-importance>
  <summary>Automatic partial-application-compatibility for macros</summary>
  <updated-at type="datetime">2011-09-22T02:17:30-04:00</updated-at>
  <working-hours type="float">10.0</working-hours>
  <working-hour type="float" warning="deprecated">10.0</working-hour>
  <estimate type="string">None</estimate>
  <total-estimate type="float">0.0</total-estimate>
  <invested-hours type="float">11.0</invested-hours>
  <assigned-to><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></assigned-to>
  <reporter><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></reporter>
<custom-fields>
<custom-field type="List" name="Type" id="21601">enhancement</custom-field>
<custom-field type="List" name="Severity" id="21603">suggestion</custom-field>
<custom-field type="Text" name="Keywords" id="21607">macro, partial-application</custom-field>
</custom-fields>
<CustomFields deprecated="use custom-fields">
<CustomField type="List" name="Type" id="21601">enhancement</CustomField>
<CustomField type="List" name="Severity" id="21603">suggestion</CustomField>
<CustomField type="Text" name="Keywords" id="21607">macro, partial-application</CustomField>
</CustomFields>
</ticket>
<ticket>
  <assigned-to-id>chTxNs5UKr24fraaeP0Qfc</assigned-to-id>
  <completed-date type="datetime"></completed-date>
  <component-id type="integer"></component-id>
  <created-on type="datetime">2011-04-08T08:07:11-04:00</created-on>
  <description>Extra lining takes an AST subtree, compiles it into a separate function (nested) and replaces the subtree with a call to that function.

This functionality should be offered by the compiler as a service (macros should be able to request extra-lining of a AST subtree of their choice)
The process should be configurable where needed.</description>
  <from-support type="integer">0</from-support>
  <id type="integer">3576477</id>
  <importance type="integer">9</importance>
  <is-story type="boolean">false</is-story>
  <milestone-id type="integer">378335</milestone-id>
  <notification-list>chTxNs5UKr24fraaeP0Qfc</notification-list>
  <number type="integer">60</number>
  <priority type="integer">4</priority>
  <reporter-id>chTxNs5UKr24fraaeP0Qfc</reporter-id>
  <space-id>d27yQqgRir3iNOabIlDkbG</space-id>
  <status type='integer'>1</status>
  <status-name>Accepted</status-name>
  <story-importance type="integer">0</story-importance>
  <summary>Implement &quot;extra-lining&quot;</summary>
  <updated-at type="datetime">2011-09-21T23:18:14-04:00</updated-at>
  <working-hours type="float">10.0</working-hours>
  <working-hour type="float" warning="deprecated">10.0</working-hour>
  <estimate type="string">None</estimate>
  <total-estimate type="float">0.0</total-estimate>
  <invested-hours type="float">0.0</invested-hours>
  <assigned-to><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></assigned-to>
  <reporter><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></reporter>
<custom-fields>
<custom-field type="List" name="Type" id="21601">enhancement</custom-field>
<custom-field type="List" name="Severity" id="21603">suggestion</custom-field>
<custom-field type="Text" name="Keywords" id="21607">macro</custom-field>
</custom-fields>
<CustomFields deprecated="use custom-fields">
<CustomField type="List" name="Type" id="21601">enhancement</CustomField>
<CustomField type="List" name="Severity" id="21603">suggestion</CustomField>
<CustomField type="Text" name="Keywords" id="21607">macro</CustomField>
</CustomFields>
</ticket>
<ticket>
  <assigned-to-id>chTxNs5UKr24fraaeP0Qfc</assigned-to-id>
  <completed-date type="datetime"></completed-date>
  <component-id type="integer">1</component-id>
  <created-on type="datetime">2011-04-17T15:49:29-04:00</created-on>
  <description>The new call\sub capabilities should also be included in list processing commands.

Break means to stop processing further elements (discard all unprocessed elements including the current one)
Continue means to skip the element currently being processed (like a where)</description>
  <from-support type="integer">0</from-support>
  <id type="integer">3639539</id>
  <importance type="integer">66</importance>
  <is-story type="boolean">true</is-story>
  <milestone-id type="integer">378335</milestone-id>
  <notification-list>chTxNs5UKr24fraaeP0Qfc</notification-list>
  <number type="integer">66</number>
  <priority type="integer">4</priority>
  <reporter-id>chTxNs5UKr24fraaeP0Qfc</reporter-id>
  <space-id>d27yQqgRir3iNOabIlDkbG</space-id>
  <status type='integer'>1</status>
  <status-name>Accepted</status-name>
  <story-importance type="integer">0</story-importance>
  <summary>Have list commands react to `break`, `continue`</summary>
  <updated-at type="datetime">2011-09-11T07:44:25-04:00</updated-at>
  <working-hours type="float">3.0</working-hours>
  <working-hour type="float" warning="deprecated">3.0</working-hour>
  <estimate type="string">None</estimate>
  <total-estimate type="float">0.0</total-estimate>
  <invested-hours type="float">0.0</invested-hours>
  <assigned-to><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></assigned-to>
  <reporter><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></reporter>
<custom-fields>
<custom-field type="List" name="Type" id="21601">enhancement</custom-field>
<custom-field type="List" name="Severity" id="21603">suggestion</custom-field>
</custom-fields>
<CustomFields deprecated="use custom-fields">
<CustomField type="List" name="Type" id="21601">enhancement</CustomField>
<CustomField type="List" name="Severity" id="21603">suggestion</CustomField>
</CustomFields>
</ticket>
<ticket>
  <assigned-to-id>chTxNs5UKr24fraaeP0Qfc</assigned-to-id>
  <completed-date type="datetime"></completed-date>
  <component-id type="integer">0</component-id>
  <created-on type="datetime">2011-06-19T07:59:08-04:00</created-on>
  <description>Add a special meta key that allows a programmer to specify the Prexonite compiler version requirements for a file.

There SHOULD be special logic in the compiler that, upon encountering this meta entry, immediately checks whether the compilers version satisfies the requirements of the file. This is done on a file-by-file basis.

The compiler MUST issue an ERROR message, it its version doesn't satisfy the compiler version requirements. It MAY attempt to complete the translation, though.

Additionally, the compiler MUST embed its version into the compiled application.

Suggested keys:

* *compiler\version* for the version requirement
* *compiler\actual* for the actual version of the translating compiler
There should be two ways to specify the version:

compiler\version &quot;1.2.2.0&quot;; // compiler version must be *at least* 1.2.2.0
compiler\version &quot;1.2&quot;; // compiler version must be *at least* 1.2.2.0 (missing parts added)
compiler\version {&quot;1.2.2&quot;,&quot;1.2.3&quot;}; // compiler version must be *at least* 1.2.2.0 and *below* 1.2.4.0
compiler\version {&quot;1.2.2.0&quot;, &quot;1.2.3.0&quot;}; //compiler version must be *at least* 1.2.2.0 and *below* 1.2.3.1</description>
  <from-support type="integer">0</from-support>
  <id type="integer">4198894</id>
  <importance type="integer">2</importance>
  <is-story type="boolean">true</is-story>
  <milestone-id type="integer">378335</milestone-id>
  <notification-list>chTxNs5UKr24fraaeP0Qfc</notification-list>
  <number type="integer">73</number>
  <priority type="integer">4</priority>
  <reporter-id>chTxNs5UKr24fraaeP0Qfc</reporter-id>
  <space-id>d27yQqgRir3iNOabIlDkbG</space-id>
  <status type='integer'>1</status>
  <status-name>Accepted</status-name>
  <story-importance type="integer">0</story-importance>
  <summary>Compiler version requirements</summary>
  <updated-at type="datetime">2011-06-19T08:13:04-04:00</updated-at>
  <working-hours type="float">3.0</working-hours>
  <working-hour type="float" warning="deprecated">3.0</working-hour>
  <estimate type="string">None</estimate>
  <total-estimate type="float">0.0</total-estimate>
  <invested-hours type="float">0.0</invested-hours>
  <assigned-to><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></assigned-to>
  <reporter><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></reporter>
<custom-fields>
<custom-field type="List" name="Type" id="21601">enhancement</custom-field>
<custom-field type="List" name="Severity" id="21603">suggestion</custom-field>
<custom-field type="Text" name="Keywords" id="21607">version</custom-field>
</custom-fields>
<CustomFields deprecated="use custom-fields">
<CustomField type="List" name="Type" id="21601">enhancement</CustomField>
<CustomField type="List" name="Severity" id="21603">suggestion</CustomField>
<CustomField type="Text" name="Keywords" id="21607">version</CustomField>
</CustomFields>
</ticket>
<ticket>
  <assigned-to-id>chTxNs5UKr24fraaeP0Qfc</assigned-to-id>
  <completed-date type="datetime"></completed-date>
  <component-id type="integer">1</component-id>
  <created-on type="datetime">2011-06-19T08:11:31-04:00</created-on>
  <description>A meta entry in the application's meta table specifies the versions of the Prexonite runtime that will be able to execute the application's code.

Prior to running any code from an application, the Prexonite runtime MUST check whether its version satisfies the runtime version requirements stored in a meta entry in the applications meta table.

If it does not satisfy the runtime version requirements, it MUST throw an IncompatibleVersion exception.

The runtime MUST also check the runtime version requirements when running initialization or build code.

Suggested meta keys:
* *runtime\version* 

There should be two ways to specify the version:

runtime\version &quot;1.2.2.0&quot;; // runtime version must be *at least* 1.2.2.0
runtime\version &quot;1.2&quot;; // runtime version must be *at least* 1.2.2.0 (missing parts added)
runtime\version {&quot;1.2.2&quot;,&quot;1.2.3&quot;}; // runtime must be *at least* 1.2.2.0 and *below* 1.2.4.0
runtime\version {&quot;1.2.2.0&quot;, &quot;1.2.3.0&quot;}; //runtime must be *at least* 1.2.2.0 and *below* 1.2.3.1

Other formats might be supported in the future.</description>
  <from-support type="integer">0</from-support>
  <id type="integer">4198920</id>
  <importance type="integer">1</importance>
  <is-story type="boolean">true</is-story>
  <milestone-id type="integer">378335</milestone-id>
  <notification-list>chTxNs5UKr24fraaeP0Qfc</notification-list>
  <number type="integer">74</number>
  <priority type="integer">4</priority>
  <reporter-id>chTxNs5UKr24fraaeP0Qfc</reporter-id>
  <space-id>d27yQqgRir3iNOabIlDkbG</space-id>
  <status type='integer'>1</status>
  <status-name>Accepted</status-name>
  <story-importance type="integer">0</story-importance>
  <summary>Runtime version requirements</summary>
  <updated-at type="datetime">2011-06-19T08:11:31-04:00</updated-at>
  <working-hours type="float">4.0</working-hours>
  <working-hour type="float" warning="deprecated">4.0</working-hour>
  <estimate type="string">None</estimate>
  <total-estimate type="float">0.0</total-estimate>
  <invested-hours type="float">0.0</invested-hours>
  <assigned-to><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></assigned-to>
  <reporter><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></reporter>
<custom-fields>
<custom-field type="List" name="Type" id="21601">enhancement</custom-field>
<custom-field type="List" name="Severity" id="21603">suggestion</custom-field>
<custom-field type="Text" name="Keywords" id="21607">version</custom-field>
</custom-fields>
<CustomFields deprecated="use custom-fields">
<CustomField type="List" name="Type" id="21601">enhancement</CustomField>
<CustomField type="List" name="Severity" id="21603">suggestion</CustomField>
<CustomField type="Text" name="Keywords" id="21607">version</CustomField>
</CustomFields>
</ticket>
<ticket>
  <assigned-to-id>chTxNs5UKr24fraaeP0Qfc</assigned-to-id>
  <completed-date type="datetime"></completed-date>
  <component-id type="integer">1</component-id>
  <created-on type="datetime">2011-06-20T15:15:27-04:00</created-on>
  <description>While doing memory profiling, I noticed that there are probably a lot of &quot;duplicate&quot; ObjectPType objects. Since these are immutable and intended to be shared/aliased (the latter is true for all PType objects), there is potentially room for improvement through caching. 

I'm thinking about something simple, like keeping the last 200 (or so) requested ObjectPTypes around. But as always: Need to measure first...</description>
  <from-support type="integer">0</from-support>
  <id type="integer">4208774</id>
  <importance type="integer">5</importance>
  <is-story type="boolean">false</is-story>
  <milestone-id type="integer">378335</milestone-id>
  <notification-list>chTxNs5UKr24fraaeP0Qfc</notification-list>
  <number type="integer">80</number>
  <priority type="integer">4</priority>
  <reporter-id>chTxNs5UKr24fraaeP0Qfc</reporter-id>
  <space-id>d27yQqgRir3iNOabIlDkbG</space-id>
  <status type='integer'>1</status>
  <status-name>Accepted</status-name>
  <story-importance type="integer">0</story-importance>
  <summary>Investigate caching ObjectPType instances</summary>
  <updated-at type="datetime">2011-06-20T15:15:36-04:00</updated-at>
  <working-hours type="float">3.0</working-hours>
  <working-hour type="float" warning="deprecated">3.0</working-hour>
  <estimate type="string">None</estimate>
  <total-estimate type="float">0.0</total-estimate>
  <invested-hours type="float">0.0</invested-hours>
  <assigned-to><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></assigned-to>
  <reporter><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></reporter>
<custom-fields>
<custom-field type="List" name="Type" id="21601">enhancement</custom-field>
<custom-field type="List" name="Severity" id="21603">suggestion</custom-field>
</custom-fields>
<CustomFields deprecated="use custom-fields">
<CustomField type="List" name="Type" id="21601">enhancement</CustomField>
<CustomField type="List" name="Severity" id="21603">suggestion</CustomField>
</CustomFields>
</ticket>
<ticket>
  <assigned-to-id>chTxNs5UKr24fraaeP0Qfc</assigned-to-id>
  <completed-date type="datetime"></completed-date>
  <component-id type="integer">1</component-id>
  <created-on type="datetime">2011-10-06T12:52:16-04:00</created-on>
  <description>Int, Real, Bool and String literals all cause a stack allocation when they are encountered in the program: The PValue around them needs to be instantiated. What if, instead, the CIL compiler generates a class that provides &quot;singleton&quot; PValues for all literals in an application?

Is that more performant? Less performant? Is it feasible in an extensible manner?</description>
  <from-support type="integer">0</from-support>
  <id type="integer">7735773</id>
  <importance type="integer">96</importance>
  <is-story type="boolean">false</is-story>
  <milestone-id type="integer">378335</milestone-id>
  <notification-list>chTxNs5UKr24fraaeP0Qfc</notification-list>
  <number type="integer">96</number>
  <priority type="integer">4</priority>
  <reporter-id>chTxNs5UKr24fraaeP0Qfc</reporter-id>
  <space-id>d27yQqgRir3iNOabIlDkbG</space-id>
  <status type='integer'>1</status>
  <status-name>Accepted</status-name>
  <story-importance type="integer">0</story-importance>
  <summary>Investigate performance of caching PValues for literals</summary>
  <updated-at type="datetime">2011-10-06T12:52:16-04:00</updated-at>
  <working-hours type="float">5.0</working-hours>
  <working-hour type="float" warning="deprecated">5.0</working-hour>
  <estimate type="string">None</estimate>
  <total-estimate type="float">0.0</total-estimate>
  <invested-hours type="float">0.0</invested-hours>
  <assigned-to><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></assigned-to>
  <reporter><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></reporter>
<custom-fields>
<custom-field type="List" name="Type" id="21601">enhancement</custom-field>
<custom-field type="List" name="Severity" id="21603">suggestion</custom-field>
<custom-field type="List" name="Impact" id="40248">None</custom-field>
</custom-fields>
<CustomFields deprecated="use custom-fields">
<CustomField type="List" name="Type" id="21601">enhancement</CustomField>
<CustomField type="List" name="Severity" id="21603">suggestion</CustomField>
<CustomField type="List" name="Impact" id="40248">None</CustomField>
</CustomFields>
</ticket>
<ticket>
  <assigned-to-id>chTxNs5UKr24fraaeP0Qfc</assigned-to-id>
  <completed-date type="datetime"></completed-date>
  <component-id type="integer">3</component-id>
  <created-on type="datetime">2012-05-24T08:05:28-04:00</created-on>
  <description>Currently, exception types defined by Prexonite don't handle de-serialization. This is against Microsoft's recommendations regarding Exception types, since it makes it impossible to send these exceptions &quot;over the wire&quot; (Remoting, etc)</description>
  <from-support type="integer">1</from-support>
  <id type="integer">21970973</id>
  <importance type="integer">102</importance>
  <is-story type="boolean">false</is-story>
  <milestone-id type="integer">378335</milestone-id>
  <notification-list>chTxNs5UKr24fraaeP0Qfc</notification-list>
  <number type="integer">104</number>
  <priority type="integer">4</priority>
  <reporter-id>chTxNs5UKr24fraaeP0Qfc</reporter-id>
  <space-id>d27yQqgRir3iNOabIlDkbG</space-id>
  <status type='integer'>1</status>
  <status-name>Accepted</status-name>
  <story-importance type="integer">0</story-importance>
  <summary>Implement serialization for exceptions.</summary>
  <updated-at type="datetime">2012-05-24T08:05:28-04:00</updated-at>
  <working-hours type="float">0.0</working-hours>
  <working-hour type="float" warning="deprecated">0.0</working-hour>
  <estimate type="string">Medium</estimate>
  <total-estimate type="float">3.0</total-estimate>
  <invested-hours type="float">0.0</invested-hours>
  <assigned-to><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></assigned-to>
  <reporter><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></reporter>
<custom-fields>
<custom-field type="List" name="Type" id="21601">technical debt</custom-field>
<custom-field type="List" name="Severity" id="21603">minor defect</custom-field>
<custom-field type="Text" name="Keywords" id="21607">exception, serialization</custom-field>
<custom-field type="List" name="Impact" id="40248">None</custom-field>
</custom-fields>
<CustomFields deprecated="use custom-fields">
<CustomField type="List" name="Type" id="21601">technical debt</CustomField>
<CustomField type="List" name="Severity" id="21603">minor defect</CustomField>
<CustomField type="Text" name="Keywords" id="21607">exception, serialization</CustomField>
<CustomField type="List" name="Impact" id="40248">None</CustomField>
</CustomFields>
</ticket>
<ticket>
  <assigned-to-id>chTxNs5UKr24fraaeP0Qfc</assigned-to-id>
  <completed-date type="datetime"></completed-date>
  <component-id type="integer"></component-id>
  <created-on type="datetime">2011-04-19T08:06:47-04:00</created-on>
  <description>The partial application of call\macro should yield a value that is stack aware if the macro is implemented as a function.

There is no immediate application for this change. It might be useful for hypothetical Prexonite debuggers (opaque IIndirectCall barriers are an obstacle for debuggers)</description>
  <from-support type="integer">0</from-support>
  <id type="integer">3654181</id>
  <importance type="integer">7</importance>
  <is-story type="boolean">false</is-story>
  <milestone-id type="integer">378335</milestone-id>
  <notification-list>chTxNs5UKr24fraaeP0Qfc</notification-list>
  <number type="integer">68</number>
  <priority type="integer">5</priority>
  <reporter-id>chTxNs5UKr24fraaeP0Qfc</reporter-id>
  <space-id>d27yQqgRir3iNOabIlDkbG</space-id>
  <status type='integer'>1</status>
  <status-name>Accepted</status-name>
  <story-importance type="integer">0</story-importance>
  <summary>Value returned by call\macro\prepare_macro should be stack aware</summary>
  <updated-at type="datetime">2011-08-03T09:04:48-04:00</updated-at>
  <working-hours type="float">2.0</working-hours>
  <working-hour type="float" warning="deprecated">2.0</working-hour>
  <estimate type="string">None</estimate>
  <total-estimate type="float">0.0</total-estimate>
  <invested-hours type="float">0.0</invested-hours>
  <assigned-to><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></assigned-to>
  <reporter><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></reporter>
<custom-fields>
<custom-field type="List" name="Type" id="21601">technical debt</custom-field>
<custom-field type="List" name="Severity" id="21603">suggestion</custom-field>
</custom-fields>
<CustomFields deprecated="use custom-fields">
<CustomField type="List" name="Type" id="21601">technical debt</CustomField>
<CustomField type="List" name="Severity" id="21603">suggestion</CustomField>
</CustomFields>
</ticket>
<ticket>
  <assigned-to-id>chTxNs5UKr24fraaeP0Qfc</assigned-to-id>
  <completed-date type="datetime"></completed-date>
  <component-id type="integer">1</component-id>
  <created-on type="datetime">2011-06-19T12:42:35-04:00</created-on>
  <description>call\tail (whether used directly, or via a partial application) doesn't provide a return value. It works as a statement but it will always result in {-NULL-}.

Lifting this limitation is currently not very high on my list of priorities.</description>
  <from-support type="integer">0</from-support>
  <id type="integer">4199418</id>
  <importance type="integer">3</importance>
  <is-story type="boolean">false</is-story>
  <milestone-id type="integer">378335</milestone-id>
  <notification-list>chTxNs5UKr24fraaeP0Qfc</notification-list>
  <number type="integer">79</number>
  <priority type="integer">5</priority>
  <reporter-id>chTxNs5UKr24fraaeP0Qfc</reporter-id>
  <space-id>d27yQqgRir3iNOabIlDkbG</space-id>
  <status type='integer'>1</status>
  <status-name>Accepted</status-name>
  <story-importance type="integer">0</story-importance>
  <summary>call\tail does not provide a return value</summary>
  <updated-at type="datetime">2011-08-03T09:04:53-04:00</updated-at>
  <working-hours type="float">2.0</working-hours>
  <working-hour type="float" warning="deprecated">2.0</working-hour>
  <estimate type="string">None</estimate>
  <total-estimate type="float">0.0</total-estimate>
  <invested-hours type="float">0.0</invested-hours>
  <assigned-to><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></assigned-to>
  <reporter><id>chTxNs5UKr24fraaeP0Qfc</id><login>SealedSun</login><login_name warning="deprecated">SealedSun</login_name><name>SealedSun</name><website>http://www.sealedsun.ch</website></reporter>
<custom-fields>
<custom-field type="List" name="Type" id="21601">defect</custom-field>
<custom-field type="List" name="Severity" id="21603">minor defect</custom-field>
<custom-field type="Text" name="Keywords" id="21607">tail call</custom-field>
</custom-fields>
<CustomFields deprecated="use custom-fields">
<CustomField type="List" name="Type" id="21601">defect</CustomField>
<CustomField type="List" name="Severity" id="21603">minor defect</CustomField>
<CustomField type="Text" name="Keywords" id="21607">tail call</CustomField>
</CustomFields>
</ticket>
</tickets>

