Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!crdgw1!uakari.primate.wisc.edu!sdd.hp.com!spool.mu.edu!uwm.edu!linac!pacific.mps.ohio-state.edu!zaphod.mps.ohio-state.edu!unix.cis.pitt.edu!pitt!willett!ForthNet From: ForthNet@willett.pgh.pa.us (ForthNet articles from GEnie) Newsgroups: comp.lang.forth Subject: ANS TC Magnet for ROMability Message-ID: <2760.UUL1.3#5129@willett.pgh.pa.us> Date: 13 May 91 11:57:06 GMT Organization: (n.) to be organized. But that's not important right now. Lines: 73 Category 10, Topic 22 Message 34 Fri May 10, 1991 JAX at 22:32 PDT ANSI ASC X3/X3J14 Forth Technical Proposal Page 1 of 1 =============================================================== Title: Commercial Implementation of A.2 Leads to Preliminary Conclusions Related Proposals: none Keyword(s): Mixed RAM/ROM systems Forth Word(s): RAM ROM HERE ALLOT C, , ALIGN ALIGNED CREATE UNUSED Abstract: Vesta Technology is already using RAM and ROM modality keywords in a very successful 83-STANDARD-style product. Proposal: 1) We suggest adding UNUSED to the list of words affected by the RAM ROM keywords. We further suggest that any text effecting the above be supplemented with the cautionary "while ROM UNUSED may in a particular implementation be useful in determining the quantity of dictionary space remaining in a system, the Standard Program may not depend on such." 2) We suggest changing the status of RAM ROM from "informative" to "normative" by whatever means to be determined by more procedurally-aware members of the TC. Rationale: Vesta's Forth-83i96 was in development shortly after the RAM ROM keywords were added to Appendix A.2. As Forth-83i96 generates truly ROMmable code, we adopted the committee's suggestion. A variable called: " RAM/ROM " is set TRUE by RAM and set FALSE by ROM. Affected keywords (A.2) read this variable before performing their respective duties. The added Vesta utilities RAM? and ROM? return boolean flags indicating current system state, but are not necessary to the implementation. "Colon" : VARIABLE and other important definers which implicitly reference one address space or the other all push the modality, perform their operation in the appropriate address space and subsequently pop the modality so that the action of CREATE in such context conforms to the expectation of the user. ( "Colon" : of course in ANS Forth will not implicitly call CREATE as our 83-STANDARD Forth-83i96 does.) Our conclusion is that the RAM ROM modality works excellently. The list of keywords for the RAM/ ROM modality should be extended to include UNUSED 8.2.2395: it's often as important to know how much ROM data space is left as to know how much RAM data space is left. The material set forth in A.2 should be given normative weight, rendering portable otherwise incompatible ROMmable applications and increasing the readability of the Standard ROMmable Program. RAM ROM turns out to be very good Forth. We complement Martin Tracy on his suggestion which has proved its merit in the ease with which our customers have assimilated the concept. ===================================================================== Submitted by: Jack Woehr, Vesta Technology Inc. Date: 05/10/90 Address: 7100 W. 44th Ave., Suite #101 Wheat Ridge, CO 80033 Phone: (303) 422-8088 FAX: (303) 422-9800 BBS: (303) 278-0364 ----- This message came from GEnie via willett. You *cannot* reply to the author using e-mail. Please post a follow-up article, or use any instructions the author may have included (USMail addresses, telephone #, etc.). Report problems to: dwp@willett.pgh.pa.us _or_ uunet!willett!dwp