Jan Wielemaker
Jan Wielemaker
Seems this (extracted) code: ``` :- dynamic a/1. tc(N) :- numlist(0, N, List), sum_list(List, Sum), forall(between(0, N, X), assertz(a(X))), thread_self(Me), thread_create(collect(Me), Id1, []), thread_create(collect(Me), Id2, []), thread_join(Id1, true), thread_join(Id2, true),...
Interesting feature. I need to think a little about this though. The linear list may get rather costly. Also, once the variable is instantiated the entire term will become part...
Exploring the term painting idea might make sense. One problem is that backtracking will "unpaint" the variable ... I've been thinking about getting stable names for variables several times. Never...
Thanks. Is innocent. Validates table garbage collection, but this is a conservative collector that may sometimes miss some garbage for a while. Probably I should change the test to be...
> But not after `qsave_program/2` is invoked: Possibly. qsave_program/2 is not really designed to make the calling process continue. Might have a look as it is probably also not really...
make/0 runs list_undefined/0 to check for undefined predicates. Not sure that is part of the "some errors" This all sounds a little complicated to me. Why not just have a...
Yeah, gcc can handle warnings as errors. In Prolog that is a little harder as we have both compiler warnings and errors and runtime warnings and errors. Also, Prolog is...
You can't invoke _gtrace with the stack info created by library prolog_stack_, at least I have no clue what that means. Maybe catch_with_backtrace/3 is what you are after?
Note that you can easily do that by installing from a local directory or archive file. So, to develop a pack - Make a directory with the name of the...
That is probably what it should become. Originally, the idea was that pack_install/1 would take anything that hinted at a pack, get what the user wanted and run pack_install(Pack, +Options)...