Sort of interesting, a bit different from CSound:
Looks a bit more dialect-y, e.g. the default example has:
[bd <hh oh>]*2
What that means (if you hit play) is that it is a length 2 pattern. The first time through, it plays:
[bd hh] ; bass drum, high hat
The second time through it plays:
[bd oh] ; bass drum, open high hat
A Rebol version of such a thing would be oriented differently... to get a value-add you'd want to use lists instead of a TAG! for your alternates so you get proper automatic structure, and then perhaps a CHAIN! or PATH! to give a repeat count if you didn't want a space:
[bd {hh oh}] * 2
[bd {hh oh}]:2
What Could A Rebol Approach Buy You?
To get anything you would have to be doing things like driving it with PARSE, leveraging binding so you can define subpatterns, being able to COMPOSE the code.
bd: #tr909_bd
hh: #tr909_hh
oh: #tr909_oh
[bd {hh oh}]:2
or:
use tr909 ; inject definitions in binding environment for bd/hh/oh/etc....
[bd {hh oh}]:2
(Compare with their version as: s("[bd <hh oh>]*2").bank("tr909") ...)
To get the value you have to be thinking this way and using what the system offers.
Given how things are going, these questions of "can you make Rebol a meaningful tool for this application" will probably wind up being puzzle challenges for AI, I think. ![]()