Warning, file /frameworks/syntax-highlighting/autotests/html/highlight.pony.html was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 <!DOCTYPE html> 0002 <html><head> 0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 0004 <title>highlight.pony</title> 0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (Pony) - Theme (Breeze Light)"/> 0006 </head><body style="background-color:#ffffff;color:#1f1c1b"><pre> 0007 <span style="color:#898887;">// Test file for Pony syntax highlighting, released under MIT License</span> 0008 0009 <span style="font-weight:bold;">primitive</span> <span style="color:#0057ae;">Red</span> <span style="font-weight:bold;">fun</span> <span style="color:#644a9b;">apply</span><span style="color:#ca60ca;">():</span> <span style="color:#0057ae;">U32</span> <span style="color:#ca60ca;">=></span> <span style="color:#b08000;">0xFFFF0000</span> 0010 0011 <span style="font-weight:bold;">primitive</span> <span style="color:#0057ae;">Colours</span> 0012 <span style="font-weight:bold;">fun</span> <span style="color:#644a9b;">black</span><span style="color:#ca60ca;">():</span> <span style="color:#0057ae;">U32</span> <span style="color:#ca60ca;">=></span> <span style="color:#b08000;">0xFF000000</span> 0013 <span style="font-weight:bold;">fun</span> <span style="color:#644a9b;">red</span><span style="color:#ca60ca;">():</span> <span style="color:#0057ae;">U32</span> <span style="color:#ca60ca;">=></span> <span style="color:#b08000;">0xFFFF0000</span> 0014 0015 <span style="font-weight:bold;">primitive</span> <span style="color:#0057ae;">Black</span> 0016 <span style="font-weight:bold;">primitive</span> <span style="color:#0057ae;">Blue</span> 0017 0018 <span style="font-weight:bold;">type</span> <span style="color:#0057ae;">Colour</span> <span style="font-weight:bold;">is</span> <span style="color:#ca60ca;">(</span><span style="color:#0057ae;">Black</span> <span style="color:#ca60ca;">|</span> <span style="color:#0057ae;">Blue</span> <span style="color:#ca60ca;">)</span> 0019 0020 <span style="font-weight:bold;">primitive</span> <span style="color:#0057ae;">ColourList</span> 0021 <span style="font-weight:bold;">fun</span> <span style="color:#0057ae;font-style:italic;">tag</span> <span style="color:#644a9b;">apply</span><span style="color:#ca60ca;">():</span> <span style="color:#0057ae;">Array</span><span style="color:#ca60ca;">[</span><span style="color:#0057ae;">Colour</span><span style="color:#ca60ca;">]</span> <span style="color:#ca60ca;">=></span> 0022 <span style="color:#ca60ca;">[</span><span style="color:#0057ae;">Black</span><span style="color:#ca60ca;">;</span> <span style="color:#0057ae;">Blue</span><span style="color:#ca60ca;">]</span> 0023 0024 <span style="font-weight:bold;">for</span> colour <span style="font-weight:bold;">in</span> <span style="color:#0057ae;">ColourList</span><span style="color:#ca60ca;">().</span>values<span style="color:#ca60ca;">()</span> <span style="font-weight:bold;">do</span> 0025 <span style="font-weight:bold;">end</span> 0026 0027 <span style="font-weight:bold;">type</span> <span style="color:#0057ae;">EGLEvent</span> <span style="font-weight:bold;">is</span> <span style="color:#ca60ca;">(</span><span style="color:#0057ae;">U8</span><span style="color:#ca60ca;">,</span> <span style="color:#0057ae;">F32</span><span style="color:#ca60ca;">,</span> <span style="color:#0057ae;">F32</span><span style="color:#ca60ca;">)</span> 0028 <span style="color:#ca60ca;">(</span><span style="font-weight:bold;">var</span> code<span style="color:#ca60ca;">,</span> <span style="font-weight:bold;">var</span> x<span style="color:#ca60ca;">,</span> <span style="font-weight:bold;">var</span> y<span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;">=</span> <span style="color:#644a9b;">@getEvent</span><span style="color:#ca60ca;">[</span><span style="color:#0057ae;">EGLEvent</span><span style="color:#ca60ca;">]()</span> 0029 0030 <span style="font-weight:bold;">primitive</span> <span style="color:#0057ae;">_XDisplayHandle</span> 0031 <span style="font-weight:bold;">primitive</span> <span style="color:#0057ae;">_EGLDisplayHandle</span> 0032 0033 <span style="font-weight:bold;">let</span> x_dpy <span style="color:#ca60ca;">=</span> <span style="color:#644a9b;">@XOpenDisplay</span><span style="color:#ca60ca;">[</span><span style="color:#0057ae;">Pointer</span><span style="color:#ca60ca;">[</span><span style="color:#0057ae;">_XDisplayHandle</span><span style="color:#ca60ca;">]](</span><span style="color:#0057ae;">U32</span><span style="color:#ca60ca;">(</span><span style="color:#b08000;">0</span><span style="color:#ca60ca;">))</span> 0034 <span style="font-weight:bold;">if</span> x_dpy<span style="color:#ca60ca;">.</span>is_null<span style="color:#ca60ca;">()</span> <span style="font-weight:bold;">then</span> 0035 env<span style="color:#ca60ca;">.</span>out<span style="color:#ca60ca;">.</span>print<span style="color:#ca60ca;">(</span><span style="color:#bf0303;">"XOpenDisplay failed"</span><span style="color:#ca60ca;">)</span> 0036 <span style="font-weight:bold;">end</span> 0037 0038 <span style="font-weight:bold;">let</span> e_dpy <span style="color:#ca60ca;">=</span> <span style="color:#644a9b;">@eglGetDisplay</span><span style="color:#ca60ca;">[</span><span style="color:#0057ae;">Pointer</span><span style="color:#ca60ca;">[</span><span style="color:#0057ae;">_EGLDisplayHandle</span><span style="color:#ca60ca;">]](</span>x_dpy<span style="color:#ca60ca;">)</span> 0039 <span style="font-weight:bold;">if</span> e_dpy<span style="color:#ca60ca;">.</span>is_null<span style="color:#ca60ca;">()</span> <span style="font-weight:bold;">then</span> 0040 env<span style="color:#ca60ca;">.</span>out<span style="color:#ca60ca;">.</span>print<span style="color:#ca60ca;">(</span><span style="color:#bf0303;">"eglGetDisplay failed"</span><span style="color:#ca60ca;">)</span> 0041 <span style="font-weight:bold;">end</span> 0042 0043 <span style="font-weight:bold;">primitive</span> <span style="color:#0057ae;">_EGLConfigHandle</span> 0044 <span style="font-weight:bold;">let</span> a <span style="color:#ca60ca;">=</span> <span style="color:#0057ae;">Array</span><span style="color:#ca60ca;">[</span><span style="color:#0057ae;">U16</span><span style="color:#ca60ca;">](</span><span style="color:#b08000;">8</span><span style="color:#ca60ca;">)</span> 0045 a<span style="color:#ca60ca;">.</span>push<span style="color:#ca60ca;">(</span><span style="color:#b08000;">0x3040</span><span style="color:#ca60ca;">)</span> 0046 a<span style="color:#ca60ca;">.</span>push<span style="color:#ca60ca;">(</span><span style="color:#b08000;">0b01011</span><span style="color:#ca60ca;">)</span> 0047 <span style="font-weight:bold;">let</span> config <span style="color:#ca60ca;">=</span> <span style="color:#0057ae;">Pointer</span><span style="color:#ca60ca;">[</span><span style="color:#0057ae;">_EGLConfigHandle</span><span style="color:#ca60ca;">]</span> 0048 <span style="font-weight:bold;">if</span> <span style="color:#644a9b;">@eglChooseConfig</span><span style="color:#ca60ca;">[</span><span style="color:#0057ae;">U32</span><span style="color:#ca60ca;">](</span>e_dpy<span style="color:#ca60ca;">,</span> a<span style="color:#ca60ca;">,</span> config<span style="color:#ca60ca;">,</span> <span style="color:#0057ae;">U32</span><span style="color:#ca60ca;">(</span><span style="color:#b08000;">1</span><span style="color:#ca60ca;">),</span> <span style="color:#0057ae;">Pointer</span><span style="color:#ca60ca;">[</span><span style="color:#0057ae;">U32</span><span style="color:#ca60ca;">])</span> <span style="color:#ca60ca;">==</span> <span style="color:#b08000;">0</span> <span style="font-weight:bold;">then</span> 0049 env<span style="color:#ca60ca;">.</span>out<span style="color:#ca60ca;">.</span>print<span style="color:#ca60ca;">(</span><span style="color:#bf0303;">"eglChooseConfig failed"</span><span style="color:#ca60ca;">)</span> 0050 <span style="font-weight:bold;">end</span> 0051 0052 0053 <span style="font-weight:bold;">actor</span> <span style="color:#0057ae;">Main</span> 0054 <span style="font-weight:bold;">new</span> <span style="color:#644a9b;">create</span><span style="color:#ca60ca;">(</span>env<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">Env</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;">=></span> 0055 <span style="color:#898887;">// The no of arguments</span> 0056 env<span style="color:#ca60ca;">.</span>out<span style="color:#ca60ca;">.</span>print<span style="color:#ca60ca;">(</span>env<span style="color:#ca60ca;">.</span>args<span style="color:#ca60ca;">.</span>size<span style="color:#ca60ca;">().</span>string<span style="color:#ca60ca;">())</span> 0057 <span style="font-weight:bold;">for</span> value <span style="font-weight:bold;">in</span> env<span style="color:#ca60ca;">.</span>args<span style="color:#ca60ca;">.</span>values<span style="color:#ca60ca;">()</span> <span style="font-weight:bold;">do</span> 0058 env<span style="color:#ca60ca;">.</span>out<span style="color:#ca60ca;">.</span>print<span style="color:#ca60ca;">(</span>value<span style="color:#ca60ca;">)</span> 0059 <span style="font-weight:bold;">end</span> 0060 <span style="color:#898887;">// Access the arguments the first one will always be the the appication name</span> 0061 <span style="font-weight:bold;">try</span> env<span style="color:#ca60ca;">.</span>out<span style="color:#ca60ca;">.</span>print<span style="color:#ca60ca;">(</span>env<span style="color:#ca60ca;">.</span>args<span style="color:#ca60ca;">(</span><span style="color:#b08000;">0</span><span style="color:#ca60ca;">)?)</span> <span style="font-weight:bold;">end</span> 0062 0063 <span style="font-weight:bold;">actor</span> <span style="color:#0057ae;">Main</span> 0064 <span style="font-weight:bold;">new</span> <span style="color:#644a9b;">create</span><span style="color:#ca60ca;">(</span>env<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">Env</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;">=></span> 0065 <span style="font-weight:bold;">var</span> options <span style="color:#ca60ca;">=</span> <span style="color:#0057ae;">Options</span><span style="color:#ca60ca;">(</span>env<span style="color:#ca60ca;">)</span> 0066 0067 options 0068 <span style="color:#ca60ca;">.</span>add<span style="color:#ca60ca;">(</span><span style="color:#bf0303;">"output"</span><span style="color:#ca60ca;">,</span> <span style="color:#bf0303;">"o"</span><span style="color:#ca60ca;">,</span> <span style="color:#0057ae;">StringArgument</span><span style="color:#ca60ca;">)</span> 0069 0070 env<span style="color:#ca60ca;">.</span>out<span style="color:#ca60ca;">.</span>print<span style="color:#ca60ca;">(</span>options<span style="color:#ca60ca;">.</span>has_argument<span style="color:#ca60ca;">())</span> 0071 0072 <span style="font-weight:bold;">for</span> option <span style="font-weight:bold;">in</span> options <span style="font-weight:bold;">do</span> 0073 <span style="font-weight:bold;">match</span> option 0074 <span style="color:#ca60ca;">|</span> <span style="color:#ca60ca;">(</span><span style="color:#bf0303;">"output"</span><span style="color:#ca60ca;">,</span> <span style="font-weight:bold;">var</span> arg<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">String</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;">=></span> _outputFileName <span style="color:#ca60ca;">=</span> arg<span style="color:#ca60ca;">.</span>string<span style="color:#ca60ca;">()</span> 0075 <span style="color:#ca60ca;">|</span> <span style="font-weight:bold;">let</span> err<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">ParseError</span> <span style="color:#ca60ca;">=></span> 0076 err<span style="color:#ca60ca;">.</span>report<span style="color:#ca60ca;">(</span>env<span style="color:#ca60ca;">.</span>out<span style="color:#ca60ca;">)</span> 0077 env<span style="color:#ca60ca;">.</span>out<span style="color:#ca60ca;">.</span>print<span style="color:#ca60ca;">(</span> 0078 <span style="color:#bf0303;">"""</span> 0079 <span style="color:#bf0303;"> pony-embed [OPTIONS]</span> 0080 <span style="color:#bf0303;"> --output name string output filename.</span> 0081 <span style="color:#bf0303;"> """</span> 0082 <span style="color:#ca60ca;">)</span> 0083 <span style="font-weight:bold;">end</span> 0084 <span style="font-weight:bold;">end</span> 0085 0086 <span style="font-weight:bold;">use</span> <span style="color:#bf0303;">"ponytest"</span> 0087 0088 <span style="font-weight:bold;">actor</span> <span style="color:#0057ae;">Main</span> <span style="font-weight:bold;">is</span> <span style="color:#0057ae;">TestList</span> 0089 <span style="font-weight:bold;">new</span> <span style="color:#644a9b;">create</span><span style="color:#ca60ca;">(</span>env<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">Env</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;">=></span> <span style="color:#0057ae;">PonyTest</span><span style="color:#ca60ca;">(</span>env<span style="color:#ca60ca;">,</span> <span style="font-weight:bold;">this</span><span style="color:#ca60ca;">)</span> 0090 <span style="font-weight:bold;">new</span> <span style="color:#644a9b;">make</span><span style="color:#ca60ca;">()</span> <span style="color:#ca60ca;">=></span> <span style="color:#0057ae;">None</span> 0091 0092 <span style="font-weight:bold;">fun</span> <span style="color:#0057ae;font-style:italic;">tag</span> <span style="color:#644a9b;">tests</span><span style="color:#ca60ca;">(</span>test<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">PonyTest</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;">=></span> 0093 test<span style="color:#ca60ca;">(</span><span style="color:#0057ae;">_TestAddition</span><span style="color:#ca60ca;">)</span> 0094 0095 <span style="font-weight:bold;">class</span> <span style="color:#0057ae;font-style:italic;">iso</span> <span style="color:#0057ae;">_TestAddition</span> <span style="font-weight:bold;">is</span> <span style="color:#0057ae;">UnitTest</span> 0096 <span style="color:#bf0303;">"""</span> 0097 <span style="color:#bf0303;"> Adding 2 numbers</span> 0098 <span style="color:#bf0303;"> """</span> 0099 <span style="font-weight:bold;">fun</span> <span style="color:#644a9b;">name</span><span style="color:#ca60ca;">():</span> <span style="color:#0057ae;">String</span> <span style="color:#ca60ca;">=></span> <span style="color:#bf0303;">"u32/add"</span> 0100 0101 <span style="font-weight:bold;">fun</span> <span style="color:#644a9b;">apply</span><span style="color:#ca60ca;">(</span>h<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">TestHelper</span><span style="color:#ca60ca;">):</span> <span style="color:#0057ae;">TestResult</span> <span style="color:#ca60ca;">=></span> 0102 h<span style="color:#ca60ca;">.</span>expect_eq<span style="color:#ca60ca;">[</span><span style="color:#0057ae;">U32</span><span style="color:#ca60ca;">](</span><span style="color:#b08000;">2</span> <span style="color:#ca60ca;">+</span> <span style="color:#b08000;">2</span><span style="color:#ca60ca;">,</span> <span style="color:#b08000;">4</span><span style="color:#ca60ca;">)</span> 0103 0104 <span style="font-weight:bold;">fun</span> <span style="color:#0057ae;font-style:italic;">tag</span> <span style="color:#644a9b;">log</span><span style="color:#ca60ca;">(</span>msg<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">String</span><span style="color:#ca60ca;">,</span> verbose<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">Bool</span> <span style="color:#ca60ca;">=</span> <span style="font-weight:bold;">false</span><span style="color:#ca60ca;">)</span> 0105 <span style="font-weight:bold;">be</span> <span style="color:#644a9b;">fail</span><span style="color:#ca60ca;">()</span> <span style="color:#ca60ca;">=></span> 0106 <span style="font-weight:bold;">be</span> <span style="color:#644a9b;">assert_failed</span><span style="color:#ca60ca;">(</span>msg<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">String</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;">=></span> 0107 <span style="font-weight:bold;">fun</span> <span style="color:#0057ae;font-style:italic;">tag</span> <span style="color:#644a9b;">assert_true</span><span style="color:#ca60ca;">(</span>actual<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">Bool</span><span style="color:#ca60ca;">,</span> msg<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">String</span> <span style="color:#ca60ca;">=</span> <span style="color:#bf0303;">""</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;">?</span> 0108 <span style="font-weight:bold;">fun</span> <span style="color:#0057ae;font-style:italic;">tag</span> <span style="color:#644a9b;">expect_true</span><span style="color:#ca60ca;">(</span>actual<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">Bool</span><span style="color:#ca60ca;">,</span> msg<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">String</span> <span style="color:#ca60ca;">=</span> <span style="color:#bf0303;">""</span><span style="color:#ca60ca;">):</span> <span style="color:#0057ae;">Bool</span> 0109 <span style="font-weight:bold;">fun</span> <span style="color:#0057ae;font-style:italic;">tag</span> <span style="color:#644a9b;">expect_eq</span><span style="color:#ca60ca;">[</span><span style="color:#0057ae;">A</span><span style="color:#ca60ca;">:</span> <span style="color:#ca60ca;">(</span><span style="color:#0057ae;">Equatable</span><span style="color:#ca60ca;">[</span><span style="color:#0057ae;">A</span><span style="color:#ca60ca;">]</span> <span style="color:#0057ae;">#read</span> <span style="color:#ca60ca;">&</span> <span style="color:#0057ae;">Stringable</span><span style="color:#ca60ca;">)]</span> 0110 <span style="color:#ca60ca;">(</span>expect<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">A</span><span style="color:#ca60ca;">,</span> actual<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">A</span><span style="color:#ca60ca;">,</span> msg<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">String</span> <span style="color:#ca60ca;">=</span> <span style="color:#bf0303;">""</span><span style="color:#ca60ca;">):</span> <span style="color:#0057ae;">Bool</span> 0111 <span style="font-weight:bold;">fun</span> <span style="color:#0057ae;font-style:italic;">tag</span> <span style="color:#644a9b;">expect_eq</span><span style="color:#ca60ca;">[</span><span style="color:#0057ae;">A</span><span style="color:#ca60ca;">:</span> <span style="color:#ca60ca;">(</span><span style="color:#0057ae;">Equatable</span><span style="color:#ca60ca;">[</span><span style="color:#0057ae;">A</span><span style="color:#ca60ca;">]</span> <span style="color:#bf0303;text-decoration:underline;">#unknown</span> <span style="color:#ca60ca;">&</span> <span style="color:#0057ae;">Stringable</span><span style="color:#ca60ca;">)]</span> 0112 <span style="color:#ca60ca;">(</span>expect<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">A</span><span style="color:#ca60ca;">,</span> actual<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">A</span><span style="color:#ca60ca;">,</span> msg<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">String</span> <span style="color:#ca60ca;">=</span> <span style="color:#bf0303;">""</span><span style="color:#ca60ca;">):</span> <span style="color:#0057ae;">Bool</span> 0113 0114 <span style="font-weight:bold;">fun</span> <span style="color:#644a9b;">add</span><span style="color:#ca60ca;">(</span>other<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">A</span><span style="color:#ca60ca;">):</span> <span style="color:#0057ae;">A</span> 0115 <span style="font-weight:bold;">fun</span> <span style="color:#644a9b;">sub</span><span style="color:#ca60ca;">(</span>other<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">A</span><span style="color:#ca60ca;">):</span> <span style="color:#0057ae;">A</span> 0116 <span style="font-weight:bold;">fun</span> <span style="color:#644a9b;">mul</span><span style="color:#ca60ca;">(</span>other<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">A</span><span style="color:#ca60ca;">):</span> <span style="color:#0057ae;">A</span> 0117 <span style="font-weight:bold;">fun</span> <span style="color:#644a9b;">div</span><span style="color:#ca60ca;">(</span>other<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">A</span><span style="color:#ca60ca;">):</span> <span style="color:#0057ae;">A</span> 0118 <span style="font-weight:bold;">fun</span> <span style="color:#644a9b;">mod</span><span style="color:#ca60ca;">(</span>other<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">A</span><span style="color:#ca60ca;">):</span> <span style="color:#0057ae;">A</span> 0119 <span style="font-weight:bold;">fun</span> <span style="color:#644a9b;">eq</span><span style="color:#ca60ca;">(</span>other<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">A</span><span style="color:#ca60ca;">):</span> <span style="color:#0057ae;">Bool</span> 0120 <span style="font-weight:bold;">fun</span> <span style="color:#644a9b;">ne</span><span style="color:#ca60ca;">(</span>other<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">A</span><span style="color:#ca60ca;">):</span> <span style="color:#0057ae;">Bool</span> 0121 <span style="font-weight:bold;">fun</span> <span style="color:#644a9b;">lt</span><span style="color:#ca60ca;">(</span>other<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">A</span><span style="color:#ca60ca;">):</span> <span style="color:#0057ae;">Bool</span> 0122 <span style="font-weight:bold;">fun</span> <span style="color:#644a9b;">le</span><span style="color:#ca60ca;">(</span>other<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">A</span><span style="color:#ca60ca;">):</span> <span style="color:#0057ae;">Bool</span> 0123 <span style="font-weight:bold;">fun</span> <span style="color:#644a9b;">ge</span><span style="color:#ca60ca;">(</span>other<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">A</span><span style="color:#ca60ca;">):</span> <span style="color:#0057ae;">Bool</span> 0124 <span style="font-weight:bold;">fun</span> <span style="color:#644a9b;">gt</span><span style="color:#ca60ca;">(</span>other<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">A</span><span style="color:#ca60ca;">):</span> <span style="color:#0057ae;">Bool</span> 0125 <span style="font-weight:bold;">fun</span> <span style="color:#644a9b;">shl</span><span style="color:#ca60ca;">(</span>other<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">A</span><span style="color:#ca60ca;">):</span> <span style="color:#0057ae;">A</span> 0126 <span style="font-weight:bold;">fun</span> <span style="color:#644a9b;">shr</span><span style="color:#ca60ca;">(</span>other<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">A</span><span style="color:#ca60ca;">):</span> <span style="color:#0057ae;">A</span> 0127 <span style="font-weight:bold;">fun</span> <span style="color:#644a9b;">op_and</span><span style="color:#ca60ca;">(</span>other<span style="color:#ca60ca;">:</span><span style="color:#0057ae;">A</span><span style="color:#ca60ca;">):</span> <span style="color:#0057ae;">A</span> 0128 <span style="font-weight:bold;">fun</span> <span style="color:#644a9b;">op_or</span><span style="color:#ca60ca;">(</span>other<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">A</span><span style="color:#ca60ca;">):</span> <span style="color:#0057ae;">A</span> 0129 <span style="font-weight:bold;">fun</span> <span style="color:#644a9b;">op_xor</span><span style="color:#ca60ca;">(</span>othr<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">A</span><span style="color:#ca60ca;">):</span> <span style="color:#0057ae;">A</span> 0130 0131 <span style="font-weight:bold;">class</span> <span style="color:#0057ae;">Test</span> 0132 <span style="font-weight:bold;">fun</span> <span style="color:#644a9b;">alpha</span><span style="color:#ca60ca;">()</span> <span style="color:#ca60ca;">=></span> 0133 <span style="color:#bf0303;">"""</span> 0134 <span style="color:#bf0303;"> """</span> 0135 0136 <span style="font-weight:bold;">let</span> dice<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">Array</span><span style="color:#ca60ca;">[</span><span style="color:#0057ae;">U32</span><span style="color:#ca60ca;">]</span> <span style="color:#ca60ca;">=</span> <span style="color:#ca60ca;">[</span><span style="color:#b08000;">1</span><span style="color:#ca60ca;">;</span> <span style="color:#b08000;">2</span><span style="color:#ca60ca;">;</span> <span style="color:#b08000;">3</span> 0137 <span style="color:#b08000;">4</span> 0138 <span style="color:#b08000;">5</span> 0139 <span style="color:#b08000;">6</span> 0140 <span style="color:#ca60ca;">]</span> 0141 0142 <span style="font-weight:bold;">actor</span> <span style="color:#0057ae;">Main</span> 0143 <span style="font-weight:bold;">fun</span> <span style="color:#644a9b;">foo</span><span style="color:#ca60ca;">(</span>n<span style="color:#ca60ca;">:</span><span style="color:#0057ae;">U32</span><span style="color:#ca60ca;">):</span> <span style="color:#ca60ca;">{</span><span style="color:#0057ae;font-style:italic;">ref</span><span style="color:#ca60ca;">(</span><span style="color:#0057ae;">U32</span><span style="color:#ca60ca;">):</span> <span style="color:#0057ae;">U32</span><span style="color:#ca60ca;">}</span> <span style="color:#ca60ca;">=></span> 0144 <span style="font-weight:bold;">var</span> s<span style="color:#ca60ca;">:</span> <span style="color:#0057ae;">Array</span><span style="color:#ca60ca;">[</span><span style="color:#0057ae;">U32</span><span style="color:#ca60ca;">]</span> <span style="color:#ca60ca;">=</span> <span style="color:#0057ae;">Array</span><span style="color:#ca60ca;">[</span><span style="color:#0057ae;">U32</span><span style="color:#ca60ca;">].</span>init<span style="color:#ca60ca;">(</span>n<span style="color:#ca60ca;">,</span> <span style="color:#b08000;">1</span><span style="color:#ca60ca;">)</span> 0145 <span style="color:#ca60ca;">{</span><span style="color:#0057ae;font-style:italic;">ref</span><span style="color:#ca60ca;">(</span>i<span style="color:#ca60ca;">:</span><span style="color:#0057ae;">U32</span><span style="color:#ca60ca;">)(</span>s<span style="color:#ca60ca;">):</span> <span style="color:#0057ae;">U32</span> <span style="color:#ca60ca;">=></span> 0146 <span style="font-weight:bold;">try</span> 0147 s<span style="color:#ca60ca;">(</span><span style="color:#b08000;">0</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;">=</span> s<span style="color:#ca60ca;">(</span><span style="color:#b08000;">0</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;">+</span> i 0148 s<span style="color:#ca60ca;">(</span><span style="color:#b08000;">0</span><span style="color:#ca60ca;">)</span> 0149 <span style="font-weight:bold;">else</span> 0150 <span style="color:#b08000;">0</span> 0151 <span style="font-weight:bold;">end</span> 0152 <span style="color:#ca60ca;">}</span> 0153 0154 <span style="font-weight:bold;">new</span> <span style="color:#644a9b;">create</span><span style="color:#ca60ca;">(</span>env<span style="color:#ca60ca;">:</span><span style="color:#0057ae;">Env</span><span style="color:#ca60ca;">)</span> <span style="color:#ca60ca;">=></span> 0155 <span style="font-weight:bold;">var</span> f <span style="color:#ca60ca;">=</span> foo<span style="color:#ca60ca;">(</span><span style="color:#b08000;">5</span><span style="color:#ca60ca;">)</span> 0156 env<span style="color:#ca60ca;">.</span>out<span style="color:#ca60ca;">.</span>print<span style="color:#ca60ca;">(</span>f<span style="color:#ca60ca;">(</span><span style="color:#b08000;">10</span><span style="color:#ca60ca;">).</span>string<span style="color:#ca60ca;">())</span> 0157 env<span style="color:#ca60ca;">.</span>out<span style="color:#ca60ca;">.</span>print<span style="color:#ca60ca;">(</span>f<span style="color:#ca60ca;">(</span><span style="color:#b08000;">20</span><span style="color:#ca60ca;">).</span>string<span style="color:#ca60ca;">())</span> 0158 0159 <span style="color:#898887;">/* nested /* commentary */ */</span> 0160 <span style="color:#898887;">// single comment</span> 0161 0162 <span style="font-weight:bold;">class</span> <span style="color:#0057ae;">A</span> 0163 <span style="font-weight:bold;">class</span> <span style="color:#0057ae;">_A</span> 0164 x' 0165 x'' 0166 x'<span style="color:#ca60ca;">.</span>string<span style="color:#ca60ca;">()</span> 0167 <span style="color:#3daee9;">'\uaaaa'</span> 0168 <span style="color:#3daee9;">'\Ubbbbbb'</span> 0169 <span style="color:#3daee9;">'\xcc'</span> 0170 <span style="color:#3daee9;">'\''</span> 0171 <span style="color:#3daee9;">'\n'</span> 0172 <span style="color:#bf0303;">"</span><span style="color:#3daee9;">\uaaaa</span><span style="color:#bf0303;">a"</span> 0173 <span style="color:#bf0303;">"</span><span style="color:#3daee9;">\Ubbbbbb</span><span style="color:#bf0303;">b"</span> 0174 <span style="color:#bf0303;">"</span><span style="color:#3daee9;">\xcc</span><span style="color:#bf0303;">c"</span> 0175 <span style="color:#bf0303;">"</span><span style="color:#3daee9;">\"</span><span style="color:#bf0303;">"</span> 0176 <span style="color:#bf0303;">"</span><span style="color:#3daee9;">\n</span><span style="color:#bf0303;">"</span> 0177 <span style="color:#b08000;">34.4</span> 0178 <span style="color:#b08000;">34.4e43</span> 0179 <span style="color:#b08000;">43e4</span> 0180 <span style="color:#b08000;">0x3040</span> 0181 <span style="color:#b08000;">0xaF</span> 0182 <span style="color:#b08000;">0b01</span> 0183 <span style="color:#b08000;">3_43_4</span> 0184 <span style="color:#b08000;">0x0_4</span> 0185 0186 <span style="font-weight:bold;">fun</span> <span style="color:#644a9b;">create</span><span style="color:#ca60ca;">():</span> <span style="color:#0057ae;">U32</span> <span style="color:#ca60ca;">=></span> <span style="color:#b08000;">0</span> 0187 <span style="font-weight:bold;">fun</span> <span style="color:#0057ae;font-style:italic;">iso</span> <span style="color:#644a9b;">create</span><span style="color:#ca60ca;">():</span> <span style="color:#0057ae;">U32</span> <span style="color:#ca60ca;">=></span> <span style="color:#b08000;">0</span> 0188 <span style="font-weight:bold;">fun</span> <span style="color:#0057ae;">\\ abc \\</span> <span style="color:#0057ae;font-style:italic;">iso</span> <span style="color:#644a9b;">create</span><span style="color:#ca60ca;">():</span> <span style="color:#0057ae;">U32</span> <span style="color:#ca60ca;">=></span> <span style="color:#b08000;">0</span> 0189 <span style="font-weight:bold;">class</span> <span style="color:#0057ae;">\\ packet, blah \\</span> <span style="color:#0057ae;font-style:italic;">iso</span> <span style="color:#0057ae;">Xyz</span> 0190 <span style="font-weight:bold;">if</span> <span style="color:#0057ae;">\\ likely \\</span> a <span style="font-weight:bold;">then</span> 0191 <span style="font-weight:bold;">end</span> 0192 0193 a<span style="color:#ca60ca;">.</span>endnormal 0194 0195 print<span style="color:#ca60ca;">();</span>print<span style="color:#ca60ca;">()</span> 0196 0197 <span style="color:#898887;">/* syntactically false: */</span> 0198 0199 <span style="font-weight:bold;">class</span> <span style="color:#bf0303;text-decoration:underline;">_aA</span> 0200 <span style="font-weight:bold;">class</span> <span style="color:#bf0303;text-decoration:underline;">_a</span> 0201 <span style="font-weight:bold;">class</span> <span style="color:#bf0303;text-decoration:underline;">a</span> 0202 <span style="color:#bf0303;text-decoration:underline;">0b2332</span> 0203 <span style="color:#bf0303;text-decoration:underline;">0b</span> 0204 <span style="color:#bf0303;text-decoration:underline;">0x</span> 0205 <span style="color:#bf0303;text-decoration:underline;">0xgf</span> 0206 <span style="color:#bf0303;text-decoration:underline;">0f00</span> 0207 <span style="color:#bf0303;text-decoration:underline;">3.</span> 0208 <span style="color:#bf0303;text-decoration:underline;">.3</span> 0209 <span style="color:#bf0303;text-decoration:underline;">3.</span>e3 0210 <span style="color:#bf0303;text-decoration:underline;">3_</span> 0211 <span style="color:#bf0303;text-decoration:underline;">3__43_4</span> 0212 <span style="color:#bf0303;text-decoration:underline;">''</span> 0213 <span style="color:#bf0303;text-decoration:underline;">'</span>\u' 0214 <span style="color:#bf0303;text-decoration:underline;">'</span>\ua' 0215 <span style="color:#bf0303;text-decoration:underline;">'</span>\uaaa' 0216 <span style="color:#bf0303;text-decoration:underline;">'</span>\uaaaaa' 0217 <span style="color:#bf0303;text-decoration:underline;">'</span>\uyyyy' 0218 <span style="color:#bf0303;">"</span><span style="color:#bf0303;text-decoration:underline;">\u</span><span style="color:#bf0303;">"</span> 0219 <span style="color:#bf0303;">"</span><span style="color:#bf0303;text-decoration:underline;">\u</span><span style="color:#bf0303;">a"</span> 0220 <span style="color:#bf0303;">"</span><span style="color:#bf0303;text-decoration:underline;">\u</span><span style="color:#bf0303;">aaa"</span> 0221 <span style="color:#bf0303;">"</span><span style="color:#bf0303;text-decoration:underline;">\u</span><span style="color:#bf0303;">yyyy"</span> 0222 a<span style="color:#bf0303;text-decoration:underline;">'</span>a 0223 0224 <span style="font-weight:bold;">class</span> <span style="color:#bf0303;text-decoration:underline;">badType</span> 0225 print<span style="color:#ca60ca;">()</span><span style="color:#bf0303;text-decoration:underline;">;</span> 0226 </pre></body></html>