G'Day All,
Does anyone here know of any pointers to getting Slime working with MIT scheme on the Mac? I've followed most all of the instructions in swank-mit-scheme.scm, however have run into a few issues and suggestions for improvements:
1. The author states 'You also need the `netcat' program to create sockets. MIT Scheme has some socket functions built-in, but I couldn't figure out how to access the locat port number of a server socket. We shell out to netcat to get us started.' Fine, but he doesn't state which version of netcat is required. The version on Mac OS, and on many other systems is named 'nc'. Other versions, such as the GNU NetCat, don't have a '-q' option. 2. Even after trying various combinations of 'nc', 'netcat' and experimenting with various netcat options, the system hangs at: ' 1 ]=> ;Loading "format.com"... done ;Loading "load.scm"... ; Loading "sos-unx.pkd"... done ; Loading "slot.com"... done ; Loading "class.com"... done ; Loading "instance.com"... done ; Loading "method.com"... done ; Loading "printer.com"... done ; Loading "macros.com"... done ;... done ;Loading "/Development/Applications/slime/contrib/swank-mit-scheme.scm"... done Both within emacs and from the command line. I've looked high and low for any how-to's or tutorials for slime+mit-scheme, but most everything I can easily locate are questions asking how not to use emacs!
I'm not an emacs beginner, but am to scheme. Does anyone have any helpful cheat-sheets on getting this working? Or, is this a case of slime/swank development moving ahead without anyone (else) using it on mit-scheme? I notice that the MIT course 6.001 now uses PLT Scheme and it's IDE, so I imagine the number of users of this combination has gone down significantly.
Cheers, - SteveN
* Nunez Steve [2009-03-31 03:39+0200] writes:
G'Day All,
Does anyone here know of any pointers to getting Slime working with MIT scheme on the Mac? I've followed most all of the instructions in? swank-mit-scheme.scm, however have run into a few issues and suggestions for improvements:
- The author states 'You also need the `netcat' program to create sockets. ?MIT Scheme?has some socket functions built-in, but I couldn't figure out how?to access the locat port number of a server socket. ?We shell out?to netcat to get us started.' Fine, but he doesn't state which version of netcat is required. The version on Mac OS, and on many other systems is named 'nc'. Other versions, such as the GNU NetCat, don't have a '-q' option.
Yes, the Mac version has different options. ISTR that somebody reported that and he just left -q away. The intention of the -q option is that nc closes the socket after a EOF instead of waiting for a few seconds. The Mac version probably always closes the socket immediately. That only matters if you disconnect/reconnect frequently, e.g. for hacking on the swank backend.
Even after trying various combinations of 'nc', 'netcat' and experimenting with various netcat options, the system hangs at: '
1 ]=>? ;Loading "format.com"... done ;Loading "load.scm"...? ; ?Loading "sos-unx.pkd"... done ; ?Loading "slot.com"... done ; ?Loading "class.com"... done ; ?Loading "instance.com"... done ; ?Loading "method.com"... done ; ?Loading "printer.com"... done ; ?Loading "macros.com"... done ;... done ;Loading "/Development/Applications/slime/contrib/ swank-mit-scheme.scm"... done
Both within emacs and from the command line.
You should at least see "Listening on port: 49053" somewhere.
For some more debugging output you could uncomment the body of the log-event function in swank-mit-scheme.scm.
If you want to use the REPL you need to add something like (define (swank:create-repl env . _) (list "(user)" "(user)"))
I'm not an emacs beginner, but am to scheme. Does anyone have any helpful cheat-sheets on getting this working? Or, is this a case of slime/swank development moving ahead without anyone (else) using it on mit-scheme? I notice that the MIT course 6.001 now uses PLT Scheme and it's IDE, so I imagine the number of users of this combination has gone down significantly.
The number must be very close to zero but certainly smaller than the number of Edwin users (which is probably only a handful).
Helmut.