home *** CD-ROM | disk | FTP | other *** search
/ Dream 44 / Amiga_Dream_44.iso / RiscPc / programmation / scm4e2.arc / !RelNotes < prev    next >
Text File  |  1995-09-12  |  7KB  |  212 lines

  1. GNU Scheme 4e2        Summer Rehash (theres life in the source yet!)
  2. ----------------------------------------------------------------------
  3.  
  4. This is the (n'th) release of the GNU scheme interpreter.
  5. As ever read the provided documentation carefully ;-)
  6.  
  7. Things to note :
  8. if you keep you scheme source in !Scm.scm then
  9.     (load "<scm$dir>.foo")
  10.  
  11. will load !Scm.scm.foo - as you might expect.
  12.  
  13. Source is available from :
  14.     swiss-ftp.ai.mit.edu
  15.     /pub/users/jaffer
  16.  
  17. (depending on how they are feeling :)
  18. and it'll no doubt eventually arrive at 
  19.     ftp.cs.indiana.edu
  20.     /pub/scheme-repository
  21. [note this is the new home of the scheme repository]
  22. [note2 - the archimedes extension routines aren't yet in the source package,
  23.  if you desperately want to see how then email me ;)
  24. ]
  25.  
  26.  
  27. Running SCM
  28. -----------
  29. Three ways depending on how you like it :
  30.     o double click on the icon
  31.     o an alias 'scm' is setup to use
  32.     o an alias 'taskscm' runs scm in a taskwindow; however the first 
  33.       of the three ways is preferred as it enables the graphics 
  34.       routines to work - if you run in a taskwindow then they tend 
  35.       not to...(unfortunately)
  36.       (You'll need OS3 for the taskwindow alias to work of course)
  37.  
  38. It _might_ be nice if everything ran in a window; but having seen EdScheme
  39. doing this the speed really is depressing - I think that having it run under
  40. the WIMP with windows etc would add to the code something chronic and also
  41. make the performance suffer when doing graphics (mind you, configurable time
  42. slices might sort it)....opinions anyone?
  43.  
  44.  
  45.  
  46. Large Announcement
  47. ------------------
  48. Due to some diligent interference with the source we now have some really 
  49. fun primitives to play with - at last you can have graphics!
  50. See the docs in !ArcExtns. Also note that they arent what you might call
  51. spectacularly robust - ie they dont check what numbers you feed into them
  52. and merely try it anyway..
  53.  
  54. This should significantly improve the fun factor of Scheme for the masses.
  55. I would be EXTREMELY grateful to hear of any bugs present in the new routines
  56. - I'll fix anything thats probably brain damaged.
  57. SCM should load the new routines as I've set it up - the source is VERY self
  58. explanatory (the scheme support routines) - the C code should be present
  59. inside !Scm.c.archi.
  60.  
  61. I'll include any nice graphics routines that anyone writes with full credit.
  62. (so get doodling)
  63.  
  64.  
  65.  
  66. Features / Bugs / Warts
  67. -----------------------
  68. `alarm' has been removed. It behaves very badly on the RPC (worked okay on
  69. the A5000 but then thats life I guess...)
  70.  
  71. You may have problems using taskwindows and trying to interrupt loops -
  72. for example if you try
  73.     (define (f x)(f (- x 1)))        ; just to be awkward
  74.     (f 9)
  75.  
  76. and try hitting escape to interrupt it in a !Zap taskwindow - it sticks.
  77. However running it full screen mode it interrupts fine on escape - simply
  78. try defining
  79.     (define (user-interrupt)
  80.     (begin
  81.         (display "Ouch! you hit escape!)(newline)
  82.         (abort)))
  83.  
  84. before trying the above again and it'll display your new customised message
  85. when you hit escape...
  86.  
  87. One slightly annoying one - 
  88. If you fiddle the !Boot file to pass arguments to the alias `scm', then it
  89. doesn't load the file most of the time due to erroneous expansion of 
  90. aliases of paths; even if you don't it tends to do this.
  91. Slightly irksome but easily worked around - the `load' primitive copes
  92. with anything thrown at it generally, including paths / aliases and if you
  93. need something loaded at each invocation then add it into your ScmInit.
  94.  
  95. Second one :
  96. If you load a file and it is syntactically invalid (aherm) - for that read -
  97. you botched up and put in one too many / few parentheses :
  98. SCM complains and then if you go back and edit it and try to save it you get
  99. a file open error. This is because SCM doesn't shut open files - simply
  100. do a (system "shut") or alternatively similar from your favourite editor
  101. (!shut in vi does the trick).
  102. Other than that it seems to suffice as the fastest LISPy type language I've 
  103. found on the Arc...(see footnote #1)
  104.  
  105.  
  106. Bonuses
  107. -------
  108. Small items that are included in this little bundle that you wouldn't
  109. otherwise get :
  110.       !Scm.makefile
  111.       !Scm.scm.macros
  112.       !Scm.scm.arc_ext
  113.       !Scm.scm.arc_demos
  114.  
  115. Taking each in turn we have :
  116.  
  117.     o the makefile for building SCM - this is due to Aubrey not including
  118.       platform dependent makefiles with SCM any more - and as we dont
  119.       have a UNIX like shell (sigh) this is the easiest way to rebuild
  120.       it.
  121.  
  122.     o a miniscule demonstration of how to do macros. Nobody actually 
  123.       asked but I was interested as it's the only bit I hadn't figured
  124.       out how to do in SCM. Suck 'em and see.
  125.  
  126.     o the support code for the archi graphics routines - feel free to add
  127.       to this - I'll include _anything_ useful with credit.
  128.  
  129.     o the demonstration code using the new primitives provided. Again
  130.       I'll include _anything_ useful with credit.
  131.  
  132. Options compiled in -
  133. Floats, Bignums (try `(integer-expt 2 256)', 
  134. Ticks (I'm not convinced they do much useful but they are here for 
  135. inspection...), Arrays, Rev2 procedures, Regular expressions (regexs)
  136. (note that these are only slightly tested, but seem to go okay from what
  137. Ive tried so far---this was not a pleasant afternoon massaging this thru'..),
  138. Compiled closures (if you fancy peering at the source and adding new
  139. routines then this might be of interest..), IO-extensions.
  140.  
  141.  
  142. Please note that this binary is based upon the 4e2 version of the sources
  143. and not the 4e1 official release---i.e. your mileage may vary.
  144. If you feel worried then you should probably use 4e1 ;-)
  145. ]
  146.  
  147. Other toys for GNU Scheme
  148. -------------------------
  149. (NI) means not included in this bundle - (I) means it is.
  150.  
  151.  
  152. (NI) 
  153. There should be the Symbolic Algebra package JACAL available for use with
  154. GNU Scheme at the same place you got this from - if not email me and I'll
  155. send you it bundled up ready to go for the arc.
  156. (It actually installs moderately painlessly once you've fiddled the paths
  157. and a few redundant defines out)
  158. (note - it still works as of 4e2 :-)
  159.  
  160.  
  161. (NI) 
  162. WB - database package. Haven't tried. Needs Hobbit?
  163.  
  164.  
  165. (NI)
  166. Hobbit - Scheme->C compiler. May look at this soonish once I get graphics
  167. finished or once GCC 2.6.n comes out for RiscOS - until then it would
  168. slow it down to compile it with GCC (pity..).
  169.  
  170.  
  171. (NI)
  172. XSCM - interface to X - errm you are joking aren't you?
  173. Actually if someone could come up with a port of this it would be really 
  174. really spiffy and make writing desktop apps a doddle; the only problem is
  175. that it's horribly non-trivial. (could do Tcl/Tk instead?)
  176.  
  177.  
  178. (I)
  179. SLIB - Practically all of SLIB is present - the texi'ed docs are present in
  180. !Scm.slibdocs.* and downwards. Theres a lot of it. And a lot of it is
  181. rather err hirsute. If you are willing to persevere there are all manner of
  182. Good Things in here - an Object system for doing OOP with Scheme,
  183. a database system, syntax extensions, character plotting for simple text
  184. based graphics (in short - this makes Scheme have more functions than you
  185. can safely remember..).
  186.  
  187. (the list goes on and on....see the FAQs)
  188.  
  189.  
  190.  
  191.  
  192. Bug reports / comments / notice of anyone actually using it to :
  193. email
  194. ams@amonsul.demon.co.uk
  195.  
  196. snailmail
  197. (I'm ever optimistic someone might send me something novel / a postcard) :
  198.  
  199. 65 ellan hay rd,
  200. bradley stoke,
  201. bristol.
  202. bs12 0ha.
  203.  
  204. happy scheming,
  205.  
  206. al slater.
  207. 3/8/95
  208.  
  209. (footnote #1 -- This was true until Pete Burwood ported GNU CLISP.
  210. It goes faster. (It also has a sensible object system. Yummy. It should
  211. be available from whereever you got this...))