Hello!
I'm developing my chart gadget. I want to achieve this:
ALIAS: x first
ALIAS: y second
: chart-axes ( chart -- seq )
[ dim>> ] [ axes>> ] bi [
nip
] [
[ 0 swap 2array ] map
] if* ;
M: axis draw-gadget*
dup parent>> dup chart? [| axis chart |
axis vertical?>> :> vert?
chart dim>> :> dim
dim chart chart-axes vert? [ [ x ] bi@ ] [ [ y ] bi@ ] if
! etc...
] [ 2drop ] if ;
I thought I found a clever way to simplify that `if` there:
dim chart chart-axes vert? [ x ] [ y ] ? bi@
But the compiler says that I can't use `call` on runtime-computed quotations.
Is there a way to work around that, like, by using a MACRO: or something?
Or is this a hard limitation on the available abstraction of the computation?
Basically, depending on a boolean flag I need to either take the first or the
second element of the two arrays on the stack, and place the taken elements on
the stack in the same order.
---=====---
Александр
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Factor-talk mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/factor-talk