bimbart@kulcs.UUCP (Bart Demoen) (05/20/87)
This is the main contents - not a copy - of a letter we recently sent
to Mike Newton. We have no connection with him other than him possibly being a
customer in the near future. We thought that the people on the list
may be interested in our comments on his review of BIMprolog:
The complaint about the robustness - the core dumped and the bad user stack
message on the console - is due only to the fact that Mike's programs construct
and manipulate - write for example - circular terms; even without seeing his
programs we know this because
1. we have never had this message except when manipulating circular terms
2. Mike's first 3 complaints show this as does the first minor feature Mike
claim BIMprolog misses: 'The debug printer should recognize recursive terms,
and print them accordingly'
By the way, it is not a prolog stack which overflows, it is the C-stack.
Your second complaint shows that you think BIMprolog has no (prolog)stack
overflow tests: this is completely wrong; at every call, heap and stack-trail
tests are performed - as in every decent prolog system; speed would increase
with at least 20% if we wouldn't !
We agree that our occur check option is not safe, we should indeed remove it
from the manual until it is - we are working on that.
Circular terms, if carefully handled, do not produce this user stack overflow -
we use circular terms for instance to represent a graph, but we must write our
own write-routines for the graph of course.
please/1 gives you the possibility to inspect the size of the stacks - and of
other data spaces ( ?- please('read manual') . )
please/1 gives you the possibility to limit the depth with which a term is
written out
I am really angry about the publishing of reviews like Mike's, in a digest, not
because it could show weak points of a product. Rather because nobody benifits
from a too short evaluation by a non-expert.
This letter is my personal initiative, not approved by the company BIM.
Sincerely,
Bart Demoen bimbart@kulcs bart@sunbim