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( _ )