Red language

Red/System [
    Title:      "Red/System example file"
    Purpose:    "Just some code for testing Highlightjs"
    Language:   http://www.red-lang.org/
]
;-- issues to solve:
;    these should be just 2 ordinary words in default color:
the'end
foreach

;this should be keyword:
remove-each
;--------------------

#include %../common/FPU-configuration.reds

; C types

#define time!                   long!
#define clock!                  long!

#either OS = 'Windows [
    #define clocks-per-second   1000
][
    ; CLOCKS_PER_SEC value for Syllable, Linux (XSI-conformant systems)
    ; TODO: check for other systems
    #define clocks-per-second   1000'000
] 

bass/init ;Initializes a sound output device using default values

bass/do [
    sound:   load  %jaguar.wav         ;sound can be loaded from file
    music:   music %feroness_-_sun.mod ;loads MOD file
    channel: play music                ;channel can be stored for later use
    play sound                         ;or not if not needed
]
wait 3
bass/do [pause :channel play :sound]  ;handles can be passed also as get-words
wait 1
bass/do [resume channel]

effects: [
    chorus
    compressor
    distortion
    echo
    flanger
    gargle
    parameq
    reverb
]

foreach effect effects [
    print ["Enabling effect:" effect]
    bass/do compose [
        fx: (effect) channel
    ]
    wait 6
    print ["Disabling effect:" effect]
    bass/do [stop fx]
    wait 4
]

if 1 <> 2 [print [<b> true </b>]]
;just some datatypes for testing:

the'a no-place: no-place

strange-but-valid-set-words: [
   ěšč: 1 道德經: 2 .: 3 .': 4 .!: 5 +.: 6 +a'b: 7 +道-德.經: 8
]
strange-but-valid-get-words: [
   :ěšč :道德經 :. :.' :.! :+. 
]
strange-but-valid-lit-words: [
   'ěšč '道德經 '. '.' '.! '+. 
]
make 道德經! []

#some-hash
10-1-2013
quit

;binary:
#{00FF0000}
#{00FF0000 FF000000}
#{00FF0000	FF000000} ;with tab instead of space
2#{00001111}
64#{/wAAAA==}
64#{/wAAA A==} ;with space	 inside
64#{/wAAA	A==} ;with tab inside

{nested 
    {multiline}
    string with escaped ^{ bracket}

;string with char
{bla ^(ff) foo}
{bla ^(( foo}
;some numbers:
12
1'000
1.2
FF00FF00h