home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ARM Club 3
/
TheARMClub_PDCD3.iso
/
hensa
/
unix
/
scheme_1
/
!RelNotes
< prev
next >
Wrap
Text File
|
1994-08-03
|
7KB
|
197 lines
GNU Scheme 4e1
--------------
This is the (fourth?) release of the GNU scheme interpreter.
As ever read the provided documentation carefully ;-)
Things to note :
if you keep you scheme source in !Scm.scm then
(load "<scm$dir>.foo")
will load !Scm.scm.foo - as you might expect.
Source is available from :
altdorf.ai.mit.edu
/pub/jaffer
/pub/scm
(depending on how they are feeling :)
and it'll no doubt eventually arrive at
ftp.cs.indiana.edu
/pub/scheme-repository
[note this is the new home of the scheme repository]
[note2 - the archimedes extension routines aren't yet in the source package,
if you desperately want to see how then email me ;)
]
Running SCM
-----------
Three ways depending on how you like it :
o double click on the icon
o an alias 'scm' is setup to use
o an alias 'taskscm' runs scm in a taskwindow; however the first
of the three ways is preferred as it enables the graphics
routines to work - if you run in a taskwindow then they tend
not to...(unfortunately)
(You'll need OS3 for the taskwindow alias to work of course)
It _might_ be nice if everything ran in a window; but having seen EdScheme
doing this the speed really is depressing - I think that having it run under
the WIMP with windows etc would add to the code something chronic and also
make the performance suffer when doing graphics (mind you, configurable time
slices might sort it)....opinions anyone?
Large Announcement
------------------
Due to some diligent interference with the source we now have some really
fun primitives to play with - at last you can have graphics!
See the docs in !ArcExtns, please note that its still in a somewhat wild
state due to the fact I wanted to have something for folks to play with
uploaded before I trundle off home at the end of term - I only ever check
my mail every week at best thereafter, so expect the odd update to happen;
particularly some demo code of using the new graphics routines
(they do work - honest ;-) as well as turtle graphics written using them
(this should take an afternoon to hack up I'm guessing...)
This should significantly improve the fun factor of Scheme for the masses.
I would be EXTREMELY grateful to hear of any bugs present in the new routines
- I'll fix anything thats probably brain damaged.
SCM should load the new routines as I've set it up - the source is VERY self
explanatory (the scheme support routines) - the C interface is not yet
available as I'm not quite done fiddling it yet.
(Few more routines to add..)
I'll include any nice graphics routines that anyone writes with full credit.
(so get doodling)
Features
--------
As ever don't remove the alarm-interrupt handler at the end of !Scm.Init and
then call
(alarm <n>)
because you'll get a stack backtrace. You've been warned :-)
Other than that it seems to suffice as the fastest LISPy type language I've
found on the Arc... (I have a couple of other Schemes kicking about -
mostly in a state of disarray... email me if you want to fiddle with them -
VSCM I may or may not get working - its got a weird feature last I was
hacking it about...)
Oh - and this is the only one with graphics and which is capable of
supporting large applications (see JACAL).
Bonuses
-------
Small items that are included in this little bundle that you wouldn't
otherwise get :
!Scm.scm.macros
!Scm.scm.arc_ext
!Scm.scm.arc_demos
Taking each in turn we have :
o a miniscule demonstration of how to do macros. Nobody actually
asked but I was interested as it's the only bit I hadn't figured
out how to do in SCM. Suck 'em and see.
o the support code for the archi graphics routines - feel free to add
to this - I'll include _anything_ useful with credit.
o the demonstration code using the new primitives provided. Again
I'll include _anything_ useful with credit.
Other toys for GNU Scheme
-------------------------
There should be the Symbolic Algebra package JACAL available for use with
GNU Scheme at the same place you got this from - if not email me and I'll
send you it bundled up ready to go for the arc.
(It actually installs moderately painlessly once you've fiddled the paths
and a few redundant defines out)
WB - database package. Haven't tried. Needs Hobbit?
Hobbit - Scheme->C compiler. May look at this soonish once I get graphics
finished or once GCC 2.5.8 comes out for RiscOS - until then it would
slow it down to compile it with GCC (pity..).
XSCM - interface to X - errm you are joking aren't you?
Actually if someone could come up with a port of this it would be really
really spiffy and make writing desktop apps a doddle; the only problem is
that it's horribly non-trivial. (could do Tcl/Tk instead?)
SLIB - I've included the major bits of the package that I thought were
useable on the arch - the docs aren't included for space - see FTP sites
given above (if someone would fix that 77 file per directory 'feature' then
we would have been able to fit all of SLIB in...).
(the list goes on and on....see the FAQs)
BUGS
----
One slightly annoying one -
If you fiddle the !Boot file to pass arguments to the alias `scm', then it
doesn't load the file most of the time due to erroneous expansion of
aliases of paths; even if you don't it tends to do this.
Slightly irksome but easily worked around - the `load' primitive copes
with anything thrown at it generally, including paths / aliases and if you
need something loaded at each invocation then add it into your ScmInit.
Second one :
If you load a file and it is syntactically invalid (aherm) - for that read -
you botched up and put in one too many / few parentheses :
SCM complains and then if you go back and edit it and try to save it you get
a file open error. This is because SCM doesn't shut open files - simply
do a (system "shut") or alternatively similar from your favourite editor
(!shut in vi does the trick).
Bug reports / comments / notice of anyone actually using it to :
ams@uk.ac.abdn.csd ;;; available til summer '95
snailmail
(I'm ever optimistic someone might send me something novel / a postcard) :
kintail,
barclay park,
aboyne,
aberdeenshire.
ab34 5jf.
happy scheming,
al slater.
13/6/94
(
PPS : if you want to be really tight and nasty then you can easily throw
out all of !Scm.slib if you dont use it - but dont expect JACAL or any
of the extensions (excepting the Archi ones) to work thereafter.
It'll easily fit into small machines as SCM isn't a terribly large language
and as of 4e0 it's properly tail recursive (that doesn't mean you can't
make it run out of memory though..)
)
[ PPS2 : Some things in SLIB _really_ eat memory.
The worst I know of is if you do :
(require 'syntax-case)
;;; goes away and thinks about it
;;; then reports about 1meg worth of cells exercised
Most of SLIB works - I know that macros-that-work loads but the test seems
to fail for the first case and work for the second.
(This is also true for a version I compiled up under RISCiX...)
]