Re: [stack] What does "concatenative" actually mean?
spir <[email protected]>
| Newsgroups | gmane.comp.lang.concatenative |
|---|---|
| Message-ID | <20090307093216.11e28486@o> |
Le Fri, 6 Mar 2009 18:24:13 -0500, John Nowak <[email protected]> s'exprima ainsi: > Your point about naming it and being able to refer to it is confused. > Even if you define 'square', you still need to use quotation to form a > new function that pushes the 'square' onto the stack. It is not the > same as giving the name for a function in Scheme and getting that > function back as a result. You're explicitly creating a new function. Isn't this issue implementation choice? What I mean is at the conceptual/programmer level. * There must be a way to distinguish a reference to a word from running it (think eg at python "func" vs "func()" or Io "getSlot("meth")" vs "meth"). Why is it wrong to consider that "[square]" vs "square" plays this role? * As I see it, the implementor has numerous options: 1. Create a new func as explained above by John. 2. Literally replace in code (~ macro) before processing (then we get an anonymous func again). [square] map ==> [dup *] map 3. Store a reference (name, pointer, id) on stack when "[square]" is parsed. 4. Store "[square]" as data on stack. 5. Store square's definition on stack. All would do the job? Denis ------ la vita e estrany