Recently in swipl-8.2.1/windows/64-bit we ran into issues when some part of our tool chain decided to replace line endings <cr><lf> with <cr><cr><lf>. This caused swipl to silently ignore the files, and I had similar issues on bsd. I can’t tell if this is expected behavior, and if so, what is the reason for ignoring silently?
… ok, I see my text changed when posting - line endings in our files were changed from CR-LF to CR-CR-LF… inserting an additional CR before the line ending.
This is normally how Prolog works. Remember that Prolog is a logic language that is made up of only predicates, and predicates return either true or false (think silently fail).
Take a look at the results of the Google searchswi prolog 'fail silently'
Since you did not give specifics it is hard to give specific advise.
If you want errors then perhaps look at must_be/2.
Sorry - when I consult my prolog source files from disk, all clauses in the files are ignored when my line endings are bad. Swipl doesn’t complain about it.
Seems totally normal. Also what I’d expect: Prolog doesn’t care about white space. In DOS line mode it strips \r from the input, but that is all AFAIK. So, please come with something to reproduce this.
I will return once I can reproduce it; it’s been a while since I saw it myself, so I need a colleague on vacation to reproduce. As I recall, we use goal_expansion to tweak database, and messing up line endings would cause the expanded goals to disappear.