diff options
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/interp/i-coerce.boot | 10 | ||||
-rw-r--r-- | src/interp/i-funsel.boot | 2 |
3 files changed, 6 insertions, 11 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index fb0f44e8..65ea5213 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,4 +1,9 @@ 2009-06-12 Gabriel Dos Reis <gdr@cs.tamu.edu> + + * interp/i-coerce.boot: Revert previous patch. + * interp/i-funsel.boot: Likewise. + +2009-06-12 Gabriel Dos Reis <gdr@cs.tamu.edu> Support retract of domains. * interp/i-funsel.boot (findFunctionInDomain): Don't look into diff --git a/src/interp/i-coerce.boot b/src/interp/i-coerce.boot index b4756002..a46711e0 100644 --- a/src/interp/i-coerce.boot +++ b/src/interp/i-coerce.boot @@ -91,9 +91,7 @@ retract object == STRINGP type => 'failed type = $EmptyMode => 'failed val := objVal object - if not isWrapped val and val isnt ["%Map",:.] then - type ^= $Domain => return "failed" - val := wrap eval val + not isWrapped val and val isnt ["%Map",:.] => 'failed type' := equiType(type) (ans := retract1 objNew(val,equiType(type))) = 'failed => ans objNew(objVal ans,eqType objMode ans) @@ -110,8 +108,6 @@ retract1 object == type = $PositiveInteger => objNew(val,$NonNegativeInteger) type = $NonNegativeInteger => objNew(val,$Integer) type = $Integer and SINTP unwrap val => objNew(val, $SingleInteger) - type = $Domain => - objNew(val, ["Join",:getDomainCompleteCategories unwrap val]) type' := equiType(type) if not EQ(type,type') then object := objNew(val,type') (1 = #type') or (type' is ['Union,:.]) or @@ -460,7 +456,6 @@ canCoerce1(t1,t2) == canCoerce(t1,t) and canCoerceByFunction(t,t2) and 'T ans or member(t1,'((PositiveInteger) (NonNegativeInteger))) and canCoerce($Integer,t2) - t1 is ["Join",:.] => not null member(t2,rest t1) -- for now, gdr. canCoerceFrom0(t1,t2) == -- top level test for coercion, which transfers all RN, RF and RR into @@ -750,9 +745,6 @@ coerceInteractive(triple,t2) == t2 = '$NoValueMode => objNew(val,t2) if t2 is ['SubDomain,x,.] then t2:= x -- JHD added category Aug 1996 for BasicMath - -- Categories are not domain of computations so we have to handle - -- them by hand, until we get a better world. -- gdr, 2009-06-12. - t1 is ["Join",:.] and canCoerce(t1,t2) => objNew(val,t2) member(t1,$LangSupportTypes) => t2 = $OutputForm => objNew(val,t2) t1 = $Domain and conceptualType t2 = $Category diff --git a/src/interp/i-funsel.boot b/src/interp/i-funsel.boot index 7e4700e3..89942903 100644 --- a/src/interp/i-funsel.boot +++ b/src/interp/i-funsel.boot @@ -776,8 +776,6 @@ findFunctionInDomain(op,dc,tar,args1,args2,$Coerce,$SubDom) == -- tar may be NIL (= unknown) null isLegitimateMode(tar, nil, nil) => nil dcName:= CAR dc - -- A category is not a domain of computation, so get out - categoryForm? dcName => nil member(dcName,'(Union Record Mapping Enumeration)) => -- First cut code that ignores args2, $Coerce and $SubDom -- When domains no longer have to have Set, the hard coded 6 and 7 |