This should not be necessary; in Logo, variable names and procedure names are
independent. The fact that there is a procedure named PLAY (primitive or
otherwise) doesn't interfere with saying
MAKE "PLAY whatever
... :PLAY ...
>Now you need to have a list for RUN, so the contents of PLAY.IT need to be
>enclosed within brackets. To bring that about PLAY.IT must initially be an
>empty list, so MAKE "PLAY.IT [].
You are confusing two issues here. The input to RUN must (in some versions of
Logo) be a list, but that doesn't mean you have to use brackets to create it.
Brackets are used when you want a *literal* (a/k/a *constant*) list:
MAKE "SUITS [HEARTS SPADES DIAMONDS CLUBS]
But you can also create lists using constructor procedures such as LIST
or SENTENCE:
MAKE "COLORS LIST "RED "BLACK
or
MAKE "INPUT READLIST
>make "play.it []
>if equal? :CH_FORM 1 [make "play.it fput "POWER :play.it] else [make
>"play.it fput "SLOT :play.it]
>if equal? :CH_SIDE "L [make "play.it word first:play.it "_LEFT] else [make
>"play.it word first :play.it "_RIGHT]
The last line above undoes the list-ness of :PLAY.IT! You said
MAKE "PLAY.IT WORD ... ...
^^^^
The output of the WORD procedure is, as you might guess, a word, *not* a list.
Just because you previously gave PLAY.IT a list as its value doesn't mean that
future values will automatically be lists.
---------------------------------------------------------------
Please post messages to the Logo forum to log...@gsn.org. Mail
questions about the list administration to log...@gsn.org. To
unsubscribe send unsubscribe logo-l to majo...@gsn.org.