Richard has been advocating for ages the writing of steadfast predicates: he could be named the prophet of steadfastness.
So, when Richard writes in a public forum a predicate that does not look steadfast, he should expect remarks. Now, let's not pretend either of us is stupid: I knew about the intended encapsulation and that the way Richard's code uses it, is safe. And he knew I knew that. A real cool answer from Richard after my first remark, would have been along the lines:
# Bart, as usual, you make such fuzz out of nothing, but actually, # you are right, between_aux/3 is not steadfast. Here is a # steadfast version: # # <steadfast version of between_aux/3> # # However, since between_aux/3 is meant to be private to between/3, # its non-steadfastness does not matter <and dwell in it> # <and mock me a little if he really felt like it>
Instead, Richard's first answer was rather disappointing because it started by stating that between_aux/3 is steadfast. (and also because he forgot to mention that my remark was petty :-)
His second answer uses the "official definition of steadfastness". That definition was written at a moment that there was no standard about Prolog modules and where Prolog systems with modules typically allowed to bypass the intended hiding of non-exported predicates: every module (and toplevel) could call between_aux/3 by qualifying it with the appropriate module (most widely used Prolog systems with modules still allow so today).
This means that in the context in which the "official definition of steadfastness" was written, it was clearly not true that "Queries of "unexpected form" do not arise": they did (and they still do) and neither is "ALL THE CALLS TO IT [between_aux/3] ARE KNOWN".
If Richard wants to amend his definition to a (perhaps future) version of Prolog that conforms more to his ideal, fine of course. But the explicit or implied accusation of using some other definition of "steadfast", does not apply to me.
Again, I know what sort of reaction I am hoping for ...
Cheers
Bart Demoen ============================================================================== Message: Address: Action: help majordomo(a)clip.dia.fi.upm.es Info. on useful commands subscribe ciao-users-request(a)clip.dia.fi.upm.es Subscribe to this list unsubscribe ciao-users-request(a)clip.dia.fi.upm.es Unsubscribe from this list <whatever> ciao-users(a)clip.dia.fi.upm.es Send message to list ----------------------------------------------------------------------------- Archived messages: http://www.clip.dia.fi.upm.es/Mail/ciao-users/ -----------------------------------------------------------------------------