Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #135249
| From | Hans Bezemer <the.beez.speaks@gmail.com> |
|---|---|
| Newsgroups | comp.lang.forth |
| Subject | Re: Naming issues in create-does |
| Date | 2026-07-23 19:58 +0200 |
| Organization | A noiseless patient Spider |
| Message-ID | <113tkoe$23mu$1@dont-email.me> (permalink) |
| References | (7 earlier) <2026Jun12.202222@mips.complang.tuwien.ac.at> <6a2ccb22$1@news.ausics.net> <110itki$2o3o7$1@dont-email.me> <6a2d4b1f$1@news.ausics.net> <110jugl$31kdb$1@dont-email.me> |
On 13-06-2026 17:55, Ruvim wrote: > On 2026-06-13 12:20, dxf wrote: >> On 13/06/2026 4:33 pm, Ruvim wrote: >>> On 2026-06-13 03:14, dxf wrote: >>>> On 13/06/2026 4:22 am, Anton Ertl wrote: >>>>> anton@mips.complang.tuwien.ac.at (Anton Ertl) writes: >>>>>> Overall, SET-DOES> is unambiguous and good enough. >>>>> >>>>> But while we are at it, according to Andrew Haley early Forth had USE >>>>> with the same functionality as SET-DOES>. >>>> >>>> I don't recall that one. AFAIK the original definer was in the form: >>>> >>>> : ... CONSTANT ;: ... ; >>>> >>>> Presumably 2CONSTANT VARIABLE etc could also be used. Hard to find >>>> actual >>>> examples as vintage code is scarce. >>>> >>>> In addition to CREATE DOES> F83 had: >>>> >>>> : CONSTANT (S n -- ) >>>> CREATE , ;USES DOCONSTANT , >>>> >>>> a move closer to the xt variants. >>>> >>>> DX-Forth implemented BUILD to support its compilation model. I saw no >>>> reason to persist with the 'CREATE then patch' concept. >>>> >>>> : CONSTANT ['] @ BUILD , ; >>> >>> >>> BTW, do you consider `immediate` to be a from of patching as well? >> >> IMMEDIATE alters a flag in the word's header that informs the compiler >> how the word should be treated. Nothing is actually replaced. > In some implementations, the run-time semantics of `does>` only stores > an xt at an address. For example, this is how my portable create-does > implementation [1] works. > > [1] <https://gist.github.com/ruv/4b957889b59480cb19a440d00346b0ae> Oh, how wildly different 4tH works. First, you cannot use when defining a new datatype, cause apart from defining arrays of various length, you cannot define new data types. You can only add DOES> to either a cell or a character (array) -- and only if that symbol returns either a literal or a variable. And it should represent a (cell or string (array)) pointer. E.g. you can add a DOES> to a string or array, but not a VALUE (because it returns a value, not a pointer). What a DOES> does is create a *NEW* definition with the *name* of the original variable or and compiles the pointer before adding the rest of the code. For this reason, this Gforth lines in https://rosettacode.org/wiki/15_puzzle_game#Forth can be compiled by 4tH unchanged: create valid? ' up-valid? , ' left-valid? , ' right-valid? , ' down-valid? , does> ith execute ; create step -4 , -1 , 1 , 4 , does> ith ; Also the application of VALIOD Hans Bezemer > -- > Ruvim >
Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Back to the Forth Virus clv2020 <clv2020@vodafonemail.de> - 2026-06-08 13:40 +0200
Re: Back to the Forth Virus Jan Coombs <jan4etsept@murray-microft.co.uk> - 2026-06-08 13:16 +0100
Re: Back to the Forth Virus Ruvim <ruvim.pinka@gmail.com> - 2026-06-08 12:23 +0000
Re: Back to the Forth Virus Daniel Cerqueira <dan.list@lispclub.com> - 2026-06-08 13:56 +0100
Re: Back to the Forth Virus anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2026-06-08 15:40 +0000
Re: Back to the Forth Virus Daniel Cerqueira <dan.list@lispclub.com> - 2026-06-08 19:26 +0100
Re: Back to the Forth Virus anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2026-06-08 20:06 +0000
GForth reproducible builds (was Re: Back to the Forth Virus) Kragen Javier Sitaker <kragen@canonical.org> - 2026-09-02 14:40 -0300
Re: Back to the Forth Virus minforth <minforth@gmx.net> - 2026-06-09 01:01 +0200
Re: Back to the Forth Virus clv2020 <clv2020@vodafonemail.de> - 2026-06-10 13:13 +0200
Re: Back to the Forth Virus minforth <minforth@gmx.net> - 2026-06-11 10:01 +0200
Re: Back to the Forth Virus anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2026-06-11 17:28 +0000
Naming issues in create-does (was: Back to the Forth Virus) Ruvim <ruvim.pinka@gmail.com> - 2026-06-12 17:23 +0000
Re: Naming issues in create-does (was: Back to the Forth Virus) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2026-06-12 17:52 +0000
Re: Naming issues in create-does (was: Back to the Forth Virus) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2026-06-12 18:22 +0000
Re: Naming issues in create-does dxf <dxforth@gmail.com> - 2026-06-13 13:14 +1000
Re: Naming issues in create-does Ruvim <ruvim.pinka@gmail.com> - 2026-06-13 06:33 +0000
Re: Naming issues in create-does dxf <dxforth@gmail.com> - 2026-06-13 22:20 +1000
Re: Naming issues in create-does Ruvim <ruvim.pinka@gmail.com> - 2026-06-13 15:55 +0000
Re: Naming issues in create-does Ruvim <ruvim.pinka@gmail.com> - 2026-06-15 13:08 +0000
Re: Naming issues in create-does Hans Bezemer <the.beez.speaks@gmail.com> - 2026-07-23 19:58 +0200
Defining words in more than one step (was: Naming issues in create-does) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2026-06-13 06:46 +0000
Re: Defining words in more than one step dxf <dxforth@gmail.com> - 2026-06-14 12:29 +1000
Re: Naming issues in create-does Ruvim <ruvim.pinka@gmail.com> - 2026-06-12 19:59 +0000
Re: Naming issues in create-does anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2026-06-13 10:25 +0000
Re: Naming issues in create-does Ruvim <ruvim.pinka@gmail.com> - 2026-06-13 15:30 +0000
Re: Naming issues in create-does anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2026-06-13 17:30 +0000
Re: Naming issues in create-does (was: Back to the Forth Virus) peter <peter.noreply@tin.it> - 2026-06-13 20:21 +0200
Re: Back to the Forth Virus dxf <dxforth@gmail.com> - 2026-06-09 12:14 +1000
Re: Back to the Forth Virus "Kerr-Mudd, John" <admin@127.0.0.1> - 2026-06-10 18:54 +0100
Re: Back to the Forth Virus dxf <dxforth@gmail.com> - 2026-06-11 16:32 +1000
Re: Back to the Forth Virus "Kerr-Mudd, John" <admin@127.0.0.1> - 2026-06-11 14:20 +0100
Re: Back to the Forth Virus Stephen Pelc <stephen@vfxforth.com> - 2026-06-09 10:22 +0000
Re: Back to the Forth Virus clv2020 <clv2020@vodafonemail.de> - 2026-06-10 15:55 +0200
Re: Back to the Forth Virus albert@SPENARNC.XS4ALL.NL - 2026-07-24 13:35 +0200
csiph-web