********** Topic 1 Sat Jul 18, 1987 D.RUFFER at 04:00 EDT Sub: Basics of the Forth Language This topic is to provide help to beginning Forth programmers and to anyone interested in the Forth language 26 message(s) total ********** ---------- Category 2, Topic 1 Message 1 Tue Aug 25, 1987 D.FLORY at 03:18 EDT Really glad to see Fig here, I was a fascinated novice in Forth on the Atari 800 and have several Forth's for the ST. Perhaps now I can learn to use them. Welcome to GEnie. ---------- Category 2, Topic 1 Message 2 Sat Aug 29, 1987 D.RUFFER at 20:27 EDT Welcome to you Dave! Sorry it's been so long replying to your message. We are just getting used to this system ourselves, and getting around to everyone has been, well let's say fun. I hope we will respond quicker in the future. You say you have tried Forth on an ATARI 800, and have several for the ST. Does that mean you work on an ST? We have a few files for the ATARI and ST on line already, search the library with ATARI or ATARI ST as keywords. Unfortunately, we haven't found someone who can try these files for us, so we can not tell you much about them. If your willing, please try them at let us know your results. If, however, you don't feel comfortable enough with Forth to experiment, hang in there. We hope to have more users on line soon, and I know there are many who are using ATARI machines. If you have a question with Forth in general, feel free to ask. If it concerns ATARI specific questions, I'm sorry I can not help you much. What did you think of Forth, and why aren't you using it? ---------- Category 2, Topic 1 Message 3 Mon Aug 31, 1987 MARTY.A [Atari Marty] at 03:22 EDT Hi! marty Albert here, SysOp from the Atari 8 bit RT (ATARI8). I know just enough about FORTH to make myself dangerous, but the local Atari Club here in St. Louis has recently gotten VERY I'll try to get some names, addresses, etc. for you and info on what they're doing with FORTH. One of the big supporters here is Stephen Stubbs, so you may know of him. He's working on an F83 version for the Atari 8 bits right now. Later! ...Marty... ---------- Category 2, Topic 1 Message 4 Tue Sep 01, 1987 S.W.SQUIRES [scott] at 01:53 EDT Glad to here they're getting interested in Forth. They may want to check into starting a FIG Chapter. Check out the FIG chapter area for more info. You might try a search for ATARI in the libraries. Most of this is for the ST but I think there were a couple of things for 8 bit machines. The Atari games group did most of their prototyping code in Forth. After working out the concepts and structure they rewrote it in assembly code for ultimate speed. Some of them gave a talk at the Forth Convention a rs back. If you or someone in your Atari club has any questions about Forth know. -scott ---------- Category 2, Topic 1 Message 6 Sun Sep 06, 1987 D.FLORY at 01:52 EDT D. Ruffer - I started being interested in Forth using the Atari 'coinops' Forth for the Atari 800 that is still being sold by Antic Magazine, with my name and old phone no. and address on the disk, in a tutorial I tried to put together as I learned to use some of the commands. This in spite of never asking me if that was ok and a couple of requests that they delete me from the disk. Oh well, I thought the language was much more human being oriented than most all the others I have looked at, i.e. Pascal, C, etc. These all seem to have been disigned for expert typists (lots of multiple key strokes and punctuation required in the syntax) and ease of grading by programming instructors, rather than ease of/speed of programming real life software. I never got to the point where I was able to write anything useful myself, as I got sidetracked in a divorce and then addicted to telecommunications. I now assist on the Atari RT, sysop for Atari's BBS, The San Jose Police Department's Crimebytes BBS and scan BBSes all over the country. With full time employment this leaves not much if any time for actually learning to program, but I will try to try out the Atari files. I have Dragon Forth, MT Forth, and one or two others, for the Atari ST. ---------- Category 2, Topic 1 Message 7 Sun Sep 06, 1987 GARY-S [Gary] at 09:08 EDT D.Flory, u have sampled several Atari specific Forth kernels why don't you ew of your impressios without actually advocating one over ---------- Category 2, Topic 1 Message 8 Sun Sep 06, 1987 D.FLORY at 23:50 EDT I have to admit that I haven't really gotten a chance to use any of them. I downloaded the public domain Forth from the library and found it to be the one originated by the San Leandro ACE club, which has been around since 1985 late or '87 early. Can't rememer now the name of the other one I downloaded last night, but it was the big one 160K and looks like the most complete implementation I have seen yet. I'll have to check the library for the name but it had implementation of modem words for writing term/bbs programs as well as Xmodem words, which really helps if I get around to trying to write a term program that does what I want. Both systems do indeed 'work' in the sense that they boot up and the standard words seem to do what they should in a 5 minute test, i.e. words prints out the vocabulary, rot, .s, " etc. work in the expected way. I'm not sure if I am qualified to make a real evaluation. ---------- Category 2, Topic 1 Message 9 Sun Sep 06, 1987 D.FLORY at 23:58 EDT The large file was Forthmacs by Bradley Software. It appears to have hooks to all the stuff in the ST, i.e. VDI, AES, GEM etc. If anyone it the San Jose area would like to make a comparison of about 5 Forth implementations I would gglad to loan the ones I have for that purpose. I have Dragon Forth, H & D forth MT Forth, Forthmacs and the SLCC PD Forth. ---------- Category 2, Topic 1 Message 10 Mon Sep 07, 1987 GARY-S [Gary] at 08:05 EDT If any of your files are public domain, please upload them to the library. Don't worry about where or what so much. We preview all files, and will simply archive any that are duplicates, etc. Just a reminder - the library is off to a good start, but NEEDS everyone's input so it will grow into something everyone will enjoy. If you question the quality or usefulness, just remeber the adage about one person's trash being another's treasure. FINAL comment ( this time ). UPLOADS are FREE TIME. Isn't that great ? You are not charged for being nice and sharing resources. ---------- Category 2, Topic 1 Message 11 Mon Sep 07, 1987 J.KING at 11:41 CDT I am a Forth programmer on the Amiga and hopefully can help any starters on that system . I have found the best way to learn a new dialect of Forth (I moved up from the TI99/4A) is to reenter code or enter code from the different texts on the market. By finding the incompatabilities in the code , I learn my system. By correcting the incompatabilities , I hone my debugging skills. However this means most of my initial code is really someone elses. I would love to upload it but you should have the permission of the authors. I feel this is something everybody does on their machine to learn. It sure would be an interesting area to compare the same code on different machines and see the differences in implementation. -=Jack=- ---------- Category 2, Topic 1 Message 12 Mon Sep 07, 1987 P.WAYNE at 15:48 EDT Help needed! I'm just trying to get started in FORTH -- have read Starting Forth a few times. I downloaded the F83V213.COM public domain Forth from the Bulletin Board (I have a PC-compatible) and can't do anything with it. Actually, I can define a few words, but I can't figure out how to edit with it. There are some other programs in the archived file as well. Can anyone help a little? I'd like to play a little in the public domain before purchasing a commercial system. Which brings up another issue -- anyone have any suggestions on a commercially available FORTH? Also, I do a lot of database work, and have been using MUMPS in the past few years. Does anyone know of a commercially available or public domain B-Tree system for Forth? Thanks for any suggestions. -- Peter Wayne ---------- Category 2, Topic 1 Message 13 Mon Sep 07, 1987 S.W.SQUIRES [scott] at 17:55 EDT Files for more info on F83- Number: 523 Name: CARDF83.TXT Bytes: 5040 Library: 3 A quick reference card for Laxen / Perry F83 forth. It is designed for the KayPro2 key board but good for all. Number: 537 Name: F83-20.MAN Bytes: 35280 Library: 3 F83 Users Manual for F83 Version 2.0 written by Michael Perry and Henry Laxen. This manual was compiled by J. G. Modrow for the SVCS FORTH SIG June 1984 Edited by John A. Peters July 85 Rev. 2.1.x RNEL83.ARC Bytes: 41580 Library: 3 for IBM PC -- 8086/8088 Forth 83 Model F83 2.1.0 by Gene Czarcinski, 3204 Gemstone Court, Oakton, VA 22124, 703-273-0457 "This document is a "notebook" and system manual for the kernel vocabulary of the F83 implementation of FORTH-83 (base version 2.1.0 dated 01Jun84). Last Updated On: April 4, 1986 Number: 247 Name: README80.210 Bytes: 25200 Library: 4 Text file from John Peters with good instructions for using Laxen and Perry's F83 version 2.1.0. Recommended reading ! There are also a number of F83 editors in the file directory, just do a search for EDITOR. -scott ( The system comes with a simple editor from what I remember. ) ---------- Category 2, Topic 1 Message 14 Mon Sep 07, 1987 GARY-S [Gary] at 17:56 EDT Jack, If the code is public domain, then PLEASE do upload it. I can appreciate your desire to obtain original author permission, but if that may prove a problem (and again ) the code is definitely public domain then put it up. If the original author objects, we will remove it from the libraries. Welcome aboard, Jack. Gary ---------- Category 2, Topic 1 Message 15 Fri Sep 11, 1987 S.W.SQUIRES [scott] at 03:08 EDT Peter Wayne, Binary trees using Forth are described in the book "FORTH Applications" by S.D. Roberts, published by Elcomp Publishing. This includes descriptions of the different tree types with diagrams. Forth examples are also provided. This book covers other Forth applications but the programming style is poor. I think Mountain View Press carries this book. (800-321-4103 or in Calif. 415- 961-4103) Another reference is an article in Forth Dimensions Vol.2,#4 "Balanced Tree Deletion in FASL" by Douglas Currie, Jr. There are quite a number of database Forth programs. Both public domain and commercial. I can dig up more references if you want. -scott ---------- Category 2, Topic 1 Message 16 Fri Sep 11, 1987 P.WAYNE at 21:16 EDT Thank you. I'm beginning to play around with F83; I also discovered the vendor directory in the library and realize now that many commercial systems have database capabilities. I have some homework to do, now. Appreciate your help. - Peter ---------- Category 2, Topic 1 Message 17 Sat Sep 12, 1987 LMORGENSTERN at 07:07 PDT A B-TREE is not the same as a Binary tree! See Wirth's text Data + Algorithms = Programs. I asked about B-trees on another bulletin board some time ago and found that there is no published algorithm. I wrote one myself, but never completed it. The tricky part is deletion of a record. I will put what I have in the library in a few days, after I have a chance to rewrite the documentation so it is readable by others. ---------- Category 2, Topic 1 Message 18 Sat Sep 12, 1987 GARY-S [Gary] at 12:14 EDT I'm looking forward to the code going into the library, Leonard. Thanks for the advisory on B-Tree versus Binary Tree. Your upload should further clear up a common misunderstamding. Excuse the brief editorial comment, but I want to remind everyone 300 and 1200 baud uploads are free time, so there's no reason not to share. Your participation is what makes this RoundTable go. We definitely do appreciate it, too. Gary [Note. The code was so incomplete it wasn't worth uploading. lmorgenstern 12/27/87] ---------- Category 2, Topic 1 Message 20 Sat Sep 12, 1987 LMORGENSTERN at 15:28 PDT B-trees were named after their inventor, R. Bayer. (They are not the same as binary trees). They are ideal for disk-based files, as they reduce disk action to a practical minumum. For example, if you are using Forth blocks to store records of 48 bytes each, there could be 20 records on a block; 8420 records could be packed into 421 blocks, and any one could be located with 3 or fewer disk accesses! However, you might need many searches to find it, (30 average, 60 maximum with linear search), so other kinds of tree are better for memory- based systems. B-trees work as follows: On each block, records are sorted in order, and stored by the scheme PRPRPRP..etc., where R is a record and P a pointer. In the example, P would be a block number. The number of pointers always exceeds the number of records by 1. At the start, records are added one at a time to a single block (the root block), using a standard search algorithm, such as linear or binary. Linear search is adequate for 20 records. At this stage, all the pointers are NIL, that is, they point to a non-existent block. When the block is full, it is split into two. The middle record of the original block is removed and put into another block, which becomes the new root. The left pointer of this record is set to the lower of the split blocks, and the right to the higher. Each time a block becomes full, the same procedure is followed, the middle item being added to the root. When the root becomes full, it is split, and a new root is formed, adding another level to the tree. With B-trees, new records are always added at the leaves, and new levels at the root. In practice, blocks are not full in a dynamic tree (one to which records are being added and deleted), the average density being about 75%. A static tree can be packed to nearly 100%. To find a record, the program searches the root block. If the record is not found, then the left pointer of the last comparison is used to access another block. This continues until the left pointer is NIL, and the desired record does not exist. I have left a lot out of this brief account. The theory is discussed in Nicholas Wirth's text, Algorithms + Data Structures = Programs. [Note: Minor correction made. lmorgenstern 12/27/87] ---------- Category 2, Topic 1 Message 21 Sun Sep 13, 1987 P.WAYNE at 09:32 EDT HELP! I've downloaded F83 v. 2.1.3, and also the extra help files of tutorial.bqk and help.bqk. I've been going through the tutorial and Starting Forth. I can't get the editor to work properly. I have a Sperry IT (AT- compatible) with a monochrome card and monitor. When I try type p in the editor, I get a line of graphic symbols on the top line of the edited block. The sequence I have followed is: 10 create-file myfile.blk ok 1 edit Enter identification: peter At this point, the screen clears and an empty block appears on the screen. The cursor is then at the bottom. If I type p I get the graphics garbage, including my name in text near the end. If i type done then the block is saved, including the garbage. Thanks in advance for your help, Forth gurus. ---------- Category 2, Topic 1 Message 22 Sun Sep 13, 1987 D.RUFFER [Dennis] at 16:41 EDT Peter, you fell into something I really hadn't tried before. Another one of those undocumented "features" of Forth, that took me back for a moment, because after a while, it is just somethig you take for granted. The feature you used (but didn't want) was the fact that the editor P uses whatever is in the "insert buffer" if no text is included on the line. Therefore when you typed: P it inserted the text in the insert buffer, which since you had not inserted any text yet, was full of garbage. It's interresting that your name was at the end, so was mine when I tried it. Must be another undocumented "feature" I am not aware of. You learn something new every day :- ) if you type P you would insert a blank line. Note that it depends on how P is implemented on wether 1 or 2 spaces are required before the return, but 2 always works. Be sure to set the correct line number before using P, by typing n T (where n is the desired line number). You might also try the word n NEW in the editor. I allows you to enter text directly on line n and the following lines. It returns when you enter a blank line. Hope this helps. DaR ---------- Category 2, Topic 1 Message 23 Wed Sep 16, 1987 P.WAYNE at 21:14 EDT Thanks, I've got the editor figured out now (sort of!) and can use it. I assume that the insert buffer overlaps with the buffer set aside for entering the user id or name on entering the editor, which is why my name appeared when I just typed P. ---------- Category 2, Topic 1 Message 24 Mon Sep 21, 1987 P.WAYNE at 21:36 EDT I've got F83 - v.2.1.3 from John Peters off the software library, and have learned how to use the "Starting Forth" editor in it. But I've just discovered that there's a full-screen editor in there as well. (the word is FSS) However, I can't figure out how to use it. I seem to be missing a help file (FS.HLP). There are a number of editors in the software bulletin board. Is one of them the FSS? Thanks for your help. ---------- Category 2, Topic 1 Message 25 Wed Sep 23, 1987 D.RUFFER [Dennis] at 20:08 EDT Peter, I too am confused on how to work John's full screen editor. I've never seen it before, and I can't find anything that looks like the help file for it. John Peters has not joined us here yet, so I think you may be out of luck on using that file. But do not dispair, we happen to have a lot of full screen editors in library 5 System Environment Extensions. You can find a full list by searching the library for the EDITOR keyword. A few selected ones follow: Library: 5 - System Environment Extentions No. File Name Type Address YYMMDD Bytes Access Lib ---- ------------------------ - ------------ ------ ------- ------ --- 588 ED-IBM.ARC X LINDLEY.ECFB 870831 7560 9 5 Desc: Full screen editor in F83. 507 ZEDIT.BQK X PETERS.ECFB 870808 12600 1 5 Desc: Full Screen Editor, REV 1.1.3 500 VED86.BQK X PETERS.ECFB 870808 10080 1 5 Desc: Full screen editor in forth-83 487 NED.BQK X NYE.ECFB 870808 8820 0 5 Desc: A fast, full-screen editor 480 FSED-30.BQK X CZARCINSKI.E 870808 17640 0 5 Desc: FSED: F83-IBMPC Full Screen Editor 76 ZEDIT.BQK X WITT.ECFB 870723 12600 2 5 Desc: Full screen editor for L&P I don't really know which of these is best for you. Editors usually fall somewhere close to religion, and they depend on personal preferences. I, like so many other Forth programmers, have written my own, that I know and love. Look at the description of these files and select the one that best fills your needs. I'm really sorry for the confusion, but as soon as John makes his appearence we can all ask him to explain. DaR ---------- Category 2, Topic 1 Message 26 Wed Nov 25, 1987 JGOTWALS at 20:14 EST I don't know if the following belongs in this catagory, but maybe someone will move it to the right place! Ruckus about GOTOs in Communications of the ACM In the Communications of the ACM Forum for March, May, July and September 1987 there has been emotional and intense debate about the use of GOTOs in programming code. Indeed, God himself in the form of Herr Doktor Professor Edsger W. Dijkstra wrote a very caustic letter which included his solution to the problem stated by the first letter on this topic. The latest issue of the Communications (Nov 87) includes additional letters and "Technical Correspondence" (pages 907-8, 980-5) on the GOTO topic. The last monograph is titled "A FORTH SOLUTION" by Gary Nemeth. Mr. Nemeth's brief is concise and to the point. He presents a Forth solution to the original problem which is dramatically simpler than any of the other revelations! Please be sure and take a look at the November 87 Communications of the ACM. You'll be glad you did. ----------