/usr/local/lib/swipl/library/terms.pl
All Application Manual Name SummaryHelp

  • swipl
    • library
      • error.pl
      • debug.pl
      • apply.pl -- Apply predicates on a list
      • lists.pl
      • broadcast.pl
      • shlib.pl
      • option.pl
      • thread_pool.pl -- Resource bounded thread management
      • gensym.pl
      • settings.pl
      • arithmetic.pl -- Extensible arithmetic
      • main.pl
      • readutil.pl
      • operators.pl
      • pairs.pl
      • prolog_source.pl
      • record.pl
      • quasi_quotations.pl
      • pure_input.pl -- Pure Input from files and streams
      • solution_sequences.pl -- Modify solution sequences
      • ordsets.pl
      • random.pl
      • base64.pl
      • aggregate.pl -- Aggregation operators on backtrackable predicates
      • yall.pl
      • sandbox.pl
      • apply_macros.pl -- Goal expansion rules to avoid meta-calling
      • assoc.pl
      • prolog_format.pl
      • predicate_options.pl
      • csv.pl
      • pprint.pl
      • atom.pl -- Operations on atoms
      • modules.pl -- Module utility predicates
      • occurs.pl
      • prolog_xref.pl
      • prolog_colour.pl
      • lazy_lists.pl -- Lazy list handling
      • ugraphs.pl -- Graph manipulation library
      • url.pl
      • www_browser.pl -- Open a URL in the users browser
      • prolog_pack.pl
      • git.pl
      • rbtrees.pl
      • dif.pl
      • charsio.pl
      • prolog_stack.pl
      • edinburgh.pl -- Some traditional Edinburgh predicates
      • prolog_clause.pl
      • prolog_breakpoints.pl -- Manage Prolog break-points
      • wfs.pl
      • dialect.pl -- Support multiple Prolog dialects
      • prolog_code.pl
      • sort.pl
      • iostream.pl -- Utilities to deal with streams
      • dicts.pl
      • varnumbers.pl -- Utilities for numbered terms
      • make.pl
      • zip.pl
      • thread.pl
      • listing.pl
      • threadutil.pl -- Interactive thread utilities
      • optparse.pl
      • backcomp.pl
      • oset.pl
      • prolog_jiti.pl
      • intercept.pl
      • prolog_metainference.pl -- Infer meta-predicate properties
      • utf8.pl
      • streams.pl -- Manage Prolog streams
      • statistics.pl -- Get information about resource usage
      • ansi_term.pl -- Print decorated text to ANSI consoles
      • base32.pl -- Base32 encoding and decoding
      • codesio.pl -- I/O on Lists of Character Codes
      • coinduction.pl -- Co-Logic Programming
      • date.pl
      • heaps.pl
      • terms.pl -- Term manipulation
        • term_size/2
        • variant/2
        • subsumes_chk/2
        • subsumes/2
        • term_subsumer/3
        • term_factorized/3
        • mapargs/3
        • mapsubterms/3
        • mapsubterms_var/3
        • foldsubterms/4
        • foldsubterms/5
        • same_functor/2
        • same_functor/3
        • same_functor/4
      • when.pl -- Conditional coroutining
      • prolog_coverage.pl -- Coverage analysis tool
      • strings.pl
      • prolog_trace.pl -- Print access to predicates
      • exceptions.pl
      • persistency.pl
      • quintus.pl
      • fastrw.pl
      • portray_text.pl
      • prolog_autoload.pl
      • check.pl
      • prolog_codewalk.pl -- Prolog code walker
      • qsave.pl
      • shell.pl -- Elementary shell commands
      • tables.pl
      • macros.pl
      • prolog_debug.pl -- User level debugging tools
      • increval.pl -- Incremental dynamic predicate modification
      • rwlocks.pl
      • hashtable.pl
      • edit.pl
      • writef.pl
      • help.pl
      • ctypes.pl
      • prolog_wrap.pl
      • prolog_profile.pl
      • prolog_versions.pl
      • files.pl
      • system.pl
      • prolog_config.pl
      • prolog_history.pl
      • nb_set.pl
      • explain.pl
 foldsubterms(:Goal3, +Term1, +State0, -State) is semidet
 foldsubterms(:Goal4, +Term1, ?Term2, +State0, -State) is semidet
The predicate foldsubterms/5 calls call(Goal4, SubTerm1, SubTerm2, StateIn, StateOut) for each subterm, including variables, in Term1. If this call fails, StateIn and StateOut are the same. This predicate may be used to map subterms in a term while collecting state about the mapped subterms. The foldsubterms/4 variant does not map the term.