»ö« | 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 1current 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..1not 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
|