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

  • swipl
    • library
      • error.pl
      • debug.pl -- Print debug messages and test assertions
      • apply.pl
      • lists.pl
      • broadcast.pl
      • shlib.pl
      • option.pl
      • thread_pool.pl
      • gensym.pl
      • settings.pl
      • arithmetic.pl
      • main.pl -- Provide entry point for scripts
      • readutil.pl
      • operators.pl -- Manage operators
      • pairs.pl
      • prolog_source.pl -- Examine Prolog source-files
      • record.pl -- Access compound arguments by name
      • quasi_quotations.pl -- Define Quasi Quotation syntax
      • sandbox.pl -- Sandboxed Prolog code
      • apply_macros.pl -- Goal expansion rules to avoid meta-calling
      • yall.pl -- Lambda expressions
      • assoc.pl
      • prolog_format.pl
      • pure_input.pl
      • solution_sequences.pl
      • ordsets.pl
      • random.pl
      • base64.pl
      • aggregate.pl -- Aggregation operators on backtrackable predicates
      • predicate_options.pl -- Access and analyse predicate options
      • csv.pl
      • pprint.pl
      • atom.pl
      • modules.pl
      • occurs.pl -- Finding and counting sub-terms
      • prolog_xref.pl
      • prolog_colour.pl -- Prolog syntax colouring support.
      • lazy_lists.pl
      • ugraphs.pl
      • url.pl -- Analysing and constructing URL
      • www_browser.pl
      • prolog_pack.pl
      • git.pl
      • utf8.pl -- UTF-8 encoding/decoding on lists of character codes.
      • 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
      • prolog_versions.pl
      • prolog_wrap.pl
      • dialect.pl
      • date.pl
      • persistency.pl
      • iostream.pl -- Utilities to deal with streams
      • prolog_code.pl -- Utilities for reasoning about code
      • strings.pl
      • dif.pl
      • edinburgh.pl -- Some traditional Edinburgh predicates
      • terms.pl
      • ansi_term.pl
      • threadutil.pl -- Interactive thread utilities
      • prolog_stack.pl
      • prolog_clause.pl
      • prolog_breakpoints.pl
      • wfs.pl
      • sort.pl
      • dicts.pl
      • varnumbers.pl
      • rbtrees.pl -- Red black trees
      • backcomp.pl -- Backward compatibility
      • charsio.pl -- I/O on Lists of Character Codes
      • thread.pl
      • base32.pl
      • codesio.pl -- I/O on Lists of Character Codes
      • coinduction.pl
      • heaps.pl -- heaps/priority queues
      • statistics.pl -- Get information about resource usage
      • when.pl -- Conditional coroutining
      • shell.pl -- Elementary shell commands
      • prolog_jiti.pl
      • ctypes.pl -- Character code classification
      • fastrw.pl
      • prolog_profile.pl
      • prolog_trace.pl
      • exceptions.pl
      • optparse.pl
      • readln.pl -- Read line as list of tokens
      • writef.pl
      • make.pl
      • check.pl -- Consistency checking
      • listing.pl -- List programs and pretty print clauses
      • intercept.pl -- Intercept and signal interface
      • tables.pl -- XSB interface to tables
      • prolog_deps.pl
      • nb_set.pl -- Non-backtrackable sets
      • prolog_coverage.pl
      • edit.pl
      • explain.pl
      • system.pl
      • prolog_debug.pl
      • increval.pl
      • vm.pl
      • prolog_config.pl
      • macros.pl
      • hashtable.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.