时间机器回溯到:http://web.archive.org/web/20101123100410/http://erlang.org/user.html

 

We no longer accept new contributions. The contributions here might be moved to www.trapexit.org user contributions in the future.

Also note that some of the contributions have newer versions at Jungerl.

 

One Line Summaries

 

Application Date modified Summary
anal-1.0 Nov 30, 1998 A clever and fast number analyser
assoc-1.2 Nov 30, 1998 Associative arrays
bucket_grid-1.0 Jan 27, 2000 N-dimensional bucket grid
byteorder-1.0 Feb 17, 1999 Test for MSB/LSB byte order.
ccviewer-1.1 Sep 21, 2000 Web-based source code browser
depcheck-1.0 Oct 29, 1999 A program that checks validity of external references
deque-1.0 Oct 26, 1999 Implementation of double ended queues
diff-1.0 Nov 30, 1998 Finds the difference between two files
dispatcher-1.0 May 19, 1999 A generic method for dispatching dynamic worker threads
dynarray-1.0 Feb 11, 1999 Expanding array for heap-based storage
ehtml-2.0 Dec 1, 1998 Extended HTML
email-1.0 Nov 30, 1998 Send email - parse email - automate email jobs
epop-2.9 Apr 30, 1999 A POP3 client/server package
erlsnoop-1.0 Oct 31, 2001 A network sniffer for Erlang traffic
ermake-2.0 Dec 1, 1998 Make in Erlang
erpc-0.9 Feb 7, 2001 Remote Procedure Calls without using Erlang distribution
esoko-2001.0709 Jul 9, 2001 Classic puzzle game of Sokoban
eweb-1.1 Aug 30, 2000 A system for literate erlang programming
ex11-0.11 Mar 11, 1999 An Erlang-X11 binding.
filesystem-1.0 Jan 13, 1999 Platform-independent File system operations
fuz-1.0 Dec 13, 1999 Simple Fuzzy Logic Evaluator
gdc-1.0 Apr 30, 1999 Great Digital Clock, using IG and the curses library.
gif-1.0 Nov 30, 1998 Produce GIF pictures from an Erlang program.
graph_draw-0.0 Nov 15, 2001 Interactive graphical graph drawing for programs to display there data
gridfile-1.0 Jan 26, 1999 Adaptable, Symmetric Multikey File Structure
gs_dialog-2001.1101 Nov 2, 2001 Dialog box behaviour for GS
ibrowse-1.0 May 18, 2005 NEW! Powerful HTTP client
lines-1.1 Apr 14, 2000 Efficient array of lines (e.g. for text editor)
locker-1.1 Jul 19, 2000 Efficient and scalable read-write locker.
mdisp-1.0 Dec 20, 2002 A generic method for dispatching dynamic worker threads
mlex-1.0 Oct 21, 2002 Lexical scanner.
nedit_mode-0.9 Mar 20, 2000 Erlang Nedit mode
nfs-1.0 Sep 13, 2001 NFS server
othello-1.0 Nov 30, 1998 The Othello game
parser_tutorial-1.0 Nov 30, 1998 An example of the use of yecc and leex
pppgraph-1.0 Jun 3, 2000 Graphic display of PPP statistics
prettypr-1.0 Sep 8, 2000 A generic, flexible pretty printing library.
property_file-0.1 Oct 21, 2002 Configuration file parser.
py_interface-0.92 Jul 28, 2004 The py_interface is a Python-implementation of an Erlang node.
ral-1.0 Jan 8, 2001 Skew-binary random-access lists, ala Chris Okasaki
rdbms-1.3 Jan 3, 2000 Relational Database Management System based on mnesia
reshd-1.2 Jul 21, 2002 Remote Erlang shell daemon
rpc-1.1 Sep 3, 2001 ONC/RPC stub generator and library
sablotron-1.0 Feb 5, 2001 Erlang bind for Sablotron, a C++ XSL processor
safedets-1.0 Sep 29, 1999 A version of dets that never enters the repair mode
serial-1.0 Nov 18, 1999 Serial driver for UNIX.
service_broker-1.0 Oct 21, 1999 Brokering and supervision of services
shbuf-1.1 May 15, 2001 Erlang server for sharing Emacs buffers & Emacs-Lisp client
slang-1.0 Apr 26, 2001 terminal library for Erlang
smtp_client-1.1 Jan 8, 2004 Simple SMTP client using gen_fsm behaviour
stl-1.0 Sep 21, 2001 Web template processing system.
syslog-1.0 Jan 26, 1999 Interface to the Unix syslog facility.
tdb-0.9 Feb 10, 1999 TTY interface to the Erlang dubugger.
timer_mn-1.1 Apr 7, 2000 Timer for large numbers of concurrent timers.
top-1.0 Apr 30, 1999 TOP display information about processes
trex-2.6 Sep 28, 2000 A GUI to mnesia and ets.
ucs-0.3 Oct 17, 2002 Simple Universal Character Set support (UCS, ISO 10646, Unicode)
unixdom-0.1 Sep 19, 2001 A UNIX-domain socket driver
uue-1.0 Nov 30, 1998 UUencode and uudecode in plain erlang
view_backup-1.0 Sep 8, 1999 Simple program for loading mnesia backup files
www_tools-1.0 Nov 30, 1998 Tools for fetching and manipulating WWW pages
xmerl-0.17 Mar 7, 2002 XML processing tools
xml_lt-2.0 Nov 6, 2000 Verifying XML parser
xmlrpc-1.13 Apr 23, 2003 An XML-RPC client/server library
xx-1.0 Nov 30, 1998 X number of eXpanding macros
The Programs

 

anal-1.0.tgz - Claes Wikstrom, 
This is a fast number analyser which avoids searching the multiway tree for each access, rather the previous search work is accumulated by means of integer arithmetics

assoc-1.2.tgz - Dan Sahlin, 
Associative arrays with operations for inserting, finding, deleting(including largest and smallest item), combining arrays, stepping through (forwards and backwards), converting to and from lists, map, fold (left and right). Most operations are O(lg n).

bucket_grid-1.0.tgz - Ulf Wiger, 
Implements an N-dimensional bucket storage system. Neighbouring buckets can be split and merged in any dimension, and using any Erlang term as split value; grid traversal and range matching allow for efficient multikey queries. The physical representation is implemented via a callback interface (see example).

byteorder-1.0.tgz - Torbjörn Törnkvist, 
This little program test whether we are running on a big-endian/little-endian machine. It makes use of a tiny dynamically linked in driver.

ccviewer-1.1.tgz - Ulf Wiger, 
Implements an web-based source code browser. CCviewer is designed to provide a web-based interface to a ClearCase repository of Erlang source code. It provides hypertext linking of source code, and statics cross-references analysis. With modest changes, it should work against other version control systems.

depcheck-1.0.tgz - Peter Andersson, 
Depcheck is a program for finding incorrect module dependencies. Given a source module, it will attempt to locate the dependency modules and validate the function calls. The dependency modules are scanned syntactically, not parsed. (The source module needs to be compilable and is analysed using exref).

deque-1.0.tgz - Claes Wikström, 
This is an implementation of double ended queues, as described in 'Purely Functional Data structures' by Chris Okasaki

diff-1.0.tgz - Joe Armstrong, 
A diff utilitiy which finds the difference between two files. Unlike unix diff, this version of diff compares the parse trees and not the src text.

dispatcher-1.0.tgz - Ulf Wiger, 
Allows for processes to be dynamically created and 'suspended'. The threads themselves believe that they stay up permanently.Included is a demo program and a gen_server-compatible behaviour.

dynarray-1.0.tgz - Ulf Wiger, 
Implements an efficient dynamically expanding array for heap-based storage. Performance matches that of ets even on relatively small objects. Since it mimics an array, objects are identified via their position (integer) in the array.

ehtml-2.0.tgz - Joe Armstrong, 
This is a macro process which expands extended HTML. Extended HTML is normal HTML with embedded Erlang expressions. The embedded expressions are evaluated and pasted into the resulting document

email-1.0.tgz - Joe Armstrong, 
A number of utilites for manipulating email. The most useful is something which might be described as "send" and "receive" in email,with this you can send and receive Erlang terms as e-mail messages. These programs are *very* useful for building e-mail servers. Read the full docmentation for more details.

epop-2.9.tgz - Torbjörn Törnkvist, 
Epop is a complete POP3 client/server package implemented according to RFC-1939. Epop also support RFC-2449. With epop it is possible to both store mail as well as read mail. Since epop is compliant with RFC-1939 it is also possible for epop to act either as a client or a server, talking with other POP3 software.

erlsnoop-1.0.tgz - Gordon Beaton, 
Erlsnoop is a simple network sniffer that can identify and display the contents of Erlang messages passing on the network, in a manner similar to tcpdump

ermake-2.0.tgz - Joe Armstrong, 
This is a simple implementation of make in Erlang. This version supports 1) Macros, 2) Include files, 3) suffix rules, and 4) file dependencies

erpc-0.9.tgz - Sean Hinde, 
This provides a socket based multithreaded inter Erlang node Remote Procedure Call mechanism which is independent of the standard Erlang distribution. It provides some security mechanisms, and can optionally be setup to queue calls in the event of a link failure and send them sometime later at a predefined rate while preserving the order of all commands.

esoko-2001.0709.tgz - Chris Pressey, 
This is an Erlang implementation of the challenging puzzle game of Sokoban, where you must push objects towards a goal inside an enclosed space. This version uses GS for display; the puzzle screens are borrowed from the xsokoban distribution.

eweb-1.1.tgz - Joe Armstrong, 
This is a program for literate Erlang programming

ex11-0.11.tgz - Torbjörn Törnkvist, 
This is an Erlang-X11 binding. Yes, that's right, a binding ! Not another interface to a toolkit. This is the X11 protocol implemented solely in Erlang. The release version indicates how much of the protocol that has been implemented so far (i.e Ver: 0.1 == 10%). However, this package also consists of a complete framework for the protocol implementation, so the rest of the protocol would be very easy to implement. (I estimate that the remaining 90% of the protocol could be implemented in 2-3 weeks). However, before anymore of the protocol is implemented it is suggested that we await the new Erlang bitsyntax. A 'cool' example program comes along with the package. <b>NB: ex11 is the new name and replaces the old name x11</b>.

filesystem-1.0.tgz - Ulf Wiger, 
Implements common filesystem operations in a platform-independent way. (so far only tested on Solaris...)functions: ls(Pattern), find(Dir, Pattern), cwd(), verify_dir(Dir), remove_dir(Dir), set_permission(Mode,Filename)

fuz-1.0.tgz - Ulf Wiger, 
Implements a simple Fuzzy Logic Evaluator. A basic example (Crane Controller) is provided to show how it works. The evaluator seems to perform roughly like a low-cost 8-bit controller when run on a standard workstation. Example Useage: fuz:eval(fuz_crane, control, [Distance, Angle]).

gdc-1.0.tgz - Torbjorn Tornkvist, 
GDC uses the curses library to display a Great Digital Clock. GDC is an example which shows how Erlang can be started by a C program, communicating over an IG generated interface.

gif-1.0.tgz - Joe Armstrong, 
gif.erl provides an interface to gd.1.1.1 a library of C programs which can manipulate GIF images

graph_draw-0.0.tgz - Hans Nilsson, 
This is a set of modules to help programs to graphically present graphs to a person. The person could rearange the graph and the system will keep those positions if the graph is changed by the program.

gridfile-1.0.tgz - Ulf Wiger, 
Implements efficient storage for multikey access. API is similar to ets and dets. Performance is especially good on range queries, where the cost is proportional to the number of objects found - not on the size of the table.

gs_dialog-2001.1101.tgz - Chris Pressey, 
A library application providing an extensible behaviour for dialog boxes under GS, as well as some common dialogs built upon it, including notify, confirm, question, entry, list-select, and color-edit dialogs.

ibrowse-1.0.tgz - Chandrashekhar Mullaparthi, 
A powerful HTTP client written in erlang. Supports HTTP/0.9, HTTP/1.0 and HTTP/1.1

lines-1.1.tgz - Ulf Wiger, 
Implements an efficient array of lines. The lines module allows for efficient manipulation of a dynamic array, where elements can be inserted, modified and deleted anywhere in the array, while an absolute order (e.g. line number) must be maintained. Operations supported are append, insert, insert_after, delete, replace, and of course nth. Even on a large number of elements, access times are in the order <30 microseconds. lines-1.1 fixes a pattern-matching bug in nth/1.

locker-1.1.tgz - Ulf Wiger, 
A read-write locker based on a redundant-master-slave concept. This locker is generally much faster than global -- more so in large networks. Locker nodes are specified as either peers or slaves; one peer is made the master locker (automatically, or manually). All lock negotiation takes place on the master, and lock info is replicated to all the peers (which are standby for the master.) The locker handles both shared and exclusive locks, as well as lock promotion (from shared to exclusive.) This is a slightly modified version of a locker implementation used in the AXD 301 switch. Co-author: Asko Husso <asko.husso@etx.ericsson.se>

mdisp-1.0.tgz - Ulf Wiger, 
Allows for processes to be dynamically created and 'suspended'. The threads themselves believe that they stay up permanently. Mdisp replaces dispatcher-1.0. The two are not compatible. Mdisp offers a cleaner interface and better performance.

mlex-1.0.tgz - Vladimir Sekissov, 
MLex is a simple lexical scanner.It supports mostly all frequently used lex regexps, predictive operator, long (default) and short regexps.

nedit_mode-0.9.tgz - Daniel Solaz, 
Erlang syntax highlighting mode for Nedit 5.

nfs-1.0.tgz - Luke Gorrie, 
Extensible, minimal NFS v2 server. Includes a "/proc" example filesystem.

othello-1.0.tgz - Magnus Fröberg, Torbjörn Törnkvist, 
This is an implementation of the game Othello. Take a break, relax your brain, and have some fun trying to beat the computer in a game of Othello

parser_tutorial-1.0.tgz - Joe Armstrong, 
This is an example of making a parser using the standard tools yecc (which is a yacc lookalike) and leex (which is a lex lookalike). A parser for a simple language is constructed

pppgraph-1.0.tgz - Lars Bjornfot, 
Display receive and transmit rates in byte/s, updated every second. Need pppstats(8). Runs on at least Red Hat Linux.

prettypr-1.0.tgz - Richard Carlsson, 
The `prettypr' module provides a powerful library of functions for flexible, generic and fast pretty printing.

property_file-0.1.tgz - Vladimir Sekissov, 
This is configuration files parser.It is property_lists module compliant and supports two popular configuration formats, Apache and C-like,property substitution and file inclusion. It works with Unix, DOS and Mac files.

py_interface-0.92.tgz - Tomas Abrahamsson, 
The py_interface provides the possibility to run a python node that may be used for communication with other Erlang nodes. This release contains bugfixes for packing/unpacking of terms on the python side.

ral-1.0.tgz - Lon Willett, 
This is an implementation of skew-binary random-access lists, as described Chris Okasaki (see reference at start of source). It also provides many useful supporting functions (mostly clones of the lists module functions).

rdbms-1.3.tgz - Ulf Wiger, 
Adds relational constraints checking to mnesia. Also included is a modular data import tool. This version of RDBMS has been tested to work on OTP R6B (mnesia-3.8). Also, a bug concerning commit- and rollback triggers has been fixed. Minor bug fixes since 1.2 -- see the README file.

reshd-1.2.tgz - Tomas Abrahamsson, 
Reshd stands for remote Erlang shell daemon. It offers a telnet port into an Erlang shell in the Erlang node.

rpc-1.1.tgz - Tony Rogvall, Scott Fritchie, Jim Larson, Martin Bjorklund, 
This is a stub generator for the ONC/RPC protocol. Given a protocol specification in the RPC syntax (RFC1831), the stub generator will create client-side and server-side code for encoding and decoding procedure calls into XDR-encoded network messages. Version 1.1 is rewritten for R7 - faster XDR routines which generates less garbage.

sablotron-1.0.tgz - Victor M. Gulias, 
This is an adapter for a C++ XSL processor (sablotron) that allows Erlang programmers to perform transformations of XML data (binary or file) using an XSL stylesheet (binary or file)

safedets-1.0.tgz - Claes Wikstrom, 
This module xports exactly the same interface as the original dets module in erlang 47.4.1 with the exceptio that the {ok, Handle} that is returned by the open_file/2 function can only be used by the the process that issued the open_file/2 The idea here is to use two dets files instead of one All write ops go into one dets file as well as into a log. Whenever ?WRITE_THRESHOLD write ops have been done, the log is transfered into the second dets file **while** the original dets file is closed. This way we get dets files that can be opened for writing at runtime and they will never be subject to repair. This means that we can have very very large dets files. The time to repair a dets file with say 1.000.000 objects in it can be very large, maybe upto 12 hours which typically is not acceptable . the downside is that that write ops take more than twice the time (in mean) to execute as well the file space which is doubled.

serial-1.0.tgz - Johan Bevemyr, 
This is a port program with erlang driver for serial communication.

service_broker-1.0.tgz - Hakan Mattsson, 
Brokering and supervision of services for service providers and their users. When either part of the service dies or selects to disconnect from the service, the other part is notified about this. The service broker may be for many purposes, such as dynamic syncronizing of application startup, protocol negotiations, inter application supervision, implementation of safe calls etc. A man page (as comment in the module) and test program are also supplied.

shbuf-1.1.tgz - Luke Gorrie, 
An Erlang server for sharing Emacs buffers across the network. Includes: Erlang server, Erlang data structure for large buffers of text, Emacs client library for Erlang external term format, and an Emacs client for the sharing server.

slang-1.0.tgz - Claes Wikstrom, 
This is a library which makes it possible to write terminal based aplications al'a vi/emacs/mutt/slrn in erlang.

smtp_client-1.1.tgz - Michael Bradford, 
A simple SMTP client using gen_fsm behaviour. Supports basic SMTP & ESMTP commands, including MD5, plain & login authentication. This version fixes a minor bug in v1.0 (see source code for details). Also included is email_msg.erl. This very simple module builds a plain text email suitable for sending via the smtp client.

stl-1.0.tgz - Vladimir Sekissov, 
STL as `Simple Template Language' is a clone of Bruce R. Lewis's BRL (http://brl.sourceforge.net) implemented in Erlang. It deals with template processing and has most capabilities which user expects from web template engines.

syslog-1.0.tgz - Torbjorn Tornkvist, 
This is a simple interface to the Unix syslog facility.

tdb-0.9.tgz - Torbjorn Tornkvist, 
If you don't like cluttering your screen with windows, or if you do/can not use a window system, then this TTY interface for the Erlang debugger may be something for you. With this interface you can do almost anything you can do with the X-based interface.

timer_mn-1.1.tgz - Sean Hinde, 
This application re-implements the standard timer module towork for very large numbers of concurrent timers.This implementation uses an mnesia ordered_set table to holdthe timers, which is much more scaleable than the ordered listused in the standard timer module.

top-1.0.tgz - Torbjorn Tornkvist, 
somewhat similar to Unix top. This programs displays information about the running Erlang processes in you system. The output can be customized in various way to be sorted on for example number of reductions made since last call or change in heap size since lats call, etc...

trex-2.6.tgz - Leif Lorentzen, 
This is a Graphical User Interface which make it easy to explore mnesia and ets tables. With trex you can read, write and search in mnesia/ets tables, dump the tables to a file and look at it off-line, log updates to mnesia tables for debugging purposes, among other things.

ucs-0.3.tgz - Lon Willett, 
This module provides some basic support for decoding, encoding, and handling ISO 10646 character strings (Universal Character Set strings, aka Unicode, sort of). See the file ucs.doc for details. The latest version can be found at http://sowap.sourceforge.net/

unixdom-0.1.tgz - Scott Lystig Fritchie, 
This is an incomplete implementation of a UNIX-domain socket driver for the Erlang VM. It was originally written while I was at Sendmail, Inc. All of the major functions work, though the timeout-handling code is probably flaky. Under Solaris/SPARC, we saw roughly a 10% improvement in bulk data throughput using this driver versus using TCP across the loopback interface.

uue-1.0.tgz - Joe Armstrong, 
UUencode and uudeocde written i plain Erlang. This is useful if you want to write portable applications.

view_backup-1.0.tgz - Ulf Wiger, 
Simple program for loading a mnesia backup file into memory. API: view_backup:file("Filename") -> ok. The function loads mnesia data into ets tables with the same names as the corresp. mnesia tables. Table definitions are put in the table 'SCHEMA'. The result may be viewed with e.g. table visualiser or trex.

www_tools-1.0.tgz - Joe Armstrong, 
WWW tools is a package of tools for fetching and manipulating web pages. The programs in this package illustrate how to fetch a URL using the Erlang socket interface, we show how to tokenise and analysis HTML and also provide a simple macro processor for HTML.

xmerl-0.17.tgz - Ulf Wiger, Johan Blom, Richard Carlsson, Mickael Remond, 
Implements a set of tools for processing XML documents, as well as working with XML-like structures in Erlang. The main attraction so far is a single-pass, highly customizable XML processor. Other components are an export/translation facility and an XPATH query engine. This version fixes a few bugs in the scanner, and improves HTML export. The latest version can be found at http://sowap.sourceforge.net/ Note that this is still very much a beta product.

xml_lt-2.0.tgz - Joe Armstrong, 
Yet another XML parser. This is an interface to the Edinburgh LT XML toolkit

xmlrpc-1.13.tgz - Joakim Grebenö, 
This is an HTTP 1.1 compliant XML-RPC library for Erlang. It is designed to make it easy to write XML-RPC Erlang clients and/or servers. The library is compliant with the XML-RPC specification published by http://www.xmlrpc.org/.

xx-1.0.tgz - Torbjörn Törnkvist, 
This module uses parse transformations to define a couple of useful Erlang macros, e.g unique variables within another macro definition.