@@ -97,7 +97,7 @@ This fundamental work emphasizes controlling the complexity of software systems
9797 * What is the type tag? When can it be useful?
9898 * When are tags for abstract data stripped off and when are attached?
9999 * What is the dispatching on type? Why isn't this approach additive?
100- * What is the data-directed programming? Why does this approach require the global mutable table?
100+ * What is the data-directed programming?
101101 * Why does data-directed approach help us to avoid procedure names conflict?
102102 * How does ` apply-generic ` function from this chapter work?
103103 * What is the message-passing approach?
@@ -107,11 +107,11 @@ This fundamental work emphasizes controlling the complexity of software systems
107107
108108 * Can you explain the idea of Generic Operations?
109109 * Why are two-level tags used in the example of the generic arithmetic operations package?
110- * Why is implementing each procedure for each possible type combination cumbersome ?
110+ * What is a problem with implementing procedures for all possible combinations of types ?
111111 * When such approach is the best way to create generic operations?
112112 * What is the coercion?
113113 * What are a hierarchy of types, a subtype and a supertype?
114- * Why a tower of types is the simplest case of the hierarchies of types?
114+ * What advantage does a tower of types have as a particular case of hierarchies of types for implementing generic operations ?
115115 * How can type raising help in cross-type generic operations?
116116 * Why does coercing through raising become hard for types with multiple supertypes?
117117 * How can we determine that we can safely coerce to a lower type?
0 commit comments