Difference between revisions of "Thunks and Streams Assignment"

From CSE425S Wiki
Jump to navigation Jump to search
(Created page with "=Thunk Utilities= define a function <code>thunk?</code> which returns #t if the specified parameter is a thunk, #f otherwise. define a macro <code>thunk</code> which creates...")
 
Line 19: Line 19:
 
=Stream App=
 
=Stream App=
  
define a <code>flip-flop-stream</code> which produces '''#t #f #t #f #t #f #t #f...'''
+
define <code>flip-flop-stream</code> which produces #t #f #t #f #t #f #t #f...

Revision as of 07:10, 2 July 2019

Thunk Utilities

define a function thunk? which returns #t if the specified parameter is a thunk, #f otherwise.

define a macro thunk which creates thunk

define a function dethunk which takes a thunk parameter th and returns the result of invoking th.

Stream Utilities

define a function stream? which returns #t if the specified parameter is a stream, #f otherwise.

define a function next-value-from-stream which takes a stream parameter and returns the next value of that stream.

define a function stream-cons which takes two parameters value and stream-prime. if the specified stream-prime parameter is not a stream then an error should be raised:

(raise (error "not a stream" stream-prime))

Stream App

define flip-flop-stream which produces #t #f #t #f #t #f #t #f...