home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / files / program / funnel / readme.st < prev    next >
Encoding:
Text File  |  1993-10-23  |  3.6 KB  |  63 lines

  1. Compiled by: Christopher Browne
  2. cbbrowne@csi.uottawa.ca
  3. aa454@freenet.carleton.ca
  4. Soon to be on FidoNet through the National Capital Atari Users Group BBS 
  5. too.                                                                     
  6.  
  7. FunnelWeb - A ``literate programming'' tool.  The concept of ``literate  
  8. programming'' was created by Donald Knuth in the process of developing   
  9. the TeX typesetting system.                                              
  10.  
  11. The general idea is to bring program and documentation together, and to  
  12. allow the documentation process to drive the creation of the program,    
  13. rather than for it to merely be an afterthought.  In the process, bugs   
  14. can often be avoided rather than merely found after the fact.  It also   
  15. means that you can print out rather attractive program listings.         
  16.  
  17. FunnelWeb takes a file that combines documentation and program, and      
  18. generates:                                                               
  19.   a) Source Code, ready to be compiled                                   
  20.   b) Documentation, ready to be typeset (normally using TeX)             
  21.  
  22. Unlike other versions of Web, this one is language independent.  TeX   
  23. was written using a version of Web that is rather Pascal specific.     
  24. There also exists versions called CWeb (guess!), FWeb (Fortran, with a 
  25. C variant), and APLWeb.                                                
  26.  
  27. This independence is attractive because it doesn't make all that much  
  28. sense to need to develop a new version of Web every time a new         
  29. programming language comes along, and because many programming         
  30. projects may involve multiple languages.  For instance, for my thesis, 
  31. I wrote a set of programs in C and Perl, with some little bits of      
  32. Matlab and C++.  It would have been nice to have FunnelWeb to help     
  33. coordinate and document all of this stuff.  To need four different     
  34. versions would have been rather silly.                                 
  35.  
  36. There's extensive typesettable documentation, including:                 
  37. a) A Users manual (in the directory ./userman)                         
  38. Everyone is recommended to print out the Users manual (or at least     
  39. about the first 3 chapters of it).                                     
  40.  
  41. Chapter 1: Tutorial Introduction (Highly useful)                       
  42. Chapter 2: FunnelWeb Hints (A must-have chapter)                       
  43. Chapter 3: FunnelWeb Definition (Useful Reference; more detail than    
  44. some may need or want, though.  You probably want SOME of this         
  45. chapter.)                                                              
  46. Chapter 4: Installation (You may want to read this online; once        
  47. installed, it's not terribly useful.  I didn't bother printing it.)    
  48. Chapter 5: FunnelWeb Administration (On "contractual" issues; contains   
  49. info. on the GNU license, suggested donation, suggests feedback/comments 
  50. on how you like FunnelWeb.)                                              
  51. Glossary/Bibliography                                                    
  52.  
  53. b) A "Hackers" manual (in the directory ./hackman)                     
  54.                                                                        
  55. People interested in extending or modifying the FunnelWeb system will  
  56. be interested in the "Hackers" manual, or those interested in the      
  57. finest details of how FunnelWeb works.  (I don't care, and haven't     
  58. bothered to even look at this document.)                               
  59.   
  60. Compiled using GCC 2.3.3 and the MiNT libraries, Patchlevel 30.  It      
  61. should work under both TOS and MiNT; I've only tested it under TOS.      
  62.  
  63.