<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Derivatives</title><link>https://sourceforge.net/p/asil/wiki/Derivatives/</link><description>Recent changes to Derivatives</description><atom:link href="https://sourceforge.net/p/asil/wiki/Derivatives/feed" rel="self"/><language>en</language><lastBuildDate>Sun, 23 Feb 2014 22:12:04 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/asil/wiki/Derivatives/feed" rel="self" type="application/rss+xml"/><item><title>Derivatives modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/Derivatives/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -12,6 +12,7 @@
 Global procedures and properties | ✗ | ✓
 Can undeclare global objects | ✗ | ✓
 Creates binary executables | ✓ | ✗ 
+Typing system | Statically-typed&amp;mdash;Any member you reference is checked at compile time to ensure it's a valid member of the type | Dynamically-typed&amp;mdash;DASIL waits until runtime to check that the members you reference really are members.  A special Error maybe thrown if it doesn't.

 Calling code in one derivative from the other
 ---------------------------------------------
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Will Pittenger</dc:creator><pubDate>Sun, 23 Feb 2014 22:12:04 -0000</pubDate><guid>https://sourceforge.netb2886027aad3e09ab703a08085ea3d8d21dae46d</guid></item><item><title>Derivatives modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/Derivatives/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -22,4 +22,4 @@
 MyNamespace@MyScript
 ~~~~

-For how to pass parameters, see the section [DASIL](Derivatives-DASIL).
+For how to pass parameters, see the section [DASIL](Derivatives-DASIL).  To call something in the class from the script, just treat the class like you would from any other ASIL code.
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Will Pittenger</dc:creator><pubDate>Sun, 23 Feb 2014 21:40:55 -0000</pubDate><guid>https://sourceforge.net2fbe8abb6c1e4e4bda576a89078a30ed421fe1ed</guid></item><item><title>Derivatives modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/Derivatives/</link><description>&lt;div class="markdown_content"&gt;&lt;div class="toc"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#overview"&gt;Overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#calling-code-in-one-derivative-from-the-other"&gt;Calling code in one derivative from the other&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h2 id="overview"&gt;Overview&lt;/h2&gt;
&lt;p&gt;You will never actually write ASIL code.  Rather, you'd use either of one two derivatives.  If you're expecting to compile your code into binaries, you'd probably want &lt;a class="" href="../Derivatives-SASIL"&gt;SASIL&lt;/a&gt;.  It's more like C# or Java.  If you want to script something, &lt;a class="" href="../Derivatives-DASIL"&gt;DASIL&lt;/a&gt; would be a better choice.  Below is a brief comparison.  For details on both, see the page on each.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;&lt;a class="" href="../Derivatives-SASIL"&gt;SASIL&lt;/a&gt;&lt;/th&gt;
&lt;th&gt;&lt;a class="" href="../Derivatives-DASIL"&gt;DASIL&lt;/a&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;File extension&lt;/td&gt;
&lt;td&gt;.sasil&lt;/td&gt;
&lt;td&gt;.dasil&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Global code&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Global variables&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Global procedures and properties&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Can undeclare global objects&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Creates binary executables&lt;/td&gt;
&lt;td&gt;✓&lt;/td&gt;
&lt;td&gt;✗&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="calling-code-in-one-derivative-from-the-other"&gt;Calling code in one derivative from the other&lt;/h2&gt;
&lt;p&gt;Both derivatives are very interchangeable.  Suppose the namespace "&lt;code&gt;MyNamespace&lt;/code&gt;" has a class called "&lt;code&gt;MyClass&lt;/code&gt;".  It also has a script using the ASIL identifier "&lt;code&gt;MyScript&lt;/code&gt;".  You'd call the script (as a whole) with this code in the class:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;MyNamespace@MyScript
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;For how to pass parameters, see the section &lt;a class="" href="../Derivatives-DASIL"&gt;DASIL&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Will Pittenger</dc:creator><pubDate>Sun, 23 Feb 2014 21:39:58 -0000</pubDate><guid>https://sourceforge.netf4bdb30e5980823e94305c555466347bd3efe4db</guid></item></channel></rss>