home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / CLIPPER / MISC / FPC225_2.ZIP / F-PCDOC.ZIP / GREETING.DOC < prev    next >
Encoding:
Text File  |  1988-06-01  |  11.8 KB  |  283 lines

  1. GREETINGS TO AUSTRALIAN FORTH SYMPOSIUM
  2.  
  3.  
  4. It was a suprise to us that this F-PC system will be first released
  5. in Australia.  As Bob Reiling demanded that we give him a copy to 
  6. take to the Symposium, we are just as happy to comply and present 
  7. it as a gift helping celebrating your 200th Anniversary.  As you 
  8. read on, you will find that the F-PC Working Group here still has
  9. lots of work unfinished, especially on the Systems Manual.  We 
  10. hope that many of you will find this project worthy of your time 
  11. and effort that you will also contribute to it.  We will be very 
  12. pleased if you will also try to organized a working group to 
  13. exercise this system and generate some documentation to be 
  14. collected and redistributed to help users. 
  15.  
  16.  
  17. Representing the F-PC Working Group:
  18.  
  19.     Charles Curley 
  20.     Jerry Modrow 
  21.     Robert L. Smith 
  22.     C. H. Ting
  23.     Tom Zimmer
  24.  
  25. San Jose, California,  May 10, 1988 
  26.  
  27.  
  28. 1.  HOW DID WE GET HERE? 
  29.  
  30.  
  31.  
  32. This F-PC system started out as an experiment to see if a
  33. development environment could be created that would be as 
  34. interactive as a BLOCK Forth system, with as many of the same 
  35. tools as possible. 
  36.  
  37. Over the past several years, the programming community for other 
  38. languages have changed somewhat.  Several years ago, Forth had 
  39. enormous advantages over Fortran, Pascal, and C in terms of 
  40. development interactivity.  The Forth development cycle was very 
  41. short, and new code modules could be put together for 
  42. experimentation very quickly.  As the years went by, the 
  43. Programmers for these other languages began to realize there had 
  44. to be something better than their traditional compile debug cycle, 
  45. i.e. 
  46.  
  47.           ----> Enter the editor from operating system. 
  48.           | |   Make changes with LINE editor. 
  49.           | |   Leave editor back to operating system. 
  50.           | |   Start Compiler on source module. 
  51.           | |   WAIT A LONG TIME FOR THE COMPILER..... 
  52.           | |   Discover an error. 
  53.           | | 
  54.           | --< LOOP back up until all compile errors are found. 
  55.           | 
  56.           |     Now start Linker on all modules. 
  57.           |     WAIT A LONG TIME FOR THE LINKER..... 
  58.           |     Discover Link error. 
  59.           ----< Go back to beginning and try again. 
  60.  
  61. The above loop could be measured in DAYS, and was normally at 
  62. least 30 minutes long. 
  63.  
  64. Forth did away with much of the above.  The editor was integrated 
  65. into the Forth/Operating system environment, so the time to start 
  66. up or leave the editor was zero.  The compiler was incremental, so 
  67. programs could be debugged a piece at a time, and there was no 
  68. linker at all.  This naturally resulted in a productivity 
  69. improvement and a significant reduction in programmer frustration. 
  70.  
  71. As the years went by, other programmers noticed how much easier 
  72. BASIC was to use than other compiled languages, since it had a 
  73. built in editor, and didn't have to compile at all. Of course it 
  74. was SO SLOW.., but then along came TURBO PASCAL. It created fast 
  75. compiled code, had an integrated SCREEN editor, and compiled like 
  76. BLAZES. 
  77.  
  78. We now start to see some similarities to Forth, a much superior 
  79. development environment, where the development iteration cycle has 
  80. been reduced to a very small number.  But Turbo Pascal still 
  81. lacked Forth interactivity, and ability to incrementally debug 
  82. programs as they are developed. 
  83.  
  84. Finally along came the Macintosh and Light Speed Pascal.  It had 
  85. evolved from Mac Pascal, an interactive and pseudo interpreted 
  86. Pascal for the Mac.  LSP (Light Speed Pascal) had windows, a 
  87. built-in screen editor, compiled modules, a very fast compiler and 
  88. a light speed linker, with the ability to test small segments of 
  89. code, and two built-in debuggers: one for Pascal, and one for 
  90. Assembly.  The only problem was that is was PASCAL not Forth.  
  91. However, there are distinct advantages of sequential files.  Here 
  92. is a partial list: 
  93.  
  94.                 Source files are smaller, so backing or 
  95.                 transporting file is easier. 
  96.  
  97.                 Sequential source files can be manipulated 
  98.                 or viewed by programs that other people 
  99.                 have, not just by the forth block editor. 
  100.  
  101.                 There is no artificial limitation placed on 
  102.                 definition size.  In the block based system 
  103.                 We are always giving up line zero for a 
  104.                 comment line, and line 15 for nudge space. 
  105.  
  106.                 There is no artificial limit placed on the 
  107.                 amount of comments I can place with the 
  108.                 source.  Again, compared to blocks with 
  109.                 shadows, 16 lines of shadows was either too 
  110.                 much or too little. 
  111.  
  112.                 Sequential files provide a much more 
  113.                 natural interface to the operating system. 
  114.  
  115.                 It allows plenty of room for inserting a new 
  116.                 definition in the middle of a source file, 
  117.                 without having to drop out of the editor, 
  118.                 and use MORE and CONVEY to move things 
  119.                 around, all we have to do is press <enter>. 
  120.  
  121. Hmm.  Wonder what Forth would be like with Sequential files?  
  122. Well, it has arrived. 
  123.  
  124. So here we are at the end (or beginning) of a long road, looking 
  125. back at what we have done, and looking forward to the future.  
  126. Blocks were certainly very useful for forcing us to modularize our 
  127. code.  That was a big advantage while we were learning Forth.  
  128. Maybe newcomers to Forth should be required to learn the system on 
  129. a BLOCK version, but now that we have come of age, we should know 
  130. where to modularize our code better than the computer. 
  131.  
  132.  
  133.  
  134. 2.   THE F-PC SYSTEM
  135.  
  136.  
  137.  
  138. F-PC is a greatly enhanced version of Forth derived from the F83
  139. model for the IBM-PC, XT, or AT by Henry Laxen and Michael Perry. 
  140. A major step forward was the F83Y system produced by Wil Baden, 
  141. who introduced separated heads and many other features.  Many 
  142. people contributed to it, includine Robert L. Smith, Charles 
  143. Curley, and Jerry Modrow, but the major work was done by Tom 
  144. Zimmer.  Tom was able to totally confuse the Forth community by 
  145. releasing many versions of his Forth in the last year, progressing 
  146. from DH, HF, PF, SF, FF, and XF, updating his latest version on a 
  147. weekly basis.  As his efforts to modify it have tapered off 
  148. somewhat in recent months, it is reasonable to assume that the 
  149. system have matured and stabilized to the point that it warrants a 
  150. serious effort to release it for general usage in the Forth 
  151. community. 
  152.  
  153. In order to release this system for public usage, it is necessary 
  154. to take it out of Tom's hands so that no more new features are to 
  155. be added to the system, except minor fixes of bugs as they are 
  156. discovered.  It is also necessary to provide better and more 
  157. complete documentation on the system so that a Forth programmer 
  158. can pick it up and use the system productively on his own, without 
  159. having to have access to Tom for support and consultation.  The 
  160. Working Group is organized to serve two very specific purposes: to 
  161. do beta testing on the system to flush out as many bugs as 
  162. possible in a two to three months period before the formal 
  163. releasing, and to provide user and system documentation so that 
  164. both application and system Forth programmers can use the system 
  165. in isolated (in the Forth sense) geographic locations. 
  166.  
  167. This system was tentatively named F-PC to emphasize the following
  168. attributes:  
  169.  
  170.      1.  It will be released in 1988, encapsulating concepts and
  171.          practices evolved to this point of time.
  172.  
  173.      2.  It is a derivative work of F83, both in spirit and 
  174.          substance, as a public domain Forth system to encourage
  175.          experimentation and commercial product development using 
  176.          Forth.
  177.  
  178.      3.  It is specifically designed around the segmented 
  179.          architecture of Intel 8088 series of CPU's in the MS-DOS 
  180.          environment.
  181.  
  182. F-PC is NOT meant to support any standard other than Forth 83-
  183. Standard.  If the concepts and techniques used in F-PC had any
  184. influence on the standard currently being formulated by the ANSI 
  185. Forth Standards Committee, it would be totally accidental. 
  186.  
  187.  
  188.  
  189. 3.   F-PC WORKING GROUP
  190.  
  191.  
  192.  
  193. The Working Group was very loosely organized in the Silicon Valley 
  194. FIG Chapter, during the chapter meeting at April 23, 1988.  All 
  195. interested people are invited to join and contribute.  People not 
  196. living in the San Francisco Bay Area may use the GEnie system to 
  197. participate.  The goal is to release F-PC in July.  The Silicon
  198. Valley FIG Chapter kindly permitted the Working Group to use the 
  199. morning FORML sessions in May and June to discuss and work on F-PC.
  200. Dr. C. H. Ting will serve as the focus of this Group to coordinate 
  201. the efforts in documentation.  Bug reports, suggestions, and 
  202. recommendation will be collected and forwarded to Tom Zimmer for
  203. consideration.  
  204.  
  205. In the May 28 FORML session, we will discuss the system aspects of 
  206. F-PC, concentrating in the KERNEL files.  In the June 25 FORML
  207. session, we will discuss utilities.  If things worked out by 
  208. themselves, we should have F-PC Version 1.0 to be distributed in
  209. the July 23 FIG meeting, hopefully with documentation. 
  210.  
  211. To participate in the Working Group, you should get a copy of 
  212. Tom's system.  XF is the closest to F-PC, but FF or HF are adequate
  213. for familiarization and testing.  F-PC is available from the SVFIG
  214. Disk Librarian, Dave Jaccuzi, (408)              , or on GEnie 
  215. network.  We need to produce two documents: a User's Manual and a 
  216. Systems Manual.  The User's Manual contains the installation and 
  217. booting procedures, editing, loading, debugging and top level 
  218. utility words for general programming practices.  The Systems 
  219. Manual will deal with the problems on memory segmentation, file 
  220. access, DOS interface, floating point, and other advanced topics.  
  221. There are already a great amount of documentation included in the 
  222. F-PC system.  What we have to do is to go through all the source
  223. and text files and consolidate the information into a form co-
  224. readable by the machine and the programmer. 
  225.  
  226.  
  227.  
  228. 4.   DOCUMENTATION TASKS 
  229.  
  230.  
  231.  
  232. Dr. Ting will try to organize the existing tutorial materials to 
  233. form the User's Manual.  The preliminary version will be 
  234. distributed in the May FORML meeting.  Members of the Working 
  235. Group should pick one or more source/help files of your own 
  236. interests and try to build a section for either the User's Manual 
  237. or the Systems Manual.  Currently, the help files are mostly 
  238. glossaries of words defined in the source file.  They should be 
  239. expanded to include the following information: 
  240.  
  241.      1.   Description of top level utility words.
  242.  
  243.      2.   Examples of their usage or simple test code. 
  244.  
  245.      3.   Implementation specifics, restrictions, and other 
  246.           information.
  247.  
  248.      4.   Glossary. 
  249.  
  250. F-PC was fairly well modularized into small files, which can be
  251. understood and documented easily.  We hope that the expanded help 
  252. files can be collected and organized into a systems manual with 
  253. minimal editorial efforts.  Nevertheless, documentation is still a 
  254. very formidable task because there are currently about 1990 words 
  255. defined in F-PC, making it one of the biggest Forth systems.
  256.  
  257. Contributions in listings or on floppy disks for the F-PC
  258. documentation should be sent to Dr. Ting, 156 14th Ave., San 
  259. Mateo, CA  94402, (415) 571-7639,  for including in the manuals.   
  260.  
  261.  
  262.  
  263. CONTENTS
  264.  
  265.  
  266. I.   Introduction                  INTROD.DOC 
  267.  
  268. 2.   F83 Compatibility             COMPATIB.DOC 
  269.  
  270. 3.   Tools                         TOOLS.DOC 
  271.  
  272. 4.   SED, the Editor               EDITOR.DOC 
  273.  
  274. 5.   Sequential Files              SEQFILES.DOC 
  275.  
  276. 6.   Extended Memory               MEMORY.DOC 
  277.  
  278. 7.   DOS Interface                 DOSINTFC.DOC 
  279.  
  280. 8.   PASM, the F-PC Assembler      ASSEMBLY.DOC
  281.  
  282. 9.   Miscellaneous Utilities       MISCELL.DOC 
  283.