On 22/08/15 21:20, Elizabeth D. Rather wrote:
> On 8/22/15 3:30 AM,
foxaudio...@gmail.com wrote:
>> On Saturday, August 22, 2015 at 7:41:39 AM UTC-4, Marcos Cruz wrote:
>>> In the fig-Forth model and other systems (DX-Forth, CamelForth, lina,
>>> Gforth...) `DP` is a user variable. In other systems it's an ordinary
>>> variable.
>>>
>>> What is the point of letting users or tasks to keep their own dictionary
>>> pointer?
>>>
>>> --
>>>
http://programandala.net
>>
>>
>> In the systems I am familiar with, it relates to having separate memory
>> locations for number conversion, PAD and where the output of 'WORD' is
>> placed. Since these memory locations are many times defined in relation
>> to 'HERE' (ie DP @) assigning a different value for DP for each task
>> lets those tasks function properly with the ability to interpret text
>> and even compile new definitions albeit with caveats. This is most
>> efficiently accomplished by making DP a user variable so there is
>> separate instance of it for each task.
>>
>> In true multi-user systems like PolyForth, each task also has its own
>> dictionary space for user specific code to reside.
>
> Yes. You should also be aware that in some systems it has other names: H
> is common. And in some systems there's separate code and data space; on
> those systems HERE returns the next location in data space.
variable-space and pre-alllocated task-space. HERE (DP) pointed to the
code-space. CREATE and ALLOT used the code-space as well, VARIABLEs (VP)