just noticed: read_line_to_codes (+Stream, -Line, ?Tail) and the example, which somehow reads to a delimiter – will try to get my head around the example.
I guess this would need to be a “low level” list – that (lazily) gets chars until, i guess, it encounters the dot. and the DCG grammar essentially recognizes a string with a period in the end.