Skip to content

cmikewilson/scheme-xp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

;;; README

SCHEME-XP 0.1

scheme-xp is an implementation of the client-side X library from the
socket layer up.  Currently it implements much of the underlying
structure as well as 29 X protocol calls.  There are a few example
programs in toys.scm like hello-world, shade, bounce-db, and
color-change.  It should be relatively straightforward to add
remaining calls and write your own cool little toys.

scheme-xp uses scsh, but isn't inherently scshy -- sockets and program
calling, mostly.  Look in xserver.scm, connection-requests.scm,
non-portable-interface in xprotocol-package.scm, or grep for `scshy'.

To run, say, hello-world, do this:

  jupiter$ scsh -lm xprotocol-package.scm -o toys
  [scsh related messages ...]
  Scsh 0.5
  > (hello-world)
  Reading expose-event!
  [window appears]
  string-width: 120, string-height 13
  [click in window]
  Reading button-press-event!
  #t
  >

If it doesn't figure out your DISPLAY environment variable, try fixing
the x-authorization function in connection-requests.scm .
Tell me where this is documented.

There is still a bit of settling to be done in how things are
organized.  While playing with `froggy' (frog.scm), a speed problem
became clear.  I made a simpler program, `mover' (toys.scm), that had
the same problem.  It paused five times.  It was easy to reduce that
to two times.  I eventually got it down to 1.5 times, but it wasn't
worth it and there's a lot of crud remaining from my frenzied garbage
reduction attempts (Look at the string hoarding in requests.scm).
As best as I can count, one run of mover should allocate 1440 bytes,
one eight character string at a time.  It has been suggested that the
memory consumption is due to function call residue thrown on the heap.
Other problems are mentioned in problems.text .

Anyway, I'm going to be playing with something else for a while, but I
expect to return to this later.  Feel free to play with it, and let me
know how things go; I'm happy to chat about it.  It's fun.

Mike Wilson
Monday, May 3, 1999

[email protected]
[email protected]

http://www.scs.ryerson.ca/~cmwilson/code/scheme-xp/

About

Scheme Client-side X-Protocol

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages