Sha256: 6289aa0b1b369f4b87c4ff89c75a4cdfe5914c0a7a4e2385d376625a5e682cdb

Contents?: true

Size: 464 Bytes

Versions: 3

Compression:

Stored size: 464 Bytes

Contents

(datatype progression

    X : (A * (A --> A) * (A --> boolean));
    ======================================
    X : (progression A);)    

(define delay
   {(progression A) --> (progression A)}
   (@p X F E) -> (if (not (E X)) 
                     (@p (F X) F E) 
                     (error "progression exhausted!~%")))

(define force
    {(progression A) --> A}
     (@p X F E) -> X)

(define end?
    {(progression A) --> boolean}
     (@p X _ E) -> (E X))

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
shen-ruby-0.12.1 shen/release/test_programs/streams.shen
shen-ruby-0.12.0 shen/release/test_programs/streams.shen
shen-ruby-0.11.0 shen/release/test_programs/streams.shen