diff options
-rw-r--r-- | src/ChangeLog | 6 | ||||
-rw-r--r-- | src/interp/compiler.boot | 5 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index af5d5698..82f63b6b 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2008-07-15 Gabriel Dos Reis <gdr@cs.tamu.edu> + + Fix SF/2015650 + * interp/compiler.boot (coerceExtraHard): Forms with type Category + are categories. + 2008-07-14 Gabriel Dos Reis <gdr@cs.tamu.edu> * share/algebra: Update databases. diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot index 1d9686bc..24b80131 100644 --- a/src/interp/compiler.boot +++ b/src/interp/compiler.boot @@ -1347,7 +1347,10 @@ coerceExtraHard(T is [x,m',e],m) == belongsTo?(m',["UnionType"],e) and hasUniqueCaseView(x,m,e) => autoCoerceByModemap(T,m) -- Domain instantiations are first class objects - m = $Domain and isCategoryForm(m',e) => [x,m',e] + m = $Domain => + m' = $Category => nil + isCategoryForm(m',e) => [x,m',e] + nil nil ++ returns true if mode `m' is known to belong to category `cat' in |