aboutsummaryrefslogtreecommitdiff
path: root/src/interp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2009-05-19 01:39:44 +0000
committerdos-reis <gdr@axiomatics.org>2009-05-19 01:39:44 +0000
commitd04de33ba92d864ae4e4f80fce2261a35fc79c31 (patch)
tree66e444c0c4223b905825c1511e1a7d1d923e61d9 /src/interp
parentaa129f3b4eaacbeae2837fb7e5c67a1a1a373eaa (diff)
downloadopen-axiom-d04de33ba92d864ae4e4f80fce2261a35fc79c31.tar.gz
* interp/i-analy.boot (bottomUpDefaultEval): A declared variable
with no definition may be a symbolic variable with a specified type.
Diffstat (limited to 'src/interp')
-rw-r--r--src/interp/i-analy.boot10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/interp/i-analy.boot b/src/interp/i-analy.boot
index 35c0ae0f..22dd4389 100644
--- a/src/interp/i-analy.boot
+++ b/src/interp/i-analy.boot
@@ -1,6 +1,6 @@
-- Copyright (c) 1991-2002, The Numerical Algorithms Group Ltd.
-- All rights reserved.
--- Copyright (C) 2007-2008, Gabriel Dos Reis.
+-- Copyright (C) 2007-2009, Gabriel Dos Reis.
-- All rights reserved.
--
-- Redistribution and use in source and binary forms, with or without
@@ -429,6 +429,14 @@ bottomUpDefaultEval(t,id,defaultMode,target,isSub) ==
(val := coerceInteractive(objNewWrap(id,['Variable,id]),m)) =>
putValue(t,val)
[m]
+
+ -- Hmm, assume it is a symbolic variable with a user-supplied type.
+ m' := ["Expression",m]
+ val := coerceInteractive(objNewWrap(id,$Symbol),m') =>
+ putValue(t,val)
+ putMode(t, m')
+ [m']
+
-- give up
throwKeyedMsg('"S2IB0004",[id,m])