For the first, you don't need to wrap a function of one argument in a lambda. I can't remember if you need to quote function names in Clojure, so it's either:
(stream-filter perfect? ... )
or: (stream-filter 'perfect? ...)