Go to file
Erick Gallesio 831a9f5c47 Commit of 3.1.1 version 2019-10-31 11:29:02 +01:00
Contrib Commit of 3.1.1 version 2019-10-31 11:29:02 +01:00
Demos Commit of 3.1.1 version 2019-10-31 11:29:02 +01:00
Doc Commit of 3.1.1 version 2019-10-31 11:29:02 +01:00
Extensions Commit of 3.1.1 version 2019-10-31 11:29:02 +01:00
Help Commit of 3.1.1 version 2019-10-31 11:29:02 +01:00
Lib Commit of 3.1.1 version 2019-10-31 11:29:02 +01:00
Mp Commit of 3.1.1 version 2019-10-31 11:29:02 +01:00
STklos Commit of 3.1.1 version 2019-10-31 11:29:02 +01:00
Snow Commit of 3.1.1 version 2019-10-31 11:29:02 +01:00
Src Commit of 3.1.1 version 2019-10-31 11:29:02 +01:00
Tcl Commit of 3.1.1 version 2019-10-31 11:29:02 +01:00
Tk Commit of 3.1.1 version 2019-10-31 11:29:02 +01:00
Win32 Commit of 3.1.1 version 2019-10-31 11:29:02 +01:00
BINARY_DISTRIB Commit of 3.1.1 version 2019-10-31 11:29:02 +01:00
CHANGES Commit of 3.1.1 version 2019-10-31 11:29:02 +01:00
COMPILING-HINTS Commit of 3.1.1 version 2019-10-31 11:29:02 +01:00
COPYRIGHTS Commit of 3.1.1 version 2019-10-31 11:29:02 +01:00
ChangeLog Commit of 3.1.1 version 2019-10-31 11:29:02 +01:00
INSTALL Commit of 3.1.1 version 2019-10-31 11:29:02 +01:00
Makefile.in Commit of 3.1.1 version 2019-10-31 11:29:02 +01:00
README Commit of 3.1.1 version 2019-10-31 11:29:02 +01:00
STk.prj Commit of 3.1.1 version 2019-10-31 11:29:02 +01:00
VERSION Commit of 3.1.1 version 2019-10-31 11:29:02 +01:00
configure Commit of 3.1.1 version 2019-10-31 11:29:02 +01:00
configure.in Commit of 3.1.1 version 2019-10-31 11:29:02 +01:00

README

		    This is the release 3.1 of STk
		   --------------------------------


(Last release is always available from kaolin.unice.fr [193.48.229.225])

STk is a R4RS Scheme interpreter which can access the Tk graphical
package.  Concretely it can be seen as the John Ousterhout's Tk
package where the Tcl language has been replaced by Scheme.

STk also provides an efficient object oriented system called STklos.
STklos is an extensive OO system with multiple inheritance, generic
functions, multi-methods and a Meta Object Protocol).

This release runs on several Unix boxes (see below) and on Microsoft
Win32. It uses the Tk 4.1 package for the graphical part.

DIFFERENCE PREVIOUS RELEASE
---------------------------

	- Version of Tk is now at Tk4.1 level. 

	- STk run now on Win32!!! 
	Some details need a little more work (some oddities on file names
	due to difference conventions between Unix and DOS, and things like 
	that). No socket support and no dynamic loading on Win32

	- A complete documentation of STk widgets pages (both in nroff 
	and HTML format). The help command really allow you to browse
	man pages now. Man pages are prefixed by "stk_" now to avoid confusion 
	with original Tk manual pages. 

	- STklos is now integrated to STk (it was dynamically loaded before).
	  This simplify its implementation and speed up generic functions:
		o gf are now 2-4 time faster
		o gf are now tail recursive
		o the MOP for gf is now "public" (i.e. you can change the way 
		  gf are called in Scheme -- it was not possible with previous 
		  versions without using C).

	- Port implementation is different: A port contains now its
	input and output handler. New primitives to access the handler:
	when-port-readable and when-port-writable.
	BTW, The Tk function fileevent function is no more useful
	(it is written in Scheme now for compatibility, but its usage 
	is deprecated). It may not be supported in a future release.

	- New composite widgets: <Multiple-window> and <Inner-window>
	which allow to have embedded windows. A multiple window 
	has a task bar below and allow to iconify inner-windows. 
	Some people think it looks like Win95 desktop ;-)	

	- pixmap extension doesn't require anymore the Xpm library. Code
	is stolen from the Tix Library.

	- New socket code which allow multiple concurrent connection

	- Extended types can now have a compare function which	is called
	 when eqv? or equal? is called. This modification should be 
	 compatible with the previous extensions (I hope so)
	
	- STklos: Two new methods: object-eqv? and object-equal? which are 
	called when applying eqv? or equal? to instances.

	- A rewriting of bind-for-dragging canvas method. You can now specify 
	a :before-motion, which if it returns #f, forbid to move the selected 
	canvas item.

	- New primitives:setenv!, posix-host-name, posix-domain-name, 
	posix-uname	  
	
	- Option separator "--" allows to pass reserved keyword 
	  (such as -help) to a script. Option and parameter cannot
	   be mixed anymore:
		stk xyz -help ==> *argv* = ("xyz" "-help")

	- HTML browser enhancement (support of the <FONT> tag with SIZE 
	  and COLOR sub-tags. This must be compatible with the HTML spec. 

	- and of course many many bug corrections.

See file 'CHANGES' in the distribution main directory for more informations.

SCHEME WITHOUT TK
-----------------

Standard make build a light version of STk which does not provide support for
the Tk toolkit. This interpreter, called Snow (Scheme with NO Window), can be
called directly with the 'snow' shell script. It is implicitly called if 
your DISPLAY variable is not set.

LEARNING STk
------------

In Contrib/STk-wtour, you'll find a program (called stk-wtour) which is a kind
of tutorial for programming widgets in STk. This program, which is a
contribution of Suresh Srinivas (ssriniva@cs.indiana.edu), is an excellent 
starting point for learning basics of STk widgets programming.

FILE ORGANIZATION
-----------------

Stk
  |___ Contrib	   The contributors directory
  |___ Demos	   some original Tk demos rewritten for stk plus some other
  |                stuff found on  the net. 
  |___ Extensions  This directory contains extensions of the core interpreter
  |		   (hash tables, POSIX.1 support). See the README file for more 
  |		   details
  |___ Doc	   Documentation of STk.		   
  |___ Help	   Various (HTML) help files for STk.
  |___ Lib	   a set of Scheme files used by the interpreter
  |___ Src	   contains source files of stk (i.e. the sources files of the 
  |		   interpreter + some glue files between Tk and Scheme).
  |___ Snow	   contains (mostly) links over Src files. This directory 
  |		   is used to build snow the Scheme interpreter without Tk
  |		   support
  |___ STklos      an CLOS-like object extension of Scheme based on the
  |    |	   Tiny CLOS package.
  |    |_ Tk       A library of Tk objects based on the STklos object
  |    |	   extension package (subdirectory Composite contains
  |    |	   composite widgets definitions	
  |    |_ Examples A (small) set of examples written in STklos.
  |___ Tcl	   contains a set of unchanged files of the Tcl library which 
  |		   pertain in Stk
  |___ Tk 	   contains a modified version of the Tk library. Most of the
  |		   files are unchanged; Search the string ORIGINAL_CODE to see
  |		   performed changes.
  |___ Win32	   contains file necessary to compile STk under Win32

SUPPORTED ARCHITECTURES
-----------------------

For now, STk is known to run on the following machine/systems

	- Sparc (SunOs 4.1.x & Solaris 2.{34})
	- Dec 5xxx (Ultrix 4.2)
	- SGI (IRIX 4.05, 5.1.1, 5.2)
	- DEC Alpha 3000/400 (OSF-1 V1.3)
	- RS6000 AIX 3.2.5	
	- HP 9000/735 (HP-UX 9.01)
	- PC (Linux 1.0 -> 2.0)
	- PC (FreeBSD 1.1) 	  
	- PC (SCO)		  
	- PC (NetBSD-1.0)	  
	- Sony WS (Sony NEWS, NEWSOS 4.2R)
	- ...

	- Windows 95 (and probably Windows NT) 

If you install it on another architecture/system, please let me now the
diffs you used such I can integrate them in the next release.

The file COMPILING-HINTS may be useful for compiling STk on your system.

DYNAMIC LOADING
---------------

Support for dynamic loading is provided for the following architectures/systems

		- SunOs 4.1.x
		- SunOs 5.3
		- NetBSD-1.0 (i386-port)
		- Linux (with the DLD package or ELF format). [ Dynamic
		  loading is disabled by default. Use -enable-elf or 
		  -enable-dld to choose the way you want to make dynamic 
		  loading under Linux]
		- FreeBSD
		- HPUX
		- SGI Irix 5.3 

IMAGE CREATION
--------------

The following architecture support image creation (dumping the interpreter 
memory in a file):
		- SunOs 4.1.x
		- Linux 1.1 (a.out format only)
		- FreeBSD

MAILING LIST
------------

Subscription/unsubscription/info requests to the STk mailing list
should be sent to 'stk-request@kaolin.unice.fr'

To subscribe to the mailing list, simply send a message with the word
"subscribe" in the "Subject:" field to the following address:
'stk-request@kaolin.unice.fr'

To unsubscribe from the mailing list, simply send a message with the
word (you guessed it :-) "unsubscribe" in the "Subject:" field to
'stk-request@kaolin.unice.fr'

For more information on the mailing list management send a message
with the word "help" in the Subject: field to the
'stk-request@kaolin.unice.fr'

Subscription requests are processed automatically without human
intervention. If you have a problem, send a mail to
eg@kaolin.unice.fr.

Messages sent to the mailing list are archived 
     - in raw format at 
		ftp://kaolin.unice.fr/pub/Mailing-list/
     - as hypertext at 
		http://kaolin.unice.fr/Mlist

STk W3 HOME PAGE
----------------

The STk W3 home page is located at
	http://kaolin.unice.fr/STk.html

BUGS
----

If you find a bug, please report it to stk-bugs@kaolin.unice.fr. 

AUTHOR ADDRESS
--------------

Erick Gallesio					  tel : (33) 92-96-51-53
ESSI - I3S					  fax : (33) 92-96-51-55
Universite de Nice - Sophia Antipolis		email : eg@unice.fr
Route des colles
BP 145
06903 Sophia Antipolis CEDEX
FRANCE