Skip to content

Instantly share code, notes, and snippets.

@peschwa
peschwa / .notes
Last active August 29, 2015 14:02
# git clone https://github.com/rakudo/rakudo
# perl Configure.pl --gen-nqp --gen-moar --backends=moar
# make -j2 && make install
$ ./perl6 --version
This is perl6 version 2014.05-208-g354c5c5 built on MoarVM version 2014.05-124-g462402b
$ ./perl6 -e'my $f = 5; $f.isa(Scalar)'
Segmentation fault
(gdb) s
MVM_multi_cache_add (tc=0x804b340, cache_obj=0xb76bdf00, capture=0xb76bdaec, result=0x99ecb80) at src/6model/reprs/MVMMultiCache.c:155
$ perl6
> my int $x = 0;
0
> my int32 $x = 0;
0
> exit
Unhandled lexical type in lexprimspec for '$x'
$ ./perl6 trans.t
1..10
ok 1 - Plaintext for $left and $right works.
ok 2 - Plaintext for $left and \x for $right works.
ok 3 - \x for $left and plaintext for $right works.
ok 4 - \x for $left and $right works.
ok 5 - No interpolation for $right.
ok 6 - No interpolation for $left.
ok 7 - First Pair is the one used for substitution.
ok 8 - Range on both sides works.
diff --git a/src/vm/jvm/runtime/org/perl6/nqp/runtime/BootJavaInterop.java b/src/vm/jvm/runtime/org/perl6/nqp/runtime/BootJavaInterop.java
index d89e285..5ad323e 100644
--- a/src/vm/jvm/runtime/org/perl6/nqp/runtime/BootJavaInterop.java
+++ b/src/vm/jvm/runtime/org/perl6/nqp/runtime/BootJavaInterop.java
@@ -97,7 +97,31 @@ public class BootJavaInterop {
try {
return getSTableForClass(Class.forName(name)).WHAT;
} catch (ClassNotFoundException e) {
- throw ExceptionHandling.dieInternal(gc.getCurrentThreadContext(), e);
+ try {
$ ls
Foo Foo.jar Foo.pm
$ cat Foo.pm
class Foo;
need Foo::Bar;
method baz(Str $in) {
Foo::Bar::doLookup($in);
}
# It seems to me nothing of this is related to my changes.
t/spec/S29-conversions/hash.t ................................ ok
t/spec/S29-conversions/ord_and_chr.rakudo.jvm ................ ok
t/spec/S29-context/exit.t .................................... ok
===( 19445;2207 0/5 0/? )===========================================java.lang.RuntimeException: Missing or wrong version of dependency 'gen/jvm/stage2/QRegex.nqp'
in (gen/jvm/BOOTSTRAP.nqp)
in (gen/jvm/ModuleLoader.nqp:243)
in (gen/jvm/ModuleLoader.nqp:237)
in load_module (gen/jvm/ModuleLoader.nqp:219)
@peschwa
peschwa / goal
Last active August 29, 2015 14:04
# subroutine solution:
my $*GOAL;
sub g($in = 'o') {
$*GOAL = $*GOAL ?? $*GOAL ~ $in !! 'g' ~ $in;
if $in eq 'al' {
$*GOAL ~= "\n";
return $*GOAL = $*GOAL but False
}
&?ROUTINE # return the current subroutine
nqp-js$ ./nqp-p --module-path gen/js/stage1/ src/vm/js/bin/nqp-js.nqp -e 'nqp::say("Hello World")' | node
Can not get attribute '%!marks' declared in class 'ParseShared' with this object
current instr.: 'MARKED' pc 20727 (gen/parrot/stage2/NQPHLL.pir:7955) (gen/parrot/stage2/NQPHLL.nqp:768)
called from Sub 'ws' pc 14623 (gen/parrot/stage2/NQP.pir:5685) (gen/parrot/stage2/NQP.nqp:801)
called from Sub 'statementlist' pc 20556 (gen/parrot/stage2/NQP.pir:7842) (gen/parrot/stage2/NQP.nqp:892)
called from Sub 'comp_unit' pc 18745 (gen/parrot/stage2/NQP.pir:7080) (gen/parrot/stage2/NQP.nqp:861)
called from Sub 'TOP' pc 13239 (gen/parrot/stage2/NQP.pir:5195) (gen/parrot/stage2/NQP.nqp:782)
called from Sub 'parse' pc 20204 (gen/parrot/stage2/QRegex.pir:8177) (gen/parrot/stage2/QRegex.nqp:1266)
called from Sub 'parse' pc 33012 (gen/parrot/stage2/NQPHLL.pir:13108) (gen/parrot/stage2/NQPHLL.nqp:1425)
called from Sub '' pc 32450 (gen/parrot/stage2/NQPHLL.pir:12900) (gen/parrot/stage2/NQPHLL.nqp:1380)
$ NODE_PATH=/home/psch/rakudo/nqp-js/node_modules/nqp-runtime-node/node_modules/ node
> var bigint = require('bigint')
undefined
> var b = bigint(-123).pow(42)
undefined
> console.log(b)
<BigInt 5970554685064519004265641008828923248442340700473500698131071806779372733915289638628729>
undefined
> var zero = bigint(0).pow(b)
undefined
$ ./perl6 -e'$_ = "AdBeCf"; .match: /(.)./, :g; say ~$/; say @().flat; say so $/'
AdBeCf
「Ad」
0 => 「A」
「Be」
0 => 「B」
「Cf」
0 => 「C」
True