data represented in the language-neutral JSON format (which is often
used as a simpler substitute for XML in Ajax web applications). This
implementation tries to be as compliant to the JSON specification (RFC
4627) as possible, while still providing many optional extensions to
allow less restrictive JavaScript syntax. It includes complete Unicode
support, including UTF-32, BOM, and surrogate pair processing. It can
also support JavaScript's NaN and Infinity numeric types as well as
it's 'undefined' type. It also includes a lint-like JSON syntax
validator which tests JSON text for strict compliance to the standard.
WWW: http://deron.meranda.us/python/demjson/
PR: ports/129711
Submitted by: Wen Heping <wenheping at gmail.com>
compatible regular expressions.
The PCRE library is a set of functions that implement regular expression
pattern matching using the same syntax and semantics as Perl 5.
WWW: http://code.haskell.org/~dons/code/pcre-light
PR: ports/129683
Submitted by: pgj
Approved by: miwi
values may be encoded to and from binary formats, written to disk as
binary, or sent over the network. Serialisation speeds of over 1 G/sec
have been observed, so this library should be suitable for high
performance scenarios.
WWW: http://code.haskell.org/binary/
PR: ports/129678
Submitted by: pgj
Approved by: miwi
development and has changed the mental model used at Enthought for
programming in the already extremely efficient Python programming
language.
The Traits project allows Python programmers to use a special kind
of type definition called a trait, which gives object attributes
some additional characteristics, such as Initialization, Validation,
Delegation, Notification and Visualization.
A class can freely mix trait-based attributes with normal Python
attributes, or can opt to allow the use of only a fixed or open set
of trait attributes within the class. Trait attributes defined by
a classs are automatically inherited by any subclass derived from
the class.
WWW: http://pypi.python.org/pypi/Traits/
PR: ports/129589
Submitted by: Wen Heping <wenheping at gmail.com>
many other projects in the Enthought Tool Suite:
*enthought.etsconfig: Supports configuring settings that need to be
shared across multiple projects or programs on the same system. Most
significant of these is the GUI toolkit to be used. You can also
configure locations for writing application data and user data, and the
name of the company responsible for the software (which is used in the
application and user data paths on some systems).
*enthought.logger: Provides convenience functions for creating
logging handlers.
*enthought.util: Provides miscellaneous utility functions.
WWW: http://code.enthought.com/projects/enthought_base.php
PR: ports/129583
Submitted by: Wen Heping <wenheping at gmail.com>
Linux lrmi provides a simple interface to this for i386 machines, but this
doesn't help on other platforms. libx86 provides the Linux lrmi interface,
but will also run on platforms such as amd64 and alpha.
WWW: http://www.codon.org.uk/~mjg59/libx86/
This module tries to find middle ground between one at a time and all at
once processing of data sets.
The purpose of this module is to avoid the overhead of implementing an
iterative api when this isn't necessary, without breaking forward
compatibility in case that becomes necessary later on.
The API optimizes for when a data set typically fits in memory and is
returned as an array, but the consumer cannot assume that the data set is
bounded.
The API is destructive in order to minimize the chance that resultsets are
leaked due to improper usage.
WWW: http://search.cpan.org/dist/Data-Stream-Bulk/
are coded with a Base62 systen to make them short and handy (e.g. to use it as
part of a URL).
PR: ports/129265
Submitted by: Sergey V. Dyatko <sergey.dyatko at gmail.com>
This module is a plugin for Module::Starter, and allows the use of TT2 to
render templates.
WWW: http://search.cpan.org/dist/Module-Starter-Plugin-TT2/
PR: ports/129008
Submitted by: George Hartzell <hartzell at alerce.com>
frameworks. It includes a flexible test runner, and
supports both doctest and unittest.
WWW: http://www.python.org/pypi/zope.testing
PR: ports/129157
Submitted by: Wen Heping <wenheping at gmail.com>
create and manipulate infinite lists: data Stream a = Cons a (Stream a).
It provides alternative definitions for those Prelude functions that make
sense on such streams.
WWW: http://www.cs.nott.ac.uk/~wss/repos/Stream/dist/doc/html/
PR: ports/129215
Submitted by: Samy Al Bahra <sbahra at kerneled.org>
automatic persistence and versioning by recording messages sent to objects. It
offers a flexible versioning scheme where both individual objects and their
entire object graph can be versioned separately. The built-in object model is a
generalization of the property model used by the AddressBook framework. Foreign
model objects can be also integrated by wrapping them with a special proxy.
CoreObject uses the EtoileSerialize framework which, in many cases, allows
objects and messages to be automatically serialized with no extra code being
written.
WWW: http://www.etoile-project.org/
and deserialization of arbitrary objects.
So far, serialization and deserialization work for all simple types, object,
selectors and classes. Arrays and structures are believed to work, however
arrays containing structures and vice versa have not been tested.
WWW: http://www.etoile-project.org/
exclusively in SSA-form, starting at IR construction until assembler code
emission. It offers many analyses and optimizations, provides extensive debug
support and includes a backend framework.
* analyses: dominance, loop tree, execution frequency, control dependencies,
call graph, rapid type, def-use, alias analysis, class hierarchy analysis
* optimizations: dead code elimination (happens implicitly), constant folding,
local common subexpression elimination, arithmetic identities (happens on the
fly), unreachable code elimination, global common subexpression elimination,
code placement, strength reduction, scalar replacement, if-conversion,
load/store optimization, control flow optimizations, reassociation, partial
condition evaluation, tail recursion elimination, inlining, procedure cloning
* enhanced debugging support: extensive checkers, breakpoints on node creation,
entity creation, graph dumping
* lowering of intrinsics, double word arithmetics, bitfields
* generic backend features:
* novel SSA based register allocator
* several SSA copy coalescing and spilling algorithms
* algorithms for instruction and basic block scheduling
* working ia32 backend, unfinished backends for MIPS, ARM, PPC32
* handwritten recursive descent C89/C99 frontend available (lang/cparser)
WWW: http://libfirm.org/
PR: ports/129070
Submitted by: Christoph Mallon <christoph.mallon at gmx.de>
provides operations for encoding UTF8 strings to Word8 lists
and back, and for reading and writing UTF8 without truncation.
WWW: http://code.haskell.org/utf8-string/
PR: ports/129049
Submitted by: Ashish Shukla <wahjava at gmail.com>
lower-level library that provides a higher level interface to XML
processing, particularly in light of signing and encryption.
WWW: https://spaces.internet2.edu/display/OpenSAML/XMLTooling-C
PR: ports/127326
Submitted by: Janos Mohacsi
features for web application testing. The Test::WWW::Mechanize::Catalyst
module meshes the two to allow easy testing of Catalyst applications
without starting up a web server.
Testing web applications has always been a bit tricky, normally starting
a web server for your application and making real HTTP requests to it.
This module allows you to test Catalyst web applications but does not
start a server or issue HTTP requests. Instead, it passes the HTTP
request object directly to Catalyst. Thus you do not need to use a real
hostname: "http://localhost/" will do.
WWW: http://search.cpan.org/dist/Test-WWW-Mechanize-Catalyst/
PR: ports/129004
Submitted by: George Hartzell <hartzell at alerce.com>
subroutine whose name is passed to it. (To load the module without
importing the function, write use Sub::Delete();.)
This does more than simply undefine the subroutine in the manner of
undef &foo, which leaves a stub that can trigger AUTOLOAD (and,
consequently, won't work for deleting methods). The subroutine is
completely obliterated from the symbol table (though there may be
references to it elsewhere, including in compiled code).
WWW: http://search.cpan.org/dist/Sub-Delete/
PR: ports/128899
Submitted by: Gea-Suan Lin <gslin at gslin.org>
and comprehend either a simple program or a big source code tree
based on the source code by presenting the code in a searcheable
and tagged way.
It helps to speed up the learning curve and to make it more convenient
to get hands on a code from somebody, or also is convenient to
browse your own projects.
It includes functionality from such tools as: ctags, cscope and
ctree, but it is faster than any of them, and is offering the
features in one package.
In some way it can be viewed as a superset of ctags, cscope and
ctree.
WWW: http://silentbob.sourceforge.net/
PR: 128969
Submitted by: TAKATSU Tomonari <tota at rtfm dot jp>
discs. Currently it is comprised of libraries named libisofs,
libburn, libisoburn, a cdrecord emulator named cdrskin, and an
integrated multi-session tool named xorriso.
WWW: http://libburnia-project.org/
PR: ports/128795
Submitted by: J.R. Oldroyd <fbsd at opal.com>
discs. Currently it is comprised of libraries named libisofs,
libburn, libisoburn, a cdrecord emulator named cdrskin, and an
integrated multi-session tool named xorriso.
WWW: http://libburnia-project.org/
PR: ports/128794
Submitted by: J.R. Oldroyd <fbsd at opal.com>
repository to create a remote repo on Github using a previously
created account. This does not create Github accounts (and that
violates the terms of service).
WWW: http://search.cpan.org/dist/github_creator/
PR: ports/128876
Submitted by: Gea-Suan Lin <gslin at gslin.org>
File::Find. Students are always asking me what closures are good for,
and here's some examples. The functions mostly stand alone (i.e. they
don't need the rest of the module), so rather than creating a
dependency in your code, just lift the parts you want).
WWW: http://search.cpan.org/dist/File-Find-Closures/
PR: ports/128875
Submitted by: Gea-Suan Lin <gslin at gslin.org>
particularly useful for efficient logging and pretty printing, (e.g.
with the Writer monad), where list append quickly becomes too expensive.
WWW: http://code.haskell.org/~dons/code/dlist/
PR: ports/128770
Submitted by: Samy Al Bahra <sbahra at kerneled.org>