|
From: | Elf |
Subject: | Re: [Chicken-janitors] several bugs. |
Date: | Wed, 24 Oct 2007 23:46:35 -0700 (PDT) |
it doesnt, though. error in boyer.scm is: Error: call of non-procedure: #<unbound value> Call history: <eval> [add-lemma] (cadr term) <eval> [add-lemma] (put! (car (cadr term)) (quote lemmas) (cons term (or (get (car (cadr term)) (quote lemmas)) (quote... <eval> [add-lemma] (car (cadr term)) <eval> [add-lemma] (cadr term) <eval> [add-lemma] (cons term (or (get (car (cadr term)) (quote lemmas)) (quote ()))) <eval> [add-lemma] (get (car (cadr term)) (quote lemmas)) <eval> [add-lemma] (car (cadr term)) <eval> [add-lemma] (cadr term) <-- whereas the cadr is (compile form) and the car cadr is therefore compile, which is a valid symbol. when putting (get 'somesym 'someprop) into the interpreter, we get: #;1> (get 'somesym 'someprop) Error: call of non-procedure: #<unbound value> Call history: <syntax> (get (quote somesym) (quote someprop)) <syntax> (quote somesym) <syntax> (quote someprop) <eval> (get (quote somesym) (quote someprop)) <-- same thing. ive traced it to the aforementioned line in library.scm. where is the default value of '() being set for symbols? -elf On Thu, 25 Oct 2007, felix winkelmann wrote:
On 10/25/07, Elf <address@hidden> wrote:the problem with proplists is that a condition is signaled if theres no put! before a get. at line 4619 in library.scm (let loop ((plist (##sys#slot sym 2))) which doesnt consider the case of no slot existing yet, i think. i need to look into it a bit more because proplists are new and im not familiar with how symbols have changed recently.The default value for slot #2 of a symbol is '(). This should work. cheers, felix
[Prev in Thread] | Current Thread | [Next in Thread] |