# HG changeset patch # User Mike Pavone # Date 1280725237 14400 # Node ID 05c22ff4b4eda42a8f447faf70701f222beb8158 # Parent 09831a71a4bcd868908976e70a14e96eb85bd178 Forgot to add this with a prior commit diff -r 09831a71a4bc -r 05c22ff4b4ed range.rhope --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/range.rhope Mon Aug 02 01:00:37 2010 -0400 @@ -0,0 +1,48 @@ + +Blueprint Range +{ + Start + End +} + +Range[start,end:out] +{ + out <- [[Build[Range()]]Start <<[start]]End <<[end] +} + +First@Range[range:out,none] +{ + If[[[range]Start >>] < [[range]End >>]] + { + out <- [range]Start >> + }{ + none <- range + } +} + +Next@Range[range,val:out,done] +{ + next <- [val]+[1] + If[[next] < [[range]End >>]] + { + out <- Val[next] + }{ + done <- range + } +} + +Index@Range[range,index:out,notfound] +{ + If[[index] < [[range]End >>]] + { + If[[index] < [[range]Start >>]] + { + notfound <- index + }{ + out <- index + } + }{ + notfound <- index + } +} +