A structured type constraint is a standard container Moose type
constraint, such as an ArrayRef or HashRef, which has been enhanced to
allow you to explicitly name all the allowed type constraints inside the
structure. The generalized form is:
TypeConstraint[@TypeParameters or %TypeParameters]
Where 'TypeParameters' is an array reference or hash references of
Moose::Meta::TypeConstraint objects.
This type library enables structured type constraints. It is built on
top of the MooseX::Types library system, so you should review the
documentation for that if you are not familiar with it.
Object::InsideOut provides comprehensive support for implementing classes
using the inside-out object model.
This module implements inside-out objects as anonymous scalar references that
are blessed into a class with the scalar containing the ID for the object
(usually a sequence number). For Perl 5.8.3 and later, the scalar reference is
set as read-only to prevent accidental modifications to the ID. Object data
(i.e., fields) are stored within the class's package in either arrays indexed
by the object's ID, or hashes keyed to the object's ID.
RecDescent incrementally generates top-down recursive-descent text
parsers from simple yacc-like grammar specifications. It provides:
* Regular expressions or literal strings as terminals (tokens)
* Multiple (non-contiguous) productions for any rule
* Repeated, optional and alternate subrules within productions
* Late-bound (run-time dispatched) subrules
* Full access to Perl within actions specified as part of the grammar
* Simple automated error reporting during generation and parsing
* The ability to commit to, uncommit to, or reject particular
productions during a parse
* Incremental extension of the parsing grammar (even during a parse)
* The ability to retrieve the generated parsing code.
Resources are a way to specify information of interest to program or
packages.
Applications use resource files to specify and document the values of
quantities or attributes of interest.
Resources can be loaded from or saved to resource files. Methods are
provided to search, modify and create resources. Packages use resources to
hardwire in their code the default values for their attributes, along with
documentation for the attributes themselves.
Packages inherit resources when subclassed, and the resource names are
updated dynamically to reflect a class hierarchy.
Methods are provided for interactive resource inspection and editing.
This is a specialized POD viewer to extract embedded tests and code
examples from POD. It doesn't do much more than that. pod2test does the
useful work.
After creating a Pod::Tests object, you parse the POD by calling one of
the available parsing methods documented below. You can call parse as many
times as you'd like, all examples and tests found will stack up inside the
object.
Once extracted, the tests can be built into stand-alone testing code using
the build_tests() and build_examples() methods. However, it is recommended
that you first look at the pod2test program before embarking on this.
Regexp::Compare implements a function comparing regular expressions: it returns
true if all strings matched by the first regexp are also matched by the second.
It's meant to be used for optimization of blacklists implemented by regular
expressions (like, for example, http://www.communitywiki.org/cw/BannedContent).
False return value does not imply that there's a string matched by the first
regexp which isn't matched by the second - many regular expressions (i.e. those
containing Perl code) are impossible to compare, and this module doesn't even
implement all possible comparisons.
LRC - Perl interface for longitudinal redundancy check generation
The Longitudinal Redundancy Check (LRC) is a one byte character,
commonly used as a byte-field in data transmission over analog systems.
Most commonly, in STX-ETX bounded strings sent in financial protocols.
Following some previous experience with such protocols, I wrote
an LRC function in perl and later decided to re-write in C
for efficiency. The result is this module String::LRC,
which generates this aforementioned byte.
Commonly used in financial protocols as follows with ETX (ASCII 03)
appended to LRC sum and packets after the STX (ASCII 02), payload,
and ETX chars.
Test::Class provides a simple way of creating classes and
objects to test your code in an xUnit style.
Built using Test::Builder it is designing to work with
other Test::Builder based modules (Test::More,
Test::Differences, Test::Exception, etc.)
Note: This module will make more sense if you are already
familiar with the "standard" mechanisms for testing perl code.
Those unfamiliar with Test::Harness, Test::Simple, Test::More
and friends should go take a look at them now.
Note: This is an early release. Things may change. Be warned.
Main Features of Sun's SpecTcl 1.1
==================================
Easy to Learn: SpecTcl's drag & drop interface along with a
powerful toolbar and on-line help make it easy
to start building GUI applications.
Tcl and Java Support: SpecTcl generates both Tcl and Java code.
Platform Independent: SpecTcl runs on all major platforms:
Solaris, SunOS, Linux, Windows 95,
Windows NT Server 3.51, Windows NT Workstation 3.51,
MacOS, and Irix.
Constraint Based Alignment and resizing of widgets (buttons,
Geometry Manager: check boxes, etc.) is automatic. This makes
creating dynamic UIs and cross platform UIs a snap!
RLog provides a flexible message logging facility for C++ programs
and libraries. It is subscription based, meaning you can subscribe
to messages of your choice in an number of ways: by hierarchical
channel name (e.g. "debug", "debug/ special", "error", etc.), or
file name, component name, etc. Log messages are individually enabled.
It is meant to be fast enough to leave in production code - even
where it may be called many times, as both the GCC and Intel compilers
reduce the logging overhead a few clock cycles if they are dormant
(with no subscribers). Other add-on components can extend subscriptions
to external programs, allowing you to enable and collect debugging
messages remotely.