<pre class="hl"><span class="hl-c1 hl-italic"># Fibonacci with memoization</span>
<span class="hl-c2 hl-bold">module</span> <span class="hl-c8">Fib</span>

<span class="hl-c2 hl-bold">const</span> <span class="hl-c8">cache</span> <span class="hl-c8">=</span> <span class="hl-c7 hl-underline">Dict</span><span class="hl-c8">{</span><span class="hl-c7 hl-underline">Int</span><span class="hl-c8">,</span><span class="hl-c7 hl-underline">BigInt</span><span class="hl-c8">}</span><span class="hl-c8">(</span><span class="hl-c8">)</span>

<span class="hl-c3">&quot;&quot;&quot;Calculate the nth Fibonacci number.&quot;&quot;&quot;</span>
<span class="hl-c2 hl-bold">function</span> <span class="hl-c5 hl-bold hl-italic">fib</span><span class="hl-c8">(</span><span class="hl-c8">n</span><span class="hl-c8">::</span><span class="hl-c7 hl-underline">Int</span><span class="hl-c8">)</span><span class="hl-c8">::</span><span class="hl-c7 hl-underline">BigInt</span>
    <span class="hl-c8">n</span> <span class="hl-c8">&lt;=</span> <span class="hl-c4">1</span> <span class="hl-c8">&amp;&amp;</span> <span class="hl-c2 hl-bold">return</span> <span class="hl-c5 hl-bold hl-italic">BigInt</span><span class="hl-c8">(</span><span class="hl-c8">n</span><span class="hl-c8">)</span>
    <span class="hl-c5 hl-bold hl-italic">get!</span><span class="hl-c8">(</span><span class="hl-c8">cache</span><span class="hl-c8">,</span> <span class="hl-c8">n</span><span class="hl-c8">)</span> <span class="hl-c2 hl-bold">do</span>
        <span class="hl-c5 hl-bold hl-italic">fib</span><span class="hl-c8">(</span><span class="hl-c8">n</span> <span class="hl-c8">-</span> <span class="hl-c4">1</span><span class="hl-c8">)</span> <span class="hl-c8">+</span> <span class="hl-c5 hl-bold hl-italic">fib</span><span class="hl-c8">(</span><span class="hl-c8">n</span> <span class="hl-c8">-</span> <span class="hl-c4">2</span><span class="hl-c8">)</span>
    <span class="hl-c2 hl-bold">end</span>
<span class="hl-c2 hl-bold">end</span>

<span class="hl-c2 hl-bold">for</span> <span class="hl-c8">i</span> <span class="hl-c8">=</span> <span class="hl-c4">1</span><span class="hl-c8">:</span><span class="hl-c4">10</span>
    <span class="hl-c8">Base</span><span class="hl-c8">.</span><span class="hl-c5 hl-bold hl-italic">println</span><span class="hl-c8">(</span><span class="hl-c3">&quot;fib(</span><span class="hl-c8">$</span><span class="hl-c8">i</span><span class="hl-c3">) = </span><span class="hl-c8">$</span><span class="hl-c8">(</span><span class="hl-c5 hl-bold hl-italic">fib</span><span class="hl-c8">(</span><span class="hl-c8">i</span><span class="hl-c8">)</span><span class="hl-c8">)</span><span class="hl-c3">&quot;</span><span class="hl-c8">)</span>
<span class="hl-c2 hl-bold">end</span>

<span class="hl-c1 hl-italic"># Demonstrate qualified calls</span>
<span class="hl-c8">Base</span><span class="hl-c8">.</span><span class="hl-c5 hl-bold hl-italic">length</span><span class="hl-c8">(</span><span class="hl-c8">cache</span><span class="hl-c8">)</span>
<span class="hl-c8">Core</span><span class="hl-c8">.</span><span class="hl-c5 hl-bold hl-italic">typeof</span><span class="hl-c8">(</span><span class="hl-c8">cache</span><span class="hl-c8">)</span>
<span class="hl-c8">Base</span><span class="hl-c8">.</span><span class="hl-c8">Iterators</span><span class="hl-c8">.</span><span class="hl-c5 hl-bold hl-italic">take</span><span class="hl-c8">(</span><span class="hl-c4">1</span><span class="hl-c8">:</span><span class="hl-c4">10</span><span class="hl-c8">,</span> <span class="hl-c4">3</span><span class="hl-c8">)</span>

<span class="hl-c2 hl-bold">end</span> <span class="hl-c1 hl-italic"># module</span>

<span class="hl-c1 hl-italic">#=
Additional syntax coverage from old julia sample:
Nested comments #= can be #= deeply =# nested =#
=#</span>

<span class="hl-c1 hl-italic"># Array and tuple literals</span>
<span class="hl-c8">[</span><span class="hl-c4">1</span><span class="hl-c8">,</span> <span class="hl-c4">3</span><span class="hl-c8">,</span> <span class="hl-c4">3</span><span class="hl-c8">,</span> <span class="hl-c4">4</span><span class="hl-c8">]</span><span class="hl-c8">[</span><span class="hl-c4">1</span><span class="hl-c8">:</span><span class="hl-c14">end</span><span class="hl-c8">]</span>
<span class="hl-c8">(</span><span class="hl-c4">1</span><span class="hl-c8">,</span> <span class="hl-c4">2</span><span class="hl-c8">,</span> <span class="hl-c4">1.0</span><span class="hl-c8">)</span><span class="hl-c8">[</span><span class="hl-c4">1</span><span class="hl-c8">:</span><span class="hl-c4">2</span><span class="hl-c8">]</span>
<span class="hl-c8">[</span><span class="hl-c8">(</span><span class="hl-c4">1</span><span class="hl-c8">,</span> <span class="hl-c4">3</span><span class="hl-c8">)</span><span class="hl-c8">,</span> <span class="hl-c8">(</span><span class="hl-c4">3</span><span class="hl-c8">,</span> <span class="hl-c4">4</span><span class="hl-c8">)</span><span class="hl-c8">]</span><span class="hl-c8">[</span><span class="hl-c14">end</span><span class="hl-c8">-</span><span class="hl-c4">1</span><span class="hl-c8">]</span>
<span class="hl-c8">[</span><span class="hl-c8">(</span><span class="hl-c4">1</span><span class="hl-c8">,</span> <span class="hl-c4">3</span><span class="hl-c8">)</span><span class="hl-c8">,</span> <span class="hl-c8">(</span><span class="hl-c4">3</span><span class="hl-c8">,</span> <span class="hl-c4">4</span><span class="hl-c8">)</span><span class="hl-c8">]</span><span class="hl-c8">[</span><span class="hl-c14">begin</span><span class="hl-c8">]</span>

<span class="hl-c1 hl-italic"># Control flow</span>
<span class="hl-c2 hl-bold">if</span> <span class="hl-c8">x</span> <span class="hl-c2 hl-bold">in</span> <span class="hl-c8">y</span>
    <span class="hl-c12">nothing</span>
<span class="hl-c2 hl-bold">end</span>
<span class="hl-c8">x</span> <span class="hl-c2 hl-bold">in</span> <span class="hl-c8">y</span> <span class="hl-c2 hl-bold">?</span> <span class="hl-c4">false</span> <span class="hl-c2 hl-bold">:</span> <span class="hl-c4">true</span>

<span class="hl-c2 hl-bold">let</span> <span class="hl-c8">x</span> <span class="hl-c8">=</span> <span class="hl-c4">1</span>
    <span class="hl-c2 hl-bold">local</span> <span class="hl-c8">t</span>
    <span class="hl-c2 hl-bold">global</span> <span class="hl-c8">s</span>
    <span class="hl-c8">t</span> <span class="hl-c8">=</span> <span class="hl-c8">x</span>
<span class="hl-c2 hl-bold">end</span>

<span class="hl-c1 hl-italic"># Type definitions</span>
<span class="hl-c2 hl-bold">abstract</span> <span class="hl-c2 hl-bold">type</span> <span class="hl-c7 hl-underline">AbstractPoint</span><span class="hl-c8">{</span><span class="hl-c7 hl-underline">T</span><span class="hl-c8">}</span><span class="hl-c7 hl-underline"> </span><span class="hl-c8">&lt;:</span><span class="hl-c7 hl-underline"> </span><span class="hl-c7 hl-underline">Number</span> <span class="hl-c2 hl-bold">end</span>
<span class="hl-c2 hl-bold">mutable</span> <span class="hl-c2 hl-bold">struct</span> <span class="hl-c7 hl-underline">Point</span><span class="hl-c8">{</span><span class="hl-c7 hl-underline">T</span><span class="hl-c8">}</span> <span class="hl-c2 hl-bold">where</span> <span class="hl-c8">{</span><span class="hl-c7 hl-underline">T</span><span class="hl-c8">&lt;:</span><span class="hl-c7 hl-underline">Number</span><span class="hl-c8">}</span><span class="hl-c7 hl-underline">
    x</span><span class="hl-c8">::</span><span class="hl-c7 hl-underline">T</span><span class="hl-c7 hl-underline">
    y</span><span class="hl-c8">::</span><span class="hl-c7 hl-underline">T
    </span><span class="hl-c5 hl-bold hl-italic">Point</span><span class="hl-c8">(</span><span class="hl-c8">x</span><span class="hl-c8">)</span><span class="hl-c7 hl-underline"> </span><span class="hl-c8">=</span><span class="hl-c7 hl-underline"> new</span><span class="hl-c8">(</span><span class="hl-c7 hl-underline">x</span><span class="hl-c8">,</span><span class="hl-c7 hl-underline"> 2x</span><span class="hl-c8">)</span><span class="hl-c7 hl-underline">
end
struct Empty</span><span class="hl-c8">{</span><span class="hl-c7 hl-underline">T</span><span class="hl-c8">}</span><span class="hl-c7 hl-underline"> end
primitive type Float16Custom </span><span class="hl-c8">&lt;:</span><span class="hl-c7 hl-underline"> </span><span class="hl-c15 hl-underline">AbstractFloat</span><span class="hl-c7 hl-underline"> 16 end

</span><span class="hl-c1 hl-italic"># Macros</span><span class="hl-c7 hl-underline">
macro something</span><span class="hl-c8">(</span><span class="hl-c7 hl-underline">x</span><span class="hl-c8">...</span><span class="hl-c8">)</span>
    <span class="hl-c7 hl-underline">nothing</span>
<span class="hl-c2 hl-bold">end</span>

<span class="hl-c1 hl-italic"># Character literals</span>
<span class="hl-c3">&#39; &#39;</span><span class="hl-c8">,</span> <span class="hl-c3">&#39;\n&#39;</span><span class="hl-c8">,</span> <span class="hl-c3">&#39;\&#39;&#39;</span><span class="hl-c8">,</span> <span class="hl-c3">&#39;&quot;&#39;</span><span class="hl-c8">,</span> <span class="hl-c3">&#39;\u1234&#39;</span><span class="hl-c8">,</span> <span class="hl-c3">&#39;⻆&#39;</span>

<span class="hl-c1 hl-italic"># String literals</span>
<span class="hl-c3">&quot;&quot;&quot;Multiline
string&quot;&quot;&quot;</span>
<span class="hl-c3">&quot; </span><span class="hl-c8">$</span><span class="hl-c8">x</span><span class="hl-c3"> </span><span class="hl-c8">$</span><span class="hl-c8">(</span><span class="hl-c2 hl-bold">let</span><span class="hl-c3"> </span><span class="hl-c8">x</span><span class="hl-c3"> </span><span class="hl-c8">=</span><span class="hl-c3"> </span><span class="hl-c8">y</span><span class="hl-c3"> </span><span class="hl-c8">+</span><span class="hl-c3"> </span><span class="hl-c4">1</span><span class="hl-c8">;</span><span class="hl-c3"> </span><span class="hl-c8">x</span><span class="hl-c8">^</span><span class="hl-c4">2</span><span class="hl-c8">;</span><span class="hl-c3"> </span><span class="hl-c2 hl-bold">end</span><span class="hl-c8">)</span><span class="hl-c3"> &quot;</span>
<span class="hl-c6 hl-bold hl-italic">r</span><span class="hl-c3">&quot;[a-z]+$xyz&quot;</span><span class="hl-c8">m</span>
<span class="hl-c6 hl-bold hl-italic">raw</span><span class="hl-c3">&quot;\n\n\r\t...\b&quot;</span>
<span class="hl-c6 hl-bold hl-italic">v</span><span class="hl-c3">&quot;0.0.2&quot;</span> <span class="hl-c8">≥</span> <span class="hl-c6 hl-bold hl-italic">v</span><span class="hl-c3">&quot;0.0.1&quot;</span>

<span class="hl-c1 hl-italic"># Command literals</span>
<span class="hl-c11">`echo </span><span class="hl-c8">$</span><span class="hl-c8">bar</span><span class="hl-c11">`</span>

<span class="hl-c1 hl-italic"># Number formats</span>
<span class="hl-c4">1_000_000</span> <span class="hl-c8">+</span> <span class="hl-c4">1.0e-9</span> <span class="hl-c8">*</span> <span class="hl-c4">0.121</span> <span class="hl-c8">/</span> <span class="hl-c4">1121.0</span>
<span class="hl-c4">1.0f0</span> <span class="hl-c8">-</span> <span class="hl-c4">1E-12</span>
<span class="hl-c4">0b100_101_111</span>
<span class="hl-c4">0o12123535</span>
<span class="hl-c4">0x4312afAF</span>
</pre>