1:- module( stoics_lib, [ 
    2              stoics_lib/0,            % doc predicate 
    3              stoics_lib_version/2,    % -Vers, -Date
    4            % atom/
    5              at_con/2, at_con/3,      % ?List[, +Sep], ?Atom
    6              atom_replace/4,          % +Atom, +What, +With, -New
    7              atom_sub/2,              %  ?Sub, ?Ful.
    8              prefix_atom/2,prefix_atom/3,  % +Prefix, +Atom[, -Postfix]
    9              sub_atom/2,sub_atom/4,   % +Full[, ?Pre, ?Post], Sub
   10            % codes
   11              has_cased/3,             % +Obj, +Case, -Cased
   12              n_digits_integer_codes/3,% +N, +Numb, -Codes
   13              lexi/2,                  % ?Lexi, ?CodeOr
   14              lexi_n/4,                % -InCodes, +N, +PadC, -Codes
   15            % colour
   16              latex_colour/4,          % ?FullName, -HexValue, ?CodingName, -RGBterm
   17              colour_hex/2,            % +Clr, -HexString
   18            % date_time/
   19              datime_readable/1,       % +Ratom
   20              datime_readable/2,       % +Datime, -Ratom
   21              date_two_digit_dotted/1, % -Dotted
   22              date_two_digit_dotted/2, % +Date, -Dotted
   23              get_date/1,              % -Date
   24              get_date_time/1,         % -CurrDateTime
   25              get_datetime/1,          % -CurrDateTime
   26              three_letter_month/2,    % ?IntIdx, -Month
   27              three_letter_months/1,   % -Months
   28            % error/
   29              message_report/3,        % +Format, +Args, +Kind
   30            % file/
   31              expand_spec/2,           % +FileSpec, -Expanded
   32              locate/3,                % +File, +Exts, -Locations
   33            % io/
   34              io_line/2,               % +Stream, ?Line
   35              io_get_line/2,           % +Stream, -Line
   36              io_put_line/2,           % +Stream, +Line
   37              io_lines/2,              % +FileOrStream, -Lines
   38              io_close/2,              % +FileR, -Stream
   39              io_open/3,               % +FileR, +Mode, -Stream
   40              io_section/3,            % +SetUp, -Section, -GetUp
   41              io_section_close/1,      % +SetUp
   42              io_section_open/3,       % +File, -SetUp, +Opts
   43              io_sections/3,           % +File, -Sections, +Opts
   44              io_streams/3,            % ?Input, ?Output, ?Error
   45              io_url/1,                % +Opts
   46            % kv/
   47              kv_compose/3,            % +Ks, +Vs, -KVs
   48              kv_compose/4,            % +List1, +List2, -KVsCont, -Tkvs
   49              kv_decompose/3,          % +Pairs, -Ks, -Vs
   50              kv_ks/2,                 % +KVs, -Ks
   51              kv_transpose/2,          % +KVs, -VKs
   52              kv_vs/2,                 % +KVs, -Vs
   53              kvo_k_memberchk/3,       % +K, +KVs, -V
   54              kvs_k_memberchk/3,       % +K, +KVs, -V
   55            % list/
   56              break_on_list/4,         % +List, +Partial, -Left, -Right
   57              break_nth/4,             % +Nth, +List, -Left, -Right
   58              n_breaks/4,              % +Vector, +N, -Breaks, -Opts
   59              nth1/5,                  % ?N, +List, ?With, ?Nth, +NewList
   60              has_at_least/3,          % +N, +X, +List
   61              has_at_most/3,           % +N, +X, +List
   62              list_frequency/2,        % +List, -Freqs
   63              list_frequency/3,        % +List, -Freqs, +Opts
   64              list_is_invariant/1,     % +List
   65              list_proportions/2,      % +List, -Props
   66              list_proportions/3,      % +List, -Props, +Opts
   67              list_transpose/2,        % +List, -Transpose
   68              min_max/3,               % +List, -Max, -Min
   69              select_all/4,            % +List, +Elem, -Select, -Rem
   70              select_first/3,          % +List, +Elem, -Rem
   71              skim/3,                  % +Nested, -Scum, -Remains
   72            % meta/
   73              call_morph/4,            % +Term, +Input, -Morphed, +Opts
   74              current_call/1,          % +Goal
   75              current_call/2,          % +Goal, +Else
   76              goal/4,                  % +Partial, +ArgS, +Mod, -Goal
   77              goal_spec/2,             % +ModG, -ModSpec
   78              holds/2,                 %  +Goal, -Holds
   79              imported_from/2,         %  +Clauser, ?Mod
   80              known/1,known/2,         %  +Goal[, Opts]
   81              maparg/2,maparg/3,       % +Pname, ?Term1[, ?Term2]
   82              maparg/4,                % +PName, +Npos ?Term1, ?Term2
   83              map_list_options/3,      % +Goal, +InList, +Opts
   84              map_list_options/4,      % +Goal, +/-InList, -/+OutList, +Opts
   85              map_succ_list/3,         %  
   86              map_succ_list/4,         % +Goal, ?InList, ?OutList[, -Rejects]
   87              mod_goal/2,              % +Goal, -Moal
   88              mod_goal/3, mod_goal/4,  % +Mod, +Goal[, +Override], -Moal
   89              on_fail/2, on_fail/3,    % +Goal, +Call, +Opts
   90              on_call/4,               % +OnB+ +Goal, +In, -Out
   91              which/3,                 % Goal, +Term, -Indices
   92            % number/
   93              int_trailer/2,           % +Int, -Trailer
   94              compare_arithmetic/3,    % -Op, +X, +Y
   95              n_digits_min/3,          % +N, +Number, -Padded 
   96              odd/1,                   % +Odd
   97              even/1,                  % +Even
   98            % strings/
   99              letter_strings/3,        % +Start, -N, -Letts 
  100            % term/
  101              arg_add/4,               % +N, +Term, +Arg, -New
  102              arg/4, arg/5,            % ?N, +TermIn, [+NewNth,] ?Nth, -TermOut
  103              arity/2,arity/3,         % ?Term[, ?Name], ?Arity
  104              functor_term/2,          % ?Pid, ?Term
  105              compare/4,               % +Type, ?Op, +Term1, +Term
  106              compound/3,              % +Term, -Name, -Args 
  107              curtail/3,               % +Term, -Max, -Curtailed
  108              en_append/3,             % +ListOr1, +ListOr2, List
  109              en_list/2,en_list/3,     % +Term, -Listed[, +Opts]
  110              has_length/2,            % +List, +Lengthy
  111              has_length/3,            % +List, +Lengthy, +Op
  112              has_length/4,            % +List, +Lengthy, +Op, +Err
  113              op_compare/3,            % ?Op, +Term1, +Term2
  114              portray_clauses/2,       % +Terms, +Opts
  115              positions/2,positions/3, % +Data, [-Dtype,] -NofPositions ).
  116              position/3,position/4,   % [+Type,] ?N, +Data, ?Nths
  117              position/6,              % +Type, ?N, +Data, ?Nths, -NxN, -Cont
  118              position_nth/3, position_nth/4, % +N, +Data[, -Nth]
  119              position_nth/5, position_nth/6, % [+Dtype,] +N, +Data, -Nth, -Rem, -Nxt
  120              position_type/2,         % +Term, -PosType
  121              term_length/2,           % +Term, -Length
  122              term_type/2,             % +Term, -Type
  123              termplate/2,termplate/3, % +Term[, -Arity], -Termplate
  124              url_file/2,url_file/3    % +Url, +File[, +Opts]
  125    ] ).  126
  127% :- ensure_loaded( '../src/auxil/stoics_lib_module.pl' ).
  128
  129:- use_module(library(lib)).  130:- lib( source(stoics_lib), [index(true),homonyms(false)] ).  131
  132:- lib(stoics_lib/0).  133:- lib(stoics_lib_version/2).  134:- lib(at_con/2).  135:- lib(at_con/3).  136:- lib(atom_sub/2).  137:- lib(prefix_atom/2).  138:- lib(prefix_atom/3).  139:- lib(sub_atom/2).  140:- lib(sub_atom/4).  141:- lib(n_digits_integer_codes/3).  142:- lib(datime_readable/1).  143:- lib(datime_readable/2).  144:- lib(date_two_digit_dotted/1).  145:- lib(date_two_digit_dotted/2).  146:- lib(get_date/1).  147:- lib(get_date_time/1).  148:- lib(get_datetime/1).  149:- lib(three_letter_month/2).  150:- lib(three_letter_months/1).  151:- lib(message_report/3).  152:- lib(expand_spec/2).  153:- lib(io_line/2).  154:- lib(io_get_line/2).  155:- lib(io_put_line/2).  156:- lib(io_lines/2).  157:- lib(io_close/2).  158:- lib(io_open/3).  159:- lib(kv_compose/3).  160:- lib(kv_compose/4).  161:- lib(kv_decompose/3).  162:- lib(kv_ks/2).  163:- lib(kv_transpose/2).  164:- lib(kv_vs/2).  165:- lib(kvo_k_memberchk/3).  166:- lib(kvs_k_memberchk/3).  167:- lib(break_on_list/4).  168:- lib(break_nth/4).  169:- lib(has_at_least/3).  170:- lib(has_at_most/3).  171:- lib(has_length/2).  172:- lib(has_length/3).  173:- lib(has_length/4).  174:- lib(list_frequency/2).  175:- lib(list_frequency/3).  176:- lib(list_proportions/2).  177:- lib(list_proportions/3).  178:- lib(list_transpose/2).  179:- lib(select_all/4).  180:- lib(select_first/3).  181:- lib(skim/3).  182:- lib(current_call/1).  183:- lib(current_call/2).  184:- lib(goal/4).  185:- lib(goal_spec/2).  186:- lib(holds/2).  187:- lib(imported_from/2).  188:- lib(known/1).  189:- lib(known/2).  190:- lib(map_list_options/3).  191:- lib(map_list_options/4).  192:- lib(map_succ_list/3).  193:- lib(map_succ_list/4).  194:- lib(mod_goal/2).  195:- lib(mod_goal/3).  196:- lib(mod_goal/4).  197:- lib(which/3).  198:- lib(int_trailer/2).  199:- lib(letter_strings/3).  200:- lib(arity/2).  201:- lib(arity/3).  202:- lib(functor_term/2).  203:- lib(compound/3).  204:- lib(en_list/2).  205:- lib(en_list/3).  206:- lib(op_compare/3).  207:- lib(portray_clauses/2).  208:- lib(positions/2).  209:- lib(positions/3).  210:- lib(position/3).  211:- lib(position/4).  212:- lib(position/6).  213:- lib(position_nth/3).  214:- lib(position_nth/4).  215:- lib(position_nth/5).  216:- lib(position_nth/6).  217:- lib(position_type/2).  218:- lib(termplate/2).  219:- lib(termplate/3).  220:- lib(locate/3).  221:- lib(compare/4).  222:- lib(compare_arithmetic/3).  223:- lib(n_digits_min/3).  224:- lib(n_breaks/4).  225:- lib(min_max/3).  226:- lib(nth1/5).  227:- lib(arg_add/4).  228:- lib(arg/4).  229:- lib(arg/5).  230:- lib(maparg/2).  231:- lib(maparg/3).  232:- lib(maparg/4).  233:- lib(atom_replace/4).  234:- lib(io_sections/3).  235:- lib(on_fail/2).  236:- lib(on_fail/3).  237:- lib(on_call/4).  238:- lib(term_length/2).  239:- lib(curtail/3).  240:- lib(term_type/2).  241:- lib(en_append/3).  242:- lib(url_file/2).  243:- lib(url_file/3).  244:- lib(call_morph/4).  245:- lib(io_streams/3).  246:- lib(lexi/2).  247:- lib(has_cased/3).  248:- lib(latex_colour/4).  249:- lib(colour_hex/2).  250:- lib(lexi_n/4).  251:- lib(list_is_invariant/1).  252:- lib(io_url/1).  253:- lib(odd/1).  254:- lib(even/1).  255:- lib(io_section/3).  % also io_section_open/3, io_section_close/1.
  256
  257:- lib( end(stoics_lib) ).