Did you know? SWI-Prolog can lazily parse a fileSearch Documentation:
SWI-Prolog owl logoPredicate read_stream_to_codes/2