HDTenEightyP/NetNews huggingface dataset:
From: bh@anarres.CS.Berkeley.EDU (Brian Harvey)
Newsgroups: comp.lang.scheme
Subject: Re: Beautifer
Date: 27 Sep 1992 23:28:30 GMT
Organization: University of California at Berkeley
NNTP-Posting-Host: anarres.cs.berkeley.edu

ppc1@cec1.wustl.edu (Peter Pui Tak Chiu) writes:
>i am writing scheme programs using a normal editor and i would like to
>beautify my scheme code after i am done with it... is there any beautifer
>either on MSDOS or UNIX out there?????

Any usable text editor [that is to say, any version of EMACS] will do
this for you.  In JOVE, the editor I use (both on Unix and on DOS), you
say meta-X grind-s-expr to reformat an expression.
Newsgroups: comp.lang.scheme
From: pk@cs.tut.fi (Kellom{ki Pertti)
Subject: Re: substring + why so many essential procedures
Organization: Tampere Univ. of Technology, Finland.
	<BEVAN.92Sep21112540@jaguar.cs.man.ac.uk>
	<JAFFER.92Sep22121638@camelot.ai.mit.edu>
	<BEVAN.92Sep23094831@tiger.cs.man.ac.uk>
	<PK.92Sep24140627@talitiainen.cs.tut.fi> <BEVAN.92
	<BEVAN.92Sep27135252@antelope.cs.man.ac.uk>
Date: Mon, 28 Sep 1992 13:15:52 GMT

In article <BEVAN.92Sep27135252@antelope.cs.man.ac.uk> bevan@cs.man.ac.uk (Stephen J Bevan) writes:
[stuff about detecting missing features inside vs. outside of the language]

   Your phrasing suggests to me that you consider it weaker in some way.

If I've understood your proposal right, then these two methdods would
be completely orthogonal. Neither rules out the other.

   I see no reason why my method should require any more work by the user
   than an a solution internal to the language.  If you can provide
   specific examples of the things that are worrying you, then I'll do my
   best to solve them.

I may have misunderstood your suggestion a bit. My understanding of it
is as follows: when a user gets a piece of Scheme code that he/she would like to
run from somewhere, then

1) the user looks at the list of required procedures (stored in the
   application source code),

2) compares it to the list of features provided by the implementation and

3) decides what libraries need to be loaded before the application can
   be run with the user's Scheme.

This could of course be done by a program (written in Ansi C for full
portability ;-), but it must still be done by the *user*.

There's one thing that is unclear to me: where does the code that
takes care of loading the necessary libraries go? Does it go to the
application source file or does it go to a separate file? It matters,
because a user might use many different Schemes (I, for example, use
mostly scm but sometimes also elk). Thus, the application should not
be modified to work with just one Scheme.

      so maybe we should try to come up with something along the lines
      that you suggested that does need a RnRS to back it up.

   [ I hope that was meant to be "does NOT need ..." ]

Yes. As the saying in Finnish goes: "sausage fingers".

--
Pertti Kellom\"aki (TeX format)  #       These opinions are mine, 
  Tampere Univ. of TeXnology     #              ALL MINE !
      Software Systems Lab       #  (but go ahead and use them, if you like)


--
From: deviant@yang.earlham.edu
Newsgroups: comp.lang.scheme
Subject: Re: dylan
Date: 28 Sep 92 18:19:19 GMT
Organization: Earlham College, Richmond, Indiana

In article <1992Sep27.221640.13562@wuecl.wustl.edu>, ppc1@cec1.wustl.edu (Peter Pui Tak Chiu) writes:
> hi,
> 
> can anyone tell me what dylan is?? is it a new langauge?
> 
> pete

A review is published in Dr. Dobbs Journal, October 1992.  It includes 
source code and a history of the language.  If Dr. Dobbs isn't available 
to you, then in brief Dylan is a new language writen by people at Apple.

-- 

ala the Deviant@Yang.Earlham.Edu
   "You think you are ever so clever, however, you won't trap me there.
     Its turtles all the way down."
Newsgroups: comp.lang.scheme
From: flip@cgrg.ohio-state.edu (Flip Phillips)
Subject: Re: call-with-current-continuation
Organization: OSU Advanced Computing Center for the Arts and Design
Date: Tue, 6 Oct 1992 13:26:15 GMT

In article <755@capmkt.COM> twood@capmkt.COM (Thom Wood) writes:
>what is the current continuation???
>
>given the following code
[...]

>1.  will it exit?
>2.  what will the output look like?

Well, for what it's worth, I ran it using good o'l Gambit on the mac and it
does actuall exit, yielding as output:

(z = 1)
(z - 2)
(y - 1)
(y = 2)
(z - 3)
(y - 2)
(y = 3)
(z - 4)
(y - 3)
(y = 4)
(z - 5)
(y - 4)
(y = 5)
(z - 6)
(exiting y)
(x - 4)
(x = 5)
(z - 7)
(exiting y)
(exiting x)
(done done done)

I'm still not sure exactly why, but perhaps this sample point will help...

-- flip

-- 
Flip Phillips					flip@cgrg.ohio-state.edu
The Ohio State University
Newsgroups: comp.lang.scheme
From: jinx@zurich.ai.mit.edu (Guillermo J. Rozas)
Subject: Re: Compiling Code
Reply-To: jinx@zurich.ai.mit.edu
Organization: M.I.T. Artificial Intelligence Lab.
Date: Tue, 6 Oct 1992 03:16:04 GMT

In article <1992Oct5.193106.11903@cs.mcgill.ca> storm@cs.mcgill.ca (Marc WANDSCHNEIDER) writes:

	   I've been using the Scheme interpreter for quite a while now, and
   was just wondering how I go about using the MIT CScheme compiler???  Looking
   through the directory tree shows that there is a file called compiler.com,
   but I cannot figure out how to invoke it.

	   Is there anything extra that needs to be added to a source file to
   get it to compile??? I Know that under SML/NJ, I cannot just use the straight
   function....

   Any thoughts would be appreciated...

This is documented in the MIT Scheme user's guide.  If you don't have
it, you can get it from altdorf.ai.mit.edu:archive/scheme-7.[12]
by anonymous ftp.  It is part of the doc.tar.Z archive.
Newsgroups: comp.lang.scheme
From: thinman@netcom.com (Technically Sweet)
Subject: Re: substring + why so many essential procedures
Date: Mon, 28 Sep 92 05:22:35 GMT
Organization: International Foundation for Internal Freedom

jaffer@zurich.ai.mit.edu (Aubrey Jaffer) responds to my suggestion
about a monotonic specification for non-essentials in Scheme:

>The problem with this is that it is only a linear arrangement.  There
>is no independence between features.  One can't claim support for
>graphics without having floats.  SCM doesn't have macros.  Does this
>mean SCM is limited to being a "Level 0" Scheme no matter what other
>features I add.  Vector-map can certainly be supported without macros.
>Such a linear arrangement will unavoidably reflect your preferences
>for what features you use.  I don't use macros or floats, but if I use
>just vector-map I don't want to be burdened with a macro system and
>floats.

Operating system releases for whatever computer you use don't come
in trees.  The vendor doesn't keep splitting off different versions
that support real-time threads, hardware graphics, etc.  They just
keep adding features to one operating system.  When you go buy an
application from another vendor, they don't need to customize you
a special version for the particular combination of features in your
operating system.  They just say, "you need to run OS version 2.05
or above".  This is why a linear spec for feature addition is required
if Scheme is to serve its varied constituency.  I have to be able
to walk up to any random Scheme and say, "Level 1? Great!  I can
run my stuff!".

If you're running a Level 0 (essentials only) scheme and want to
add vector-whatnot from Level 1, you're not required to add the
rest of Level 1.  You can add stuff from Levels 2 or 3!  But,
when you describe it, you can't call it a Level 1 or 2 because it
doesn't pass the entire Level 1 test suite.  Selling it as Level 1 would
be fraudulent, and the Scheme Cabal could pull your trademark rights.


Lance Norskog

-- 

Lance Norskog

Data is not information is not knowledge is not wisdom.
From: bevan@cs.man.ac.uk (Stephen J Bevan)
Newsgroups: comp.lang.scheme
Subject: Error handling (was Re: Mixing read and read-char)
Date: 30 Sep 92 18:55:42 GMT
Organization: Department of Computer Science, University of Manchester
In-reply-to: bh@anarres.CS.Berkeley.EDU's message of 30 Sep 92 16:25:01 GMT

In article <1ackctINNfem@agate.berkeley.edu> bh@anarres.CS.Berkeley.EDU (Brian Harvey) writes:
   While we're at it let's standardize ERROR, and let's have clearscreen and
   setcursor (for text, I mean, not graphics).

Now would you like those to be essential or non-essential? :-) :-)
Seriously, I think ERROR has some merit, but the last two are well
outside of the language IMHO unless you introduce the concept of a
SCREEN into the language.  Of course you could add the facilities to
PORT, however this would seem a perversion of the current definition
of a PORT.

Getting back to ERROR: I'd like to raise (sic) the issue of error
handling again.  I asked a general question about error handling over
a year ago, with the general consensus that FLUID-LET does what is
required but is non-portable.  I hoped that FLUID-LET would make it
into a future standard, but apparently there are a number of arguments
against its inclusion.  As to the substance of the arguments; I hope
someone will step in at this point and explain them as I'm not
confident I've remembered them correctly and I don't want to start out
by spreading false information.

Anyway it seems there is an alternative proposal which is similar (in
spirit at least) to the condition system of CommonLisp and/or MIT
Scheme.  Although I haven't used either system extensively I _think_
I understand them and they seem excessively complex for what is after
all a simple process -- calling a procedure on an error.  Maybe any of
the proposed systems are simpler; would anybody care to post any
details?

Finally, it would seem that first class extents[1] provide a neat
solution to this problem and well as other "problems".  Anybody have
any comments on this idea (e.g. relative difficulty in producing an
efficient implementation)?

bevan

[1] First-Class Extents
    Shinn-Der Lee and Daniel P. Friedman
    Technical Report 341 ?
    Indiana University

    also available somehwere in the Scheme Repository.
From: rml@uswest.com (Robert M. Lund)
Newsgroups: comp.lang.scheme
Subject: s48 question
Date: 1 Oct 92 23:23:46 GMT
Distribution: usa
Organization: Advanced Technologies

I am trying to get the s48 version of scheme going and am having problems
rebuilding the image as outlined in the INSTALL file.  I tried sending mail
to scheme48-bugs@altdorf.ai.mit.edu but it keeps coming back.

Can anyone share their experiences in gettint s48 up and running or,
alternately, provide the correct email address to send inquiries to?

Thanks in advance
Bob Lund
Newsgroups: comp.lang.scheme
From: truemf@craft.camp.clarkson.edu (Jake)
Subject: Looking for
Organization: Clarkson University
Date: Tue, 6 Oct 1992 02:33:20 GMT


Anyone know of a decent PD scheme interpretter for the PC? I heard MIT just 
released one...any info would be helpful...

Please respond to:

truemf@craft.camp.clarkson.edu


Thanks in advance,
Mark True

Newsgroups: comp.lang.scheme
From: ppc1@cec1.wustl.edu (Peter Pui Tak Chiu)
Subject: Beautifer
Organization: Washington University, St. Louis MO
Date: Sun, 27 Sep 1992 22:17:34 GMT

dear friends,

i am writing scheme programs using a normal editor and i would like to
beautify my scheme code after i am done with it... is there any beautifer
either on MSDOS or UNIX out there?????

please let me know...

peter
Newsgroups: comp.lang.scheme
From: pmoore@cix.compulink.co.uk (Paul Moore)
Subject: Re: substring + why so many essential proce
Reply-To: pmoore@cix.compulink.co.uk
Date: Sat, 26 Sep 1992 11:03:35 +0000

bevan@cs.man.ac.uk (Stephen J Bevan) says:
 
  > Is that with or without non-essential procedures? 
 
Without. I accept your comment - I do not consider the inclusion of
non-essential procedures to be useful *in this case*. However, from an
instructional point of view, it is useful to be able to say "XXX is defined
like this, and works like so. Be careful, though - it may not be defined in
your Scheme"
 
There is a further question, unrelated to the current discussion, regarding
whether the current sets of essential and non-essential procedures is a
*good* set - but that's an argument for another time...
 
Also, one other comment. In a recent posting, you make the distinction
between the language and the library, saying that you are proposing a small
language with a rich library, rather than a large language [I'm paraphrasing
- I hope I haven't misinterpreted what you said]. If you assume that
libraries are implemented using (load XXX), then you probably need to go
the C route. In the RnRS, define library XXX, and its contents. Require (in
the report) that a program MUST do a (load XXX) before the procedures are
available for use (similar to the requirement in C that conforming programs
MUST #include the relevant header). If an implementation wants to provide
built-in versions of any of the procedures, it must somehow special-case
(load XXX). Also, it should be possible to specify XXX in a non-OS-dependent
way. Maybe (load #io-lib), using special values? Also, you need a way to
avoid problems if the same library is loaded twice.
 
Note that while I believe the above is workable, I am not sure load is
adequate in itself. It is a minimal working solution, but something richer
would probably be useful. We are really moving towards some sort of module
system, here...
 
Gustav.
From: gjc@mitech.com (George J. Carrette)
Newsgroups: comp.lang.scheme
Subject: Re: SIOD now runs on ALPHA
Date: 5 Oct 92 17:12:44 GMT
Organization: Mitech Corporation, Concord MA

In article <1aj38tINNqq9@agate.berkeley.edu>, bh@anarres.CS.Berkeley.EDU (Brian Harvey) writes:
> gjc@mitech.com (George J. Carrette) writes:
>>Maclisp and PDP-10 UUO's come to mind.
>              ^^^^^^^^^^^^
> 
> Yeah!  Go DEC!  :-)  :-)
> 
> [Actually I'd been under the impression that high level language people
> didn't like the old UUOs because of their inline arguments, which are
> hard for compilers to generate.  Are you thinking of some other attribute
> of UUOs?]

First of all, the PALcodes (Privileged Architecture Library) which are
invoked by hardware or software via the CALL_PAL instructions,
definitely have the flavor of SUUO's. Not the exact details so much
as the usage.

Then, specific to VMS (I think) the general procedure CALL technique
which dispatches at runtime to the correct lowlevel kind of call frame
is somewhat like MACLISP code do from compiled code. Where CALL would
decide if something is a procedure that takes arguments in registers 
(a SUBR) or needed a stack frame (an LSUBR).

Of course, MACLISP did this via an PDP-10 UUO. And it does not appear
that OPENVMS does this via a PAL instruction.

-gjc
From: pk@cs.tut.fi (Kellom{ki Pertti)
Newsgroups: comp.lang.scheme
Subject: Re: Mixing read and read-char
Date: 1 Oct 92 09:04:09
Organization: Tampere Univ. of Technology, Finland.
Distribution: world
NNTP-Posting-Host: talitiainen.cs.tut.fi
In-reply-to: bh@anarres.CS.Berkeley.EDU's message of 30 Sep 1992 16:25:01 GMT

From R4RS:

Read returns the next object parsable from the given input port,
updating port to point to the first character past the end of the
external representation of the object.
...
[read-char] Returns the next character available from the input port,
updating the port to point to the following character.
--
Pertti Kellom\"aki (TeX format)  #       These opinions are mine, 
  Tampere Univ. of TeXnology     #              ALL MINE !
      Software Systems Lab       #  (but go ahead and use them, if you like)


Newsgroups: comp.lang.scheme
From: jar@cs.cornell.edu (Jonathan Rees)
Subject: Re: s48 question
Organization: Cornell Univ. CS Dept, Ithaca NY 14853
Distribution: usa
Date: Fri, 2 Oct 1992 15:59:19 GMT

rml@uswest.com (Robert M. Lund) writes:

>I am trying to get the s48 version of scheme going and am having problems
>rebuilding the image as outlined in the INSTALL file.  I tried sending mail
>to scheme48-bugs@altdorf.ai.mit.edu but it keeps coming back.

>Can anyone share their experiences in gettint s48 up and running or,
>alternately, provide the correct email address to send inquiries to?

Sorry about the trouble with the scheme48-bugs address.  I think it is
fixed now.  Please send a transcript of your image rebuild troubles to
that address.
-- 
Jonathan Rees  jar@cs.cornell.edu
member, Cambridge Entomological Club / member, League for Programming Freedom
Newsgroups: comp.lang.scheme
From: danny@ponder.csci.unt.edu (Danny Faught)
Subject: Question: Inspector in TI scheme
Organization: University of North Texas, Denton
Distribution: usa
Date: Fri, 2 Oct 1992 19:08:07 GMT

I couldn't find a FAQ list, and none of the TI Scheme manuals explain this
well enough.  I am trying to debug a scheme program using the inspector,
and I need to access procedures that are defined within other procedures in
order to set breakpoints, look at the parameters, etc.  The manual mentions
that this is possible, and the only way to do a lot of debugging.  But I
can't figure out how to do it.  (It seems the "I" option should do it,
but it can't seem to find procedures that are defined in the current
environment).

Any TI Scheme gurus care to help out a neophyte?

-- 
Danny Faught    danny@ponder.csci.unt.edu
Save this sig - I'll be famous someday
From: cormac@rice.edu (Cormac Flanagan)
Newsgroups: comp.lang.scheme
Subject: Benchmarks
Date: 28 Sep 92 18:31:26 GMT
Reply-To: cormac@rice.edu (Cormac Flanagan)
Organization: Rice University
Originator: cormac@helma.cs.rice.edu


Does anybody know where I can get Scheme versions of the benchmarks
in Richard Gabriels book on benchmarking Lisp programs? I have heard 
that some of them have been translated into Scheme, and being able to
get them by ftp would be nice.

Cormac Flanagan
Rice University
From: chaynes@sunfish.cs.indiana.edu (Chris Haynes)
Newsgroups: comp.lang.scheme
Subject: FTP of sources for prog lang book
Date: 29 Sep 92 11:28:51 GMT
Article-I.D.: news.1992Sep29.211933.6161
Reply-To: chaynes@cs.indiana.edu
Organization: Computer Science, Indiana University

The text "Essentials of Programming Languages" by Friedman, Wand, and
Haynes contains an insert describing procedures for obtaining source files
and other materials of use to our readers from the pub/eopl directory of
our FTP server.  The IP number of our server has changed, so the directions
in the insert require revision.  The preferred procedure now is to use

  ftp cs.indiana.edu

for anonymous login.  If your IP node table haven't been updated recently,
this still may not work, in which case use

  ftp 129.79.254.191

Of course the symbolic name is preferred because it should continue to
work even come the day that our server's IP number is changed again.
From: tousd00@DMI.USherb.CA (DANIEL TOUSIGNANT)
Newsgroups: comp.lang.scheme
Subject: Re: Amiga Scheme
Date: 5 Oct 92 19:05:16 GMT
Reply-To: tousd00@DMI.USherb.CA
Organization: Universite de Sherbrooke -- Dept. De Mathematiques et D'Informatique



salut, je me permet de te repondre en francais car je suis de la meme universite que toi, il y a une scheme disponible pour l'amiga...

j`ai executable, si interesse laisse moi un message

(p.S la source n'est pas incluse et est non disponible)

Daniel Tousignant
Newsgroups: comp.lang.scheme
From: pmoore@cix.compulink.co.uk (Paul Moore)
Subject: Re: substring + why so many essential proce
Reply-To: pmoore@cix.compulink.co.uk
Date: Sat, 26 Sep 1992 11:03:29 +0000
From: jaffer@zurich.ai.mit.edu (Aubrey Jaffer)
Newsgroups: comp.lang.scheme
Subject: Re: substring + why so many essential procedures
Date: 2 Oct 92 02:58:05 GMT
Article-I.D.: camelot.JAFFER.92Oct1215805
	<JAFFER.92Sep22121638@camelot.ai.mit.edu>
	<JAFFER.92Sep25222855@camelot.ai.mit.edu>
	<1a0mraINNe65@agate.berkeley.edu>
Organization: M.I.T. Artificial Intelligence Lab.

In article <1a0mraINNe65@agate.berkeley.edu> bh@anarres.CS.Berkeley.EDU (Brian Harvey) writes:

   jaffer@zurich.ai.mit.edu (Aubrey Jaffer) suggests:
   >  (procedure? obj k)				essential procedure
   >
   >Returns #t if obj is a procedure which can accept k arguments,
   >otherwise returns #f.

   This only solves part of the problem.  Suppose, for example, I want
   to know whether some Scheme dialect accepts the -> notation in cond?
   Cond isn't even a procedure!

I only claimed that this solved the problem for PROCEDUREs.

   Something that I think solves a larger part of the problem, and some
   other problems too, would be a standard, portable way to catch errors.
   Then you just try evaluating the questionable expression and see if
   it errors out or not.

Huh?   This doesn't solve the problem.  You are asking the same
mechanism to catch both syntactic and run-time errors.  A compiler
would report that it doesn't accept the => notation during
compilation.  Your error handler would never see it.
From: huots00@DMI.USherb.CA (SYLVAIN HUOT)
Newsgroups: comp.lang.scheme
Subject: Amiga Scheme
Date: 4 Oct 92 19:42:57 GMT
Organization: Universite de Sherbrooke -- departement de Mathematiques et d'Informatique

Is anyone knowing if an Amiga version of Scheme exists, and where
(ftp ...) i can find a binary version.

Thank's !!

Sylvain Huot, 
Student, Universite de Sherbrooke, Quebec.
huots00@dmi.usherb.ca
Newsgroups: comp.lang.scheme
From: jinx@zurich.ai.mit.edu (Guillermo J. Rozas)
Subject: Re: substring + why so many essential procedures
Reply-To: jinx@zurich.ai.mit.edu
Organization: M.I.T. Artificial Intelligence Lab.
	<BEVAN.92Sep21112540@jaguar.cs.man.ac.uk>
	<JAFFER.92Sep22121638@camelot.ai.mit.edu>
	<JAFFER.92Sep25222855@camelot.ai.mit.edu>
Date: Sat, 26 Sep 1992 13:49:48 GMT

In article <JAFFER.92Sep25222855@camelot.ai.mit.edu> jaffer@zurich.ai.mit.edu (Aubrey Jaffer) writes:

|   Returns #t if obj is a procedure which can accept k arguments,
|   otherwise returns #f.
|
|       (procedure? - 2)			==>  #f

I assume you mean #t here ^.

|       (procedure? - 3)			==>  #t if mutli-arg - supported,
|						#f if not.
|
|   Would this present a problem for any implementations?
|

Something similar to this was proposed at one of the RnRS meetings
years ago.  The primary reason it was proposed was to attempt to
resolve the multiple-values impasse.  Some people objected (I was not
one of them).

The objection was not spurious.  There were several reasons specified.
Here are some that I recall:

Imagine that an implementation, at its core, only has procedures with
exact finite arity, or "lexprs" (procedures that accept any number of
arguments).   lambda expressions such as

(lambda (foo bar . baz)
  <>)

might be macro-expanded into

(lambda all-23
  (if (< (length all-23) 2)
      (error "Too few arguments" all-23))
  (let ((foo (car all-23))
        (bar (cadr all-23))
        (baz (cddr all-23)))
    <>))

This would make it hard for the implementation to compute 2-argument
PROCEDURE? at run-time.

Of course, even if the implementation has more low-level knowledge
about arity (as many do), you run into real trouble with

(define (call-with-3-as-first-argument f)
  (lambda args
    (apply f (cons 3 args))))

Since the expected behavior would be


(procedure? (call-with-3-as-first-argument (lambda (x y) (+ x y))) 1) -> #t

(procedure? (call-with-3-as-first-argument (lambda (x y) (+ x y))) 2) -> #f

(procedure? (call-with-3-as-first-argument (lambda (y) (sqrt y))) 0) -> #t

yet the implementation might have a hard time detecting this.


However, if we consider PROCEDURE? a reflective property that exposes
some details of the LAMBDA expression used to generate a procedure,
and not of the mathematical function computed by the procedure,
there is no problem with this example.
Newsgroups: comp.lang.scheme.c,comp.lang.scheme