Program Editing, by Joseph K. Horn How can one include pre-written Code objects inside user-code programs without assembling the entire program? A very handy way is to use Rick Grevelle's PRG-> and ->PRG routines (see IO on this disk) with ROLL and ROLLD. ---------------------------Example:-------------------------------- I have a Code object stored in 'JUNK'. I have a program that looks like this: << A B C + JUNK * >> but I want the program to look like this: << A B C + Code * >>. Here's how to do it: 1) << A B C + JUNK * >> (this is the original program) 2) PRG-> (decomposes program into its objects + count (8)) 3) 4 ROLL (this pulls JUNK down from level 4 to level 1) 4) RCL (this replaces JUNK with its Code contents) 5) 4 ROLLD (this puts the Code into level 4, where JUNK was) 6) ->PRG (this recomposes the program into a single object) 7) See << A B C + Code * >> on the stack! Steps 3 and 5 are done easily by using the interactive stack. In fact, this application is the only time I use the interactive stack. If more than one replacement is to be made, steps 3 through 5 can be automated (if you have Donnelly's Tool Library) this way: ->LIST 'JUNK' DUP RCL REPLACE OBJ->. That'll replace every 'JUNK' with its contents throughout the whole program. Global search and replace on program objects! Can't do THAT on most handhelds! Of course, this method can be used to insert "External"s and anything else your heart desires into programs. You don't ever have to assemble the whole thing like we used to do! Now you can write a chunk at a time, verify that each chunk works, and then tack the chunks together with ->PRG.