In April/May 2012, STEP Class Library was renamed to STEPcode. This was done
because the old name wasn't accurate - the class libraries are only a fraction
of the software.
The STEP Class Library (SCL) originated at the National Institute of Standards
and Technology, or NIST. NIST started working with STEP in the 80's and
continued until the late 90's. Some components of SCL were originally written
in Lisp and then re-written in mixed C and C++ in the early 90's.
The rest of SCL was written in C++ to begin with.
STEPcode (SC) includes the class libraries, some of the most widely used EXPRESS
schemas, some tools to work with EXPRESS, and support libraries for those tools.
Two of the tools can create schema-specific libraries that are used with the
class libraries. There are also some test files and programs.
PEAR::DB is a database abstraction layer providing:
* an OO-style query API
* portability features that make programs written for one DBMS work
with other DBMS's
* a DSN (data source name) format for specifying database servers
* prepare/execute (bind) emulation for databases that don't support
it natively
* a result object for each query response
* portable error codes
* sequence emulation
* sequential and non-sequential row fetching as well as bulk fetching
* formats fetched rows as associative arrays, ordered arrays or objects
* row limit support
* transactions support
* table information interface
* DocBook and phpDocumentor API documentation
Drivers for the following extensions pass the complete test suite and
provide interchangeability when all of DB's portability options are
enabled: fbsql, ibase, informix, msql, mssql, mysql, mysqli, oci8,
odbc, pgsql, sqlite and sybase.
dot.conf is a simple configuration-file parser library written in C.
The configuration files created for dot.conf look very similar to
those used by the Apache Webserver. Even Container-Directives known
from httpd.conf can easily be used in the exact same manner as for
Apache-Modules. It supports various types of arguments, dynamically
loadable modules that create their own configuration options
on-the-fly, a here-documents feature to pass very long ARG_STR data
to your app, ${NAME:-default} style environment variable
substitution for arguments, and on-the-fly inclusion of additional
config files. Some behaviour can be toggled with flags at runtime.
To keep dotconf from printing out warnings, you can install your
own customized error handler.
Darcs is a free, open source revision control system. It is:
* Distributed: Every user has access to the full command set, removing
boundaries between server and client or committer and non-committers.
* Interactive: Darcs is easy to learn and efficient to use because it
asks you questions in response to simple commands, giving you choices in
your work flow. You can choose to record one change in a file, while
ignoring another. As you update from upstream, you can review each patch
name, even the full "diff" for interesting patches.
* Smart: Originally developed by physicist David Roundy, darcs is based
on a unique algebra of patches.
This smartness lets you respond to changing demands in ways that would
otherwise not be possible. Learn more about spontaneous branches with
darcs.
Libdict is a compact, ANSI C library which provides access to a set of
generic and flexible ``dictionary'' data structures. All algorithms
used in libdict have been optimized, and, with one very small exception,
are not recursive but iterative. It was written by Farooq Mela, and is
released under a BSD style licence.
Libdict implements the following data structures: AVL Tree, Red-Black
Tree, Splay Tree, Treap, Weight-balanced tree, Path-reduction tree,
Hashtable (Chained).
These structures can be used to efficiently store and retrieve key-data
pairs. Each of these structures can be accessed using its direct API, or
it can be accessed using a dictionary abstraction. Despite it's name,
libdict can be used to store any kind of data and any kind of key (provided
it fits into a 'void' pointer on your system).
The tecla library provides UNIX and LINUX programs with interactive
command line editing facilities, similar to those of the Unix tcsh
shell. In addition to simple command-line editing, it supports recall
of previously entered command lines, TAB completion of file names or
other tokens, and in-line wild-card expansion of file names. The
internal functions which perform file-name completion and wild-card
expansion are also available externally for optional use by programs,
along with a module for tab-completion and lookup of file names in a
list of directories.
Note that special care has been taken to allow the use of this library
in threaded programs. The option to enable this is discussed in the
Makefile, and specific discussions of thread safety are presented in
the included man pages.
This module allow the user to dump variables in a Data::Dumper format.
Unlike the default behavior of Data::Dumper, the variables are named
(instead of $VAR1, $VAR2, etc.) Data::Dumper provides an extended
interface that allows the programmer to name the variables, but this
interface requires a lot of typing and is prone to tyops (sic). This
module fixes that.
Data::Dumper::Simple is actually a source filter that replaces all
instances of Dumper($some, @args) in your code with a call to
Data::Dumper->Dump(). You can use the one function provided to make
dumping variables for debugging a trivial task.
Note that this is primarily a debugging tool. Data::Dumper offers a
bit more than that, so don't expect this module to be more than it is.
ShowTable.pm, is a Perl 5 module which defines subroutines to print arrays
of data in a nicely formatted listing, using one of four possible formats:
simple table, boxed table, list style, and HTML-formatting (for
World-Wide-Web output). See the documentation on ShowTable.pm for details
on the formatting.
The program "showtable" reads data in a variety of formats from a file or
STDIN, optimally columnizes the data, and then feeds the array of data to
the ShowTable module for display. Showtable can parse its own output as
input (except for HTML). Individual or ranges of columns may be selected
for display, either by name or by index.
In other words, showtable is a data formatting program. Using the '-html'
option, showtable can accept ASCII tabular data and format it appropriately
for display through a Web-browser.
DateTime::Format::Oracle may be used to convert Oracle date and timestamp values
into DateTime objects. It also can take a DateTime object and produce a date
string matching the NLS_DATE_FORMAT.
Oracle has flexible date formatting via its NLS_DATE_FORMAT session variable.
Date values will be returned from Oracle according to the current value of that
variable. Date values going into Oracle must also match the current setting of
NLS_DATE_FORMAT.
Timestamp values will match either the NLS_TIMESTAMP_FORMAT or
NLS_TIMESTAMP_TZ_FORMAT session variables.
This module keeps track of these Oracle session variable values by examining
environment variables of the same name. Each time one of Oracle's formatting
session variables is updated, the %ENV hash must also be updated.
File-HStore is a very minimalist perl library to store files on a
filesystem using a very simple hash-based storage.
File-HStore is nothing more than a simple wrapper interface to a
storage containing a specific directory structure where files are hold
based on their hashes. The name of the directories is based on the
first two bytes of the hexadecimal form of the digest. The file is
stored and named with its full hexadecimal form in the corresponding
prefixed directory.
The current version is supporting the SHA-1 and SHA-2 (256 bits)
algorithm. The FAT (Free Archive Toolkit) format is also supported and
it is composed of the date of submission plus the SHA-2 real digest
part.