[38;2;122;122;122m[3m# Fibonacci with memoization[0m
[38;2;230;71;71m[1mmodule[0m [38;2;248;248;242mFib[0m

[38;2;230;71;71m[1mconst[0m [38;2;248;248;242mcache[0m [38;2;248;248;242m=[0m [38;2;117;215;236m[4mDict[0m[38;2;248;248;242m{[0m[38;2;117;215;236m[4mInt[0m[38;2;248;248;242m,[0m[38;2;117;215;236m[4mBigInt[0m[38;2;248;248;242m}[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m

[38;2;66;230;108m"""Calculate the nth Fibonacci number."""[0m
[38;2;230;71;71m[1mfunction[0m [38;2;155;107;223m[1m[3mfib[0m[38;2;248;248;242m([0m[38;2;248;248;242mn[0m[38;2;248;248;242m::[0m[38;2;117;215;236m[4mInt[0m[38;2;248;248;242m)[0m[38;2;248;248;242m::[0m[38;2;117;215;236m[4mBigInt[0m
    [38;2;248;248;242mn[0m [38;2;248;248;242m<=[0m [38;2;228;243;74m1[0m [38;2;248;248;242m&&[0m [38;2;230;71;71m[1mreturn[0m [38;2;155;107;223m[1m[3mBigInt[0m[38;2;248;248;242m([0m[38;2;248;248;242mn[0m[38;2;248;248;242m)[0m
    [38;2;155;107;223m[1m[3mget![0m[38;2;248;248;242m([0m[38;2;248;248;242mcache[0m[38;2;248;248;242m,[0m [38;2;248;248;242mn[0m[38;2;248;248;242m)[0m [38;2;230;71;71m[1mdo[0m
        [38;2;155;107;223m[1m[3mfib[0m[38;2;248;248;242m([0m[38;2;248;248;242mn[0m [38;2;248;248;242m-[0m [38;2;228;243;74m1[0m[38;2;248;248;242m)[0m [38;2;248;248;242m+[0m [38;2;155;107;223m[1m[3mfib[0m[38;2;248;248;242m([0m[38;2;248;248;242mn[0m [38;2;248;248;242m-[0m [38;2;228;243;74m2[0m[38;2;248;248;242m)[0m
    [38;2;230;71;71m[1mend[0m
[38;2;230;71;71m[1mend[0m

[38;2;230;71;71m[1mfor[0m [38;2;248;248;242mi[0m [38;2;248;248;242m=[0m [38;2;228;243;74m1[0m[38;2;248;248;242m:[0m[38;2;228;243;74m10[0m
    [38;2;248;248;242mBase[0m[38;2;248;248;242m.[0m[38;2;155;107;223m[1m[3mprintln[0m[38;2;248;248;242m([0m[38;2;66;230;108m"fib([0m[38;2;248;248;242m$[0m[38;2;248;248;242mi[0m[38;2;66;230;108m) = [0m[38;2;248;248;242m$[0m[38;2;248;248;242m([0m[38;2;155;107;223m[1m[3mfib[0m[38;2;248;248;242m([0m[38;2;248;248;242mi[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m[38;2;66;230;108m"[0m[38;2;248;248;242m)[0m
[38;2;230;71;71m[1mend[0m

[38;2;122;122;122m[3m# Demonstrate qualified calls[0m
[38;2;248;248;242mBase[0m[38;2;248;248;242m.[0m[38;2;155;107;223m[1m[3mlength[0m[38;2;248;248;242m([0m[38;2;248;248;242mcache[0m[38;2;248;248;242m)[0m
[38;2;248;248;242mCore[0m[38;2;248;248;242m.[0m[38;2;155;107;223m[1m[3mtypeof[0m[38;2;248;248;242m([0m[38;2;248;248;242mcache[0m[38;2;248;248;242m)[0m
[38;2;248;248;242mBase[0m[38;2;248;248;242m.[0m[38;2;248;248;242mIterators[0m[38;2;248;248;242m.[0m[38;2;155;107;223m[1m[3mtake[0m[38;2;248;248;242m([0m[38;2;228;243;74m1[0m[38;2;248;248;242m:[0m[38;2;228;243;74m10[0m[38;2;248;248;242m,[0m [38;2;228;243;74m3[0m[38;2;248;248;242m)[0m

[38;2;230;71;71m[1mend[0m [38;2;122;122;122m[3m# module[0m

[38;2;122;122;122m[3m#=
Additional syntax coverage from old julia sample:
Nested comments #= can be #= deeply =# nested =#
=#[0m

[38;2;122;122;122m[3m# Array and tuple literals[0m
[38;2;248;248;242m[[0m[38;2;228;243;74m1[0m[38;2;248;248;242m,[0m [38;2;228;243;74m3[0m[38;2;248;248;242m,[0m [38;2;228;243;74m3[0m[38;2;248;248;242m,[0m [38;2;228;243;74m4[0m[38;2;248;248;242m][0m[38;2;248;248;242m[[0m[38;2;228;243;74m1[0m[38;2;248;248;242m:[0m[38;2;255;121;198mend[0m[38;2;248;248;242m][0m
[38;2;248;248;242m([0m[38;2;228;243;74m1[0m[38;2;248;248;242m,[0m [38;2;228;243;74m2[0m[38;2;248;248;242m,[0m [38;2;228;243;74m1.0[0m[38;2;248;248;242m)[0m[38;2;248;248;242m[[0m[38;2;228;243;74m1[0m[38;2;248;248;242m:[0m[38;2;228;243;74m2[0m[38;2;248;248;242m][0m
[38;2;248;248;242m[[0m[38;2;248;248;242m([0m[38;2;228;243;74m1[0m[38;2;248;248;242m,[0m [38;2;228;243;74m3[0m[38;2;248;248;242m)[0m[38;2;248;248;242m,[0m [38;2;248;248;242m([0m[38;2;228;243;74m3[0m[38;2;248;248;242m,[0m [38;2;228;243;74m4[0m[38;2;248;248;242m)[0m[38;2;248;248;242m][0m[38;2;248;248;242m[[0m[38;2;255;121;198mend[0m[38;2;248;248;242m-[0m[38;2;228;243;74m1[0m[38;2;248;248;242m][0m
[38;2;248;248;242m[[0m[38;2;248;248;242m([0m[38;2;228;243;74m1[0m[38;2;248;248;242m,[0m [38;2;228;243;74m3[0m[38;2;248;248;242m)[0m[38;2;248;248;242m,[0m [38;2;248;248;242m([0m[38;2;228;243;74m3[0m[38;2;248;248;242m,[0m [38;2;228;243;74m4[0m[38;2;248;248;242m)[0m[38;2;248;248;242m][0m[38;2;248;248;242m[[0m[38;2;255;121;198mbegin[0m[38;2;248;248;242m][0m

[38;2;122;122;122m[3m# Control flow[0m
[38;2;230;71;71m[1mif[0m [38;2;248;248;242mx[0m [38;2;230;71;71m[1min[0m [38;2;248;248;242my[0m
    [38;2;241;250;140mnothing[0m
[38;2;230;71;71m[1mend[0m
[38;2;248;248;242mx[0m [38;2;230;71;71m[1min[0m [38;2;248;248;242my[0m [38;2;230;71;71m[1m?[0m [38;2;228;243;74mfalse[0m [38;2;230;71;71m[1m:[0m [38;2;228;243;74mtrue[0m

[38;2;230;71;71m[1mlet[0m [38;2;248;248;242mx[0m [38;2;248;248;242m=[0m [38;2;228;243;74m1[0m
    [38;2;230;71;71m[1mlocal[0m [38;2;248;248;242mt[0m
    [38;2;230;71;71m[1mglobal[0m [38;2;248;248;242ms[0m
    [38;2;248;248;242mt[0m [38;2;248;248;242m=[0m [38;2;248;248;242mx[0m
[38;2;230;71;71m[1mend[0m

[38;2;122;122;122m[3m# Type definitions[0m
[38;2;230;71;71m[1mabstract[0m [38;2;230;71;71m[1mtype[0m [38;2;117;215;236m[4mAbstractPoint[0m[38;2;248;248;242m{[0m[38;2;117;215;236m[4mT[0m[38;2;248;248;242m}[0m[38;2;117;215;236m[4m [0m[38;2;248;248;242m<:[0m[38;2;117;215;236m[4m [0m[38;2;117;215;236m[4mNumber[0m [38;2;230;71;71m[1mend[0m
[38;2;230;71;71m[1mmutable[0m [38;2;230;71;71m[1mstruct[0m [38;2;117;215;236m[4mPoint[0m[38;2;248;248;242m{[0m[38;2;117;215;236m[4mT[0m[38;2;248;248;242m}[0m [38;2;230;71;71m[1mwhere[0m [38;2;248;248;242m{[0m[38;2;117;215;236m[4mT[0m[38;2;248;248;242m<:[0m[38;2;117;215;236m[4mNumber[0m[38;2;248;248;242m}[0m[38;2;117;215;236m[4m
    x[0m[38;2;248;248;242m::[0m[38;2;117;215;236m[4mT[0m[38;2;117;215;236m[4m
    y[0m[38;2;248;248;242m::[0m[38;2;117;215;236m[4mT
    [0m[38;2;155;107;223m[1m[3mPoint[0m[38;2;248;248;242m([0m[38;2;248;248;242mx[0m[38;2;248;248;242m)[0m[38;2;117;215;236m[4m [0m[38;2;248;248;242m=[0m[38;2;117;215;236m[4m new[0m[38;2;248;248;242m([0m[38;2;117;215;236m[4mx[0m[38;2;248;248;242m,[0m[38;2;117;215;236m[4m 2x[0m[38;2;248;248;242m)[0m[38;2;117;215;236m[4m
end
struct Empty[0m[38;2;248;248;242m{[0m[38;2;117;215;236m[4mT[0m[38;2;248;248;242m}[0m[38;2;117;215;236m[4m end
primitive type Float16Custom [0m[38;2;248;248;242m<:[0m[38;2;117;215;236m[4m [0m[38;2;139;233;253m[4mAbstractFloat[0m[38;2;117;215;236m[4m 16 end

[0m[38;2;122;122;122m[3m# Macros[0m[38;2;117;215;236m[4m
macro something[0m[38;2;248;248;242m([0m[38;2;117;215;236m[4mx[0m[38;2;248;248;242m...[0m[38;2;248;248;242m)[0m
    [38;2;117;215;236m[4mnothing[0m
[38;2;230;71;71m[1mend[0m

[38;2;122;122;122m[3m# Character literals[0m
[38;2;66;230;108m' '[0m[38;2;248;248;242m,[0m [38;2;66;230;108m'\n'[0m[38;2;248;248;242m,[0m [38;2;66;230;108m'\''[0m[38;2;248;248;242m,[0m [38;2;66;230;108m'"'[0m[38;2;248;248;242m,[0m [38;2;66;230;108m'\u1234'[0m[38;2;248;248;242m,[0m [38;2;66;230;108m'⻆'[0m

[38;2;122;122;122m[3m# String literals[0m
[38;2;66;230;108m"""Multiline
string"""[0m
[38;2;66;230;108m" [0m[38;2;248;248;242m$[0m[38;2;248;248;242mx[0m[38;2;66;230;108m [0m[38;2;248;248;242m$[0m[38;2;248;248;242m([0m[38;2;230;71;71m[1mlet[0m[38;2;66;230;108m [0m[38;2;248;248;242mx[0m[38;2;66;230;108m [0m[38;2;248;248;242m=[0m[38;2;66;230;108m [0m[38;2;248;248;242my[0m[38;2;66;230;108m [0m[38;2;248;248;242m+[0m[38;2;66;230;108m [0m[38;2;228;243;74m1[0m[38;2;248;248;242m;[0m[38;2;66;230;108m [0m[38;2;248;248;242mx[0m[38;2;248;248;242m^[0m[38;2;228;243;74m2[0m[38;2;248;248;242m;[0m[38;2;66;230;108m [0m[38;2;230;71;71m[1mend[0m[38;2;248;248;242m)[0m[38;2;66;230;108m "[0m
[38;2;227;86;167m[1m[3mr[0m[38;2;66;230;108m"[a-z]+$xyz"[0m[38;2;248;248;242mm[0m
[38;2;227;86;167m[1m[3mraw[0m[38;2;66;230;108m"\n\n\r\t...\b"[0m
[38;2;227;86;167m[1m[3mv[0m[38;2;66;230;108m"0.0.2"[0m [38;2;248;248;242m≥[0m [38;2;227;86;167m[1m[3mv[0m[38;2;66;230;108m"0.0.1"[0m

[38;2;122;122;122m[3m# Command literals[0m
[38;2;80;250;123m`echo [0m[38;2;248;248;242m$[0m[38;2;248;248;242mbar[0m[38;2;80;250;123m`[0m

[38;2;122;122;122m[3m# Number formats[0m
[38;2;228;243;74m1_000_000[0m [38;2;248;248;242m+[0m [38;2;228;243;74m1.0e-9[0m [38;2;248;248;242m*[0m [38;2;228;243;74m0.121[0m [38;2;248;248;242m/[0m [38;2;228;243;74m1121.0[0m
[38;2;228;243;74m1.0f0[0m [38;2;248;248;242m-[0m [38;2;228;243;74m1E-12[0m
[38;2;228;243;74m0b100_101_111[0m
[38;2;228;243;74m0o12123535[0m
[38;2;228;243;74m0x4312afAF[0m
