1:- module( lib, [lib/1,lib/2] ).    2
    3:- dynamic( lib:doc_module/1 ).    4
    5% :- dynamic( lib_mkdoc:lib_index/5 ).
    6lib(_A,_B).
    7% lib( A, B ) :- write(a(A)-b(B)), nl.
    8     % fixme
    9
   10lib( Lib ) :-
   11    prolog_load_context( module, Lod ),
   12    ( Lib = Pred/Ar -> 
   13          ( current_predicate(Lod:Pred/Ar) ->
   14                    true
   15                    ;
   16                    ( lib:doc_module(Lod) ->
   17                         true
   18                         ;
   19                         functor(Goal,Pred,Ar),
   20                         Lod:assert(Goal)
   21                    )
   22          )
   23          ;
   24          catch( Lod:use_module(library(Lib)), _, fail )
   25    ),
   26    !.
   27/*
   28lib( Pn/Pa ) :-
   29    lib_mkdoc:lib_index(Pn,Pa,_,_,File),
   30    !,
   31    lib_mkdoc:loc(Dir,Out),
   32    directory_file_path( Dir, File, AbsStem ),
   33    file_name_extension( AbsStem, pl, AbsF ),
   34    open( AbsF, read, In ),
   35    copy_stream_data( In, Out ),
   36    close( In ),
   37    nl( Out ).
   38    */
   39lib( _ )