Jonathan Rees | 2 Jun 1994 14:35
Picon
Picon

Scheme48 0.36 under AIX

   From: sperber <at> midi.informatik.uni-tuebingen.de (Michael Sperber [Mr. Preprocessor])
   Date: Tue, 10 May 94 17:40:38 +0100

   I finally got around to trying the autoconf support under AIX.
   Unfortunately, fd_set and friends need an #include <sys/select.h>.  I
   have no idea if this is a POSIXism, so I don't know what the best
   place to change this would be.

If it were me I'd do the following:

  1. add sys/select.h to the arguments to AC_HAVE_HEADERS in configure.in
  2. add "#undef HAVE_SYS_CONFIG_H" to sysdep.h.in
  3. add "#if !defined(HAVE_SYS_CONFIG_H)
	  #  include <sys/select.h>    /* for fd_set and friends */
	  #endif"
     to unix.c
  4. re-run autoconf to produce a new "configure" file

This assumes that on any system it is always safe to #include
<sys/select.h> if it exists, which is plausible.

Thanks much for the information.

Jonathan

Jonathan Rees | 3 Jun 1994 00:30
Picon
Picon

s48 v36 on NeXT

   From: Olin Shivers <shivers <at> clark.lcs.mit.edu>
   Date: Thu, 21 Apr 94 01:11:36 -0400

   1. On a NeXT system, cc is the Gnu C compiler. But it is named
      cc, not gcc. Configure tests to see if this is the case,
      but its test fails. The test uses the output of the following
      program
	   #ifdef __GNUC__
	   yes
	   #endif

      This program is compiled with cc -E, and the output grepped for "yes".
      But cc blew up because this isn't a legal program - why it is parsing
      stuff is beyond me. Very weird. The cc outputs
	  conftest.c:2: illegal external declaration, missing `;' after `yes'
      but it outputs this to stderr, so the fortuitous inclusion of "yes"
      in the error msg is ignored by the grep, which is scanning stdout.
      The fix is to change the program to something legal, e.g.
	   #ifdef __GNUC__
	   int yes;
	   #endif

I would call this a deficiency in the autoconf program.  Someone
(sigh) should send them a bug report.  I can't think of any reasonable
fix short of fixing autoconf.  For now, the "configure" file should
probably be patched manually (!), either by people installing on
NeXT's (in which case the problem should be explained in
doc/install.txt) or by people making distributions (what a pain).

   2. The Unix stuff needs to be compiled with the -posix flag. I don't
(Continue reading)

Bryan O'Sullivan | 3 Jun 1994 01:36
Picon
Picon
Favicon

s48 v36 on NeXT

Olin> Fortunately, the code that is then supposed to include -cckr in
Olin> the flag set is broken. I think. So you accidentally win.

Jonathan> -cckr is very suspect.  The comments from configure.in say
Jonathan> this [...]

I'll try to find a less losing way to get s48 going under Irix in a
week or two, and let you know how it goes.

	<b

Brian D. Carlstrom | 3 Jun 1994 19:27
Picon

[NeXT] configure.in

Adding this after the AC_SUBST(CFLAGS) line makes configure.in work on
the NeXT. i dont like doing a system specific hack, but i dont want to
get -cckr and i dont want to force every one to use -posix. on the other
hand if the -cckr problem goes away, and -posix works on all systems
that allow it, then i could find another solution to HAVE_SIGACTION on
the NeXT

-bri

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
     AC_COMPILE_CHECK([__NeXT__],,[
#ifdef __NeXT__
return 0;
#else
fail
#endif
],
				CC="$CC -posix"
				AC_DEFINE(HAVE_SIGACTION))

kelsey | 3 Jun 1994 22:27
Picon

( . x)


Scheme 48 accepts '( . X) as synonym for 'X.

The grammar in R4RS requires that there be some datum before the .

Jonathan Rees | 4 Jun 1994 01:16
Picon
Picon

fix for make-promise


Albert Meyer has kindly pointed out to me that Scheme 48's definition
of the force/delay feature (in rts/base.scm) doesn't agree with R^4RS.
I wasn't aware that there was a change from R^3 to R^4, but there was.
The implementation should probably be brought in line with R^4; just
copy the code from page 28.  Also, the warning about a recursive force
should probably be flushed; one sees it at annoying times during
debugging (e.g. when you do (define x (delay (foo))) and then (force x),
get a "foo undefined" error, enter a definition for foo, and finally
retry (force x)).

It is not for us to judge the wisdom of the new definition.

Please do preserve the property that the thunk can get GC'ed once the
result has been memoized.

Jonathan

Brian D. Carlstrom | 4 Jun 1994 20:50
Picon

bug in install

when this runs on a machine without a /usr/local/lib/scheme48 directory,
it will install the file as  /usr/local/lib/scheme48:

	/usr/bin/install -c scheme48vm /usr/local/lib/scheme48

probably should add:

	libdir:
		-mkdir $(LIB)

and make all the install-'s dependant on it, so it'll be created if it
doesnt exist...

-bri

Chris Patti { Feoh } | 7 Jun 1994 10:24
Picon

Sockets in Scheme48

Hi.

I was looking at using the sockets interface that seems to exist ( at least
at the Scheme level ) in Scheme48.

However it would appear that the code that implements VM extension #20 isn't
complete.

It calls functions like internet-stream-socket, socket-connect, etc.

These functions look like fairly vanilla 'slightly higher level than the API'
library functions that I've implemented a couple of times already in other
situations.

So A) Am I totally wrong and just missing these functions tucked away 
somewhere, or B) Has someone else already done it?

If not I could probably do this since the endpoints in extension.c seem to be
fairly well defined.

-Chris
chrisp <at> icad.com
chrisp <at> tiac.net
feoh <at> gnu.ai.mit.edu

kelsey | 7 Jun 1994 15:26
Picon

Sockets in Scheme48


   From: Chris Patti { Feoh } <chrisp <at> max.tiac.net>
   Date: Tue, 7 Jun 1994 04:24:23 -0400 (EDT)

   However it would appear that the code that implements VM extension #20 isn't
   complete.

   It calls functions like internet-stream-socket, socket-connect, etc.

   These functions look like fairly vanilla 'slightly higher level than the API'
   library functions that I've implemented a couple of times already in other
   situations.

   So A) Am I totally wrong and just missing these functions tucked away 
   somewhere, or B) Has someone else already done it?

The functions were removed for copyright reasons.  They have since
been rewritten and will appear in the next release.  I'll put them
at the end of this message in case you don't want to wait.  You
may have to tweak the interface because of minor changes.

                                  -Richard Kelsey

/*
 * Socket support for Scheme 48.  Note, the division of labor is rather
 * silly.  Given that socket_connect() creates it's own socket, there is
 * no reason for socket_bind() to not do the same (and to eliminate
 * internet_stream_socket()).  The interface to extension() is a little
 * easier this way, because it never has to return two values.
 * This code was written by a loyal member of the state.  As such, I of
(Continue reading)

Brian D. Carlstrom | 7 Jun 1994 17:33
Picon
Picon

Re: Sockets in Scheme48

>>> chrisp  writes:

     > Hi.  I was looking at using the sockets interface that seems to
     > exist ( at least at the Scheme level ) in Scheme48.

watch you going to use it for? i've been hacking scheme interface's to
all the main inet protocols. just working on clinets for now, but
hopefully will get into some server stuff as well.

-bri


Gmane