diff options
-rw-r--r-- | src/ChangeLog | 6 | ||||
-rw-r--r-- | src/algebra/Makefile.in | 4 | ||||
-rw-r--r-- | src/algebra/syntax.spad.pamphlet | 6 | ||||
-rw-r--r-- | src/interp/nruncomp.boot | 3 |
4 files changed, 11 insertions, 8 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 2e239d79..9f696166 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2012-02-04 Gabriel Dos Reis <gdr@cs.tamu.edu> + + * interp/nruncomp.boot (getLocalIndex): Fast track niladic + constructors. + * algebra/syntax.spad.pamphlet: Miscellaneous cleanup. + 2012-02-03 Gabriel Dos Reis <gdr@cs.tamu.edu> * utils/vm.H: Add more VM data structures. diff --git a/src/algebra/Makefile.in b/src/algebra/Makefile.in index bae8ea9f..979bd007 100644 --- a/src/algebra/Makefile.in +++ b/src/algebra/Makefile.in @@ -1,6 +1,6 @@ ## Copyright (c) 1991-2002, The Numerical Algorithms Group Ltd. ## All rights reserved. -## Copyright (C) 2007-2011, Gabriel Dos Reis. +## Copyright (C) 2007-2012, Gabriel Dos Reis. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without @@ -2110,6 +2110,8 @@ $(OUT)/COMMAAST.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT) $(OUT)/QQUTAST.$(FASLEXT): $(OUT)/SASTCAT.$(FASLEXT) $(OUT)/DEFAST.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT) $(OUT)/SPADAST.$(FASLEXT) $(OUT)/MACROAST.$(FASLEXT): $(OUT)/SPADXPT.$(FASLEXT) +$(OUT)/SPADAST.$(FASLEXT): $(OUT)/SIGAST.$(FASLEXT) \ + $(OUT)/RSTRCAST.$(FASLEXT) $(OUT)/SEQAST.$(FASLEXT) $(OUT)/INBFILE.$(FASLEXT): $(OUT)/FNAME.$(FASLEXT) \ $(OUT)/INBCON.$(FASLEXT) $(OUT)/STRING.$(FASLEXT) diff --git a/src/algebra/syntax.spad.pamphlet b/src/algebra/syntax.spad.pamphlet index 3bbb7145..b83ed076 100644 --- a/src/algebra/syntax.spad.pamphlet +++ b/src/algebra/syntax.spad.pamphlet @@ -722,7 +722,6 @@ ImportAst(): Public == Private where imports: % -> List TypeAst ++ imports(x) returns the list of imported types. Private == add - import Pair Rep == Pair(Identifier, List TypeAst) coerce(ts: List TypeAst): % == per pair('_import,ts) imports x == second rep x @@ -753,7 +752,6 @@ MappingAst(): Public == Private where target: % -> TypeAst ++ target(s) returns the result type AST for `s'. Private == add - import Pair Rep == Pair(Identifier,Signature) coerce(sig: Signature): % == per pair('Mapping,sig) mappingAst(s,t) == @@ -787,7 +785,6 @@ SignatureAst(): Public == Private where signature: % -> Signature ++ signature(s) returns AST of the declared signature for `s'. Private == add - import List Rep == Pair(Identifier, Pair(Identifier,List Signature)) signatureAst(n,sig) == per pair('SIGNATURE,pair(n,[sig])) @@ -1083,7 +1080,6 @@ ConstructAst(): Public == Private where ++ elements(e) returns the list of expressions in the ++ `literal' list `e'. Private == add - import Pair Rep == Pair(Identifier, List SpadAst) elements x == second rep x coerce(x: %): OutputForm == @@ -1135,7 +1131,6 @@ ReturnAst(): Public == Private where expression: % -> SpadAst ++ expression(e) returns the expression returned by `e'. Private == add - import Pair Rep == Pair(Identifier,SpadAst) expression x == second rep x coerce(x: %): OutputForm == @@ -1162,7 +1157,6 @@ SequenceAst(): Public == Private where last: % -> SpadAst ++ last(e) returns the last instruction in `e'. Private == add - import Pair Rep == Pair(Identifier,List SpadAst) body x == second rep x last x == last(second rep x)$List(SpadAst) diff --git a/src/interp/nruncomp.boot b/src/interp/nruncomp.boot index 58a7531f..cd90fe1b 100644 --- a/src/interp/nruncomp.boot +++ b/src/interp/nruncomp.boot @@ -1,6 +1,6 @@ -- Copyright (c) 1991-2002, The Numerical Algorithms Group Ltd. -- All rights reserved. --- Copyright (C) 2007-2011, Gabriel Dos Reis. +-- Copyright (C) 2007-2012, Gabriel Dos Reis. -- All rights reserved. -- -- Redistribution and use in source and binary forms, with or without @@ -282,6 +282,7 @@ NRTaddInner(db,x) == builtinConstructor? x.op or x.op is "[||]" => for y in x.args repeat NRTinnerGetLocalIndex(db,y) + niladicConstructor? x.op => nil cosig := getDualSignature x.op => for y in x.args for t in cosig.source | y isnt '$ and t repeat NRTinnerGetLocalIndex(db,y) |