{"title":"Use of Forth in a course in computer algebra","authors":"J. Wavrik","doi":"10.1145/259965.260002","DOIUrl":"https://doi.org/10.1145/259965.260002","url":null,"abstract":"ABSTWCT: A course in Computer Algebra was developed at UCSD to teach mathematics majors about symbolic and seminumeric computation. Forth has been found to be an excellent language to acquaint these students with the ideas involved in representing and manipulating mathematics by computer. Forth, as a teaching language, has the distinct advantage of making visible some important things which most languages try to conceal. It does this without sacrificing high level language features which facilitate programming","PeriodicalId":391657,"journal":{"name":"FORTH '90 and '91","volume":"79 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":"117217028","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":"Files in Pygmy Forth","authors":"F. Sergeant","doi":"10.1145/259965.260019","DOIUrl":"https://doi.org/10.1145/259965.260019","url":null,"abstract":"Pygmy Forth allows simultaneous access to up to 15 DOS files. Each file has its own range of block numbers, thus nothing special needs to be done to switch between files. Pygmy file handling has gone through three stages. I found the first approach (through version 1.2) a pleasant improvement over F83, but not perfect. The current release (version 1.3) solved some problems, but at the expense of a more complicated setup procedure. The next version wit!l keep the functionality and restore the simplicity. File handling is a little too complex in Pygmy Forth version 1.3, so I have worked out a way to simplify it without losing any functionalist y. The following description traces the changes from the first version of Pygmy, through the current release, and beyond. Pygmy is based on Charles Moore’s cmFORTH for the Novix, but with many changes to suit me, the 8088 CPU, and DOS. My goal was a lean, powerful Forth, and Pygmy has met it, to my reasonable satisfaction, especially now that I’ve streamlined the file handling. Pygmy allows up to 15 DOS files to be open, and opened automatically. It does this by assigning different ranges of block numbers to the different files. Thus, any block in any file is available merely by referring to the proper block number. This makes copying between files as easy as copying within a single file, and solves what I feel is the key problem with F83’s file handIing the use of the same range of block numbers to refer to more than one file. Pygmy Permission to copy without fee sll or psrt of this material is granted, provided that the copies are not made or distributed for direct cmnmercisl advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Ma&in.ry. TO copy otherwise, O. t. republish, require. . fee and/or speciilc permission. 431991 ACM 0-89791-462-7/90/0200-0121 $1.50 has no need for the OPEN . . . FROM . . . of F83,, as all blocks are simultaneously available. In all the versions of Pygmy, the information for each file is kept in the FILES table. Each line or slot in the table is called a unit. The worcl . FILES prints the name, starting block#, status, etc. of each file in the table.","PeriodicalId":391657,"journal":{"name":"FORTH '90 and '91","volume":"43 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":"114770750","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 fifth development environment","authors":"Paul Snow, K. Parker","doi":"10.1145/259965.259996","DOIUrl":"https://doi.org/10.1145/259965.259996","url":null,"abstract":"Although an excellent programming system in its own right, Forth does not provide an adequate platform for the development and maintenance of large, multi-programmer projects. Fifth is a derivative of Forth with 32-bit arithmetic, heap memory management, a large memory model, automatic pointer validity checking, and a Smalltalk-like browser interface. Using Fifth, a programmer can view and edit a program’s structure directly using the dictionary browser, and at the character/line level using the text editor. Introduction compiler piggybacked to a mediocre editor. However, in the Xerox SmallAlthough Forth is an excellent talk-80 system we found our model. language for quickly developing The most distinguishing aspects of software, its power is often sadly the Smalltalk development environsaddled with a bare-bones development (besides the window/m ousi ment environment. In 1984 we ness) are: began to develop a language envi, ronment that would support the development and maintenance of large software systems. As we developed Fifth we placed an emphasis on the environment since in our experience the environment often makes a larger difference in productivity than the language. . Unfortunately, most development environments in the PC world seem to be clones of mid-70’s UNIX systems. And the Turbo Pascal system is little more than a fast Code Browser. This allows the programmer to inspect and edit his program at the module level, without the “noise” of the actual source","PeriodicalId":391657,"journal":{"name":"FORTH '90 and '91","volume":"34 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":"127790361","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 silicon palimpsest: a programming model for electrically reconfigurable processors","authors":"Carl-Johannes Johnsen, D. Fox","doi":"10.1145/259965.260003","DOIUrl":"https://doi.org/10.1145/259965.260003","url":null,"abstract":"PALIMPSEST AND ERP For over 1000 years books were hand written with pen and ink on animal skins cured and cleaned of hair. This medium is durable, sometimes for thousands of ears, but expensive. There1 fore old boo s were not thrown away— they were erased. A palimpsest is a parchment manuscript which has been scraped clean of old ink and reused. An electrically reprogrammable gate array allows a logical structure built of semiconductor to be erased and the semiconductor to be reused by a second logical structure. A semiconductor palimpsest is a reusable gate array. Hardware engineers will notice that this serial reuse of resources is not different from any partitioning problem, even though it is a ~artitioning in time rather than partitioning or space. Software engineers will notice that user control of the semiconductor logical design will reduce the distinction between hardware and software.","PeriodicalId":391657,"journal":{"name":"FORTH '90 and '91","volume":"32 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":"123287598","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 application of Forth engines as coprocessors for the Macintosh computer","authors":"Albert Pierce, E. Pierce","doi":"10.1145/259965.259994","DOIUrl":"https://doi.org/10.1145/259965.259994","url":null,"abstract":"Implementations of the FORTH language in silicon provide a powerful platform for the development of intelligent coprocessor cards for use in multiprocessor control systems. The Macintosh II family of personal computers provides an equally powerful platform to host the development and application of FORTH coprocessor. This paper gives a brief description of the hardware and software advantages of combining high performance FORTH Engines with high performance desktop computing to implement multiproeessing systems.","PeriodicalId":391657,"journal":{"name":"FORTH '90 and '91","volume":"23 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":"123381247","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":"Common sense and real time executives","authors":"W. E. Drissel","doi":"10.1145/259965.259978","DOIUrl":"https://doi.org/10.1145/259965.259978","url":null,"abstract":"Commercial real-time operating systems are complex and feature-laden. Size and complexity require extensive adaptation and long learning times. For the most common real-life requirements, one can write a real-time executive in one afiernoon in any language. Figures 1 and 2 contrast two views of the world of real time systems that of the operating system salesman and that of the author. Commercial products must have every known feature: pre-emptive scheduler, native OS file access, time slicing, message passing, dynamic task creation, priorities, memory allocation, event queues and flags, semaphores, mailboxes, time and calendar functions, etc. Adaptation to your system is required to prevent the kernel from occupying all available memory. This means sysgening and mastering yards of documentation in which ordinary words are used with extraordinary precision and there are significant penalties for misunderstanding. Contempcmq products may have over 50 “system calls” each requiring register setups and/or a communication block with manifold parameters and options. Horror stories abound of hundreds of man-hours spent in study of manuals, adaptation and cusPermisaion h. copy without fee ail or part of this material is granted, provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by p+mniasion of the Association for Computing Machine~. To copy otherwise, or to repubhsh, rquires a fee and/or spec~lc perndasion. @1991 ACM 0-89791-462-7/90/0200-0001 $1.50 tomizing without reaching a stable, useful foundation for development of the real system. The principal gain we seek from the employment of a real time executive is multi-tasking. I suspect that this term is poorly understood even among programmers. If you have a uniprocessor, its program location counter can be at only one location at any time. Consequently, for some people multi-tasking is a deep mystery. Stripped to its simplest terms, multi-tasking is the ability of a computer program to do more than one thing at a time whe,n observed from outside the computer using human time scale, Consider, for example, a simple multi-tasking system which polls a telemetry link, prints alarms on a logging printer and updates a wallboard display. When the telemetry link doesn’t have input ready, the CPU must be made available to the part of the program which sends characters to the logger. When the printer is busy printing a line, the CPU must be available to update the wallboard. Now, to a human watching the system, all three things seem to be progressing at once even though in a microsecond time scale only one task is occupying the CPU. If this is the only reason you need a real time executive, you can write your own in one afternoon in any language.","PeriodicalId":391657,"journal":{"name":"FORTH '90 and '91","volume":"1 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":"123117317","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 fast method for finding an integer square root","authors":"Ken Lyons","doi":"10.1145/259965.259987","DOIUrl":"https://doi.org/10.1145/259965.259987","url":null,"abstract":"ABSTUCE 17u3 paper describes a fmt algorithm for obtaining the square root of an unsigned integer. Although the algorithm is not a new one, it is much fmter than the popular Newton’s method. The theo~ suppotiing the operation of the algorithm is qlaine~ along with a discussion of the hardware implementation in the Ham”s RTX2000 series processors. Included are examples and details of programming the RTX2000 to pe~orm the algon”thnr.","PeriodicalId":391657,"journal":{"name":"FORTH '90 and '91","volume":"68 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":"115897216","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 Forth-based hybrid neuron for neural nets","authors":"P. Frenger","doi":"10.1145/259965.260009","DOIUrl":"https://doi.org/10.1145/259965.260009","url":null,"abstract":"ABSTUCT: This paper describes progress made in creating a hybrid neuron for use in neural networks. Background information on the theory and practice of synthetic neurons and neural net computers to date is given first. Then the hybrid model, which contains both analog and digital computing elements, is developed. The functional basis of this faux-neuron is an 8-bit Forth processor with suitable analog and digital support circuitry. The necessary hardware, software and operational details of this model neuron is presented. Finally, future plans and some intended applications are reviewed.","PeriodicalId":391657,"journal":{"name":"FORTH '90 and '91","volume":"70 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":"132386299","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":"Challenges for future real-time operating systems","authors":"T. Hand","doi":"10.1145/259965.259984","DOIUrl":"https://doi.org/10.1145/259965.259984","url":null,"abstract":"Most of todayfs real-time operating systems are stripped down optimized versions of existing timesharing operating systems. They were not designed to meet the requirements of real-time systems. This paper discusses the type of real-time operating systems that will be needed in the future and some of the strategies that they may utilize.","PeriodicalId":391657,"journal":{"name":"FORTH '90 and '91","volume":"2 2 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":"116402385","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":"Embedded control as a path to Forth acceptance","authors":"P. Koopman","doi":"10.1145/259965.259986","DOIUrl":"https://doi.org/10.1145/259965.259986","url":null,"abstract":"This paper presents a strategy for promoting Forth acceptance based on a narrow focus of concentration on a target application area. The proposed goal is to make Forth the language of choice for embedded real time control systems, and thus establish afoothold in the general computing community.","PeriodicalId":391657,"journal":{"name":"FORTH '90 and '91","volume":"27 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":"125407829","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}