»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by lichtkind on 5 March 2010.
arnsholt In protoregexes, is the stuff after the colon required to be sum<whatever>? 00:01
jnthn :foo<whatever> generally
00:01 hercynium joined
jnthn But we use :sym<whatever> generally, not sure how far nqp supports doing otherwise. 00:01
But then you can use <sym> inside the regex 00:02
arnsholt Only one way to find out, I suppose
nqp: grammar T { proto token foo { <...> }; token foo:x<y> { a }; token TOP { foo+ } }; say(T.parse("aaa"));
p6eval nqp: OUTPUT«␤» 00:03
00:03 am0c joined
arnsholt nqp: grammar T { proto token foo { <...> }; token foo:x<y> { a }; token TOP { <foo>+ } }; say(T.parse("aaa")); 00:03
p6eval nqp: OUTPUT«␤»
arnsholt nqp: grammar T { proto token foo { <...> }; token foo:sym<y> { a }; token TOP { <foo>+ } }; say(T.parse("aaa"));
p6eval nqp: OUTPUT«aaa␤»
arnsholt I guess that's a no 00:04
00:08 Su-Shee left 00:21 hanekomu_ left 00:37 sundar left 00:38 xomas left 00:39 am0c left 00:46 alester joined 00:57 dual left
arnsholt nqp: grammar T { proto token foo { a }; token foo:sym<b> { b }; token TOP { <foo>+ } }; say(T.parse("abab")); 01:04
p6eval nqp: OUTPUT«Proto regex body must be <...> at line 1, near "{ a }; tok"␤current instr.: 'parrot;HLL;Grammar;panic' pc 500 (src/cheats/hll-grammar.pir:197)␤»
01:06 M_o_C left
arnsholt nqp: grammar T { token foo-bar { foobar }; token TOP { <foo-bar> } }; say(T.parse("foobar")); 01:12
p6eval nqp: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 1␤current instr.: 'parrot;Regex;Cursor;FAILGOAL' pc 1664 (src/Regex/Cursor-builtins.pir:179)␤»
arnsholt Doesn't look like nqp likes subrule calls with - in them. Known issue? 01:13
jnthn Not sure if known. Looks odd.
oh 01:14
I think I ran into that one before actually...
But not with regex
But a named arg instead
Must be the identifier rule in general.
huh...how is it 3am...oh...daylight savings...whoa.
01:25 meppl left 01:28 lichtkind joined
lichtkind perl 6 has no references, is it possible to have in one variable a complex data structure and pointing with another deep inside that? 01:30
01:40 espadrin` joined 01:41 gfx joined 01:42 espadrine left, molaf_ joined 01:44 lichtkind left 01:46 molaf left 01:54 Psyche^ joined 01:57 Patterner left, Psyche^ is now known as Patterner 03:13 baest_ left 03:14 baest joined, cotto left 03:25 hatseflats joined 03:31 gfx left 03:36 lollan left 04:28 eternaleye left 04:34 agentzh joined 04:51 eternaleye joined, gfx joined 04:55 envi^home joined 05:09 sorear left, sorear joined 05:17 cotto joined 05:18 nihiliad left 05:41 justatheory left 05:46 aindilis left 05:48 Guest33359 is now known as Trashlord, Trashlord left, Trashlord joined, thowe joined 05:59 agentzh left 06:15 eternaleye left 06:19 unixbomber joined 06:34 vamped joined
vamped .u ␤ 06:34
phenny U+2424 SYMBOL FOR NEWLINE (␤)
06:42 molaf_ left 06:43 vamped left, alester left 06:44 molaf joined 06:47 vamped joined
vamped .u ␣ 06:48
phenny U+2423 OPEN BOX (␣)
07:06 cotto left, vamped left 07:35 cotto joined 07:37 hercynium left 07:38 hercynium joined 07:48 Trashlord left, cotto left 07:54 eternaleye joined 08:16 unixbomber left 08:44 |Jedai| joined 08:46 hanekomu_ joined 09:01 eternaleye left 09:07 baest_ joined 09:08 yahooooo left 09:10 baest left
pugssvn r30224 | moritz++ | [t/spec] test for RT #72960, Null PMC access when doing [].WHAT.say 09:18
moritz_ rakudo: say 2 Z 3 09:24
p6eval rakudo db0f85: OUTPUT«No applicable candidates found to dispatch to for 'infix:<Z>'. Available candidates are:␤:(Iterable $a-iterable, Iterable $b-iterable)␤␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
moritz_ p6eval's rakudo build is a bit behind, because parrot added a file to their repo which was previously a generated file 09:28
so 'svn up' failed
09:32 yahooooo joined 09:36 snarkyboojum joined
moritz_ rakudo: say (hash a => 3 ).perl 09:42
p6eval rakudo db0f85: OUTPUT«push_pmc() not implemented in class 'FixedPMCArray'␤current instr.: 'perl6;Perl6Role;!add_variant' pc 9861 (src/gen/RoleToClassApplier.pir:566)␤»
moritz_ rakudo: say (hash(a => 3) ).perl
p6eval rakudo db0f85: OUTPUT«push_pmc() not implemented in class 'FixedPMCArray'␤current instr.: 'perl6;Perl6Role;!add_variant' pc 9861 (src/gen/RoleToClassApplier.pir:566)␤»
09:43 yahooooo left 09:45 Su-Shee joined, yahooooo joined 09:48 M_o_C joined 09:56 gfx left 09:59 yahooooo left
moritz_ rakudo: say (hash(a => 3) ).perl 10:01
p6eval rakudo cddc8a: OUTPUT«{"a" => 3}␤»
moritz_ oh
10:02 Chillance joined 10:05 yahooooo joined 10:12 Su-Shee left, yahooooo left, Su-Shee joined 10:16 yahooooo joined 10:19 niros left 10:32 yahooooo left 10:46 yahooooo joined 10:57 niros joined 11:16 xomas joined, xomas left, xomas joined 11:29 yahooooo left 11:32 frettled joined
jnthn o/ 12:00
mberends hi jnthn! 12:12
mberends is breaking nearly everything in proto today, to rebuild it "better", fsvo better 12:13
jnthn :-) 12:16
12:17 wknight8111 joined
mberends one of the planned proto improvements will be Windows compatibility 12:17
12:17 yahooooo joined
jnthn mberends: Yay! 12:18
mberends: I'll be able to use it at last. :-)
mberends exactly. proto needs a Windows guine^W early adopter
12:23 yahooooo left
jnthn en.wikipedia.org/wiki/Protostar ;-) 12:29
12:29 jaldhar left 12:36 yahooooo joined 12:37 jaldhar joined 12:40 rgrau_ joined
moritz_ rakudo: use Test; plan 1; isa_ok hash("a", 1), Hash 12:58
p6eval rakudo cddc8a: OUTPUT«1..1␤not ok 1 - The object is-a 'Hash()'␤# Actual type: Hash()␤# Looks like you failed 1 tests of 1␤»
moritz_ are there two Hash() types? on parrot, one rakudo? 12:59
jnthn moritz_: yes, but the problem there is that Hash in Rakudo is currently a role, not a class. 13:02
moritz_ oh.
jnthn rakudo: say hash("a", 1) ~~ Hash 13:03
p6eval rakudo cddc8a: OUTPUT«1␤»
pugssvn r30225 | moritz++ | test for the hash() list operator
13:09 hugme joined 13:10 hugme left 13:11 hugme joined
dalek kudo: 0577068 | moritz++ | Test.pm:
[Test.pm] give better diagnostic output in isa_ok()
13:12
kudo: 8f7d293 | moritz++ | t/spectest.data:
run S04-statement-parsing/hash.t
13:13 cotto joined, cotto left 13:14 cotto joined 13:16 am0c joined 13:17 yahooooo left
moritz_ jnthn++ # subs-n-sigs.pod 13:18
"From the output of this program, you can observe that doing the YMCA dance in
ASCII art looks just about as bad as doing it in real life."
13:20 yahooooo joined
moritz_ jnthn: however you confused 'is rw' with 'is capture' or \ 13:20
jnthn: Marking a parameter as C<is rw> means that you are allowed to modify the
argument that was passed in. Doing so modifies the original thing that was
passed. If a literal or some other constant value was passed in, then this
will fail.
actually with 'is rw' the binding of a read-only value should already fail
jnthn Ah, hmm..
Yeah, that wants a tweak to make it clear that it fails to bind, not that it fails to assign. 13:21
btw, "is parcel" is the synonym for \ rather than "is capture", iirc. 13:22
moritz_ I can add that
ah, ok
jnthn Go aheaed. :-)
But I think we keep "is rw" for now.
And just explain what it does.
moritz_ aye
jnthn The situations when you want to defer the failure until later are less common.
13:24 yahooooo left
jnthn moritz_++ # reviewing my scribblings 13:24
moritz_ jnthn: could you please convert the file to UTF-8? 13:25
jnthn: the name of the beer doesn't display correctly as-is 13:26
dalek ok: 2261e8a | moritz++ | (2 files):
[subs-n-sigs] some small improvments; clarify that binding a constant to an rw-parameter fails
13:26 meppl joined
jnthn moritz_: Oops 13:28
moritz_: I'm...not sure what it's ended up being. :-/
moritz_ jnthn: neither am I. One of the characters look fine in Latin-1, the other... not 13:29
jnthn Will do that next time I write some more (maybe this evening :-))
moritz_ jnthn: looks like some windows-blah
jnthn Suspect the ž
colomon mberends++ # proto work 13:31
moritz_ jnthn: I've done the conversion, now that I know what it should say :-) 13:35
jnthn: any objections to moving 'Returning Results' a bit up within the chapter? The examples get a bit weird without returns 13:37
dalek ok: f4b0b90 | moritz++ | src/subs-n-sigs.pod:
[subs-n-sigs] optional parameters; convert to UTF-8
13:38
13:39 M_o_C left
jnthn moritz_: I was pondering that, yeah. 13:40
13:40 yahooooo joined
jnthn moritz_: Probably it can go before the types section. 13:41
order-steak('through'); 13:42
through? :)
jnthn thought the choices were rare, medium and well done :-) 13:43
Nice example though. :-)
13:46 dalek left, yahooooo left 13:49 dalek joined, yahooooo joined
moritz_ probably a bad translation 13:51
13:56 yahooooo left
dalek ok: aba047d | moritz++ | src/subs-n-sigs.pod:
[subs-n-sigs] improve example, jnthn++; also move "Returning Results" section a bit up
13:56
13:59 yahooooo joined 14:06 yahooooo left 14:09 yahooooo joined 14:10 TiMBuS joined 14:15 yahooooo left 14:18 titan_ joined 14:19 yahooooo joined 14:23 titan_ left 14:29 yahooooo left 14:30 yahooooo joined 14:37 yahooooo left 14:40 yahooooo joined, mssm joined 14:49 yahooooo left, nihiliad joined
TimToady maybe it means "cooked-through", aka well done? 14:49
14:50 yahooooo joined 14:55 yahooooo left 14:58 colomon left 15:00 yahooooo joined 15:03 colomon joined 15:05 payload joined 15:09 yahooooo left 15:10 yahooooo joined 15:16 yahooooo left 15:20 yahooooo joined 15:29 hanekom__ joined 15:31 justatheory joined
moritz_ it does 15:32
see last diff
15:32 hanekomu_ left 15:34 yahooooo left 15:40 dual joined, yahooooo joined 15:41 lichtkind joined
lichtkind mberends: hai 15:42
jnthn: ping 15:43
mberends lichtkind: hoi 15:53
15:54 hercynium left 16:00 yahooooo left, hercynium joined 16:01 yahooooo joined 16:07 justatheory_ joined, justatheory left, justatheory_ is now known as justatheory 16:08 yahooooo left
moritz_ rakudo: sub a (:b($c = 5)) { say $c } 16:20
p6eval rakudo 8f7d29: ( no output ) 16:21
16:21 yahooooo joined 16:24 Trashlord joined 16:28 yahooooo left 16:35 hercynium left 16:36 sundar joined 16:38 payload left 16:39 payload joined 16:41 justatheory left, cognominal left, LionMadeOfLions left, eiro left, meppl left, Gothmog_ left, bkeeler left, PZt left, felipe left, constant left, cotto left, sorear left, Patterner left, mberends left, renormalist left, f00li5h left, niros left, sunnavy left, Sarten-X left, mj41 left, ascent_ left 16:42 yahooooo joined, mathw joined 16:43 justatheory joined 16:45 jnthn joined, meppl joined, cotto joined, niros joined, sorear joined, Patterner joined, sunnavy joined, Sarten-X joined, mberends joined, mj41 joined, cognominal joined, Gothmog_ joined, Trey joined, jrockway joined, renormalist joined, bkeeler joined, LionMadeOfLions joined, f00li5h joined, PZt joined, ascent_ joined, felipe joined, eiro joined, constant joined, arnsholt joined, huf joined, yves joined, mdxi_ joined, rhr joined, araujo joined, jql joined, tomaw joined, ewilhelm joined, s1n joined, buu joined, c1sung joined, BinGOs joined 16:50 hicx174_ joined 16:51 takadonet1 joined 16:52 [hudnix] left, mathw_ joined, broquain1 joined, astinus_ joined 16:54 elmex joined, |Jedai| left, hicx174 left, cj left, takadonet left, dual left, mathw left, cj joined 16:55 dual joined, hudnix joined, astinus_ left, astinus_ joined 16:56 hugme left, Helios left 16:58 silug joined 16:59 revdiablo left, athomaso1 joined, ingy joined, Exodist joined, wasy joined, Exodist left 17:00 jjore joined, Helios joined, Sarten-X2 joined, ascent__ joined, dual left, yahooooo left, dj_goku left 17:01 Sarten-X left, niros left, huf left, jql left, ascent_ left, sunnavy left, arnsholt left 17:02 sunnavy joined, m6locks joined, betterwosld joined, betterworld left 17:03 nihiliad left 17:04 arnsholt_ joined, arnsholt_ is now known as arnsholt 17:05 niros joined 17:08 sundar left, baest_ left 17:09 baest joined, dual joined, buubot joined, dj_goku joined, moritz_ joined, Tene joined, sjohnson joined, spinclad joined, card.freenode.net sets mode: +voo buubot moritz_ Tene 17:10 envi^home left 17:13 Khisanth joined, nsh left 17:15 xinming_ joined, justatheory left, PacoLinux left, xinming left 17:16 wolverian joined 17:17 Damn3d joined 17:18 justatheory joined 17:22 PacoLinux joined, p6eval joined, mantovani joined, lestrrat joined, szabgab joined, IRSeekBot joined, card.freenode.net sets mode: +vv p6eval IRSeekBot 17:24 gfldex_ joined 17:25 hejki_ joined, pnu_ joined, gfldex left, espadrin` left, pnu left, hejki left, allbery_b left 17:26 nadim left, christine left 17:27 allbery_b joined 17:28 betterworld joined, christine joined 17:30 betterwosld left, felipe left 17:31 Gothmog_ left 17:32 yahooooo joined 17:34 nsh joined 17:35 sbp joined 17:39 yahooooo left 17:41 charsbar_ joined 17:43 yahooooo joined 17:44 skyheights joined 17:45 mathw_ is now known as mathw
skyheights moritz_++ # perlgeek.de/en/article/5-to-6 17:49
Can't--but can--wait for Rakudo * 17:50
17:51 felipe joined, synth left 17:52 skyheights left 17:54 niros left, M_o_C joined, M_o_C left 17:55 astinus_ is now known as astinus, astinus left 17:56 astinus joined 17:58 nihiliad joined, synth joined, niros joined 18:03 jaldhar left 18:06 am0c left 18:12 lisppaste3 left, lisppaste3 joined 18:18 hejki_ is now known as hejki 18:25 nihiliad left 18:27 Pavithra joined 18:28 Pavithra left 18:32 rgrau_ left 18:59 jql joined 19:01 hercynium joined
moritz_ std: my $foo; :!$foo 19:14
p6eval std 30225: ( no output ) 19:15
spinclad that shouldn't parse i think? as it's both :foo(1) and :foo($foo) 19:18
*:foo(0)
19:19 ruoso left
moritz_ spinclad: I don't think it should, but I thought it would be better to check 19:20
19:21 yahooooo left
spinclad i'm surprised std got lost on it. 19:21
19:22 yahooooo joined
moritz_ I think it's a problem with p6eval, not with STD.pm 19:23
locally it says "Bogus statement"
jnthn I don't expect it to parse also.
iirc only an identifier can follow a ! 19:24
arnsholt jnthn: I think I know why nqp-rx doesn't like - in grammar stuff
19:25 iblechbot joined
arnsholt You can use + and - to do set arithmetic with character classes, so that might confuse it 19:25
dalek ok: 30c4f59 | moritz++ | src/subs-n-sigs.pod:
[subs] named parameters
19:26
19:30 yahooooo left, yahooooo joined
moritz_ std: 1 19:48
dalek ok: 0d66bb8 | moritz++ | src/subs-n-sigs.pod:
[subs] returns
19:49
p6eval std 30225: ( no output ) 19:50
moritz_ what should 'our %*foo' do?
installing a contextual variable in the symbol table looks...weird 19:51
jnthn Though in a sense, you're really declaring a lexical alias to that thingy in the symbol table. 19:53
moritz_ aye 19:55
19:55 moritz_ sets mode: +o jnthn
pugssvn r30226 | moritz++ | [t/spec] test our %*var 19:56
20:03 wknight8111 left 20:04 payload left 20:07 colomon left
moritz_ rakudo: package A {}; A.foo 20:12
p6eval rakudo 8f7d29: ( no output )
jnthn Locally, Method 'foo' not found for non-object 20:13
20:13 colomon joined 20:16 wknight8111 joined
pugssvn r30227 | moritz++ | [t/spec] fudge S10-packages/basic.t for rakudo 20:19
moritz_ jnthn: here too
20:20 eternaleye joined 20:25 ash_ joined
dalek kudo: 534afd8 | moritz++ | t/spectest.data:
we pass S10-packages/basic.t, now with quite different fudging than before
20:36
colomon " now with quite different fudging than before" :)
pugssvn r30228 | moritz++ | [t/spec] tests for use'ing classes inside classes and modules 20:37
r30229 | moritz++ | [t/spec] add the test packages that I forgot before, moritz-- 20:40
20:40 eternaleye left
ash_ rakudo* is going to be nice when it is released 20:42
jnthn colomon: Having fun? :-) 20:45
colomon yes!
20:46 moritz_ sets mode: +oo colomon ash_
colomon The games I ran went well, the games I've played in were good fun. 20:46
One more tonight, after a mass outing for Japanese noms.
jnthn \o/ 20:47
20:48 pmurias joined
ash_ so... anyone know how P6Opaque objects look under the hood? basically are the a map of names to properties? 20:50
moritz_ they are like a locked hash of attribute names => attribute containers 20:51
ash_ in my nq-nqp i am trying to figure out how to make my objects, under the hood, and i was thinking of simply a hash, but there may be some attributes that need special treatment (like the id?) figured rakudo's already made the right design decision on this one 20:53
moritz_ you might need some additional meta data, unless you store that in some other part of an object 20:54
like "what type do I belong to?"
which is basically .WHAT 20:55
bed &
colomon o/
jnthn ash_: I don't particularly regard Rakudo as having it right. 20:56
ash_ the hash I was thinking of storing things like "&foo" for methods, and "$a" for an attribute, since they are all generic objects 20:58
20:58 pmurias left
ash_ well, really that would be $!a 20:58
21:00 pmurias joined
bkeeler Afternoon! 21:01
> my @f = ("bar", rx/ qu+x /); say "abarfooquuuuxbazbarb" ~~ /^a [ 'foo' | 'baz' | @f ] + b$/ 21:04
abarfooquuuuxbazbarb
21:04 mssm left, colomon left
jnthn whoa! 21:04
That's insane. :-)
bkeeler++ 21:05
arnsholt Awesome!
ash_ how does a @f work in a regex? does it get translated to @f[0] | @f[1] ?
bkeeler Yep
ash_ neat
wow
arnsholt bkeeler: I think you're my new hero =D
ash_ man, regex's in perl 6 are awesome
bkeeler Yeah, they are
21:05 christine left
ash_ i wonder if i'll ever get them implemented in my nq-nqp... probably not >< 21:06
bkeeler: is your work on github? 21:09
is it a branch of nqp? or is it in rakudo?
bkeeler Will be soon
ash_ got ya
bkeeler Rakudo 21:10
I thought I was going to have to make changes to nqp, but it looks like I'll get away without 21:11
21:11 nihiliad joined
ash_ should any of them be ported into nqp? just curious, or are they to much ingrained into rakudo and/or outside of nqp's scope? 21:12
bkeeler Could probably be backported
jnthn Just because it could be doesn't mean it should be though. :-) 21:13
There's value in NQP being small.
bkeeler There might be value in being able to use @foo in a grammar though 21:14
jnthn Yeah
I guess it's on a "do we have a use for it" basis.
Thing is, porting NQP is the first step to adding another backend to Rakudo. 21:15
Everything you add to NQP potentially makes that step harder.
bkeeler True
ash_ hey, if i get my nqp working, then i could maybe run parts of rakudo (the ones without pir) 21:16
jnthn ash_: You'd have a decent shot at Grammar.pm and, if the PAST node types were defined, Actions.pm too.
But yes, the rest of the glue is another matter.
bkeeler PAST could certainly use being more abstract than it actually is 21:17
There's rather a lot of pirops and inlines
ash_ my goal is to, when I am done, have my nq-nqp run the nqp Grammar.pm and some of the nqp Actions.pm (it uses pir in it a bit, so i'd have to re-do that) 21:18
jnthn inlines are a problem 21:19
pirops less so
ash_ i don't know if i'll get to that anytime soon, but hey, its a goal :P
jnthn If you read pirop as "vmop" or some such, it's not so bad.
21:19 am0c joined
jnthn I guess we'll only really know how hard it is once somebody's managed to do it. :-) 21:19
bkeeler It would be nice to see perl6 run on the JVM sometime 21:20
They did a pretty good job with JRuby 21:21
Apparently it runs faster than the regular Ruby for most things
sorear ash_: P6Opaque represents 5 memory blocks
ash_ if i get my stuff done, it will be nqp running on the LLVM (i know its not the same, but still)
21:21 espadrine joined
bkeeler That would be great too 21:21
And someone was talking about getting it running on the DLR
sorear bkeeler: if memory serves, the "regular Ruby" is just an AST walker
like P5 21:22
jnthn ash_: That'd be cool to have.
ash_ sorear: "5 memory blocks" meaning...? (just curious)
jnthn sorear: (5 memory blocks) Huh?
21:22 snarkyboojum left
sorear jnthn: first line of a multi-line explanation 21:22
ash_: P6Opaque is a PMC header + attributes; the attributes reference a ResizablePMCArray -> attribute record -> PMC* array 21:23
the P6Opaque also references the class, which references a name->offset mapping
so
$object.!slotname
1. Get the class from $object
2. Look up !slotname in $class's layout hash 21:24
2. Get the storage pmc array from $object
3
4. $storage[$index]
jnthn fwiw, that's liable to change.
bkeeler 5. PROFIT!!!
sorear jnthn: "Opaque" kindof implies that 21:25
jnthn Aye.
I specifically meant in Rakudo though.
:-)
After R*, mind.
21:25 snarkyboojum joined
jnthn P6opaque today is basically a thin veneer on Parrot's Object / Class PMCs. 21:26
It's good enough for now.
But throws away too much stuff we statically know in Perl 6.
If I was starting from scratch, I'd not copy what Rakudo does today. 21:27
Attribute storage wants to be some first level, per-class structure
And that structure has the attributes
Most accesses can be done by offset
With a hash to offset as a fallback.
21:28 pmurias left
snarkyboojum guten morgen #perl6 21:28
jnthn dober utro
er, jutro? :-)
:-)
snarkyboojum dobro jutro jnthn :) 21:29
jnthn lol
Fail.
snarkyboojum definitely understood :)
21:31 cotto left
jnthn Ouch. Trying to write an abstract for a Perl 6 talk to be given in *November* is hard! 21:34
snarkyboojum does that involve some crystal ball gazing? 21:37
jnthn Just a bit...
I guess it's going to really have to be...well...abstract. :-)
snarkyboojum :D
is that the "November before Christmas"? :) 21:38
jnthn November before *this* Christmas. ;-)
snarkyboojum oh :| heh
21:40 araujo left, rgrau joined 21:42 araujo joined 21:43 pmichaud joined, christine joined
jnthn pmich\o/d! 21:43
21:45 PacoLinux left
pmichaud good afternoon, #perl6 21:46
phenny pmichaud: 27 Mar 10:34Z <moritz_> tell pmichaud that I started the refactor_mob_generation branch of nqp-rx. It changes the actualy generation of a match object to a call to single constructor - which can easily be re-implemented in HLLs
pmichaud: 27 Mar 10:35Z <moritz_> tell pmichaud the plan is to provide nqp-rx with a single typo object on which this constructor is called - though I don't know how that should be done (named param somewhere, dynamic variable, ...)
pmichaud hmmm. I still think it should be the cursor that does it. 21:47
jnthn afternoon, Pm.
21:49 masak joined
masak ahoy, #perl6! 21:49
masak is just stopping by before going to bed
bkeeler Heyas pmichaud !
jnthn ahej, masak!
masak if I understand this Russian blog post correctly onperl.ru/onperl/2010/03/for-vs-given.html -- given can't modify a string in $_ in Perl 5.10.
pmichaud hello, masak++ 21:50
masak hi pmichaud++!
jnthn rakudo: my $foo = 'rofl harris'; given $foo { .=subst(/rofl/, 'rolf'; }; say $foo 21:51
masak rakudo: my $foo = 'rofl'; given $foo { s/fl/lf/; .=uc }; $foo.say
jnthn Locally it whines about $_ being readonly. 21:52
I'm not sure if that's a bug.
masak I thought the default setting was '<-> $_'
i.e. '-> $_ is rw' 21:53
jnthn probably is parcel rather than is rw
But yes
p6eval rakudo 8f7d29: ( no output )
21:53 lue joined
jnthn Provided that applies to given, which I guess it should... 21:53
lue ololitsme o/
masak so...? submitarakudobug?
hi, lue! \o
jnthn yesithinkyoushouldindeeddothat.
masak submitsarakudobughoworiginal 21:54
lue stringingwordstogetherisfun.ohhowimissdoingthis.
jnthn maybethechinesehaveapointthatspacesarepointless
bkeeler heya lue 21:55
masak yousaythatbutwaituntilyougetyourfirstchinesesentencethatcanbeparsedinseveralways :/
masak .oO( hm... 'several ways', 'sever always'... ) 21:56
jnthn jaghavenkassaapparat
masak *lol*
s/v/r/, but otherwise fine :)
lue It's a pain translating a string of katakana/hiragana when you can't see the spaces... (Wind Waker is a prime example :/)
rakudo: say 2 Z 3 21:57
jnthn masak: btw, I submitted some talks for NPW. :-)
masak nice!
jnthn 3 of them, so they have some choice.
masak ooh
jnthn Either that or I have a lot of slides to write... ;-)
masak 哈哈 21:58
lue rah-koo-dou seems to be failing :/
jnthn I'm currently trying to work out how on earth to write an abstract for a Perl 6 talk to be given in November.
Who knows what we'll have done by November!
masak assume that we made things work, and we'll have something to strive towards :P 21:59
p6eval rakudo 8f7d29: ( no output )
lue finally!
erm...
masak p6eval is having a slow day, it seems.
lue rakudo: say "I work!"
p6eval rakudo 8f7d29: ( no output )
lue *cough* someone broke say, it seems *cough* 22:00
jnthn rakudo: say " ( no output )"
p6eval rakudo 8f7d29: ( no output )
jnthn wfm
lue ha ha :)
22:01 iblechbot left
lue rakudo: say something 22:01
p6eval rakudo 8f7d29: ( no output )
jnthn masak: OK, I'll write about how I'll do live demos of Rakudo running on multiple backends, with some awesome examples of parallemism, and an installer that has now also won the Nobel Prize for Physics, to make up for the confusion with the whole Peace Prize...
lue ...not even errors O.o
masak jnthn: :D 22:02
sorear Isn't it a bug that p6eval likes to nondeterministically say no ouput?
lue rakudo: die('with dignity!');
p6eval rakudo 8f7d29: ( no output )
masak sorear: I don't see anything nondeterministic about it.
jnthn sorear: Akshually I think it's just kanckered.
*knackered
lue it's not nondeterminitsic, it's dumb coding :D 22:03
masak it hasn't given any output since I stepped in here a few minutes ago.
sorear jnthn: it should at least say $?139 or something
lue std: diagnose rakudo # please work please work please work
p6eval std 30229: ( no output ) 22:04
lue pugs: is still hanging in there # i hope 22:06
p6eval pugs: OUTPUT«*** No such subroutine: "&is"␤ at /tmp/MSF8tF2wdP line 1, column 1 - line 2, column 1␤»
lue alpha: is great # not 22:07
p6eval alpha 30e0ed: ( no output )
lue /o\
masak gently nudges lue to do something productive instead of spamming p6eval ;)
mberends: nice to hear you're working on proto. let me know if I can be of help/assistance/support somehow. 22:09
lue I am! But I has to update my own copy since p6eval isn't working :( 22:10
masak that's not bad in itself. you're meant to use your own copy rather than p6eval. :)
programming by bot is extremely inefficient. 22:11
lue I is trying to find rakudobugs that have been solved already. I don't need my own copy of rakudo :D
masak lue: oh! then we work a bit differently, it seems. I often try things out locally, and then just paste them here if they're interesting in some way. 22:12
less clutter that way.
it's not a hard-and-fast rule, mind you. but it helps to keep noise down. 22:13
lue Anyway, er... what year is this? Perl 8 has been finished, right? 22:14
masak oh, long ago.
in fact, it's closer to 2199 than 1999.
masak lets that one sink in 22:15
pugssvn r30230 | bkeeler++ | A couple tweaks
lue OK. No wonder p6eval is broken. I thought is was 2010, but all the time-travelling lately...
masak bkeeler: by the way, you're my new hero too! that array interpolation stuff is dynamite!
lue Cool. I can stay here for a while. :) 22:16
bkeeler :) 22:17
masak well, that's it for tonight.
lue gnight o/
masak I'll be back with the usual inanities tomorrow.
jnthn o/
masak see you, peeps.
22:17 masak left
jnthn
.oO( I think he missed an s back there... )
22:18
lue jnthn --fixspelling --target="masak" --2ndlastmessage # :)
22:19 hanekom__ left
sorear jnthn: Today's puzzle is Parrot_pmc_register 22:20
22:21 nihiliad left
sorear I'm trying to implement tiebacks. I've got all the association stuff worked out, except for the minor issue where the PMC side gets garbage collected 22:21
I'm imagining I want something like - void Parrot_pmc_register(PARROT_INTERP, void *cookie, PMC *target); void Parrot_pmc_unregister(PARROT_INTERP, void *cookie); PMC *Parrot_pmc_get_registered(PARROT_INTERP, void *cookie); 22:22
jnthn I'm trying to remember the exact function name, but it may well have been renamed since I last used it. 22:23
I don't remember it having a kinda "cookie" though.
sorear It doesn't, that's the problem 22:25
jnthn Why does it need one?
sorear It doesn't. I do. 22:26
lue should C<say 2 Z 3> come out 23?
rakudo: say 2 Z 3
jnthn lue: think so 22:27
sorear In order to hold references to arbitrary PMCs, I need a way to hold references to PMCs that doesn't assume ownership
Parrot_pmc_register doesn't nest, so I can't use it on 3rd party PMCs
arnsholt Is there a list of what stuff I can save with nqp-rx's HLL::Grammar.O() somewhere?
jnthn arnsholt: No, but it's just a hash. 22:28
arnsholt: You can stick what you like in it.
22:28 am0c left
arnsholt Wrong question I suppose. Which arguments does the operator precedence parser work with? 22:28
jnthn sorear: Yeah, I was just looking at how it's implemented...I thought it kept a kinda count of how many registrations and decrement it...
sorear: But it doesn't. :-/
sorear: OTOH, it is just a hash table 22:29
p6eval rakudo 8f7d29: ( no output )
jnthn sorear: Currently it just sticks a null PMC in there.
arnsholt I know there's :assoc and :prec, but I was curious what else there might be
22:29 jaldhar joined
bkeeler I think there's :chain or similar 22:29
jnthn sorear: So I guess it's patchable... 22:30
sorear: If not, you may just have to invent your own, but since it's essentially a hash...
22:30 jaldhar left, jaldhar joined
jnthn arnsholt: Those two but iirc also :nextterm and :reducecheck 22:31
arnsholt goes digging in the code 22:32
pmichaud operator precedence parser uses :assoc and :prec, iirc 22:37
jnthn pmichaud: Does it trigger the reducecheck, or is that something else? 22:38
pmichaud yes, opp triggers reducecheck when reducing a node
jnthn OK
jnthn has been reading that area of the code and trying to grok it. :-)
pmichaud :assoc, :prec, and :uassoc 22:39
and :reducecheck
arnsholt :uassoc is for unassociative operators? 22:42
pmichaud unary, I think 22:43
arnsholt Right. That makes sense 22:44
22:48 ruoso joined 22:49 sundar joined
arnsholt :assoc<list> is the same as unassociative I suppose? 22:56
lue
.oO(under S03/List Infix Precedence: "($a[0] min $b[0], $a[1] max $b[1])". Someone's P5 muscle memory acted up)
.oO(fixing...)
22:57 Su-Shee left
ash_ thats not wrong... per say 22:58
lue before that @a and @b are "defined", and so it's natural they are linked together. 22:59
ash_ ah, well in that case ya 23:00
sorear jnthn: I'm not sure how to invent my own. The basic version is privleged - I have nothing like interp->gc->registry to use
jnthn sorear: iiuc it's not so special though 23:04
sorear: So long as your hash that you're storing PMCs and counts in is itself marked, all the things in it will be marked for as long as they're in the hash.
I guess your P5Interpreter PMC can just hold it, since I'd imagine that's going to stay around. 23:05
pugssvn r30231 | lue++ | [docs/Perl6/Spec] Fixed a P5 muscle-memory error 23:07
pmichaud :assoc<list> means that the operator takes a variable number of operands 23:08
jnthn e.g. @a Z @b Z @c is invoked as infix:<Z>(@a, @b, @c) 23:09
arnsholt Ah, right. Not the same
pmichaud unassociative is :assoc<none>, iirc
or perhaps that's non-associative, and :assoc<non>. See STD.pm. 23:10
arnsholt Mmm. Good idea
pmichaud constant %structural = (:dba('structural infix'), :prec<n=>, :assoc<non>, :diffy); 23:12
arnsholt Yeah, I was looking at that same line of code meself =) 23:13
pugssvn r30232 | bkeeler++ | few more variable interpolation tests 23:14
pmichaud afk, fetching dinner 23:17
23:20 colomon joined 23:24 Chillance left
lue belated hello colomon o/ 23:36
colomon o/
gaming now. ;)
lue eating & watching Phoenix Wright YouTube videos, not much time spent on this window :) 23:39
jnthn Gotta sleep. Meeting tomorrow morning. Thankfully, not a terrifyingly early one, so I might actually be useful in it. 23:42
o/
lue o/
colomon o/ 23:47
lue
.oO(if you're too useful, then you'll seem ready for action and be given all the work...)
23:48
sorear jnthn: chromatic says registration is actually reference counted with magic overrides from AddrRegistry 23:49
cleverness--
23:58 astrojp joined