Switch branches/tags
Nothing to show
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


The Index consists of 4 programs

     egather <Name>
        <Name>.in -> <Name>.flist <Name>.trawl
     eindex <Name>
        <Name>.trawl -> <Name>.idx
     esearch <Name> "Query" 
        <Name>.idx "Query" -> Output
     efsim <Name>
        <Name>.trawl -> <Name>.fsim

   {"Dir", "*.erl", Bool}.


	elib2 - an Erlang library
	Joe Armstrong

Elib2 is an Erlang library and a number of complete programs that 
make use of the library.

The talk discusses:

   - the philosophy behind the library
   - what's in the library 
   - my plans for the library
I'll also show some of the programs that I have built using the
library, with special attention to the following programs:

   - elib2_gather
     A program to scavenge your hard disk and find all Erlang
     programs on your disk and pack them in a single
     compressed file (called a trawl).

   - elib2_make_index
     A program that creates a full text index from a trawl.
     This implements some of the algorithms in "managing gigabytes."
     In particular I'll show how gamma compression is implemented
     using the bit syntax. 

   - elib2_query
     A program that queries the full text index.

   - elib2_find_similar_files
     A program that computes a "similarity index" between pairs
     of Erlang modules. Using this we can find "the most similar"
     module to a given module in linear time.  I compute the similarity
     digraph of all Erlang module programs on my disk.

     Programs which are very similar are candidates for refactoring into
     a library part and a specific part. 

I'll also discuss my plans for releasing the library.