[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-janitors] Re: #32: get tinyclos egg for chicken 4 to work
From: |
Chicken Trac |
Subject: |
[Chicken-janitors] Re: #32: get tinyclos egg for chicken 4 to work |
Date: |
Thu, 05 Nov 2009 12:39:35 -0000 |
#32: get tinyclos egg for chicken 4 to work
------------------------+---------------------------------------------------
Reporter: felix | Owner:
Type: defect | Status: new
Priority: major | Milestone:
Component: extensions | Version: 4.0.5
Keywords: tinyclos |
------------------------+---------------------------------------------------
Comment(by tonysidaway):
I've already looked at the possibility of a clean start--in the sense of
beginning with an unhacked copy of tinyclos and taking it from there.
ftp://ftp.parc.xerox.com/pub/mops/tiny/
The code, alas, is more than 15 years old, pre-IEEE, and no longer even
runs on the systems for which it was originally developed.
This is what happens when I run a really old version in MIT Scheme:
Image saved on Thursday March 12, 2009 at 4:17:10 AM
Release 7.7.90.+ || Microcode 15.1 || Runtime 15.7 || SF 4.41 ||
LIAR/i386 4.118 || Edwin 3.116
1 ]=> (load "tiny-clos")
;Loading "tiny-clos.scm"...
; Loading "support.scm"... done
;... done
;Value: tiny-clos-up-and-running
1 ]=> (load "tiny-examples")
;Loading "tiny-examples.scm"...
;The object #f, passed as the first argument to set-cdr!, is not the
correct type.
I suspect the problem there is that the code relies on old MIT Scheme
semantics.
For what it's worth, the only set-cdr! in the code is in compute-getter-
and-setter in tiny-examples.scm. MIT Scheme is apparently barfing on
this:
(let* ((alist (alist-getter o))
(entry (assq name alist)))
(if (null? entry)
(alist-setter o
(cons (cons name new) alist))
(set-cdr! entry new)))
In this instance obviously the problem is that the code is using the null?
predicate when it should be testing for a true/false response from assq--
this is typical of the ambiguities of pre-IEEE Scheme, I believe.
This particular bug is easily fixed, but obviously the code would have to
be very carefully scrutinized.
--
Ticket URL: <http://www.irp.oist.jp/trac/chicken/ticket/32#comment:7>
Chicken Scheme <http://www.call-with-current-continuation.org/>
Chicken Scheme is a compiler for the Scheme programming language.
- [Chicken-janitors] Re: #32: get tinyclos egg for chicken 4 to work, Chicken Trac, 2009/11/02
- [Chicken-janitors] Re: #32: get tinyclos egg for chicken 4 to work, Chicken Trac, 2009/11/03
- [Chicken-janitors] Re: #32: get tinyclos egg for chicken 4 to work, Chicken Trac, 2009/11/03
- [Chicken-janitors] Re: #32: get tinyclos egg for chicken 4 to work, Chicken Trac, 2009/11/05
- [Chicken-janitors] Re: #32: get tinyclos egg for chicken 4 to work,
Chicken Trac <=
- [Chicken-janitors] Re: #32: get tinyclos egg for chicken 4 to work, Chicken Trac, 2009/11/05
- [Chicken-janitors] Re: #32: get tinyclos egg for chicken 4 to work, Chicken Trac, 2009/11/05
- [Chicken-janitors] Re: #32: get tinyclos egg for chicken 4 to work, Chicken Trac, 2009/11/05
- [Chicken-janitors] Re: #32: get tinyclos egg for chicken 4 to work, Chicken Trac, 2009/11/09
- [Chicken-janitors] Re: #32: get tinyclos egg for chicken 4 to work, Chicken Trac, 2009/11/09
- [Chicken-janitors] Re: #32: get tinyclos egg for chicken 4 to work, Chicken Trac, 2009/11/09
- [Chicken-janitors] Re: #32: get tinyclos egg for chicken 4 to work, Chicken Trac, 2009/11/09
- [Chicken-janitors] Re: #32: get tinyclos egg for chicken 4 to work, Chicken Trac, 2009/11/09
- [Chicken-janitors] Re: #32: get tinyclos egg for chicken 4 to work, Chicken Trac, 2009/11/10
- [Chicken-janitors] Re: #32: get tinyclos egg for chicken 4 to work, Chicken Trac, 2009/11/10