Paulo Moura
Paulo Moura
Related: #318 and #320.
@jariazavalverde Now that you fixed all but one of the `bagof/3` and `setof/3` test failures, I would like to re-run these tests. Ideally, after you review and merge #318 and...
Some of the arithmetic functions I mention here and in other issues are de facto standard instead of official ISO standard. See e.g. the table at http://www.gprolog.org/manual/gprolog.html#sec96 See also the...
When calling a Prolog module predicate from within a Logtalk object (or category), the compiler must be able to access key predicate properties such as a meta-predicate template so that...
There isn't in the standard any `assertz/1` **directive**, only an `assertz/1` built-in **predicate**. A standard compliant version of that code is: ```logtalk :- initialization(( assertz(foo(bar)), assertz(foo(baz)) )). test :- foo(X),...
From the ISO Prolog standard perspective, the `position/1` property value is not specified. You can regard it as an opaque term and then have a small set of predicates to...
Btw, you can look inside the `logtalk3/adapters` files and see how different Prolog systems do it (search the files for the predicates `'$lgt_stream_current_line_number'` and `'$lgt_read_term'`.
There seems to be an initialization bug when reading the first term from a stream: ```text .../node_modules/tau-prolog/modules/core.js:7848 if(last_token.line_position === last_token.len) ^ TypeError: Cannot read property 'line_position' of null at read_term/3...
Looking into the implementation of the `read_term/3` predicate, it seems like all the necessary bits to support a `term_position(Position)` or simply `position(Position)` option are there. This option would return the...
One thing that SICStus Prolog does that I advice against it is applying expansion also at runtime (e.g. when asserting clauses). Although this can be useful in some cases, it...