The summary line is just a theory on the root cause of
the problem.
Here are the symptoms:
* start sisc
* evaluate a module definition like
(module baz (boo)
(define boo 1))
==> Error in putprop: got unexpected value
sisc.data.BuiltinProcedure
Doing the same in the bootstrap sequence, e.g. at the
end of init2.scm works fine.
My investigation has revealed that the error is caused
by an attempt to set a property in a symenv called
"#!d" (or something similiar). Doing a getprop on this,
e.g.
(getprop 'boo (string->symbol "#!d")))
results in
#<builtin procedure getprop>>
i.e. it looks like the getprop procedure is returned,
which is obviously wrong since the result should be #f
or a AssociativeEnvironment.
Doing a getprop on #!a...#!z mostly returns the getprop
procedure. However, during the bootstrap this returns #f.
This could be a bug in the macro expander.
However, my theory is that the symenv gets broken
during (de)serialization.
I've tried both serialization schemes and the result is
the same.
Logged In: YES
user_id=25869
Problem was that case-sensitive symbols were not being
serialized/deserialized as such. Fixed.