The Sleep Scripting Project 2.1-b25 (Default branch)


 
Thread Tools Search this Thread
Special Forums News, Links, Events and Announcements Software Releases - RSS News The Sleep Scripting Project 2.1-b25 (Default branch)
# 1  
Old 05-09-2008
The Sleep Scripting Project 2.1-b25 (Default branch)

Sleep is a Perl-inspired scripting language for the Java platform. Sleep has its own library of functions for performing common tasks as well as being able to utilize the Java class library. Sleep includes closures, coroutines, built-in debugging, and it is very extensible. License: GNU Lesser General Public License (LGPL) Changes:
This release adds chdir, cwd, a slurp mode for readb, and several bugfixes.Image

More...
Login or Register to Ask a Question

Previous Thread | Next Thread
Login or Register to Ask a Question
CPS::Governor(3pm)					User Contributed Perl Documentation					CPS::Governor(3pm)

NAME
"CPS::Governor" - control the iteration of the "CPS" functions DESCRIPTION
Objects based on this abstract class are used by the "gk*" variants of the CPS functions, to control their behavior. These objects are expected to provide a method, "again", which the functions will use to re-invoke iterations of loops, and so on. By providing a different implementation of this method, governor objects can provide such behaviours as rate-limiting, asynchronisation or parallelism, and integration with event-based IO frameworks. CONSTRUCTOR
$gov = CPS::Governor->new Must be called on a subclass which implements the "again" method. Returns a new instance of a governor object in that class. SUBCLASS METHODS
Because this is an abstract class, instances of it can only be constructed on a subclass which implements the following methods: $gov->again( $code, @args ) Execute the function given in the "CODE" reference $code, passing in the arguments @args. If this is going to be executed immediately, it should be invoked using a tail-call directly by the "again" method, so that the stack does not grow arbitrarily. This can be achieved by, for example: @_ = @args; goto &$code; Alternatively, the Sub::Call::Tail may be used to apply syntactic sugar, allowing you to write instead: use Sub::Call::Tail; ... tail $code->( @args ); EXAMPLES
A Governor With A Time Delay Consider the following subclass, which implements a "CPS::Governor" subclass that calls "sleep()" between every invocation. package Governor::Sleep use base qw( CPS::Governor ); sub new { my $class = shift; my ( $delay ) = @_; my $self = $class->SUPER::new; $self->{delay} = $delay; return $self; } sub again { my $self = shift; my $code = shift; sleep $self->{delay}; # @args are still in @_ goto &$code; } SEE ALSO
o Sub::Call::Tail - Tail calls for subroutines and methods AUTHOR
Paul Evans <leonerd@leonerd.org.uk> perl v5.14.2 2012-06-27 CPS::Governor(3pm)