Taylor Campbell | 5 Jun 2005 16:16

pre-release of my Scheme48 reference manual

As some of you may know, I've been working lately on a complete Scheme
48 reference manual.  For anyone interested, I've made a pre-release of
the first edition publicly available on the web in several different
formats; the actual release of the first edition will have probably
innumerable minor corrections, a real bibliography, and indices.  The
pre-release is at:

  <http://www.bloodandcoffee.net/campbell/s48-refman/>

While this manual is not totally exhaustive of every element of
Scheme48, what I excluded is currently only internal system details,
such as the byte code instruction set, the static linker, the internals
of the thread system, &c.; for most users, this manual is complete.  It
even includes a chapter on Pre-Scheme.

Any comments or questions can be sent by mail or through IRC on
irc.freenode.net in the #scheme channel (where I am 'Riastradh').

Andreas Rottmann | 5 Jun 2005 21:29
Picon
Picon
Gravatar

Porting scsh to scheme48 1.2

Hi!

I wondered how much effort it would be to port scsh to scheme48
1.2. I've heard the ports and thread systems, both used by scsh have
changed in incompatible ways, but that's about all I could find out by
now. Could the scheme48/scsh maintainers give a more detailed analysis
of the situation, or point to one?

I toyed with the idea of applying for Google's "Summer of Code" with
that project...

Regards, Rotty
--

-- 
Andreas Rottmann         | Rotty <at> ICQ      | 118634484 <at> ICQ | a.rottmann <at> gmx.at
http://yi.org/rotty      | GnuPG Key: http://yi.org/rotty/gpg.asc
Fingerprint              | DFB4 4EB4 78A4 5EEE 6219  F228 F92F CFC5 01FD 5B62
v2sw7MYChw5pr5OFma7u7Lw2m5g/l7Di6e6t5BSb7en6g3/5HZa2Xs6MSr1/2p7 hackerkey.com

To iterate is human; to recurse, divine.

Jonathan A Rees | 6 Jun 2005 04:25
Favicon

Re: pre-release of my Scheme48 reference manual

The first thing I checked, more or less at random, was the command
levels section.  It's missing a description of ",set levels", which is
useful for people who don't like or don't understand command levels.
(When I put this feature in I was considering making levels-off be the
default.)

I have two general remarks about documenting someone else's artifact:

1. In the past I've had awkward experiences when others have tried to
document my work.  Well crafted documentation can protect against
obsolescence, if the writer knows what's likely to be stable and what
isn't.  Frequently my manual said nothing or was noncommittal ('the
return value is unspecified'), and this was replaced by text that
specified exactly how the system (in its current incarnation) behaved
- determined empirically.  A future version of the system made the
modified manual a liar in many cases, while my manual remained true.
Programs written using the modified manual as a guide would break,
while those using the more careful documentation wouldn't.

(I'm not entirely blaming the other party, since my terseness has been
the cause of much suffering.)

I don't know if there's a cure for this other than working closely
with the designers and making an effort to figure out what's essential
in a system's behavior and what's not.  Don't document experiments -
document your best understanding of intent.

Many undocumented features ('loophole' comes to mind, and there are
many others) may be hidden out of embarrassment: There must be a
better solution, but no one has taken the time to come up with one.
(Continue reading)

Emilio Lopes | 6 Jun 2005 09:51
Picon

Re: pre-release of my Scheme48 reference manual

Jonathan A Rees <jar <at> s48.org> writes:

> The first thing I checked, more or less at random, was the command
> levels section.  It's missing a description of ",set levels", which is
> useful for people who don't like or don't understand command levels.

But it seems to be there.  From section 3.4.2 (page 10 in the supplied pdf file):

   levels (on)
   Errors will push a new command level (see Section 3.4.5 [Command levels],
   page 12) if this switch is on, or they will just reset back to the top level if
   levels is off.

But probably I'm missing something...

 ECL

P.S.: Thanks for the manual, Taylor.

Michael Sperber | 6 Jun 2005 12:01
Picon

Re: Porting scsh to scheme48 1.2


Andreas Rottmann <a.rottmann <at> gmx.at> writes:

> I wondered how much effort it would be to port scsh to scheme48
> 1.2. I've heard the ports and thread systems, both used by scsh have
> changed in incompatible ways, but that's about all I could find out by
> now. Could the scheme48/scsh maintainers give a more detailed analysis
> of the situation, or point to one?

The changes in the RTS are definitely the most significant ones.  The
I/O subsystem is completely different.

Also, a number of other changes would need to be ported, among them
the extensions to the thread system.  They should be less troublesome,
however.  Check out

Martin Gasbichler, Michael Sperber:
Processes vs. User-Level Threads in SCSH
http://citeseer.ist.psu.edu/549893.html

The biggest stumbling block for the maintainers has been that we've
slowly been working on an API overhaul for many scsh components, which
would also reduce the porting effort significantly.  (The work has
been going slowly, because a lot of our recent efforts have been
directed at other parts of the system.) Right now, a lot of work comes
in by way of the lack of modularity and the invasiveness of the scsh
code, much of which isn't necessary.

--

-- 
Cheers =8-} Mike
(Continue reading)

Michael Sperber | 6 Jun 2005 18:10
Picon

FINAL CALL FOR PAPERS: ACM SIGPLAN 2005 Workshop on Scheme and Functional Programming


----------------------------------------------------------------------

                          CALL FOR PAPERS

    ACM SIGPLAN 2005 Workshop on Scheme and Functional Programming
                http://www.deinprogramm.de/scheme-2005/

	  	          Tallinn, Estonia
                         24 September 2005

        The workshop will be held in conjunction with ICFP 2005.
                  http://www.brics.dk/~danvy/icfp05/

----------------------------------------------------------------------
Important dates

Submission Deadline: June 13, 2005, 0:00 UTC
Author notfication:  July 29, 2005
Final paper due:     August 22, 2005, 0:00 UTC

----------------------------------------------------------------------
Purpose

The 2005 Scheme Workshop provides a forum for discussing experience
with and future development of the Scheme programming language. The
scope of the workshop includes all aspects of the design,
implementation, theory, and application of Scheme. Past workshops have
been held in Snowbird (2004), Boston (2003), Pittsburgh (2002), Florence
(2001), and Montréal (2000). We encourage everyone interested in
(Continue reading)

Mitchell Wand | 8 Jun 2005 08:56
Favicon

[Scheme Steering Committee announcements] Anton von Straaten appointed to Scheme Editors Committee

We are pleased to announce the appointment of Anton van Straaten to the 
Scheme Language Editors Committee. Anton's service began on 26-27 May 
2005, when he attended a meeting of the Editors Committee.

As we reviewed the 21 names that were suggested by the current editors 
and by the community, Anton's name came up over and over again.  As both 
a commercial user of Scheme and a developer of programming language 
tools, Anton balances an understanding of the requirements of Scheme 
users with a thorough practical and theoretical understanding of 
programming language design.  We are certain that he will be an asset to 
the Editors Committee.

Sincerely,
Alan, Guy, and Mitch

Alan Bawden <scheme <at> bawden.org>
Guy Steele <Guy.Steele <at> sun.com>
Mitch Wand <wand <at> ccs.neu.edu>

_______________________________________________
Scheme-announcements mailing list
Scheme-announcements <at> lists.ccs.neu.edu
https://lists.ccs.neu.edu/bin/listinfo/scheme-announcements

Taylor Campbell | 16 Jun 2005 08:59

abstract external C types in Pre-Scheme

I recently noticed that there seems to be no good way to represent
abstract external C types in Pre-Scheme -- that is, given some external
C type whose representation is entirely unknown to Pre-Scheme, to make
a type usable in EXTERNAL forms that the Pre-Scheme compiler can use to
generate that C type.  (If I'm wrong about this, please correct me.)
However, I think there are a couple easy ways to accomplish this:

MAKE-BASE-TYPE could be exported from the PS-TYPES structure; along
with ADD-C-TYPE-DECLARATION! from C-INTERNAL, this allows the Scheme48
code that invokes the Pre-Scheme compiler to introduce the type before
compiling the program, which could not previously be done in the
absence of a mechanism by which to add to the base types table (which
MAKE-ATOMIC-TYPE doesn't do).  This is a simple solution, and it's not
invasive to the language (see below) but it's a bit kludgey and perhaps
not the most convenient interface, although all that one must do is add
an (ADD-C-TYPE-DECLARATION! (MAKE-BASE-TYPE 'ps-name) "C name") before
invoking the Pre-Scheme compiler.  E.g., to make use of a FROB type
which in C is called 'Frob', one might evaluate this code before the
invocation of the Pre-Scheme compiler (after opening C-INTERNAL and
PS-TYPES):

  (add-c-type-declaration! (make-base-type 'frob) "Frob")

Another possibility would be to introduce a special form named
IMPORT-C-TYPE or something, which would precede any use of the type in
EXTERNAL forms; e.g., to do the same thing as the above expression with
this somewhat less kludgey interface, one might write:

  (import-c-type frob "Frob")

(Continue reading)

Andreas Rottmann | 16 Jun 2005 16:54
Picon
Picon
Gravatar

Some Scheme48 work

Hi!

I thought my newly started blog might be of interest to people here;
so far I've blogged only about Scheme48 ;-):

http://www.advogato.org/person/rotty/diary.html

For the lazy, here is the text:

 16 Jun 2005  »

    Status of Scheme48 hacking

    Over the last months, I've started several hacks on Scheme48. My
    interest in Scheme48 was initially sparked by Jivera, who started
    to bring a Pika-style C API to Scheme48.

    The features/projects I've been working on:

        * The new buildsystem: it is now easily possible to build
          Scheme48 completely from scratch, bootstrapping it with
          another Scheme48 installation.

        * R5RS-compatible keywords (e.g. #:foo). There seems to be
          some controversy about the usefulness and "good taste" of
          keywords, but I need them for my GOOPS-compatible TinyCLOS
          version.

        * Relaxed string escaping, i.e. allow e.g. (display "Hello World!\n").

(Continue reading)

Michael Sperber | 16 Jun 2005 17:17
Picon

Re: Some Scheme48 work


Andreas Rottmann <a.rottmann <at> gmx.at> writes:

>     Most of the above is still not polished and not ready for release
>     or even sending patches upstream. I have, however, submitted some
>     very simple patches to the Scheme48 mailing list, and got no
>     response from the maintainers. 

What specific patches are you referring to?

--

-- 
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla


Gmane