\input slidelib.sty
\checkrun
%\finalrun

\slide {CAUGHT BY WEB}
learned about \LP\ from a friend;
did adaptation of TUGBoat styles for GUST bulletin
(had played with the experimental \TeX\ mode of FWEB);
since then have been exploring the idea of \LP;


\slide {THREE FACES OF WEB}
%% as opposed to OOP
\LP\ programs are `human oriented'
 -- documentation is a part of \LP\ program;
in code part you are telling to humans what computer
 should do, instead of telling to computer what should be done;
works well when writing programs directly from the keyboard;


\slide {UTILITARY BENEFITS OF WEB}
\LP\ programs have unique style; typeset \LP\ programs are
 easy to read and comprehend;
code part could be read in a `stratified' way which is
 quick and efficient way learning structure of programs;
indexes (automatically generated), cross-references, bibliography --
 everything typeset by \TeX\ adds to readability and understanding;
blends well with existing tools
 (RCS, AWK, PERL, DIFF, PATCH, MERGE...);


\slide {CREATING YOUR OWN \LP\ TOOLS WITH NOWEB}
TANGLE already done;
WEAVE modify existing scripts;
adapt existing format to work with macros
 inserted by the script;
extend tools;


\slide {WHAT I HAVE NOT SUCCEEDED TO TELL...}
more about \LP\ tools;
details of \TeX-WEB system;
another approach for making changes / updates to \LP\ sources;

\end


\slide {Feature or flaw? |\csname u n d e f \endcsname = \relax|}
If used in uncontrolled manner, can conceal flaws in coding;
but if used only an a tightly controlled manner, can lead to
 far more elegant and less verbose code.

\slide {Context sensitivity through nested |\if|s}
If the set of possible entities is small, conditionals may suffice:
\verbatim !
  \ifx  \precedingentity \sectionhead
        \fi
  \fi
! \mitabrev

