Ambrosia
view release on metacpan or search on metacpan
lib/Ambrosia/Assert.pm view on Meta::CPAN
{
*{"${package_instance}::assert"} = sub(&$) { goto &__assert; };
}
else
{
*{"${package_instance}::assert"} = sub(&$) {};
}
}
sub __assert(&$)
{
my $condition = shift;
if (( ref $condition eq 'CODE' && !$condition->() ) || !$condition)
{
carp( 'error: ' . shift);
exit(42);
}
}
################################################################################
lib/Ambrosia/QL.pm view on Meta::CPAN
};
our $VERSION = 0.010;
sub new :Private
{
}
sub _TRUE { 1 }
sub from(&)
{
my $proto = shift;
my $class = ref $proto || $proto;
return $class->SUPER::new(
source => shift,
driver => new Ambrosia::core::Nil(),
__variable => shift || \my $tmp,
__predicate => \&_TRUE,
__on => \&_TRUE,
lib/Ambrosia/Utils/Container.pm view on Meta::CPAN
'${}' => \&__as_scalar,
'&{}' => \&__as_func,
'*{}' => \&__as_glob,
'==' => \&__as_bool,
'bool'=> \&__as_bool,
'""' => \&__as_string,
'0+' => \&__as_number,
'fallback' => 1
;
sub call(&)
{
return bless {code => $_[0]}, 'deferred';
}
sub as_hash
{
return $_[0] if caller eq __PACKAGE__;
local $@;
unless ( exists $_[0]->{value} )
{
( run in 1.007 second using v1.01-cache-2.11-cpan-49f99fa48dc )