G'day all.
Quoting ajb@spamcop.net:
zipWith (!!) (fix (([1]:).map(>>= \x->if x==0 then [1] else [1,0]))) [0..]
This was the shortest variant I could manage in the time allotted:
zipWith(!!)(fix(([1]:).map(>>= \x->1:[0|x==1])))[0..]
Cheers,
Andrew Bromage