- swipl
- library
- error.pl
- debug.pl
- apply.pl
- lists.pl
- broadcast.pl
- shlib.pl
- option.pl
- thread_pool.pl
- gensym.pl
- settings.pl
- arithmetic.pl
- main.pl
- readutil.pl -- Read utilities
- operators.pl
- pairs.pl
- prolog_source.pl
- quasi_quotations.pl
- url.pl
- www_browser.pl
- prolog_colour.pl
- record.pl
- prolog_xref.pl
- occurs.pl
- ordsets.pl -- Ordered set manipulation
- assoc.pl
- ugraphs.pl
- solution_sequences.pl
- atom.pl
- prolog_pack.pl
- git.pl
- ctypes.pl
- utf8.pl
- base64.pl
- persistency.pl
- pure_input.pl
- nb_set.pl
- aggregate.pl
- csv.pl -- Process CSV (Comma-Separated Values) data
- iostream.pl -- Utilities to deal with streams
- dialect.pl
- apply_macros.pl -- Goal expansion rules to avoid meta-calling
- yall.pl
- prolog_code.pl -- Utilities for reasoning about code
- dif.pl -- The dif/2 constraint
- thread.pl -- High level thread primitives
- predicate_options.pl
- rbtrees.pl
- nb_rbtrees.pl
- sandbox.pl
- prolog_format.pl
- random.pl
- pprint.pl
- modules.pl -- Module utility predicates
- lazy_lists.pl
- edinburgh.pl
- prolog_clause.pl
- prolog_breakpoints.pl
- dicts.pl
- heaps.pl
- backcomp.pl -- Backward compatibility
- date.pl
- prolog_profile.pl
- listing.pl
- quintus.pl
- oset.pl
- varnumbers.pl
- tables.pl
- charsio.pl
- terms.pl
- make.pl
- streams.pl
- rwlocks.pl
- threadutil.pl -- Interactive thread utilities
- wfs.pl
- prolog_stack.pl -- Examine the Prolog stack
- check.pl -- Consistency checking
- intercept.pl -- Intercept and signal interface
- prolog_coverage.pl
- prolog_debug.pl
- increval.pl
- help.pl -- Text based manual
- portray_text.pl
- statistics.pl -- Get information about resource usage
- optparse.pl
- ansi_term.pl
- hashtable.pl
- coinduction.pl
- qsave.pl
- zip.pl
- prolog_history.pl
- codesio.pl
- shell.pl
- when.pl -- Conditional coroutining
- system.pl -- System utilities
- prolog_jiti.pl
- prolog_codewalk.pl -- Prolog code walker
- exceptions.pl
- base32.pl
- sort.pl
- library
- call_in_thread(+Thread, :Goal) is semidet
- call_in_thread(+Thread, :Goal, +Options) is semidet
- Run Goal as an interrupt in the context of Thread. This is based on
thread_signal/2. If waiting times out, we inject a
stop(Reason)exception into Goal. Interrupts can be nested, i.e., it is allowed to run a call_in_thread/2 while the target thread is processing such an interrupt.Options are passed to thread_get_message/3 and notably allow for specifying a timeout. If a timeout is reached, this predicate will attempt to kill Goal in Thread and act according to the option
on_timeout.- on_timeout(:Goal)
- If waiting terminates due to a
timeout(Time), ordeadline(Stamp)option, call Goal. The default isthrow(time_limit_exceeded).
This predicate is primarily intended for debugging and inspection tasks.