The Sleep Scripting Project 2.1-b22 (Default branch)


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

Sleep is a Perl-inspired scripting language forthe Java platform. Sleep has its own library offunctions for performing common tasks as well asbeing able to utilize the Java class library.Sleep includes closures, coroutines, built-indebugging, and it is very extensible.License: GNU Lesser General Public License (LGPL)Changes:
This release expands ordered hashes. They are now usable for dynamic programming, flexible caches, etc. The profiler was enhanced for better accuracy. A property was added for disabling assertions. The internals were cleaned up to match new conventions.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)