Mercurial > repos > rhope
diff extendlib.rhope @ 13:23dd9c766699
C backend close to being useable
author | mpavone@ |
---|---|
date | Tue, 26 May 2009 23:49:46 +0000 |
parents | b3f71490858c |
children | 90c20dc3f4e5 |
line wrap: on
line diff
--- a/extendlib.rhope Mon May 25 23:34:36 2009 -0400 +++ b/extendlib.rhope Tue May 26 23:49:46 2009 +0000 @@ -594,3 +594,46 @@ not found <- text } } + +Blueprint Range +{ + Start + End +} + +Range[start,end:out] +{ + out <- [[Build["Range"]]Start <<[start]]End <<[end] +} + +First@Range[range:out] +{ + out <- [range]Start >> +} + +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 + } +} +