diff options
author | dos-reis <gdr@axiomatics.org> | 2009-04-28 05:12:25 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2009-04-28 05:12:25 +0000 |
commit | 44bee051936ea5f058e32be9c722b433686b8a4a (patch) | |
tree | 7fba812d9bc90a32d7a3d47d463a51cccfc3ffc2 /src/interp/i-object.boot | |
parent | e01b1a326b37588a4f976d815b20b30b917f6846 (diff) | |
download | open-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.boot | 16 |
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 |