I'm trying to make something like this (very similar to the scheme "cond"), but providing the functionality of an XC "select": (select ((pinnotequal pin 2) ....) ((timeafter x) ....) (else .....) ) Thanks for the help already, as I'm not really familiar with the XCore instruction...

As some of you might already know, I'm working on a Scheme interpreter for XMOS devices. One of the things I still need to implement is the "select" statement. The problem there is that the exact select statement (number of cases, etc..) is not known at compile time. So I need to make some...

That will AFAIK only work as long as you don't want to do something like this: timer t; t when timerafter ( time ) :> void ; The problem is that the value of time will always be in the range of 0x0000.0000 & 0x8FFF.FFFF (31 bit). However, half of the time the above code will not work properly be...

As you might know I'm working on running interpreted languages on XMOS devices. I dropped the previous interpreter (which can be found in projects) for a much better (bytecode based) one. Now it comes with a problem which is that integers are 31 bit (one bit is used as a flag). For most applications...