Skip to content

Instantly share code, notes, and snippets.

pmichaud@kiwi:~/p6/nqp$ install/bin/parrot rpabench.pir
Each type run twice to compare "first to execute" bias
RPA, 1st run:
unshift(100000) = 3.46871209144592
shift(100000) = 3.46367216110229
push(100000) = 0.00369095802307129
pop(100000) = 0.00310397148132324
.unshift(100000) = 3.65762901306152
.shift(100000) = 3.64528703689575
pmichaud@kiwi:~/p6/nqp$ install/bin/parrot rpabench.pir
Each type run twice to compare "first to execute" bias
RPA, 1st run:
unshift(100000) = 3.44259786605835
shift(100000) = 3.45256185531616
push(100000) = 0.00364995002746582
pop(100000) = 0.0030970573425293
.unshift(100000) = 3.64706993103027
.shift(100000) = 3.68111896514893
pmichaud@kiwi:~/p6/nqp-jvm$ prove -r --exec ./nqp.sh t/nqp
t/nqp/01-literals.t ............. ok
t/nqp/02-if.t ................... ok
t/nqp/03-if-else.t .............. ok
t/nqp/04-unless.t ............... ok
t/nqp/05-comments.t ............. ok
t/nqp/06-args-pos.t ............. ok
t/nqp/07-boolean.t .............. ok
t/nqp/08-blocks.t ............... ok
t/nqp/09-var.t .................. ok
pmichaud@kiwi:~/p6/rakudo$ cat R.setting
sub restricted($what) {
die "$what is disallowed in restricted setting"
}
sub open(|) { restricted('open') }
sub unlink(|) { restricted('unlink') }
sub shell(|) { restricted('shell') }
sub run(|) { restricted('run') }
sub QX(|) { restricted('qx, qqx') }
pmichaud@kiwi:~/p6/rakudo$ git diff src/core/Range.pm
diff --git a/src/core/Range.pm b/src/core/Range.pm
index f94036a..6c061a6 100644
--- a/src/core/Range.pm
+++ b/src/core/Range.pm
@@ -1,3 +1,5 @@
+my class X::Range::InvalidArg { ... }
+
class Range is Iterable is Cool does Positional {
has $.min;
pmichaud@kiwi:~/p6/parrot$ cat w.pir
.sub 'main' :main
$P0 = new ['ResizablePMCArray']
$I1 = 268435456
$P0[$I1] = 1
$I0 = $P0[$I1]
say $I0
.end
pmichaud@kiwi:~/p6/parrot$ ./parrot w.pir
Topic: Paralellism in Perl 6
Abstract:
One of the key design goals for Perl 6 has been to improve support
for exploiting parallelism. While explicit parallel constructs
(e.g. threads) will be supported, of potentially greater importance
is Perl 6's use of syntax to express inherent parallelism that can
be automatically exploited by compilers and operating systems.
Indeed, one of the constraining features of Perl 6 language design
<.foo> always method call, non-capturing
<&foo> always lexical call, non-capturing
<foo> call lexical if in scope, method otherwise, capturing
We thus also need
<?foo> <?.foo> <?&foo>
<!foo> <!.foo> <!&foo>
<-foo> <-.foo> <-&foo>
<+foo> <+.foo> <+&foo>
pmichaud@kiwi:~/p6/specs$ ack '\~\~ m' S05-regex.pod
if $str ~~ m:overlap/ a (.*) a / {
if $str ~~ m:exhaustive/ a (.*?) a / {
$string ~~ m/^ \d+ $/;
$string ~~ m/^ \d+: $/;
$string ~~ m/^ <.ws> \d+: <.ws> $/;
$text ~~ m/ [ (\w+) \: (\w+ \h*)* \n ] ** 2..* /;
$text ~~ m/ ( (\w+) \: (\w+ \h*)* \n ) ** 2..* /;
"coffee fifo fumble" ~~ m/ $<effs>=[f <-[f]> ** 1..2 \s*]+ /;
if $text ~~ ms:g/ (\S+:) <rocks> / {
pmichaud@kiwi:~/p6/parrot$ cat x.pir
.sub 'main'
'foo'()
.end
.sub 'foo'
say 'hello'
.end
pmichaud@kiwi:~/p6/parrot$ ./parrot x.pir