From 3e18a71ba4d8c6b12ed0d9de89ca420097ec3d94 Mon Sep 17 00:00:00 2001 From: dos-reis Date: Sat, 13 Jun 2009 03:33:43 +0000 Subject: * interp/i-coerce.boot: Revert previous patch. * interp/i-funsel.boot: Likewise. --- src/ChangeLog | 5 +++++ src/interp/i-coerce.boot | 10 +--------- 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,3 +1,8 @@ +2009-06-12 Gabriel Dos Reis + + * interp/i-coerce.boot: Revert previous patch. + * interp/i-funsel.boot: Likewise. + 2009-06-12 Gabriel Dos Reis Support retract of domains. 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 -- cgit v1.2.3