Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 29.875.095 Times

Scalar::Defer 0.07

  Date Added: April 10, 2010  |  Visits: 614

Scalar::Defer

Report Broken Link
Printer Friendly Version


Product Homepage
Download (71 downloads)



Scalar::Defer is a Perl module to calculate values on demand. SYNOPSIS use Scalar::Defer; # exports defer and lazy my ($x, $y); my $dv = defer { ++$x }; # a deferred value (not memoized) my $lv = lazy { ++$y }; # a lazy value (memoized) print "$dv $dv $dv"; # 1 2 3 print "$lv $lv $lv"; # 1 1 1 my $forced = force $dv; # force a normal value out of $dv print "$forced $forced $forced"; # 4 4 4 This module exports two functions, defer and lazy, for building values that are evaluated on demand. It also exports a force function to force evaluation of a deferred value. defer {...} Takes a block or a code reference, and returns a deferred value. Each time that value is demanded, the block is evaluated again to yield a fresh result. lazy {...} Like defer, except the value is computed at most once. Subsequent evaluation will simply use the cached result. force $value Force evaluation of a deferred value to return a normal value. If $value was already normal value, then force simply returns it. NOTES Deferred values are not considered objects (ref on them returns 0), although you can still call methods on them, in which case the invocant is always the forced value. Unlike the tie-based Data::Lazy, this module operates on values, not variables. Therefore, assigning into $dv and $lv above will simply replace the value, instead of triggering a STORE method call. Also, thanks to the overload-based implementation, this module is about 2x faster than Data::Lazy..

Requirements: No special requirements
Platforms: Linux
Keyword: Deferred Dv Force Libraries Module Perl Module Programming Scalardefer Value Values
Users rating: 0/10

License: Freeware Size: 25.6 KB
USER REVIEWS
More Reviews or Write Review


SCALAR::DEFER RELATED
Libraries  -  Alien Perl module 0.91
Alien Perl module package contains external libraries wrapped up for your viewing pleasure! SYNOPSIS perldoc Alien; Alien is a package that exists just to hold together an idea, the idea of Alien:: packages, so there is no code here, just...
10.24 KB  
Libraries  -  OpenGeoDB Perl module 0.4
OpenGeDB Perl module is a module to access the OpenGeoDB database and calculate all ZIP codes in a certain radius..
3.07 KB  
Libraries  -  perlfaq3 5.8.8
perlfaq3 Perl module contains programming tools. How do I do (anything)? Have you looked at CPAN (see perlfaq2)? The chances are that someone has already written a module that can solve your problem. Have you read the appropriate manpages?...
12.2 MB  
Libraries  -  Syntax::Highlight::Perl 1.0
Syntax::Highlight::Perl is a Perl module that can highlight Perl Syntactical Structures. SYNOPSIS # simple procedural use Syntax::Highlight::Perl :BASIC; # or :FULL print format_string($my_string); # OO use Syntax::Highlight::Perl; my...
33.79 KB  
Network & Internet  -  MyCMS perl module 1.0
MyCMS perl module provides the MN::CMS Perl module used by the MyCMS. MyCMS perl module contains Perl object classes to manage the data of MyCMS (such as articles, links, and images). MN::CMS is a perl module that allows you to manage an...
16.38 KB  
Libraries  -  Gtk2::Ex::Utils 0.09
Gtk2::Ex::Utils is a Perl module with extra Gtk2 Utilities for working with Gnome2/Gtk2 in Perl. SYNOPSIS use Gtk2::Ex::Utils qw( :main ); # do stuff ... # Update the UI and react to pending events process_pending_events(); # do more...
14.34 KB  
Libraries  -  Chart::Graph::Xrt2d 3.2
Chart::Graph::Xrt2d is a Perl module for creating graph charts. SYNOPSIS #Include module use Chart::Graph::Xrt2d qw(xrt2d); # Function call xrt2d(%options, [%data_options1, @data_set1], [%data_options2, @data_set2], . . ); This...
245.76 KB  
Libraries  -  Class::Adapter::Builder 1.02
Class::Adapter::Builder is a Perl module that can generate Class::Adapter classes. SYNOPSIS package My::Adapter; use strict; use Class::Adapter::Builder ISA => Specific::API, METHODS => [ qw{foo bar baz} ], method => different_method;...
24.58 KB  
Libraries  -  Apache::TestRun 1.28
Apache::TestRun is a Perl module to run the test suite. SYNOPSIS The Apache::TestRun package controls the configuration and running of the test suite. METHODS Several methods are sub-classable, if the default behavior should be changed....
143.36 KB  
Libraries  -  Locale::Maketext::Extract::Run 0.62
Locale::Maketext::Extract::Run is a Perl module interface to xgettext.pl. SYNOPSIS use Locale::Maketext::Extract::Run xgettext; xgettext(@ARGV);.
83.97 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by freedesktop.org, it is used to describe information about an application such as the name and...
327.68 KB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB  
Libraries  -  wolfSSL 3.11.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
2.73 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB