MonadBase into which generic control operations such as catch can be
lifted from IO or any other base monad. Instances are based on monad
transformers in MonadTransControl, which includes all standard monad
transformers in the transformers library except ContT.
WWW: https://github.com/basvandijk/monad-control/
Obtained from: FreeBSD Haskell
and types in the base package. All symbols are documented with their
actual definition and information regarding their Unicode code point.
They should be completely interchangeable with their definitions.
For further Unicode goodness you can enable the UnicodeSyntax language
extension. This extension enables Unicode characters to be used to
stand for certain ASCII character sequences.
WWW: http://haskell.org/haskellwiki/Unicode-symbols
Obtained from: FreeBSD Haskell
replaces all of Perl's questionable ways of accomodating this, including
system(), open() with a pipe, exec(), back-ticks, etc. This module will never
automatically invoke /bin/sh. This module is easy enough to use that /bin/sh
should be unnecessary, even for complex pipelines.
WWW: http://search.cpan.org/dist/Proc-SafeExec/
PR: ports/165061
Submitted by: Sergei Vyshenski <svysh@pn.sinp.msu.ru>
Form::Sensible is a different kind of form library. Form::Sensible is not just
another HTML form creator, or a form validator, though it can do both.
Form::Sensible, instead, focuses on what forms are: a method to relay
information to and from a user interface.
Form::Sensible forms are primarily tied to the data they represent.
Form::Sensible is not tied to HTML in any way. You could render Form::Sensible
forms using any presentation system you like, whether that's HTML, console
prompts, WxPerl or voice prompts. (* currently only an HTML renderer is provided
with Form::Sensible, but work is already under way to produce others.)
Features:
- Easy form validation
- Ability to easily save created forms for future use
- Define form once, render any number of ways
- Flexible built-in form validator
- Easily extended to produce new renderers, field types and validation
- HTML renderer produces sane html that can be easily styled via CSS
- HTML renderer allows for custom templates to control all aspects of form
rendering.
- HTML output not tied to any javascript library.
WWW: http://search.cpan.org/dist/Form-Sensible/
Test::Command intends to bridge the gap between the well tested functions and
objects you choose and their usage in your programs. By examining the exit
status, terminating signal, STDOUT and STDERR of your program you can determine
if it is behaving as expected.
This includes testing the various combinations and permutations of options and
arguments as well as the interactions between the various functions and objects
that make up your program.
The various test functions below can accept either a command string or an array
reference for the first argument. If the command is expressed as a string it is
passed to system as is. If the command is expressed as an array reference it is
dereferenced and passed to system as a list.
The final argument for the test functions, $name, is optional. By default the
$name is a concatenation of the test function name, the command string and the
expected value. This construction is generally sufficient for identifying a
failing test, but you may always specify your own $name if desired.
Any of the test functions can be used as instance methods on a Test::Command
object. This is done by dropping the initial $cmd argument and instead using
arrow notation.
WWW: http://search.cpan.org/dist/Test-Command/
Devel::CallChecker makes some new features of the Perl 5.14.0 C API available to
XS modules running on older versions of Perl. The features are centred around
the function cv_set_call_checker, which allows XS code to attach a magical
annotation to a Perl subroutine, resulting in resolvable calls to that
subroutine being mutated at compile time by arbitrary C code. This module makes
cv_set_call_checker and several supporting functions available. (It is possible
to achieve the effect of cv_set_call_checker from XS code on much earlier Perl
versions, but it is painful to achieve without the centralised facility.)
Devel::CallCheckerprovides the implementation of the functions at runtime (on
Perls where they are not provided by the core). It also, at compile time,
supplies the C header file and link library which provide access to the
functions. In normal use, "callchecker0_h" and "callchecker_linkable" should be
called at build time (not authoring time) for the module that wishes to use the
C functions.
WWW: http://search.cpan.org/dist/Devel-CallChecker/
DynaLoader::Functions provides a function-based interface to dynamic loading as
used by Perl. Some details of dynamic loading are very platform-dependent, so
correct use of these functions requires the programmer to be mindful of the
space of platform variations.
WWW: http://search.cpan.org/dist/DynaLoader-Functions/
includes the +rdoc+ and +ri+ tools for generating and displaying online
documentation. See RDoc for a description of RDoc's markup and basic use.
WWW: http://docs.seattlerb.org/rdoc
PR: ports/164866
Submitted by: Shin-ya MURAKAMI <murashin@gfd-dennou.org>
control operator (aka The At Sign: '@') so all errors are being reported.
This feature is controlled by an ini setting.
WWW: http://pecl.php.net/package/scream
PR: ports/163669
Submitted by: Volodymyr Kostyrko <c.kworr@gmail.com>
- it is up to 10-percent faster than the original BSD mkdep shell script.
- contains options not available in FreeBSD's mkdep
PR: ports/162956
Submitted by: trociny (maintainer)
Approved by: gabor (mentor)
QuickCheck++ is a tool for testing C++ programs automatically,
inspired by QuickCheck, a similar library for Haskell programs.
In QuickCheck++, the application programmer provides a specification
of parts of its code in the form of properties which this code must
satisfy. Then, the QuickCheck++ utilities can check that these
properties holds in a large number of randomly generated test cases.
Specifications, i.e. properties, are written in C++ by deriving
from the quickcheck::Property class. This class contains members
not only to express the specification but also to observe the
distribution of test data and to write custom test data generators.
The framework also allows the specification of fixed test data, as
can be done with more traditional unit testing frameworks.
WWW: http://software.legiasoft.com/quickcheck/
devel/pure-readline: A readline interface for the Pure language
devel/pure-stldict: Pure interface to C++ STL map/unordered_map
devel/pure-stlvec: Pure interface to C++ STL vector
math/pure-mpfr: Multiprecision floats for Pure
x11-toolkits/pure-tk: A basic interface between Pure and Tcl/Tk
PR: ports/161799
Submitted by: Zhihao Yuan <lichray@gmail.com>
IO::Pty::Easy provides an interface to IO::Pty which hides most of the ugly
details of handling ptys, wrapping them instead in simple spawn/read/write
commands.
IO::Pty::Easy uses IO::Pty internally, so it inherits all of the portability
restrictions from that module.
WWW: http://search.cpan.org/dist/IO-Pty-Easy/
whether a file is locked or not.
It does not use flock(), since that is unstable over NFS.
Effort has been made to avoid race conditions.
Path::Class::File::Lockable is intended for long-standing locks,
as in a Subversion workspace. See SVN::Class for example.
WWW: http://search.cpan.org/dist/Path-Class-File-Lockable/
PR: ports/164368 (based on)
Submitted by: Tatsuya Ueda <ml+freebsd@tatsuya.info>
Go support, in the form of a library and protocol compiler plugin, for Google's
protocol buffers.
WWW: http://code.google.com/p/goprotobuf/
Approved by: pav
Bugspots - Bug Prediction Heuristic
An implementation of the simple bug prediction heuristic outlined
by the Google Engineering team: Bug Prediction at Google
Well, we actually have a great, authoritative record of where
code has been requiring fixes: our bug tracker and our source
control commit log! The research indicates that predicting bugs
from the source history works very well, so we decided to deploy
it at Google.
Point bugspots at any git repo and it will identify the hotspots
for you.
WWW: https://github.com/igrigorik/bugspots
of the Tree data structure for the Ruby language.
WWW: http://rubytree.rubyforge.org/
PR: ports/164080
Submitted by: Mikhail T. <m.tsatsenko@gmail.com>
language and let Premake write the build scripts for you. With one
file your project can support both IDE-addicted Windows coders and
Linux command-line junkies!
WWW: http://industriousone.com/premake
PR: ports/160006
Submitted by: Vitaly Magerya <vmagerya@gmail.com>