aboutsummaryrefslogtreecommitdiff
path: root/src/interp/i-object.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2009-04-28 05:12:25 +0000
committerdos-reis <gdr@axiomatics.org>2009-04-28 05:12:25 +0000
commit44bee051936ea5f058e32be9c722b433686b8a4a (patch)
tree7fba812d9bc90a32d7a3d47d463a51cccfc3ffc2 /src/interp/i-object.boot
parente01b1a326b37588a4f976d815b20b30b917f6846 (diff)
downloadopen-axiom-44bee051936ea5f058e32be9c722b433686b8a4a.tar.gz
* interp/compiler.boot (compComma): Supply element type for tuple
construction. * interp/i-coerfn.boot (L2Tuple): Likewise. * interp/i-object.boot (asTupleNew): Likewise. (asTupleNew0): Likewise. (asTupleNewCode): Likewise. (asTupleNewCode0): Likewise. * interp/i-spec1.boot (evalCOLLECT): Likewise. (interpCOLLECT): Likewise. * interp/i-spec2.boot (evalTuple): Likewise. (upNullTuple): Likewise.
Diffstat (limited to 'src/interp/i-object.boot')
-rw-r--r--src/interp/i-object.boot16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/interp/i-object.boot b/src/interp/i-object.boot
index 919d54a1..593b2d08 100644
--- a/src/interp/i-object.boot
+++ b/src/interp/i-object.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
@@ -132,11 +132,17 @@ instantiationNormalForm(op,argl) ==
-- Tuples and Crosses
-asTupleNew(size, listOfElts) == CONS(size, LIST2VEC listOfElts)
-asTupleNew0(listOfElts) == CONS(#listOfElts, LIST2VEC listOfElts)
+asTupleNew(eltType,size,listOfElts) ==
+ CONS(size, makeSimpleArrayFromList(eltType,listOfElts))
-asTupleNewCode(size, listOfElts) == ["asTupleNew", size, ["LIST", :listOfElts]]
-asTupleNewCode0(listForm) == ["asTupleNew0", listForm]
+asTupleNew0(eltType,listOfElts) ==
+ CONS(#listOfElts, makeSimpleArrayFromList(eltType,listOfElts))
+
+asTupleNewCode(eltType, size, listOfElts) ==
+ ["asTupleNew", quoteForm getVMType eltType, size, ["LIST", :listOfElts]]
+
+asTupleNewCode0(eltType,listForm) ==
+ ["asTupleNew0", quoteForm getVMType eltType, listForm]
asTupleSize(at) == CAR at
asTupleAsVector(at) == CDR at