aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/stream.spad.pamphlet
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2009-01-06 06:53:21 +0000
committerdos-reis <gdr@axiomatics.org>2009-01-06 06:53:21 +0000
commit258d6427280f1ee0cce0dcdf12c38ad65b5e36cc (patch)
tree7c37449e24bbcfba741729b6d16a71b9c5007ea4 /src/algebra/stream.spad.pamphlet
parentbd3fb898659b91542e7a3109f36b2f8b17e05a5d (diff)
downloadopen-axiom-258d6427280f1ee0cce0dcdf12c38ad65b5e36cc.tar.gz
* interp/sys-utility.boot (getVMType): IndexList are lists.
* interp/g-util.boot (isSubDomain): Tidy. * interp/g-opt.boot (isVMConstantForm): New. (findVMFreeVars): Likewise. * interp/define.boot (insertViewMorphisms): Remove. (emitSubdomainInfo): New. (checkVariableName): Likewise. (checkParameterNames): Likewise. (checkRepresentation): Set $subdomain where appropriate. (compDefines): Check parameter names. (compDefineFunctor1): Propagate subdomain info. (doIt): Don't call insertViewMorphisms. * interp/compiler.boot (setqSingle): Check variable name. (compIterator): Likewise. (commonSuperType): New. (satisfies): Likewise. (coerceSubset): Use them to implemen cross-subdomain coercion. (coerceSuperset): New. (comCoerce1): Use it. (compPer): New. (compRep): Likewise. * interp/c-util.boot (getRepresentation): New. (proclaimCapsuleFunction): Improve for specialized subdomains. * algebra/stream.spad.pamphlet: Don't use `per' as variable name. * algebra/si.spad.pamphlet (size$SingleInteger): Tidy. (coerce$SingleInteger): Likewise. * algebra/reclos.spad.pamphlet (nonNull$RealClosure): Don't use `rep' as parameter name. * algebra/data.spad.pamphlet (Byte): Now a subdomain of NonNegativeInteger. Tidy.
Diffstat (limited to 'src/algebra/stream.spad.pamphlet')
-rw-r--r--src/algebra/stream.spad.pamphlet9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/algebra/stream.spad.pamphlet b/src/algebra/stream.spad.pamphlet
index a691aab2..aa23b60c 100644
--- a/src/algebra/stream.spad.pamphlet
+++ b/src/algebra/stream.spad.pamphlet
@@ -553,7 +553,6 @@ CyclicStreamTools(S,ST): Exports == Implementation where
-- As explained below, in the capsule, the Rep for STREAM is actually
-- a half lie. So, the system should not be allowed to trust it.
)boot $optProclaim := false
-import Type
import Void
import Boolean
import Integer
@@ -1062,12 +1061,12 @@ Stream(S): Exports == Implementation where
i := 0; while not eq?(x,tl) repeat (x := rst x; i := i + 1)
i = n => [false, 0, 0]
-- Find period. Now x=tl, so step over and find it again.
- x := rst x; per := 1
- while not eq?(x,tl) repeat (x := rst x; per := per + 1)
+ x := rst x; periode := 1
+ while not eq?(x,tl) repeat (x := rst x; periode := periode + 1)
-- Find non-periodic part.
- x := hd; xp := rest(hd, per); npp := 0
+ x := hd; xp := rest(hd, periode); npp := 0
while not eq?(x,xp) repeat (x := rst x; xp := rst xp; npp := npp+1)
- [true, npp, per]
+ [true, npp, periode]
delay(fs:()->%) == [NonNullStream, fs pretend %]