Albert Meyer | 28 Jul 05:11 1997
Picon
Picon

scheme48 bug

The definition below generates multtiple Scheme48 errors (perhaps because
it's 847 lines?).  I'm using 
     Scheme 48 0.46 (made by jaffer on Tue Apr 8 13:47:18 EDT 1997)
on caddr.  It also totally crashed my Win95 machine.  Runs ok on other
schemes (MIT, GAMBITC, EDSCHEME, DRSCHEME,...).  Grateful for your advice
on dealing with this asap: we're hoping to offer 6.001 students the
Gnu-emacs interface to Scheme48 in September, and we need to get the setup
smoothed out quickly.  The definition below is from actual course
software.

Thanks, A.

(define (install-renaming-procs!)
  (define (inc n) (+ n 1))
  (define (dec n) (- n 1))

  (define (enforce body)
    (cond ((or (self-evaluating? body)
               (symbol-expression? body)
               (variable? body)
               (submodel-null? body))
           body)
          ((combination? body)
           (make-combination
            (map enforce (expressions-of-combination body))))
          ((lambda-expression? body)
           (let* ((done-lam-body (enforce (body-of-lambda body)))
                  (formals (formals-of-lambda body))
                  (fresh-formals (map get-fresh formals)))
             (make-lambda
(Continue reading)

Albert Meyer | 28 Jul 06:41 1997
Picon
Picon

similar bug

Welcome to Scheme 48 0.46 (made by jaffer on Tue Apr  8 13:47:18 EDT 1997).
Copyright (c) 1993, 1994 by Richard Kelsey and Jonathan Rees.
Copyright (c) 1996 by NEC Research Institute, Inc.
Please report bugs to scheme-48-bugs <at> martigny.ai.mit.edu.

(load "test-fotr.scm")
test-fotr.scm 
Error: exception
       unassigned-local
       (local0)

;;TEST-FOTR.SCM
(let ()
  (define (dec n) (- n 1))
  (define lint
    (lambda (n)
      (cond
       ((< n 0) '())
       (else (cons n (lint (dec n)))))))
  (define (append l m)
    (if (null? l)
        m
        (cons (car l)
              (append (cdr l) m))))
  (define (map f l)
    (if (null? l)
        '()
        (cons (f (car l)) (map f (cdr l)))))
  (define (make-state-machine state next-state-proc output-proc)
    (define ref-state (list state))
(Continue reading)

Richard Kelsey | 28 Jul 14:58 1997
Picon

Re: scheme48 bug


   From: Albert Meyer <meyer <at> martigny.ai.mit.edu>
   Date: Sun, 27 Jul 1997 23:11:04 -0400

   The definition below generates multtiple Scheme48 errors (perhaps because
   it's 847 lines?).  I'm using 
	Scheme 48 0.46 (made by jaffer on Tue Apr 8 13:47:18 EDT 1997)
   on caddr.

In both this and the code in your second message you have internal
DEFINEs where evaluating one of the right-hand sides requires that
one of the other right-hand sides be available.  From the first message:

     (define (tagged-pair? tag) ...)

     ...

     (define define? (tagged-pair? 'define))

>From the second message:

     (define (make-state-machine state next-state-proc output-proc)
       ...)

     ...

     (define learner (make-state-machine ...))

   It also totally crashed my Win95 machine.

(Continue reading)

Albert R. Meyer | 28 Jul 16:17 1997
Picon

Re: scheme48 bug

   In both this and the code in your second message you have internal
   DEFINEs where evaluating one of the right-hand sides requires that
   one of the other right-hand sides be available.

Right you are.  (As an ideologically functional programmer, I should have
known better.)  Thanks for the impressively prompt and accurate response.

   We haven't done a Win95 port.  Whose are you using?
http://www.cs.nwu.edu/academics/courses/a11/software.htm

   Four possible solutions:
     - Rewrite the code to conform to the report.
DONE

   I would be happy to help you with the module system or with
   modifying Scheme 48.

Thanks a lot for this offer.  I think we will likely ask your help in
making emacs/Scheme48 available in 6.001, but not to extend the Scheme48
LANGUAGE: we want course Scheme code to be as portable as possible, so
we're sticking to R4RS for everything (except graphics, where we're
working on an X-windows/Scheme interface which will run on any system
supporting R4RS and X-windows).  We would use something like the module
system, or MACRO system, only if it was written in R4RS code that could be
loaded as an init file on any R4RS system; are they?

On the other hand, extending the Scheme48 SYSTEM could be very helpful,
especially the UI.  For example, I didn't find the error message "Error:
exception unassigned-local (local0)" informative,a nd I would have been
very grateful for a pointer to the offending line of my code.  Also, I
(Continue reading)

Red Hat Linux User | 30 Jul 02:03 1997
Picon

Interface concept

Attachment: application/octet-stream, 296 bytes

Gmane