aboutsummaryrefslogtreecommitdiff
path: root/src/interp/i-spec2.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/i-spec2.boot')
-rw-r--r--src/interp/i-spec2.boot18
1 files changed, 5 insertions, 13 deletions
diff --git a/src/interp/i-spec2.boot b/src/interp/i-spec2.boot
index b8dfdf42..54603e03 100644
--- a/src/interp/i-spec2.boot
+++ b/src/interp/i-spec2.boot
@@ -1,5 +1,7 @@
-- Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-- All rights reserved.
+-- Copyright (C) 2007-2008, Gabriel Dos Reis.
+-- All rights reserved.
--
-- Redistribution and use in source and binary forms, with or without
-- modification, are permitted provided that the following conditions are
@@ -738,10 +740,7 @@ upLETtype(op,lhs,type) ==
opName:= getUnname lhs
(not $genValue) and "or"/[CONTAINED(var,type) for var in $localVars] =>
compFailure ['" Cannot compile type assignment to",:bright opName]
- mode :=
- if isPartialMode type then '(Mode)
- else if categoryForm?(type) then '(SubDomain (Domain))
- else '(Domain)
+ mode := conceptualType type
val:= objNew(type,mode)
if isLocalVar(opName) then put(opName,'value,val,$env)
else putHist(opName,'value,val,$e)
@@ -1098,19 +1097,12 @@ uptypeOf form ==
form isnt [op, arg] => NIL
if VECP arg then transferPropsToNode(getUnname arg,arg)
if m := isType(arg) then
- m :=
- categoryForm?(m) => '(SubDomain (Domain))
- isPartialMode m => '(Mode)
- '(Domain)
+ m := conceptualType m
else if not (m := getMode arg) then [m] := bottomUp arg
- t := typeOfType m
+ t := conceptualType m -- ??? shall we reveal more impl. details?
putValue(op, objNew(m,t))
putModeSet(op,[t])
-typeOfType type ==
- type in '((Mode) (Domain)) => '(SubDomain (Domain))
- '(Domain)
-
--% Handler for where
upwhere t ==