: WITH-EACH-CHAR ( xt -- )
S" BEGIN ?DUP WHILE SWAP DUP C@" EVALUATE
' COMPILE,
S" OVER C! SWAP 1 /STRING REPEAT DROP" EVALUATE ; IMMEDIATE COMPILE-ONLY
: COMMA>SPACE ( c1 -- c2 )
DUP [CHAR] , = IF DROP BL THEN ;
: COMMAS>SPACES ( c-addr u -- )
WITH-EACH-CHAR COMMA>SPACE ;
2VARIABLE STR
S" 1,2,3,4,5,6" STR 2!
STR 2@ COMMAS>SPACES
STR 2@ TYPE
CR SEE COMMAS>SPACES
BYE
OiBXSVRILUVBQ0gtQ0hBUiAgKCB4dCAtLSApCiAgICBTIiBCRUdJTiA/RFVQIFdISUxFIFNXQVAgRFVQIENAIiBFVkFMVUFURQogICAgJyBDT01QSUxFLAogICAgUyIgT1ZFUiBDISBTV0FQIDEgL1NUUklORyBSRVBFQVQgRFJPUCIgRVZBTFVBVEUgOyBJTU1FRElBVEUgQ09NUElMRS1PTkxZCgo6IENPTU1BPlNQQUNFICAoIGMxIC0tIGMyICkKICAgIERVUCBbQ0hBUl0gLCA9IElGIERST1AgQkwgVEhFTiA7Cgo6IENPTU1BUz5TUEFDRVMgICggYy1hZGRyIHUgLS0gKQogICAgV0lUSC1FQUNILUNIQVIgQ09NTUE+U1BBQ0UgOwoKMlZBUklBQkxFIFNUUgpTIiAxLDIsMyw0LDUsNiIgU1RSIDIhClNUUiAyQCBDT01NQVM+U1BBQ0VTClNUUiAyQCBUWVBFCgpDUiBTRUUgQ09NTUFTPlNQQUNFUwoKQllF