Paulo Moura
Paulo Moura
> What else do you want? Existence is a bit misleading, but a completed thread is what Unix calls a _zombie_ process: the thing is gone, but there is still...
> In SWI-Prolog at least, the entire thread structure is cleared when the thread terminates. How difficult would be to that to happen only for detached threads but postpone it...
Using an option in `thread_get_message/3` and in a `thread_signal/3` upcoming predicate to decide behavior when the thread is no longer running sounds like a good way forward without introducing backwards...
From this discussion and my own experience, it seems clear that, depending on the application, we ideally want to either silently succeeding or throwing an exception when sending a message...
**Update** An additional property, that enables e.g. more sophisticated linter checks, is `template/2`. It allows querying function arguments types and return types. For example: ```text ?- function_property(abs(_), Property). Property =...
> Shorter: > > ``` > ?- _==_. > true, unexpected. > false. % expected > ``` Could this be a top-level issue? Logtalk includes this test and it passes...
Also for the record: ```text $ logtalk_tester -p ciao -g "set_logtalk_flag(clean,off)" -w -t 360 % Batch testing started @ 2023-12-21 11:20:36 % Logtalk version: 3.74.0-b01 % Ciao Prolog version: 1.22.0-commit_info(master,18eeb4b77ade15a73508323bc768f5d2c68abc6a,2023-07-22...
**Update** An additional property, that enables e.g. more sophisticated linter checks, is `template/2`. It allows querying function arguments types and return types. For example: ```text ?- function_property(abs(_), Property). Property =...
See also the following standardization proposal for threads in Prolog: [threads.pdf](https://github.com/mthom/scryer-prolog/files/4663159/threads.pdf)
I can reproduce the hang just by doing: ```text $ scryerlgt ... ?- use_module(library(dif)). ```