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

  • swipl
    • library
      • error.pl
      • debug.pl
      • apply.pl -- Apply predicates on a list
      • lists.pl
      • broadcast.pl -- Event service
      • shlib.pl -- Utility library for loading foreign objects (DLLs, shared objects)
      • option.pl -- Option list processing
      • thread_pool.pl -- Resource bounded thread management
      • gensym.pl -- Generate unique symbols
      • settings.pl -- Setting management
      • arithmetic.pl -- Extensible arithmetic
      • main.pl -- Provide entry point for scripts
      • readutil.pl
      • operators.pl
      • pairs.pl -- Operations on key-value lists
      • prolog_source.pl
      • record.pl -- Access compound arguments by name
      • quasi_quotations.pl -- Define Quasi Quotation syntax
      • pure_input.pl -- Pure Input from files and streams
      • solution_sequences.pl -- Modify solution sequences
      • ordsets.pl -- Ordered set manipulation
      • random.pl -- Random numbers
      • base64.pl -- Base64 encoding and decoding
      • aggregate.pl
      • yall.pl -- Lambda expressions
      • sandbox.pl -- Sandboxed Prolog code
      • apply_macros.pl -- Goal expansion rules to avoid meta-calling
      • assoc.pl -- Binary associations
      • prolog_format.pl -- Analyse format specifications
      • predicate_options.pl -- Access and analyse predicate options
      • csv.pl -- Process CSV (Comma-Separated Values) data
      • pprint.pl -- Pretty Print Prolog terms
      • atom.pl -- Operations on atoms
      • modules.pl -- Module utility predicates
      • occurs.pl -- Finding and counting sub-terms
      • prolog_xref.pl
      • prolog_colour.pl -- Prolog syntax colouring support.
      • lazy_lists.pl -- Lazy list handling
      • ugraphs.pl -- Graph manipulation library
      • url.pl -- Analysing and constructing URL
      • www_browser.pl
      • prolog_pack.pl -- A package manager for Prolog
      • git.pl
      • rbtrees.pl -- Red black trees
      • dif.pl
      • charsio.pl -- I/O on Lists of Character Codes
      • prolog_stack.pl -- Examine the Prolog stack
      • edinburgh.pl
      • prolog_clause.pl
      • prolog_breakpoints.pl
      • wfs.pl
      • dialect.pl -- Support multiple Prolog dialects
      • prolog_code.pl -- Utilities for reasoning about code
      • sort.pl
      • iostream.pl -- Utilities to deal with streams
      • dicts.pl
      • varnumbers.pl -- Utilities for numbered terms
      • prolog_codewalk.pl
      • listing.pl
      • prolog_metainference.pl -- Infer meta-predicate properties
      • base32.pl -- Base32 encoding and decoding
      • codesio.pl -- I/O on Lists of Character Codes
      • coinduction.pl -- Co-Logic Programming
      • date.pl -- Process dates and times
      • heaps.pl -- heaps/priority queues
      • statistics.pl -- Get information about resource usage
      • terms.pl -- Term manipulation
      • utf8.pl -- UTF-8 encoding/decoding on lists of character codes.
      • when.pl -- Conditional coroutining
      • backcomp.pl -- Backward compatibility
      • nb_set.pl -- Non-backtrackable sets
      • ansi_term.pl -- Print decorated text to ANSI consoles
      • threadutil.pl -- Interactive thread utilities
      • shell.pl
      • strings.pl -- String utilities
      • ctypes.pl -- Character code classification
      • increval.pl
      • tables.pl -- XSB interface to tables
      • prolog_jiti.pl -- Just In Time Indexing (JITI) utilities
      • qsave.pl
      • zip.pl -- Access resource ZIP archives
      • prolog_autoload.pl -- Autoload all dependencies
      • check.pl -- Consistency checking
      • quintus.pl -- Quintus compatibility
        • unix/1
        • otherwise/0
        • abs/2
        • sin/2
        • cos/2
        • tan/2
        • log/2
        • log10/2
        • pow/3
        • ceiling/2
        • floor/2
        • round/2
        • sqrt/2
        • acos/2
        • asin/2
        • atan/2
        • atan2/3
        • sign/2
        • genarg/3
        • prolog_flag/2
        • date/1
        • no_style_check/1
        • simple/1
        • current_stream/3
        • stream_position/3
        • skip_line/0
        • skip_line/1
        • compile/1
        • atom_char/2
        • midstring/3
        • midstring/4
        • midstring/5
        • midstring/6
        • raise_exception/1
        • on_exception/3
      • persistency.pl
      • prolog_versions.pl
      • prolog_coverage.pl -- Coverage analysis tool
      • prolog_history.pl -- Per-directory persistent commandline history
      • prolog_config.pl -- Provide configuration information
      • prolog_trace.pl
      • prolog_wrap.pl -- Wrapping predicates
      • macros.pl -- Macro expansion
      • prolog_debug.pl -- User level debugging tools
      • make.pl -- Reload modified source files
      • fastrw.pl -- Fast reading and writing of terms
      • thread.pl -- High level thread primitives
      • optparse.pl
      • prolog_profile.pl -- Execution profiler
      • system.pl -- System utilities
      • rwlocks.pl
      • explain.pl
      • oset.pl -- Ordered set manipulation
      • edit.pl -- Editor interface
      • portray_text.pl
      • intercept.pl
      • writef.pl
 midstring(?ABC, ?B, ?AC) is nondet
 midstring(?ABC, ?B, ?AC, LenA) is nondet
 midstring(?ABC, ?B, ?AC, LenA, LenB) is nondet
 midstring(?ABC, ?B, ?AC, LenA, LenB, LenC) is nondet
Too difficult to explain. See the Quintus docs. As far as I understand them the code below emulates this function just fine.