Node:Guile Is Hairier, Previous:Cheaper Pairs, Up:Data Representation in Scheme
We originally started with a very simple typing system -- each object
has a field that indicates its type. Then, for the sake of efficiency
in both time and space, we moved some of the typing information directly
into the SCM
value, and left the rest in the struct value
.
Guile itself employs a more complex hierarchy, storing finer and finer
gradations of type information in different places, depending on the
object's coarser type.
In the author's opinion, Guile could be simplified greatly without significant loss of efficiency, but the simplified system would still be more complex than what we've presented above.