Paulo Moura

Results 129 comments of Paulo Moura

Wondering about the possible trouble of having: ```text ?- function_property(_ ** _, Property). Property = built_in ; Property = static ; Property = template(rat ** rat, rat) ; Property =...

A more concise (but also ambiguous) alternative would be to simply use in this case: ```logtalk template(number ** number, number) ```

At https://github.com/didoudiaz/gprolog/issues/40 Daniel makes a good point that using instead `evaluable_property/2` fits better with the ISO Prolog Core standard. Both me and Andrew agree with the change for LVM and...

> What about functions that do not change the type, e.g., +(X) simply returns X. should that have `template(+(T),T)`, or a template for each supported type? Another case is max/2....

> See a proposal in https://github.com/SWI-Prolog/swipl-devel/blob/master/library/prolog_evaluable.pl The `static`, `dynamic`, and `foreign` properties should still be _accepted_ (i.e. recognized as valid), if when they don't apply to a particular Prolog system....

A `visible` property could simplify some code, even if only testing if an evaluable functor is available. Daniel is also suggestion an `iso` property for evaluable functors specified in ISO...

> > The `static`, `dynamic`, and `foreign` properties should still be _accepted_ (i.e. recognized as valid), if when they don't apply to a particular Prolog system. > > As with...

> > The current tests actually throw a domain error on unknown properties. Your argument here is a reasonable one. But so is detecting typos/errors in property names; if not...

> > A good argument here is that a failure would mask invalid properties. If a property only was meaning in system A, there's no sound reason in general to...

Same problem with `thread_send_message/2`: ```text $ swipl Welcome to SWI-Prolog (threaded, 64 bits, version 9.3.0-17-g4d781a64e) SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software. Please run ?- license. for...