{"title":"A Forth course for engineers","authors":"F. DiMeo","doi":"10.1145/199200.316991","DOIUrl":"https://doi.org/10.1145/199200.316991","url":null,"abstract":"In order to convey to/! power of the Forth language in developing programs for use in the field of automation, at Villanova University we make use of our Robotics labqratory to present an interesting applications area. This elective course has been given at the senior level for approximafely five years with good results; however, the last two years has seen a downward trend in stu'dent interest which inay_ be a result. of a co1Jlbination of factqrs, such as the health of the engineering job market in general, a lack of activitj in the automation industry, and perhaps the absence of a visible Forth computer language arena. In this paper, we present a complete topical outline o/ihe course together with the laboratory work and representative student projects.","PeriodicalId":441527,"journal":{"name":"Annual Workshop on Forth","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115521280","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"The software stack data-type as an operating system service","authors":"Jon W. Osterlund","doi":"10.1145/199200.316995","DOIUrl":"https://doi.org/10.1145/199200.316995","url":null,"abstract":"Codes which manage compilation and use of named software stacks are described. An item on such a stack ordinarily consists of one word, but it may be extended 'by a fixed length through association with an auxilliary field declared separately. In this way, structures such as buffers, inodes and I/0 redirection may be managed with the stacking discipline familiar to Forth users. Eight access methods are provided, which are bound to the desired stack within \"domains\" established by the user codes. Domains may be nested with one another, and with control structures such as BEGIN .. UNTIL, DO .. LOOP, and IF .. ELSE .. THEN. Examples illustrate co\"ect use. Preface The \"stack\" and \"R\" are familiar to Forth users. It is possible, however, to use Forth without awareness of the stack-like characteristics of the dictionary, into which codes may be loaded and from which they may be forgotten, and it is also possible to be aware of many of Forth's advantages without knowledge of \"reenterability\" or of \"list theory\". These topics are beyond the presegt scope, but the software stack data-type to be described is a contribution to the ease with which re-enterable codes may be written. Such codes are important because they allow the practj.ce of computing science to closely pfll\"allel the theory of lists, which in turn illumines the practice of Forth. One is tempted to write about successful applications of software stacks, rather than how or why they may be used. Often they provide a workable alternative to linked lists. But my uses, including management of RAM buffers, character-by-character buffering of keyboard input, the saving of environments (the old directory w.lten changing to a new one), multi-way sorts, and· a recursive disassembler, are less important than the effect they have had on the stackbuilder itself. It has become abstract in form and capable of early introduction to the system, thus providing its facilities throughout subsequent compilation. Software stacks can hold changing lists of lists (of lists .. ) containing references tQ compiled an~ executable Forth words. The overhead of ·interpretation is avoided, yet the lists remain subject to run-time modification. \"Stackbuilder\" refers to the code& shown and discussed in tfle appendix, which allow the user to declare stacks for private purposes, and to access them via eight \"methods\". Forth professionals familiar with compile-time nesting, state-sensitive behavior, saving of data on E,, and the <BUILQS .. DOES> construct can look \"under the hood\", but it is my purpose to introduce the use of those codes, not their operation. Perhaps you will discover. additional applications of this versatile data-type. Introduction •• A Simple Example A Forth user may declare a software stack named MYST ACK which will hold up to 10 items, by writing:","PeriodicalId":441527,"journal":{"name":"Annual Workshop on Forth","volume":"53 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123933938","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Forth, metaWINDOW and GUI design","authors":"P. D. Lopez","doi":"10.1145/199200.316996","DOIUrl":"https://doi.org/10.1145/199200.316996","url":null,"abstract":"ELUS by Eleusinian Enterprises is discussed as an example of a mixed language Forth implementation which include~ its own GUI toolkit, the Interactive Screen Designer. The linked Meta WINDOW graphics library (Meta graphics Software Corporation), makes the design and implementation of graphics application user interfaces possible, intuitive, and efficient. The discussed utilities of the Interactive Screen Designer include the design of standard window and control screen objects, paint facilities for creating customdesigned application windows, and a Linker utility which allows any predefined screen region to be linked to executable code. A music application, ELUS:TD, and an ELUS music utility, SETMATRIX, are demonstrated as examples of virtual device panels and control interfaces created with the Interactive Screen Designer. INTRODUCTION The purpose of this document is to describe the Interactive Screen Designer, a Graphics User Interface toolkit which is included as a standard feature of ELUS, a Forth based Music Applications Development Environment. Eleusinian Enterprises is involved in the development of music software targeted at the commercial and experimental markets. Forth was chosen for the development environment because of its many exceptional and superior features. However, very early on it became clear that a traditional Forth system also had a number of significant drawbacks with respect to the development of commercially oriented applications. In particular, no Forth system known a~ that time included support for the development of a Graphics User Interface. In view of the many music applications which have been introduced with GUis, it is all too obvious that the development of a GUI for end user applications was and still is mandatory in order to penetrate the market with a Forth developed application. ELUS was developed to address this lack of GUI support in a Forth based system. as well as to address a variety of other needs. Although ELUS is still under development, a discussion of the current implementation of the Interactive Screen Designer, the ELUS GUI toolkit, will provide a sufficiently informative overview of the graphics capability of the system. MIXED LANGUAGE IMPLEMENTATION ELUS is a mixed language Forth implementation. Currently, two C language external libraries are linked to the Forth kernel: MetaWINDOW by Metagraphics Software Corporation is a graphics library which provides device independent graphics programming; and Baby Driver by Autumn Hill Software, Incorporated, is a table driven printer library. Two layers of code were implemented in order to make these C libraries function with the Forth environment First, an assembly language interface routine was developed for each library; the functions of the. interface routines are to locate the external libraries and to preserve the state of the system stack. Second, high level Forth routines were implemented to compile references to the external libraries and to bri","PeriodicalId":441527,"journal":{"name":"Annual Workshop on Forth","volume":"1a 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128199112","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A C-to-Forth compiler","authors":"Alexander Sakharov","doi":"10.1145/199200.316994","DOIUrl":"https://doi.org/10.1145/199200.316994","url":null,"abstract":"AC-to-Forth compiler is described. Its front end is the front end oft he lee compiler. The back end has been developed by the author. The compiler translates ANSI C to Forth-83. C libraries are no,t,supported in the current version ()jthe compiler.","PeriodicalId":441527,"journal":{"name":"Annual Workshop on Forth","volume":"87 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1993-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116757243","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"The evolution of an access control system","authors":"Don Van Wyck","doi":"10.1145/259965.259997","DOIUrl":"https://doi.org/10.1145/259965.259997","url":null,"abstract":"There is a tongue-in-cheek saying in the Security Industry that leeks and keys are “for keeping your friends out”. This little joke has a ring of truth to it which becomes clearer the more you consider just how easy it is to circumvent most ordinary security measures such as door and window locks. And yet the control of access to ofices, corridors, storage rooms, equipments rooms, and other areas of typical office facilities by ordinary locks and keys remains a first line of defence against unauthorized entry.","PeriodicalId":441527,"journal":{"name":"Annual Workshop on Forth","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1991-03-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130095959","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Directory replication in distributed systems","authors":"K. Wong, J. Cornacchio","doi":"10.1145/73312.73336","DOIUrl":"https://doi.org/10.1145/73312.73336","url":null,"abstract":"","PeriodicalId":441527,"journal":{"name":"Annual Workshop on Forth","volume":"84 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-01-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128618354","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"The design of a real-time multi-tasking operating system kernel for the Harris RTX 2000","authors":"H. Glass, M. Mellen, T. Hand","doi":"10.1145/73312.73320","DOIUrl":"https://doi.org/10.1145/73312.73320","url":null,"abstract":"","PeriodicalId":441527,"journal":{"name":"Annual Workshop on Forth","volume":"61 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-01-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127212577","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Forth interface to MS-DOSTM interrupts","authors":"R. H. Davis","doi":"10.1145/73312.73314","DOIUrl":"https://doi.org/10.1145/73312.73314","url":null,"abstract":"","PeriodicalId":441527,"journal":{"name":"Annual Workshop on Forth","volume":"53 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1989-01-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121100454","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}