Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!cs.utexas.edu!rutgers!rochester!pt.cs.cmu.edu!dsl.pitt.edu!pitt!willett!ForthNet From: ForthNet@willett.pgh.pa.us (ForthNet articles from GEnie) Newsgroups: comp.lang.forth Subject: Vocabularies Message-ID: <1641.UUL1.3#5129@willett.pgh.pa.us> Date: 30 Aug 90 03:01:37 GMT Organization: String, Scotch tape, and Paperclips. (in Pgh, PA) Lines: 82 Category 18, Topic 92 Message 41 Wed Aug 29, 1990 D.RUFFER [Dennis] at 01:24 EDT Re: ir230@sdcc6.ucsd.edu (john wavrik) > ARE USERS ALLOWED TO ASK QUESTIONS YET? Of course John! I don't see anyone telling you to stop, nor do I see anyone saying that your questions are stupid. What I do see is some honest attempts to answer some very difficult questions. In some cases, the answers are not what you want to hear, but they are answers none the less. > "Can I (or how will I be able to) do in the proposed > Standard what I currently do in my work now?" As we have said repeatedly, the answer is a definite maybe! The reason for the maybe is that you may have been using a technique on your Forth that is not possible on some other architecture. For example setting SP0 to increase the return stack depth just is not possible when the return stack is implemented in hardware such as on most Forth CPUs. Thus, some other mechanism must be provided. On those machines, it is not possible to address into the return stack so the best that the standard can do is allow you to find out how big it is. To do more would prevent those systems from complying with the standard. > Vectored execution is essentially the only mechanism we have in > Forth for changing the action of pre-defined works. Your point is well understood John, but the point is that a line has to be drawn somewhere on how many words the standard will contain. The TC has choosen to draw that line at those things that can not be implemented using standard words. Vectored execution just does not fall into that category. > NO the vendors have not agreed on a mechanism for vectoring > the basic system words (i.e. redirection of output, error > trapping, etc. will not be portable). You are drawing conclusions here that are not based in fact. All that has been stated is that the TC has choosen not to specify how some of the internals of a Forth system must work. The redirection of output goes along with a whole class of words dealing with displays and tasks that is being left out due to lack of concensus and time to establish it. Error trapping has been specified, although you will need to change the way you are used to dealing with it. > Dennis Ruffer's code will work (provided that POSTPOSE is > equivalent to ' , in all systems; and that one can move around in > the input stream by storing things in the variable >IN). POSTPONE is better because it works! I know many systems where ' , will not compile a word into a definition. Messing with Forth's compiler is not standard now, but with POSTPONE and EVALUATE we are a lot closer to portability than we have ever been before. > [All of the standard control structures in traditional Forth are > implemented by just this mechanism.] Not true! However, I'm sure the ones you are accustomed to working with have all worked the same. The point is that there are many ways to skin a cat. Just because you have done something one way all your life does not mean that is the only way to do it. You might be suprised how much easier it is when you kill the cat first. > What I was after is whether the proposed Standard has general > portable mechanisms for controlling compilation -- which can be > used to define control structures, for example. Again, I say, YES IT DOES! If the previous example where you got at least two acceptable solutions did not convince you, then PLEASE, hit us with another one. I, for one, would be glad to take a wack at solving another puzzle. > I feel somewhat embarrased at feeling obliged to explain in > detail why I asked my questions. I just thought it a natural and > normal thing to do at this stage of the game. Please don't feel a need to explain for my sake! I enjoy good arguments, er I mean discussions. :-) DaR ----- This message came from GEnie via willett through a semi-automated process. Report problems to: uunet!willett!dwp or dwp@willett.pgh.pa.us