»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! Set by sorear on 4 February 2011. |
|||
00:04
alester joined,
Moukeddar joined
|
|||
Moukeddar | hello | 00:05 | |
00:06
Helios left
00:08
Helios joined
00:19
rgrau left
00:42
revdiablo left
00:43
revdiablo joined
00:49
Moukeddar left
00:55
Mowah left
01:00
Chillance left
01:01
Moukeddar joined
01:12
bluescreen10 left
01:15
uniejo_ joined,
uniejo_ left
01:16
uniejo_ joined
01:20
stepnem left
01:23
Moukeddar left
01:25
bluescreen10 joined
01:31
stepnem joined
01:35
Helios left
01:37
am0c left
01:39
Helios joined
01:42
takesako joined
01:43
revdiablo left,
orafu joined,
revdiablo joined,
revdiablo left,
revdiablo joined
01:47
whiteknight left
02:10
sbp left
02:24
leprevost joined
02:25
uniejo_ left
02:49
woosley joined
03:01
bluescreen10 left
03:03
imamelia joined
|
|||
imamelia | Well, I can think of two things that don't seem to be scheduled for inclusion in Perl 6 that don't seem to be directly available in Perl 5.x either... | 03:05 | |
TimToady | and if you were to mention them, what would you have said? :) | 03:08 | |
03:08
am0c joined
|
|||
imamelia | Inline functions and constant variables. | 03:09 | |
No doubt both can be done with modules or the like, but... | |||
TimToady | any function may be inlined, it's up to the cmpiler | ||
we already have constants too | |||
but rakudo doesn't implement them yet | |||
niecza: constant pi = 3; say pi | 03:10 | ||
p6eval | niecza v4-76-g7bf5ef9: OUTPUT«3» | ||
TimToady | you'll have to try harder :) | ||
imamelia | Huh. | 03:11 | |
I looked up both of those and didn't really find much... | |||
And if any function can be inlined, wouldn't that be arbitrary? | |||
I mean, couldn't something be inlined when it wasn't supposed to be or vice versa? | 03:12 | ||
TimToady | re inlining, see S06:2788 | 03:13 | |
imamelia | Also... [21:10] <TimToady> niecza: constant pi = 3; say pi <-- As in barewords? That not only seems unsafe, it doesn't even work for me. | 03:14 | |
TimToady | there isn't much we haven't thought about in the last ten years, if only to say "we don't know enough yet, so let's just get close enough for later" | ||
that's not implemented in rakudo yet | |||
which is why I used niecza | 03:15 | ||
you can make it a variable if you want the sigil | |||
niecza: constant $lue = 42; $lue++ # I wonder if niecza checks this yet? | |||
p6eval | niecza v4-76-g7bf5ef9: OUTPUT«Unhandled exception: Writing to readonly scalar at /tmp/shDSaanZA7 line 0 (MAIN mainline @ 0) at /home/p6eval/niecza/lib/CORE.setting line 1311 (CORE C552_ANON @ 2) at /home/p6eval/niecza/lib/CORE.setting line 1312 (CORE module-CORE @ 39) at | ||
../home/p6eval/niecza/lib/CORE.set… | |||
TimToady | yup | 03:16 | |
imamelia | So you couldn't add a my or our?... | ||
TimToady | no, "constant" is a declarator in the same syntactic slot as my or our | 03:17 | |
you can make readonly variables 'my' or 'our' | |||
but that's different | |||
these are compile-time constants | |||
so can be constant folded, for instance | |||
imamelia | Well, constant $x gives me a warning message. | ||
TimToady | in what? | ||
imamelia | constant $zzzz = 42; | ||
print $zzzz; | |||
TimToady | in rakudo? | 03:18 | |
imamelia | In Perl 5. | ||
TimToady | um, this is #perl6, not #perl5 | ||
imamelia | Yes, but...you're saying that constants are supported in Perl 6 but not Perl 5? | ||
TimToady | we aren't trying to fix Perl 5 here *at all* | 03:19 | |
the whole point of Perl 6 was to break compatibility with Perl 5 | |||
anything Perl 5 chooses to borrow back is up to the Perl 5 community | |||
imamelia | So constants will be available, then, just not yet. | ||
TimToady | and they already have 'use constant' so they won't | ||
03:20
cotto joined
|
|||
imamelia | Also, S06:2788...? | 03:20 | |
TimToady | um, you seem to be confused about the fact that the language spec has little to do with the individual implementations | ||
some implementations implement some parts, others don't | |||
goto irclog.perlgeek.de/perl6/today and that will be highlighted with a link into the specs | 03:21 | ||
down toward the end, where you'll see our conversation | 03:23 | ||
imamelia | I see... | ||
Khisanth thinks trying to learn Perl 5 and Perl 6 at the same time would be a terrible idea | 03:25 | ||
TimToady learned p5 first... | |||
Khisanth | in more ways than one :P | 03:26 | |
but does it count if you are the one inventing it? | |||
TimToady | even Tolkien merely "discovered" Middle Earth :) | ||
03:27
Su-Shee left
03:28
Su-Shee joined
03:31
simcop2387 left,
simcop2387 joined
|
|||
sorear | 20:17 < TimToady> no, "constant" is a declarator in the same syntactic slot as my or our | 03:34 | |
this is inconsistent with STD's current behavior and the currently spec setting | 03:35 | ||
std: package Foo { our constant bar = 5; }; say Foo::bar | |||
p6eval | std 9f27365: OUTPUT«Can't locate YAML/XS.pm in @INC (@INC contains: /home/p6eval/perl5/perlbrew/perls/perl-5.12.2/lib/site_perl/5.12.2/x86_64-linux /home/p6eval/perl5/perlbrew/perls/perl-5.12.2/lib/site_perl/5.12.2 /home/p6eval/perl5/perlbrew/perls/perl-5.12.2/lib/5.12.2/x86_64-linux | ||
../home/p6eval/perl… | |||
sorear | niecza: package Foo { our constant bar = 5; }; say Foo::bar # hey where'd STD go... | ||
p6eval | niecza v4-76-g7bf5ef9: OUTPUT«5» | 03:36 | |
TimToady | hmm, maybe it's really in the "sub" slot now... | ||
sorear | it's parsed as a type_declarator | ||
TimToady | right | 03:37 | |
but it's still compile-time, like a type declaration | |||
TimToady is occasionally confused as well... :/ | 03:38 | ||
and like other type declartion declares "bare" words, not listops | |||
I'd forgotten that it was no longer a scope declarator... | 03:39 | ||
TimToady apologies for lying to imamelia... | |||
03:39
jimmy1980 joined
03:41
leprevost left
03:44
hudnix left
03:45
araujo left
03:46
leprevost joined
03:47
leprevost left
03:48
hudnix joined
03:53
alester left
03:58
am0c left,
am0c joined
04:23
molaf joined
|
|||
diakopter | moritz: hi | 04:36 | |
04:38
molaf left
04:41
hudnix left
04:59
Axius joined
05:18
Axius left
05:26
kst joined
05:48
imamelia left
05:54
jaldhar left,
jaldhar joined
05:58
wtw joined,
kaare_ joined
06:00
justatheory left
06:02
Helios left
06:03
Helios joined
|
|||
moritz | diakopter: good morning | 06:04 | |
std: package Foo { our constant bar = 5; }; say Foo::bar | 06:07 | ||
p6eval | std 9f27365: OUTPUT«Can't locate File/ShareDir.pm in @INC (@INC contains: /home/p6eval/perl5/perlbrew/perls/perl-5.12.2/lib/site_perl/5.12.2/x86_64-linux /home/p6eval/perl5/perlbrew/perls/perl-5.12.2/lib/site_perl/5.12.2 /home/p6eval/perl5/perlbrew/perls/perl-5.12.2/lib/5.12.2/x86_64-linux | ||
../home/p6eva… | |||
moritz | std: package Foo { our constant bar = 5; }; say Foo::bar | 06:08 | |
p6eval | std 9f27365: OUTPUT«ok 00:01 114m» | ||
06:23
birdwindupbird joined
06:32
mtk left
06:33
drbean joined
06:38
drbean left
06:39
drbean joined
|
|||
sorear | moritz++ | 06:40 | |
06:41
mtk joined
06:45
drbean left,
mj41 joined,
woosley left,
drbean joined
|
|||
mathw | mathw: yes, it was my birthday yesterday | 06:49 | |
woops | |||
phenny: tell masak yes, it was my birthday yesterday | 06:50 | ||
phenny | mathw: I'll pass that on when masak is around. | ||
mathw | Trashlord: yes, it was my birthday yesterday, and it was indeed the first of may. | ||
06:50
drbean left
|
|||
moritz | mathw++ | 06:52 | |
erm, mathw.age++ | |||
whatever :-) | |||
mathw | :) | 06:53 | |
well really I'm only one day older than I was the day before | |||
it's just that the year counter has flipped over as well | 06:54 | ||
moritz | it's just that the earth has finished an integer number of rounds around the sun, counting from your birth | ||
mathw | approximately | 06:55 | |
I doubt it maps precisely | |||
although they do occasionally adjust the length of the year | |||
moritz | it's 365.24<something> days | ||
jnthn | morning o/ | 06:56 | |
mathw | lo jnthn | 06:57 | |
06:59
dju__ is now known as dju
07:10
kcwu left,
kcwu joined
07:11
SHODAN joined
07:21
Mowah joined
07:46
Mowah left
08:13
wamba joined
08:19
bbkr_ left
08:20
bbkr_ joined
08:24
tzhs joined
08:27
nymacro joined
08:30
starcoder is now known as |starcder|,
|starcder| is now known as |starcoder|
08:31
|starcoder| is now known as starcoder
|
|||
tadzik | star: use Benchmark | 08:31 | |
08:31
p6eval left,
Mowah joined
|
|||
tadzik | no star? :( | 08:31 | |
08:32
starcoder is now known as |starcoder|,
robinsmidsrod left
|
|||
moritz | I haven't installed the new star on p6eval anyway | 08:32 | |
08:32
p6eval joined,
ChanServ sets mode: +v p6eval,
robins joined
|
|||
moritz puts it on his TODO list | 08:32 | ||
am0c hugs new p6eval | 08:33 | ||
08:33
birdwindupbird left
|
|||
tadzik | who else does not like the new layout of search.cpan.org? | 08:36 | |
08:36
IllvilJa joined
|
|||
moritz | there's a new layout? | 08:37 | |
tadzik | I hope it's just a broken CSS on my side then | 08:38 | |
08:38
|starcoder| is now known as starcoder
|
|||
mathw | looks the same as always here | 08:38 | |
tadzik | i.imgur.com/v7uwU.png | ||
looks like a missing css | 08:39 | ||
moritz | aye | ||
tadzik | fine then | ||
moritz | try Ctrl+Shift+r | ||
tadzik | I reopened a tab and it's ok now | 08:40 | |
I've seen the same thing yesterday, hence my doubt. But whatever, it looks fine now | |||
mathw | interesting | ||
08:41
Helios left,
birdwindupbird joined,
Helios joined
|
|||
tadzik | for big enough files, the new .comb() is much faster than the old one (about 10 times faster for src/pmc/p6role.c) | 08:44 | |
jnthn | yay :) | 08:45 | |
moritz | fwiw the new star now compiles on the p6eval host | 08:46 | |
tadzik | not much different for the small ones, 7x faster for pmc/perl6scalar.pmc | ||
moritz | I don't know who or what deleted the old one (might have been me :/) | ||
tadzik | PerlJam++ # Benchmark.pm6 | ||
moritz: how many bugs did we close yesterday? | 08:47 | ||
moritz | tadzik: 4 or 5 | ||
the answer, my friend, is blowing in the backlog | 08:48 | ||
tadzik plays the recorder | |||
huh, that melody is actually quite easy :) I'm just lacking the style of ol' Bob Dylan | 08:49 | ||
moritz | as long as you have the style of Joan Baez ... :-) | 08:50 | |
dalek | albot: 26bef83 | moritz++ | evalbot.pl: [star] fix path to new release |
08:52 | |
tadzik | Ticket 85602: Permission Denied | ||
rt.perl.org/rt3/Ticket/Display.html?id=85602 closable though | |||
moritz | evalbot control restart | 08:53 | |
08:53
p6eval left,
p6eval joined,
ChanServ sets mode: +v p6eval
|
|||
dalek | albot: 9e43d8c | moritz++ | evalbot.pl: typo |
08:54 | |
moritz | tadzik: when was the faster .comb added? | ||
ah | 08:55 | ||
nm | |||
08:55
pmurias left
|
|||
tadzik | rt.perl.org/rt3/Ticket/Display.html?id=62244 -- what SQLite3 is that related to? | 08:56 | |
rt.perl.org/rt3/Ticket/Display.html?id=63584 -- isn't that closable? | 08:59 | ||
moritz | tadzik: don't think so | 09:02 | |
tadzik: rakudo should build fine with two perls, and always use the one with which Configure.pl was invoked | |||
tadzik | mhm | 09:03 | |
09:04
robins is now known as robinsmidsrod
|
|||
moritz | I just don't see why it shouldn't work | 09:06 | |
because all the scripts in build/ use $^X consistently, and Makefile contains absolute paths to perl | |||
tadzik | rt.perl.org/rt3/Ticket/Display.html?id=66576 seems wrong. The bug is about .name, the test tests .key, and where is it speced anyway? | 09:23 | |
09:24
donri joined
|
|||
tadzik | the only specs I see for Bool are perlcabal.org/syn/S32/Numeric.html#Bool | 09:25 | |
moritz | Bool is an enum | ||
enums are in S12 | |||
and yes, it seems that .name has been re*name*d to .key :-) | 09:26 | ||
rakudo: say True.name | |||
p6eval | rakudo 6ca614: OUTPUT«Method 'name' not found for invocant of class 'Bool' in main program body at line 22:/tmp/Iyzig97SbW» | ||
moritz | rakudo: say True.key | ||
p6eval | rakudo 6ca614: OUTPUT«Method 'key' not found for invocant of class 'Bool' in main program body at line 22:/tmp/az8HdnzgLJ» | ||
moritz | rakudo: enum A <b c>; say c.key | 09:27 | |
p6eval | rakudo 6ca614: OUTPUT«c» | ||
moritz | so, Bool still needs fixing | ||
tadzik | rakudo: use MONKEY_TYPING; augment class Bool { method key() { self.Stringy } }; True.key | ||
p6eval | rakudo 6ca614: ( no output ) | ||
tadzik | rakudo: use MONKEY_TYPING; augment class Bool { method key() { self.Stringy } }; True.key.say | ||
p6eval | rakudo 6ca614: OUTPUT«True» | ||
moritz | +1 to putting that into core | 09:28 | |
tadzik | we have to wait for my `make` :) | ||
rakudo: say .Int.perl for True, False | 09:29 | ||
p6eval | rakudo 6ca614: OUTPUT«10» | ||
tadzik | rt.perl.org/rt3/Ticket/Display.html?id=76446 is fixed then, I'll add a spectest for that | ||
niecza: True.Int.say | 09:30 | ||
p6eval | niecza v4-76-g7bf5ef9: OUTPUT«Unhandled exception: Unable to resolve method Int in class Bool at /tmp/qVAoHSRxBq line 1 (MAIN mainline @ 1) at /home/p6eval/niecza/lib/CORE.setting line 1311 (CORE C552_ANON @ 2) at /home/p6eval/niecza/lib/CORE.setting line 1312 (CORE module-CORE @ 39) at | ||
../home/p6eval/nie… | |||
tadzik | so I should add a skip() for niecza? | ||
moritz | that would be friendly, yes | ||
at least if niecza runs the test file at all | |||
(see its t/spectest.data) | 09:31 | ||
tadzik | S02-builtin_data_types/bool.t has some #niecza skip | ||
tadzik wonders if "Intify" is right, or just -Ofun | 09:32 | ||
moritz has actually used it | |||
dalek | ast: 139f600 | tadzik++ | S02-builtin_data_types/bool.t: Add tests for RT #76446 |
09:33 | |
moritz | ticket closed | 09:35 | |
tadzik++ | |||
tadzik | hey, I haven't commented yet! :) | ||
I'm slow :) | |||
t/spec/S02-builtin_data_types/bool.rakudo ...................... All 45 subtests passed | 09:36 | ||
(less 2 skipped subtests: 43 okay) | |||
09:36
rhebus joined
09:38
Trashlord left
|
|||
tadzik | wakey wakey dalek | 09:39 | |
dalek | kudo: 5e81848 | tadzik++ | src/core/Bool.pm: Add Bool.key, fixes RT #66576 |
09:40 | |
tadzik | moritz: rt.perl.org/rt3/Ticket/Display.html?id=66576 can be closed | 09:41 | |
rakudo: my $x = class C { }; say $x.WHAT | |||
p6eval | rakudo 6ca614: OUTPUT«Code()» | ||
tadzik | rakudo: class A { proto method b {}; has $.b } | 09:42 | |
p6eval | rakudo 6ca614: OUTPUT«===SORRY!===A method named 'b' already exists in class 'A'. It may have been supplied by a role.» | ||
tadzik | rakudo: if() | ||
moritz | tadzik: are the tests corrected to use .key? | ||
p6eval | rakudo 6ca614: OUTPUT«Could not find sub &if in main program body at line 22:/tmp/CExmcu3ZXO» | ||
tadzik | moritz: oh, not yet, fixing that | 09:43 | |
fixed-faxed | |||
dalek | ast: 4cf4f7f | tadzik++ | S02-builtin_data_types/bool.t: Unskip tests for Bool.key |
||
moritz closes the ticket | |||
tadzik | std: if() | 09:44 | |
p6eval | std 9f27365: OUTPUT«===SORRY!===Undeclared routine: 'if' used at line 1Check failedFAILED 00:01 112m» | ||
tadzik | good enough then | ||
moritz: mind closing rt.perl.org/rt3/Ticket/Display.html?id=76358 ? | 09:46 | ||
09:46
birdwindupbird left
|
|||
moritz | std: if(3) { say 3 } | 09:47 | |
p6eval | std 9f27365: OUTPUT«===SORRY!===Word 'if' interpreted as 'if()' function call; please use whitespace instead of parens at /tmp/eGdQeoWrGF line 1:------> if⏏(3) { say 3 }Unexpected block in infix position (two terms in a row) at /tmp/eGdQeoWrGF line 1:------> | ||
..[… | |||
moritz | rakudo: if(3) { say 3 } | ||
p6eval | rakudo 6ca614: OUTPUT«===SORRY!===Confused at line 22, near "if(3) { sa"» | ||
moritz | that's the warning the ticket wants | ||
tadzik | oic | 09:48 | |
rakudo: IO.WHAT.say | 09:49 | ||
p6eval | rakudo 6ca614: ( no output ) | ||
09:51
nsh joined,
sbp joined
09:52
sbp left
|
|||
tadzik | moritz: care to take a look at rt.perl.org/rt3/Ticket/Display.html?id=67808 ? | 09:53 | |
09:53
sbp joined
|
|||
moritz | rakudo: my $x; $x + 1 | 09:55 | |
p6eval | rakudo 6ca614: OUTPUT«Use of uninitialized value in numeric context in <anon> at line 22:/tmp/qTSFIXEhVP» | ||
moritz replies and resolves | 09:57 | ||
09:59
birdwindupbird joined
|
|||
tadzik | rakudo: use MONKEY_TYPING; my $d = ”; augment class Str { method some_meth_1 {$d = $d ~ self;}}; for '0' .. '5' { .WHAT.say; sub; }; | 10:01 | |
p6eval | rakudo 6ca614: OUTPUT«===SORRY!===Confused at line 22, near "my $d = \u201d;"» | ||
tadzik | rakudo: use MONKEY_TYPING; my $d = ''; augment class Str { method some_meth_1 {$d = $d ~ self;}}; for '0' .. '5' { .WHAT.say; sub; }; | ||
p6eval | rakudo 6ca614: OUTPUT«Null PMC access in getprop() in '&infix:<=>' at line 1 in main program body at line 22:/tmp/a2FPmWoixj» | ||
tadzik | rakudo: use MONKEY_TYPING; augment class Hash { method hi { say 'hi' } }; my %h; %h.hi; | ||
p6eval | rakudo 6ca614: OUTPUT«Method 'hi' not found for invocant of class '' in main program body at line 22:/tmp/dGKFxWJ56q» | ||
moritz | rakudo: say Hash.HOW | 10:02 | |
p6eval | rakudo 6ca614: ( no output ) | ||
tadzik | rakudo: my $condition = "perfect"; say $condition ?? "True" :: "False"; | ||
p6eval | rakudo 6ca614: OUTPUT«===SORRY!===Please use !! rather than :: at line 22, near ":: \"False\""» | ||
moritz | rakudo: say Hash.HOW.PARROT | ||
p6eval | rakudo 6ca614: OUTPUT«RoleHOW» | ||
moritz | tadzik: Hash is a role in rakudo | ||
tadzik | std: my $condition = "perfect"; say $condition ?? "True" :: "False"; | ||
p6eval | std 9f27365: OUTPUT«===SORRY!===Please use !! rather than :: at /tmp/DtIIuqUDKd line 1:------> = "perfect"; say $condition ?? "True" :⏏: "False"; expecting any of: coloncircumfix signatureParse failedFAILED 00:01 116m» | ||
jnthn | That'll probably change in rakudo/nom | ||
moritz | tadzik: which is why monkey-typing doesn't work | ||
jnthn | It's sucky having Array as a class and Hash as a role | ||
10:03
[Coke] left
|
|||
tadzik | moritz: I think rt.perl.org/rt3/Ticket/Display.html?id=76926 can be fixed | 10:03 | |
10:04
PacoLinux left
|
|||
moritz closes | 10:05 | ||
tadzik | rakudo: say <> | ||
p6eval | rakudo 6ca614: OUTPUT«===SORRY!===Unsupported use of <>; in Perl 6 please use lines() to read input, ('') to represent a null string or () to represent an empty list at line 22, near "<>"» | ||
tadzik | std: say <> | ||
p6eval | std 9f27365: OUTPUT«===SORRY!===Unsupported use of <>; in Perl 6 please use lines() to read input, or ('') to represent the null string, or () to represent Nil at /tmp/1ylV5dV49b line 1:------> say <⏏>Parse failedFAILED 00:01 112m» | ||
10:05
[Coke] joined
|
|||
tadzik | moritz: I think rt.perl.org/rt3/Ticket/Display.html?id=77568 was applied, but not closed | 10:05 | |
moritz | indeed | 10:06 | |
tadzik++ | |||
and moritz-- for not closing it earlier | 10:07 | ||
tadzik | one more ticket and we're down to 850 :) | 10:08 | |
moritz | :-) | ||
karma tadzik | |||
aloha | tadzik has karma of 248. | ||
tadzik | rakudo: my @a := 1; say @a ~~ Positional | ||
p6eval | rakudo 6ca614: OUTPUT«Bool::False» | ||
moritz | the bind should typecheck-fail | 10:09 | |
tadzik | rakudo: ~[]<c> | ||
p6eval | rakudo 6ca614: OUTPUT«postcircumfix:<{ }> not defined for type Array() in main program body at line 1» | ||
tadzik | moritz: yeah, that's your ticket :) | ||
moritz | :-) | ||
everybody look, it's a non-masak ticket! | |||
tadzik | moritz: rt.perl.org/rt3/Ticket/Display.html?id=77504 seems fine | ||
rakudo: grammar A { token TOP { <any> }; token any { 'foo' | 'bar' } }; say A.parse('foo') | 10:10 | ||
p6eval | rakudo 6ca614: OUTPUT«Too many positional parameters passed; got 2 but expected 1 in 'Any::any' at line 1499:CORE.setting in 'A::any' at line 22:/tmp/8wRtYsUcEz in 'A::TOP' at line 22:/tmp/8wRtYsUcEz in 'Grammar::parse' at line 6408:CORE.setting in main program body at line | ||
..22:/tmp/8wRtYsUcEz» | |||
moritz | what's the problem here? the name 'any'? | ||
tadzik | yeah | 10:11 | |
Found 850 tickets \o/ | |||
I wonder if I can implement use lib | |||
moritz | tadzik: once you get 'use Foo <import list>' working, lib.pm will be a breeze | 10:12 | |
rakudo: use Test <plan>; | 10:13 | ||
p6eval | rakudo 6ca614: OUTPUT«===SORRY!===Confused at line 22, near "use Test <"» | ||
tadzik | parsing is the first step | ||
moritz | .oO( can I say "good luck" without having it sound ironic or discouraging? ) |
||
maybe it's a straight-forward port from STD | |||
std: use Test <plan ok>; | 10:14 | ||
tadzik | rakudo: use Foo 1.23; | ||
p6eval | rakudo 6ca614: OUTPUT«===SORRY!===Unable to find module 'Foo' in the @*INC directories.(@*INC contains: lib /home/p6eval/.perl6/lib /home/p6eval//p1/lib/parrot/3.3.0-devel/languages/perl6/lib .)» | ||
std 9f27365: OUTPUT«Compiled lib/Test.pm6ok 00:01 115m» | |||
tadzik | okay.. | ||
rakudo: use Foo ('ars') | |||
p6eval | rakudo 6ca614: OUTPUT«===SORRY!===Unable to find module 'Foo' in the @*INC directories.(@*INC contains: lib /home/p6eval/.perl6/lib /home/p6eval//p1/lib/parrot/3.3.0-devel/languages/perl6/lib .)» | ||
tadzik | hmmm | ||
rakudo: use Devel::Trace ('ars') | 10:15 | ||
p6eval | rakudo 6ca614: OUTPUT«===SORRY!===Confused at line 22, near "use Devel:"» | ||
moritz | star: use Benchmark; | ||
p6eval | star 2011.04: OUTPUT«===SORRY!===Unable to find module 'Benchmark' in the @*INC directories.(@*INC contains: /home/p6eval/.perl6/lib /home/p6eval/rakudo-star-2011.04/install/lib/parrot/3.3.0/languages/perl6/lib .)» | ||
moritz | star: use SVG; | ||
p6eval | star 2011.04: ( no output ) | ||
tadzik | rakudo: Perl6::Grammar.parse("('ars')", :rule<arglist>); | 10:16 | |
p6eval | rakudo 6ca614: ( no output ) | ||
moritz | star: use SVG; say SVG.serialize('svg' => [ circle => [ radius => 1, cx => 2, cy = 4 ] ]); | ||
p6eval | star 2011.04: OUTPUT«Could not find sub &cy in main program body at line 22:/tmp/v235e2VKxY» | ||
moritz | star: use SVG; say SVG.serialize('svg' => [ circle => [ radius => 1, cx => 2, cy => 4 ] ]); | ||
p6eval | star 2011.04: OUTPUT«<svg xmlns="www.w3.org/2000/svg" xmlns:svg="www.w3.org/2000/svg" xmlns:xlink="www.w3.org/1999/xlink"><circle radius="1" cx="2" cy="4" /></svg>» | 10:17 | |
moritz | rakudo: say Perl6::Grammar.parse("('ars')", :rule<arglist>); | ||
tadzik | Grammar looks wrongish | ||
p6eval | rakudo 6ca614: OUTPUT«('ars')» | ||
tadzik | token module_name { <longname> [ <?before '['> '[' ~ ']' <arglist> ]? } | ||
and | |||
moritz | rakudo: use Devel::Trace ['foo']; | 10:18 | |
p6eval | rakudo 6ca614: OUTPUT«===SORRY!===Confused at line 22, near "use Devel:"» | ||
tadzik | token statement_control:sym<use> { <sym> <.ws> [ | <version> | <module_name> [ <.spacey> <arglist> ]? ] <.ws> } | ||
moritz | rakudo: use Devel::Trace['foo']; | ||
tadzik | so <arglist> is there twice, no? | ||
p6eval | rakudo 6ca614: OUTPUT«===SORRY!===Unable to find module 'Devel::Trace' in the @*INC directories.(@*INC contains: lib /home/p6eval/.perl6/lib /home/p6eval//p1/lib/parrot/3.3.0-devel/languages/perl6/lib .)» | ||
moritz | tadzik: the arglist in module_name is for things inside brackets | ||
tadzik: like Foo::Bar['baz'] | |||
I have no idea what that means, but it parses :-) | 10:19 | ||
tadzik | :) | ||
moritz | std: use Test['foo']; | ||
p6eval | std 9f27365: OUTPUT«ok 00:01 113m» | ||
tadzik | looks like a submodule | ||
moritz | fact is that the <.spacey> <argilst> doesn't seem to match anything | ||
tadzik | anyway, looking at statement_control:sym<use>... exactly | ||
moritz | rakudo: say so Perl6::Grammar.parse(' ', :rule<spacey>) | 10:21 | |
p6eval | rakudo 6ca614: OUTPUT«Bool::False» | ||
tadzik | uh-oh | 10:22 | |
rakudo: say so Perl6::Grammar.parse('', :rule<spacey>) | 10:23 | ||
p6eval | rakudo 6ca614: OUTPUT«Bool::False» | ||
tadzik | rakudo: say so Perl6::Grammar.parse(' ', :rule<spacey>) | ||
p6eval | rakudo 6ca614: OUTPUT«Bool::False» | ||
tadzik | <?before <[ \s \# ]> > it is | 10:24 | |
moritz | ah | 10:25 | |
and rakudo doesn't understand backslash sequences in char classes | |||
changing it to <?before [\s | '#']> should fix it | |||
tadzik | spacey is used only as <.spacey> anyway | 10:27 | |
moritz | tadzik: will you fix it, or should I? | 10:28 | |
tadzik | moritz: compiling | ||
moritz | tadzik: time for some fencing, eh? :-) | 10:29 | |
moritz refers to xkcd.com/303/ | |||
tadzik | moritz: yeah, I sometimes think that if jnthn++ wouldn't make it with splitting compilation in Rakudo til the GSoC time, my main activity will be waiting :) | ||
moritz: yeah, I know :) | |||
moritz | tadzik: that's why you should be developing as much of the parser as possible outside of Grammar.pm | 10:30 | |
tadzik | yeah, I know | ||
jnthn | tadzik: I'm still not convinced splitting is possible/ideal. The better improvement is to make compilation fast enough to not be a bother. | ||
tadzik | moritz: rt.perl.org/rt3/Ticket/Display.html?id=77412 what does this one actually do? | ||
jnthn :) | |||
I think sqlite3 doesn't bother, and they just have a single sqlite3.c file | 10:31 | ||
jnthn | The build process will almost certainly be changing drastically though. | ||
e.g. we won't build a stage 1 compiler, and then a setting, and then bundle them into one perl6.pbc | |||
We'll just build a perl6 and then use it with like perl6 --setting=NULL src/gen/CORE.setting or some such | 10:32 | ||
To build the setting. Then future usages just expect the setting to be there. | |||
tadzik | nice | ||
jnthn: does your work improve the quality of the generated pir anyhow? | 10:33 | ||
jnthn | So if you re-build the setting the only thing that will need to be re-compiled is the setting. | ||
10:33
pnu left
|
|||
jnthn | tadzik: Kinda, in places. We'll have a LOAD less :load :init methods. | 10:33 | |
s/methods/subs/ | |||
tadzik | so a higher startup times? | ||
jnthn | ? | 10:34 | |
*less* :) | |||
tadzik | bleh, lower | ||
jnthn | yes, that's the aim :) | ||
10:34
woosley joined
|
|||
tadzik | moritz: nopaste.snit.ch/43109 I don't think that helped | 10:35 | |
10:35
birdwindupbird left
|
|||
jnthn | It's basically the halp way stage between where we are now and full-blown serialization | 10:35 | |
*half | |||
tadzik | oh noes! | ||
I should've copypasted :) | 10:36 | ||
time to slack of again :0 | 10:37 | ||
:) | |||
nqp: class A {}; A.foo | |||
p6eval | nqp: OUTPUT«sh: ./nqp: not found» | ||
tadzik | whoa, that's so fast! oh wait... | 10:38 | |
> class A {}; A.foo | |||
Method 'foo' not found for invocant of class 'SixModelObject' | |||
jnthn: nqpbug? | |||
jnthn | tadzik: In the error reporting? | 10:39 | |
Yes, it's LTA | |||
cognominal | jnthn, hi. Do you know if you will be able to talk at fpw? | ||
tadzik submits nqpbug | 10:40 | ||
jnthn | cognominal: Not sure off hand. If I can, it'd be on the Saturday - I know I've gotta teach a class here in Sweden on the Thu/Fri of that week. | ||
cognominal: Tough to fit everything in that month, with NPW going on too... | |||
cognominal | I thought so | ||
jnthn | cognominal: I'll have a look if there's a Friday evening flight to Paris from where I'm teaching. If so, maybe I cna come and speak on the Saturday. | 10:41 | |
*can | |||
cognominal | your are welcome, as always.... | 10:42 | |
mberends will give talks on Perl 6 Saturday too | |||
tadzik | rakudo: ???????????????????????????????????????????????????????? | 10:43 | |
p6eval | rakudo 5e8184: OUTPUT«===SORRY!===Found ?? but no !! at line 22, near "???"» | ||
tadzik | moritz: rt.perl.org/rt3/Ticket/Display.html?id=72868 seems fixed | ||
10:44
PacoLinux joined
|
|||
cognominal | jnthn, you will have finished your current stuff on nqp/rakudo, So things should be exciting by then | 10:44 | |
tadzik | std: @a = (1,2,3,4); @a.>>.say | ||
p6eval | std 9f27365: OUTPUT«===SORRY!===Variable @a is not predeclared at /tmp/FYfJAo9EII line 1:------> @a⏏ = (1,2,3,4); @a.>>.sayVariable @a is not predeclared at /tmp/FYfJAo9EII line 1:------> @a = (1,2,3,4); @a⏏.>>.sayCheck failedFAILED | ||
..00:01 1… | |||
tadzik | std: my @a = (1,2,3,4); @a.>>.say | ||
p6eval | std 9f27365: OUTPUT«ok 00:01 117m» | ||
tadzik | is » a method of some sort? | ||
moritz: huge success! | 10:45 | ||
> use Test :plan(1) | |||
_block85 | |||
10:45
pnu joined
|
|||
tadzik | rakudo: use Test :plan(1) | 10:45 | |
p6eval | rakudo 5e8184: OUTPUT«===SORRY!===Confused at line 22, near "use Test :"» | ||
tadzik | now to delegate this somewhere | 10:46 | |
when is import() called? | 10:48 | ||
jnthn | cognominal: Will look into the flights | 10:49 | |
jnthn -> office & | |||
tadzik | nopaste.snit.ch/43110 -- shouldn't this call import()? | 10:53 | |
10:54
birdwindupbird joined
|
|||
dalek | kudo: 5c6fe02 | tadzik++ | src/Perl6/Grammar.pm: Fix parsing module import lists, moritz++ |
10:58 | |
tadzik | moritz: rt.perl.org/rt3/Ticket/Display.html?id=77024 and rt.perl.org/rt3/Ticket/Display.html?id=77790 should probably be merged | 11:00 | |
11:02
sjn joined
11:05
wamba left
11:11
birdwindupbird left
11:27
tzhs left,
Moukeddar joined
11:28
jaldhar left
11:32
jaldhar joined
|
|||
moritz | tadzik: closed ????? parsing bug, merged the misreported double colons | 11:33 | |
tadzik++ | |||
tadzik: just a wee formality regarding gsoc: is it ok if we do the regular status updates as part of #phasers? | 11:34 | ||
tadzik | moritz: of course | ||
moritz | tadzik: rafl++, or org mentor, also wants weekly status reports to the -students mailing list... so you can either blog (in short #phasers-style) and send a link to the mailing list and in #phasers, or just paste that part of the IRC log or so | 11:35 | |
s/or/our/ | |||
11:36
cdd joined
|
|||
Juerd | (Off topic) Poll: Which of these three traffic signs most clearly indicates that you are currently *allowed* to drive on the shoulder (emergency lane)? juerd.nl/i/070a3e2cc74ce0f54bed9ca2a5d71b56.png | 11:36 | |
moritz | 2 IMHO | 11:37 | |
3 is also clear, but only after you thought about it for 3 seconds | |||
tadzik | hmm | ||
Juerd: i.imgur.com/TlpB7.png how about something of this sort? | 11:39 | ||
Juerd | tadzik: That's probably too much visual information for use on a motorway | 11:40 | |
Thanks for your replies :) | |||
tadzik | well, without the cars it should be clear enough :) | ||
moritz | Juerd: I've seen similar signs to tadzik's drawing in the case when the autobahn is extended from 2 to 3 lanes | 11:41 | |
Juerd | It's common with arrows, yes | 11:42 | |
tadzik | moritz: about the gsoc, you mean gsoc-students, the global one, or something perl-specific? | 11:43 | |
11:43
Moukeddar left
|
|||
moritz | tadzik: groups.google.com/group/tpf-gsoc-students | 11:43 | |
tadzik: they'll kill you if send them to the global gsoc-students list | 11:44 | ||
tadzik: speaking of which, groups.google.com/group/tpf-gsoc-st...40a6a4f2f0 is interesting for you | |||
tadzik | thanks | 11:45 | |
tadzik joins the ML | 11:46 | ||
hmm, seems that I broke roast a bit | 11:48 | ||
Juerd | tadzik, moritz: with option 4 added, which one would win? juerd.nl/i/e6c11ca92276f9176150ab508430bb5e.png? | 11:49 | |
dalek | ast: c2c9573 | tadzik++ | S02-builtin_data_types/bool.t: Fix the plan for bool.t |
11:50 | |
tadzik | Juerd: I like the 4th :) | 11:51 | |
rakudo: multi foo() { say '1' }; multi foo($foo, :$bar) { say '2' }; foo(:bar(1)); | 11:52 | ||
p6eval | rakudo 5e8184: OUTPUT«Unexpected named parameter 'bar' passed in 'foo' at line 1:/tmp/gYs0f9h0By in main program body at line 22:/tmp/gYs0f9h0By» | ||
moritz | that error message is LTA | ||
tadzik | rakudo: class A { multi method foo() { say '1' }; multi method foo($foo, :$bar) { say '2' } }; A.foo(:bar(1)); | ||
p6eval | rakudo 5e8184: OUTPUT«1» | ||
tadzik | is that correct, the second one? | ||
moritz | yes | 11:53 | |
superfluous named args are ignored in methods | |||
tadzik | that seems wrongish to me, if not the effect, then the idea | ||
oh yeah, I remember that now. But I still don't like it | |||
rakudo: class A { multi method foo() { say '1' }; multi method foo($foo = 1, :$bar) { say '2' } }; A.foo(:bar(1)); A.foo(); | |||
moritz neither, I just don't like the alternatives either | |||
p6eval | rakudo 5e8184: OUTPUT«22» | ||
tadzik | ...great | 11:54 | |
that's ok too? | |||
moritz is not sure, and defers to jnthn | 11:55 | ||
11:55
Patterner left
|
|||
tadzik | moritz: in some spare time, could you look at my use-import doubts? | 11:56 | |
shopping & | |||
11:57
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
moritz | tadzik: sorry, what doubts? | 11:59 | |
tadzik: the fix to <spacey> helped in that it enabled the parsing | |||
tadzik: now you need to patch up the actions too | |||
tadzik | oh, so the import calling in NYI yet? | ||
moritz | tadzik: probably | ||
nqp: say(1) | 12:00 | ||
p6eval | nqp: OUTPUT«sh: ./nqp: not found» | ||
donri | :D | 12:01 | |
moritz | the rebuild log files show no failures | ||
so I have no clue why it shouldn't have built | |||
12:02
Helios left
|
|||
donri | wrong $PWD? it's doing ./ | 12:03 | |
moritz | nqp: say(1) | ||
p6eval | nqp: OUTPUT«1» | ||
12:03
Helios joined
|
|||
donri | \o/ | 12:03 | |
moritz | donri: then it would just have used the old build | ||
12:03
Trashlord joined
|
|||
takadonet | mornign all | 12:03 | |
donri | is nqp intended to be a real thing in the longer run or is it an intermediary boot strapping thing just for now? | 12:04 | |
would be nice to see it standardized otherwise | |||
unless it already is? | |||
moritz | donri: it's "a" real thing, but not "the" real thing | ||
donri | FSVO. | ||
moritz | donri: it's meant for compiler writers | 12:05 | |
donri | sure :D but might be valuable as a "simplified grammar" | ||
yea | |||
bbl | |||
moritz | it has a simplified grammar | ||
moritz doesn't understand what point donri is trying to make | |||
better docs would be awesome, yes | 12:06 | ||
12:09
Moukeddar_ joined
|
|||
tadzik | moritz: a place to fire the import would be Perl6/Module/Loader.pm:import(), yes? | 12:10 | |
12:10
orafu left
12:11
LitHJK joined
12:12
LitHJK left
|
|||
moritz | tadzik: I'm trying to understand the module loading as it is now... | 12:13 | |
Actions.pm line 587 first need()s it | |||
and then calls import($/) | 12:14 | ||
Moukeddar_ | they killed Bin Laden , what a joke :p | ||
tadzik | yes | ||
and import imports the exported subs | |||
ohwait | |||
moritz | it calls stub_lexical_imports | ||
tadzik | well, the import($/) eventually calls Perl6::Module::Loader::import(), and then what I say | 12:15 | |
moritz | and then emits a a block that calls .import | ||
tadzik | yes | ||
moritz | nononononono | ||
it can't work like that | |||
in the long run | |||
tadzik | the emmited block does Perl6::Module::Loader::import($modulename) | ||
moritz | we need to ask the module which lexical stubs to install | 12:16 | |
hm | 12:17 | ||
Moukeddar_ | is the module system like the ruby packages or Nuget libraries? | ||
moritz | is that was the get_imports method does? | 12:18 | |
tadzik | I don't know either | ||
moritz | Moukeddar_: see modules.perl6.org/ | ||
tadzik | well, I broke stuff :) | ||
seems that nqp doesn't really like $name::import(); | |||
Moukeddar_ | yep , it's pretty much the same concept | ||
and most of them are pandaistic | 12:19 | ||
tadzik | anyway shopping & for real now | 12:20 | |
12:28
ymasory left
|
|||
colomon | \o | 12:35 | |
moritz | o/ | 12:40 | |
12:50
mberends joined,
mberends left
12:51
_twitch joined
|
|||
tadzik | o/ | 12:53 | |
moritz | tadzik: for 'use lib;' it might be enough to assume that the arguments to the module don't alter the exported symbol list | 12:54 | |
tadzik: and simply pass on $<arglist>.ast to the actual loading call somehow | |||
moritz has only very vague ideas of how that should look like | 12:55 | ||
tadzik | I would go for that as a start | 12:57 | |
for now, I don't know how this $name::import() should look like, in legal nqp | |||
moritz | nqp: module Foo { our sub import($x) { say($x) } }; Foo::import('blah') | 12:58 | |
p6eval | nqp: OUTPUT«blah» | ||
tadzik | module Foo { our sub import($x) { say($x) } }; my $a := "Foo"; $a::import('blah') | 12:59 | |
nqp: module Foo { our sub import($x) { say($x) } }; my $a := "Foo"; $a::import('blah') | 13:00 | ||
p6eval | nqp: OUTPUT«invoke() not implemented in class 'Undef'current instr.: '_block11' pc 77 ((file unknown):33580231)» | ||
tadzik | that's the real problem | ||
moritz | ah | ||
13:00
hudnix joined
|
|||
tadzik | also, checking whether the import() sub exists | 13:01 | |
moritz | tadzik: see Module/Loader.pm lines 96 and the following | ||
13:01
bluescreen10 joined
|
|||
moritz | tadzik: you can get_hll_global the ns entry of ['Foo'], '&import', and check for null | 13:01 | |
13:02
perigrin_ joined
|
|||
moritz | tadzik: see also: start of method get_imports | 13:02 | |
tadzik | pir then, eh. Alright, I'll see | ||
moritz | tadzik: it's pretty much exactly what you need | ||
13:04
MayDaniel joined
|
|||
tadzik | yeah, it seems so | 13:05 | |
nqp: my $a := sub { say('ok'); }; $a() | 13:06 | ||
p6eval | nqp: OUTPUT«Routine declaration requires a signature at line 1, near "{ say('ok'"current instr.: 'nqp;HLL;Grammar;panic' pc 20767 (src/stage2/gen/HLL.pir:5644)» | ||
tadzik | nqp: my $a := sub () { say('ok'); }; $a() | ||
p6eval | nqp: OUTPUT«ok» | ||
tadzik | ok | ||
13:08
Holy_Cow joined,
Trashlord left
13:09
Moukeddar_ left,
jaldhar left
13:10
jaldhar joined
13:12
leprevost joined
13:15
MayDaniel left
13:20
rhebus left
13:22
_twitch left
13:23
mberends joined
13:29
Mowah left
13:32
woosley left,
woosley joined
|
|||
tadzik | yay, import works! | 13:33 | |
13:33
mberends left
|
|||
tadzik | oh wait, it doesn't | 13:33 | |
moritz | \o/ | ||
/o\ | |||
13:34
[particle]1 is now known as [particle]
13:38
woosley left
13:41
kaare_ left
13:42
tzhs joined
13:45
Moukeddar joined
13:50
ab5tract joined,
leprevost left
13:52
leprevost joined
13:56
Holy_Cow left
|
|||
tadzik | moritz: is there a way to use my own Perl6::Module::Loader, so I don't recompile the whole rakudo with every change? | 14:00 | |
14:00
spq joined
|
|||
moritz | tadzik: I'm not aware of any | 14:01 | |
tadzik | jnthn should now jump out of the box saying "fixed in nom!" | ||
moritz: anyway, with this nopaste.snit.ch/43132 should I seek import in @current-namespace.append(@nsparts) rather than @nsparts itself? | 14:03 | ||
14:05
Mowah joined
|
|||
moritz | I don't think so | 14:05 | |
14:07
ella joined
|
|||
tadzik | then I'm out of clues | 14:10 | |
14:11
Moukeddar left
|
|||
moritz | tadzik: you could try the get_hll_namespace + getprop that's used elswhere in Module::Loader | 14:11 | |
tadzik | hmm | 14:12 | |
moritz | tadzik: you can experiment with finding stuff in namespaces outside of rakudo sources... | ||
tadzik: but beware the module loading time... at the time you're running the code, has the module actually been loaded? | 14:13 | ||
tadzik | moritz: I think so | ||
moritz | tadzik: an easy way to test is to add a say() to the mainline code of the module | 14:14 | |
tadzik | I'll try it as soon as I unbreak my rakudo :) | ||
14:18
molaf joined
14:19
mtk left,
mtk0 joined
14:20
leprevost left,
leprevost joined
|
|||
tadzik | moritz: yeah, the module is loaded by then | 14:22 | |
14:23
leprevost left
|
|||
moritz | hm | 14:23 | |
tadzik: I have a failure in t/spec/S32-str/comb.rakudo, failed test 9 | 14:28 | ||
TimToady | std: sub postfix:< > ($x) {...} | 14:29 | |
p6eval | std 9f27365: OUTPUT«===SORRY!===Null operator is not allowed at /tmp/MH2K7Nhvmv line 1:------> sub postfix:< >⏏ ($x) {...}Parse failedFAILED 00:01 112m» | ||
TimToady | \o/ | ||
thanks | |||
moritz | tadzik: it's .comb(:limit(2)) | ||
tadzik | moritz: yeah, I know :/ | ||
moritz bows to TimToady | |||
tadzik | it's the "we don't mind additional arguments" | 14:30 | |
colomon | std++ | ||
tadzik | .comb(:limit(2)) actually dispatches to .comb() | ||
moritz | the either implement :$limit in .comb() | ||
tadzik | new module: github.com/tadzik/Module-Starter | ||
moritz | or do a :$limit where !.defined | ||
tadzik | it was created using Module::Starter itself :) | 14:31 | |
moritz | \o/ | ||
colomon | tadzik: can you explain in more detail? | ||
there's only the one .comb method, right? | 14:32 | ||
moritz | colomon: not since 6ca6140a4683a66b9f7d54e9a336051d5f564924 | ||
Su-Shee | "just use .brush instead!" ;) sorry :) | ||
colomon | pulling... | 14:33 | |
tadzik | colomon: as soon as I fix it, you will be able to `module-starter Task::Catalyst`, and get a shiny new Task-Catalyst directory, with a valid META.info, and a git repo ready to push to github as soon as you open a Task-Catalyst repo | ||
colomon | ooooo | ||
TimToady wonders whether the new protos will enable us to do better named arg checking... "This argument is not recognized by any of my candidates" | |||
colomon | created especially for those of us addicted to creating modules, eh? ;) | 14:34 | |
tadzik | yes :) | ||
and to those of "What is this META.info again?" :) | |||
dalek | kudo: c9e5e0e | moritz++ | src/ (2 files): [binder] use more appropriate NULLs |
||
moritz | colomon: if you look at search.cpan.org/~miyagawa/ (ok, p5, but still impressive) you can see how much time one can spend on starting modules :-) | 14:35 | |
14:35
shabble joined
|
|||
colomon | seems trivial to implement limit in the new .comb method ? | 14:35 | |
tadzik | yes, I'm on it | ||
moritz also tries something | |||
tadzik | colomon: nopaste.snit.ch/43133 | 14:36 | |
then you only need to add something and 'git push origin master' | |||
moritz | rakudo: class A { multi method a(:$foo where .not) { 1 }; multi method a ($x = 2, :$foo) { $x }}; say A.new.a(); say A.new.a(:foo) | ||
p6eval | rakudo 5c6fe0: OUTPUT«12» | ||
colomon | tadzik: it handles creating the project on github?! | 14:37 | |
moritz | tadzik: I'm trying it with two such guards, one for :limit and one for :match | ||
tadzik | colomon: no, you have to do that one yourself | ||
moritz: waitwait, since when is limit a named param? | |||
14:37
ella left
|
|||
tadzik | colomon: but that'd be a nice feature :) | 14:37 | |
and I think it's even possible, since we have JSON::RPC, that may help with the github api | 14:38 | ||
moritz | tadzik: since, like, forever? | ||
tadzik | . o O ( am I blind or something? ) | 14:39 | |
moritz: github.com/rakudo/rakudo/blob/mast...str.pm#L63 it looks positional to me | |||
moritz | ouch | ||
14:39
am0c left
|
|||
colomon | tadzik's right | 14:40 | |
tadzik | so the tests which is failing is actually using the 'positional param as a named param', which is NYI, and there are tests TODOed because of it | ||
colomon | though I think it might make more sense as a named param | ||
moritz | positional as named is not NYI (in general) | ||
tadzik | so I believe that tests should be TODOed too | ||
although when it was working, even accidentally, it was pretty DWIM | 14:41 | ||
14:41
alester joined
|
|||
alester | Ping moritz | 14:42 | |
moritz | rakudo: sub f($x) { say $x }; f :x<foo> | ||
alester: pong | |||
p6eval | rakudo 5c6fe0: OUTPUT«foo» | ||
alester | Let's talk STRINGNULL etc | ||
moritz | sure | ||
tadzik: note that omitting the first (optional) param but filling the second *only* works by name | 14:43 | ||
alester | You're saying you can't use STRINGNULL in Rakudo. Is it specific places? | ||
That commit is all mine. | |||
moritz | alester: src/binder/bind.c, as I commented in the ticket | ||
tadzik | hmm | ||
alester | But there are many more. | ||
Right, but is that the only place? | |||
moritz | alester: I'm not sure. It's a huge mess | 14:44 | |
alester: there are many NULLs in calls to Parrot_throw_ex_from_C_args() or so | |||
alester: but the parrot code base itself uses NULL there too | |||
alester | I've tried to weed them out. | ||
tadzik | moritz: yeah, so what does it mean? | ||
moritz | tadzik: it means that you have add more multis, for example. Or more checks. | 14:45 | |
tadzik | oh | 14:46 | |
moritz | rakudo: class A { multi method a() { 1 }; multi method a($ = 1, $ = 2) { 2 } }; say A.new.a | 14:47 | |
p6eval | rakudo 5c6fe0: OUTPUT«1» | ||
moritz | tadzik: I'm think of two multis | ||
tadzik: comb(:$limit where !.defined, :$match where .not) | 14:48 | ||
tadzik | moritz: I made it comb() { self.comb(self.chars) }; and comb(Int $limit) { gather for 1..$limit {} } | ||
moritz | tadzik: and comb(Regex $matcher = /./, $limit = *, :$match) | ||
compiling mine now | 14:50 | ||
14:51
araujo joined,
araujo left,
araujo joined
14:52
Sarten-X left
|
|||
moritz | alester: did you have much success weeding out the NULLs? | 14:53 | |
alester | Yeah, I did. | ||
Do you know what specific functions are blowin' up? | |||
moritz | tadzik: my variant didn't work, ambigious dispatch on the very first test | 14:54 | |
alester | I'd hate to allow NULLs everywhere. | ||
moritz | no idea | ||
I approached it as a black box, and found the offender only with bisect | |||
alester | ok | 14:55 | |
moritz | tadzik: now I remember why I haven't added the simple, efficient version of .comb() before :-) | ||
tadzik | neither did mine, but I also failed one more test :P | ||
alester | Well, we can't go back to your branch. | ||
at least not as a whole. | |||
tadzik | but, while waiting, I managet do get Module::Starter actually create a github repo itself :) | 14:56 | |
alester | tadzik: That makes me happy. :-) | ||
moritz | alester: why not? | ||
alester | Becuase it's more than just NULL acceptance.] | ||
I'm weeding thru the diffs. | |||
moritz | ah, there's also a consting | 14:57 | |
alester | Consting won't be a prob | ||
and tehre's also a lot of other things in that branch | |||
moritz | huh? | 14:58 | |
that branch differs from master in just two commits | |||
one is irrelevant (a test) for us | |||
and one is yours | |||
14:59
tzhs left
15:00
ymasory joined,
wtw left
|
|||
alester | And stuff in ports/ | 15:01 | |
moritz | ignore it. | 15:02 | |
alester | I am. | ||
as i weed thru the diffs. | |||
moritz | it's really about c1f77f7eb90041468c3b13f5b48ae2ca1d1c37a5 | ||
15:02
Sarten-X joined
|
|||
moritz | you can forget the branch if you want | 15:02 | |
alester: maybe we can even use it as a whole, and just fix up rakudo | 15:03 | ||
alester | But I thought you couldn't use STRINGNULL in your statics | 15:04 | |
tadzik | colomon: nopaste.snit.ch/43134 created github.com/tadzik/Module-Starter/ How is that? :) | ||
alester | is how I read it. | ||
moritz | alester: for example with initializing those variables to NULL first, and changing them to STRINGNULL in an init fucntion | ||
alester: not by a simple textual substitution | |||
alester | Does that work? | ||
moritz | I have no idea | 15:05 | |
but why shouldn't it? | |||
alester | Dunno. | ||
moritz | :-) | ||
alester | Try it, let me know. | ||
I'd realy rather not allow NULLs if we don't have ot. | |||
moritz | I just don't know how to write a function that's called at startup | 15:06 | |
alester | I can't do anything definite this moment. | 15:07 | |
I'm working on Real Job Work | |||
but will pursue more in a bit | |||
15:07
justatheory joined
|
|||
moritz | no hurry | 15:08 | |
tadzik | my github followers probably hate me now :) tadzik created repo, tadzik deleted repo, tadzik created repo... but I had to test it :) | ||
moritz | :-) | 15:09 | |
tadzik | moritz: but say, should that tests really work since 'positional as named' doesn't work anyway? | 15:10 | |
moritz | tadzik: positional as named works. | 15:11 | |
rakudo: sub f($x) { say $x }; f :x<OH YES!>; | 15:12 | ||
tadzik | I think I saw a test TODOed due to this today | ||
p6eval | rakudo 5c6fe0: OUTPUT«OH YES!» | ||
moritz | tadzik: for multis it might only work if a proto is involved | 15:13 | |
colomon | tadzik++ | ||
15:14
rhebus joined
15:20
Moukeddar joined
|
|||
cognominal | jnthn, I was afk and I had not configured x-chat to have big buffer so I know that you (or someone else) addressed me but I don't know what he said | 15:30 | |
xchat-- # 300 lines by default | 15:31 | ||
15:31
orafu joined
|
|||
moritz | cognominal: irclog.perlgeek.de/search.pl?channe...cognominal knows (albeit a bit slow) | 15:31 | |
15:32
bluescreen10 left
|
|||
cognominal | oops, I forgot about that. Moritz++ | 15:32 | |
and jnthn++ | 15:33 | ||
15:35
Moukeddar left,
perigrin_ left
|
|||
donri | * moritz doesn't understand what point donri is trying to make -- i think i may have been thinking of e.g. embedding | 15:36 | |
if you want perl6 in situations where you might otherwise go with lua or js | 15:37 | ||
maybe nqp makes sense there | |||
shrug | |||
moritz | depends | ||
if your application is parsing, why not? | 15:38 | ||
donri | is that its only main strength then? | ||
tadzik | it's the main purpose | ||
donri | i don't really know how much it isn't "quite perl 6" | ||
15:45
perigrin joined
15:47
colomon left
|
|||
tadzik | moritz: ok I fixed that | 15:49 | |
but it's not very nice and not very speccy :/ | 15:50 | ||
15:50
lateau joined
|
|||
tadzik | nopaste.snit.ch/43135 | 15:50 | |
now when I look at it it looks wrong to me | 15:51 | ||
15:52
texture joined
15:56
domidumont left,
MayDaniel joined,
ggoebel joined
|
|||
jnthn | moritz, tadzik: Importation (and exportation) needs a complete re-write. | 15:59 | |
15:59
perigrin left
|
|||
tadzik | ok, good to know :) | 16:00 | |
will the new nqp allow this? | |||
jnthn | It changed to lexical import | ||
tadzik | or bring us closer? | ||
jnthn | tadzik: It'll actually make it WAY easier to implemnt. | 16:01 | |
tadzik | cool | ||
jnthn | New nqp - and rakudo/nom - are in general very lexical-oriented. | ||
16:03
pmurias joined
16:06
awwaiid joined
|
|||
tadzik | moritz: mind if I commit it like this? I can't think of any better way | 16:09 | |
well, I can, but it gives no results | |||
16:09
molaf left
|
|||
pmurias | j | 16:11 | |
sorry | |||
dalek | kudo: 632f813 | tadzik++ | src/core/Cool-str.pm: Fix a regression introduced by 6ca6140a. This doesn't look like the best way to do it, but there are no tests to prove it incorrect |
16:14 | |
tadzik | enough Rakudo for today | 16:16 | |
jnthn | tadzik++ # | ||
16:17
MayDaniel left
16:19
colomon joined
16:21
mishima joined
16:22
mishima left,
mishima joined,
mishima is now known as mish
16:23
mish left,
Tedd1 left
16:25
kaare_ joined
16:34
mj41 left
16:41
nymacro left
16:53
lateau left
16:55
jferrero left,
Trashlord joined
16:58
cdarroch joined,
cdarroch left,
cdarroch joined
17:01
pmurias left
17:02
Chillance joined
17:11
pnu left,
skangas left,
PerlJam left,
nnunley_ left,
ponbiki left,
jevin left,
HarryS left,
Exodist left,
jrockway left
17:12
ribasushi left,
pnu joined,
skangas joined,
PerlJam joined,
nnunley_ joined,
ponbiki joined,
jevin joined,
HarryS joined,
Exodist joined,
jrockway joined,
ribasushi joined
17:13
HarryS left,
HarryS joined
17:16
jaldhar left
17:19
orafu left
17:24
masak joined
|
|||
masak | o/, pan^Wzeb^Wbutterflies | 17:25 | |
phenny | masak: 06:50Z <mathw> tell masak yes, it was my birthday yesterday | ||
masak | mathw.age++ | ||
tadzik | hello masak | 17:26 | |
masak bobs happily in the air | 17:28 | ||
that's how I picture us all having this conversation. floating in the air. | 17:29 | ||
colomon | \o/ \o/ \o/ | ||
colomon probably can't flap fast enough to stay aloft | 17:30 | ||
masak | on the Internet, there's no gravitational pull. | ||
that's why it's so easy to waste hours online. | |||
there's no "down" :) | |||
colomon | on the Internet, no one can tell you're plummeting towards the ground... | 17:31 | |
masak | ;) | ||
TimToady: just as a reminder, this is why you changed 'constant' to be in the 'sub' slot: strangelyconsistent.org/blog/i-can-haz-constant :P | 17:33 | ||
jnthn | yayitsmasak! \o/ | 17:34 | |
masak bobs | |||
jnthn | Like an apple? | ||
dalek | p/ctmo: 5e5c46f | jonathan++ | src/stage0/ (6 files): Update bootstrap with latest changes. |
||
p/ctmo: d2f7759 | jonathan++ | src/pmc/dispatchersub.pmc: Ensure DispatcherSub is properly initialized. |
|||
masak | oh, I made the same mathw.age++ joke as moritz had already done in the backlog. we need new jokes :P | ||
jnthn: yes, almost exactly like an apple. | |||
moritz | masak: joke? that was a congratulation for geeks :-) | 17:35 | |
masak | uh. of course. | ||
it's a nerdy way to say "you're one year older now". :) | 17:36 | ||
17:36
orafu joined,
Vlavv_ left
17:37
Vlavv joined
|
|||
tadzik | wow, TheDamian still maintains his Pod6 parser | 17:39 | |
masak | TheDamian++ | 17:40 | |
17:41
Vlavv_ joined
|
|||
sorear | My age incremenets continuously | 17:41 | |
masak | discussion.nerdiness++ | ||
:P | |||
17:42
Vlavv left
|
|||
PerlJam | Is it just me or is there a dearth of Perl 6 related talks at OSCON this year? | 17:48 | |
17:48
Tedd1 joined
|
|||
masak | Tedd1: greetings. | 17:49 | |
Tedd1 | hi | ||
jnthn | Hey, somebody from .no! Are you coming to conferences.yapceurope.org/npw2011/? ;-) | ||
Tedd1 | whats that? | 17:50 | |
masak | a Nordic Perl workshop. | ||
Tedd1 | I kind of liked Perl5, dunno if I like Perl6 | ||
jnthn | Tedd1: A Perl workshop. :) | ||
It's for Perl 5 at least as much as it's for Perl 6. :) | |||
masak | the theme is "Perl in 2011". | 17:51 | |
jnthn | In fact, I expect the majority of the talks will be Perl 5 ones. :) | ||
masak craks up | |||
cracks* | |||
Tedd1 | freshmeat.net/projects/pimpbnc/ <- mine | ||
(Perl5) | |||
jnthn | What's...what's wrong with our theme? :) | ||
masak | nothing! | ||
it's... very topical! | |||
jnthn | :D | ||
PerlJam | Tedd1: tropical would be better, but you probably can't swing that :) | ||
er, masak | 17:52 | ||
masak | Tedd1: an IRC... bouncer? | ||
does it kick people out of channels? :) | |||
jnthn | PerlJam: We may well have sun and sea! | ||
Tedd1 | yeah, back in 2003 ... I rewrote it like a hundret times | ||
its a proxy | |||
it was more of a hobby to keep rewriting it for perfection | |||
sorear | hehe | 17:53 | |
Tedd1 | it has native webserver with mod_perl/CGI support, can update its modules while running + normal irc features | ||
sorear | I came here to write an IRC tool too... | ||
Tedd1 | shit | ||
sorear | ? | ||
What's wrong? | |||
Tedd1 | dammit | 17:54 | |
I just got a x445 home | |||
with 2xSAN | |||
installing OS on it, and it said POFF | |||
tadzik | moritz? | 17:55 | |
Tedd1 | power suply gone, switched to next | ||
tadzik | oh, masak's around | ||
Tedd1 | dammit, probably overloaded the old psu by using one instead of both | ||
I have 28 disks with 400GB on each in SAN ... @home | 17:56 | ||
kind of noisy | |||
tadzik | moritz: unping | 17:57 | |
sorear | ...wow | ||
PerlJam | jnthn, masak: NPW should have a fund-drive like thing on the front page: X talks submitted ... we're only Y talks away from our goal of ... | 17:58 | |
:-) | |||
18:00
Helios left
18:01
Helios joined
|
|||
masak | nice idea :) | 18:01 | |
moritz unpings | |||
cotto_work | masak++ for another great release announcement | 18:03 | |
masak | ;) | ||
colomon | it made me laugh out loud last night. | 18:04 | |
masak | glad to hear that. | ||
18:04
silug left,
silug joined
|
|||
Tedd1 | perl6: say test | 18:05 | |
p6eval | rakudo 632f81: OUTPUT«Could not find sub &test in main program body at line 22:/tmp/rqjDFSK0oa» | ||
..niecza v4-76-g7bf5ef9: OUTPUT«===SORRY!===Undeclared routine: 'test' used at line Any()1Unhandled exception: Check failed at /home/p6eval/niecza/boot/lib/CORE.setting line 388 (CORE die @ 2) at /home/p6eval/niecza/src/STD.pm6 line 1141 (STD P6.comp_unit @ 75) at | |||
../home/p6eval/niecza… | |||
..pugs: OUTPUT«*** No such subroutine: "&test" at /tmp/FXzq0khpSA line 1, column 5 - line 2, column 1» | |||
Tedd1 | hmm | ||
perl6: say "test"; | 18:06 | ||
p6eval | pugs, rakudo 632f81, niecza v4-76-g7bf5ef9: OUTPUT«test» | ||
Tedd1 | perl6: say "test\r\nPRIVMSG #perl6 :OhNoes!"; | ||
p6eval | pugs, rakudo 632f81, niecza v4-76-g7bf5ef9: OUTPUT«test | ||
Tedd1 | :) | ||
moritz | it does pay off to built on well-tested modules :-) | 18:07 | |
Tedd1 | hehe ;) | ||
18:08
texture left
|
|||
sorear | huh, why is it cut off? | 18:14 | |
18:14
molaf joined
|
|||
sorear | perl6: say "test\nPRIVMSG #perl6 :OhNoes!"; | 18:15 | |
p6eval | pugs, rakudo 632f81, niecza v4-76-g7bf5ef9: OUTPUT«testPRIVMSG #perl6 :OhNoes!» | ||
sorear | without the \r it works fine | ||
jnthn | perl6: say "aaaaarrr\rgh!" | ||
p6eval | pugs, rakudo 632f81, niecza v4-76-g7bf5ef9: OUTPUT«aaaaarrr | ||
jnthn | From frustated to pirate with just one escape sequence. | 18:16 | |
masak | :P | ||
Tedd1 | I was attempting to inject an IRC command from bot to server, so without \r it doesn't conform to IRC protocol specs (and it just returns the data, which was not the point) | 18:18 | |
sorear | p6eval is smart enough to escape \n | ||
I wonder what it's doing with the \r | |||
perl6: say "test\rPRIVMSG #perl6 :OhNoes!"; | 18:19 | ||
p6eval | pugs, rakudo 632f81, niecza v4-76-g7bf5ef9: OUTPUT«test | ||
diakopter | heh | ||
sorear | rakudo: say "test\rPRIVMSG #perl6 :OhNoes!"; | ||
p6eval | rakudo 632f81: OUTPUT«test | ||
diakopter | add another line break at the end | ||
sorear | it goes much faster if you only request one compiler | ||
rakudo: say "test\rPRIVMSG #perl6 :OhNoes!\r"; | 18:20 | ||
p6eval | rakudo 632f81: OUTPUT«test | ||
diakopter | oh well | ||
sorear | "perl6:" is for comparisons | ||
perl6: my $a = 1; my $b := $a; $a := 2; say $b | |||
p6eval | rakudo 632f81: OUTPUT«2» | 18:21 | |
..pugs, niecza v4-76-g7bf5ef9: OUTPUT«1» | |||
sorear | perl6: my $a = 1; my $b ::= $a; $a = 2; say $b | ||
p6eval | pugs, rakudo 632f81: OUTPUT«2» | ||
..niecza v4-76-g7bf5ef9: OUTPUT«1» | |||
18:24
anonymous joined
18:25
anonymous is now known as Guest64732
18:27
fhelmberger left
18:28
silug left,
silug joined
18:29
mj41 joined
18:34
hercynium joined
18:46
Guest64732 left
|
|||
dukeleto | how does one change the current process name in Perl 6? Is that in the spec somewhere, or is it still implementation-dependent? | 18:51 | |
masak goes a-lookin' | 18:53 | ||
PerlJam | I'd guess the latter though | ||
masak | there's no mention of 'current process name' in S28. | 18:55 | |
PerlJam | I wonder if you could search for "$0" or "the old $0" and find something useful. | 18:56 | |
18:56
orafu left
|
|||
PerlJam pulls a fresher spec | 18:56 | ||
masak | $*PROGRAM_NAME | 18:57 | |
apparently. | |||
18:58
[Coke] left
|
|||
dukeleto | masak: intetesting. going to play with that now. masak++ | 18:59 | |
masak | waitwait, I didn't say it *works*! :/ | ||
18:59
[Coke] joined
|
|||
PerlJam | it's mentioned in src/core/MAIN.pm | 19:01 | |
masak | probably read-only, though... | ||
PerlJam | and src/glue/run.pir and src/gen/core.pm | ||
masak | rakudo: $*PROGRAM_NAME = "foo"; say "alive" | ||
p6eval | rakudo 632f81: OUTPUT«Cannot modify readonly value in '&infix:<=>' at line 1 in main program body at line 22:/tmp/3FwgGtmOJs» | ||
masak submits rakudobug | |||
dukeleto | masak++ | 19:04 | |
dukeleto would actually like to fix that bug | |||
masak | good news: source is downlaodable, and we accept patches ;) | ||
dukeleto is relieved | 19:05 | ||
19:05
noganex_ joined
|
|||
dukeleto | why was that error about an infix <=> ? | 19:05 | |
19:06
spq left
19:07
mberends joined
19:08
Helios left
|
|||
masak | because it was in the assignment that things blew up. | 19:08 | |
19:09
noganex left
19:10
Helios joined
|
|||
dukeleto | &infix:<=> looks to me like it refers to <=> instead of =. I forgot the <> is just syntax salt | 19:10 | |
19:11
TiMBuS left,
Mowah left
|
|||
masak | yeah, and it didn't used to be that way, either. | 19:11 | |
many other languages do without something like the <> around their operators when they define them. | 19:12 | ||
looks dangerous, now that I'm used to those <> :) | 19:13 | ||
19:13
Helios left
|
|||
dukeleto digs around to see how to make $*PROGRAM_NAME writable | 19:14 | ||
masak | dukeleto++ | 19:15 | |
19:16
Helios joined
|
|||
dukeleto goes spelunking into src/gen/core.pm | 19:17 | ||
tadzik | oh, don't | 19:20 | |
core.pm is basically everthing else in src/ splat together | |||
unless you actually want that | |||
dukeleto | tadzik: it is leading me in the correct direction | 19:21 | |
moritz | the real reason is that circumfixes and some other operators consist of two or more parts | ||
so we can't declare them without syntax salt | |||
dukeleto: anything with 'gen' in the name is generated | |||
dukeleto | src/glue/run.pir is where $*PROGRAM_NAME is defined | ||
moritz: duly noted. | |||
is there any $*FOO that is not read-only | |||
19:21
patrickas joined
|
|||
dukeleto | the code doesn't seem to specify that it should be read-only. It is defaulting to that, somewhere along the way | 19:22 | |
19:22
slavik left
19:23
slavik joined,
patrickas left
|
|||
dukeleto | rakudo: $*EXECUTABLE_NAME = "foo"; say "aliving" | 19:23 | |
p6eval | rakudo 632f81: OUTPUT«Cannot modify readonly value in '&infix:<=>' at line 1 in main program body at line 22:/tmp/a9msEDpiKh» | ||
19:24
spetrea joined
|
|||
spetrea | it would be so awesome if I had a collection of videos like ontwik.com/perl/perl-6-update/ | 19:24 | |
so I could just get a lot of food, some drinks and some smokes and watch Perl6 continously and then learn it :) | |||
of course I would take some breaks but the basic idea of having video lecture for Perl6 is pretty awesome :) | 19:25 | ||
is this very hard to make ? just curious | |||
masak | moritz: there's a nice philosophical reason too, besides the real one: it reads like 'defining an infix, and it's QUOTE = UNQUOTE" | 19:26 | |
s/"/'/ | |||
dukeleto | is $*EXECUTABLE_NAME being read-only a bug or a feature? | ||
seemingly, all $*FOO globals are read-only | |||
even %*ENV is read-only? This bug may be deeper that I thought. | |||
moritz | dukeleto: iirc there was some parrot problems with the ENV pmc | ||
19:27
birdwindupbird joined
|
|||
tadzik | spetrea: I think there is a file in the ol' pugs repo with a list of Perl 6 talks. I'm sure it's quite outdated, but a Courageous Soul may want to collect the videos in the same manner | 19:27 | |
dukeleto | moritz: yes, I am sure parrot is to blame for it's fair share of bugs | 19:28 | |
moritz | spetrea: jnthn.net/articles.shtml | 19:29 | |
spetrea: some of them exist as videos too | |||
spetrea | ah nice :) I should make a list of those for myself | 19:30 | |
tadzik | spetrea: seen szabgab's videos? | 19:32 | |
spetrea | tadzik: didn't know he had Perl6 videos, saw some Padre ones though | 19:33 | |
dukeleto digs down to set_hll_global | |||
tadzik | spetrea: Perl6 ones are nice, I'm sure they're linked on perl6.org | ||
spetrea: perl6.org/documentation/ see "for newcomers" | |||
dukeleto digs down to Parrot_ns_set_global() | 19:34 | ||
19:35
TiMBuS joined
|
|||
tadzik | moritz, masak -- I'd aprreciate a look through the latest gsocmess commits | 19:36 | |
19:36
molaf left
|
|||
moritz takes a peek | 19:36 | ||
tadzik | warning: fun stuff :) | 19:37 | |
dukeleto gets out the backhoe and digs into set_pmc_keyed_str on the Namespace PMC | |||
moritz | dukeleto: fwiw the normal way to manipulate a dynamic variable is to declare a new one | 19:38 | |
rakudo: my $*PROGRAM_NAME = 3; say $*PROGRAM_NAME | |||
p6eval | rakudo 632f81: OUTPUT«3» | ||
masak | tadzik: if you post the URL to the repo, you'll surely have more eyeballs ;) | 19:39 | |
tadzik | rakudo: { my $*PROGRAM_NAME = 3; say $*PROGRAM_NAME }; say $*PROGRAM_NAME | ||
p6eval | rakudo 632f81: OUTPUT«3/tmp/sMgui152XA» | ||
moritz | tadzik: s/allow/allowed/ in Block::Code ? | 19:40 | |
tadzik | masak: I may want to consider that (puts on the fedora hat) | ||
TimToady | rakudo: $PROCESS::PROGRAM_NAME = 3; say $*PROGRAM_NAME | ||
p6eval | rakudo 632f81: OUTPUT«Null PMC access in getprop() in '&infix:<=>' at line 1 in main program body at line 22:/tmp/TmUQcB1SWj» | ||
dukeleto | TimToady: interesting | ||
masak submits rakudobug | |||
moritz | rakudo doesn't really do PROCESS or GLOBAL yet | ||
tadzik | a sekkrit repo, interested people only! github.com/tadzik/gsocmess | ||
masak | rakudo: $PROCESS::FOO = 3 | ||
p6eval | rakudo 632f81: OUTPUT«Null PMC access in getprop() in '&infix:<=>' at line 1 in main program body at line 22:/tmp/xMta8jTUeR» | 19:41 | |
tadzik | moritz: yeah, fells more senseish | ||
dukeleto | from reading the innards of set_hll_global, it doesn't seem, at first glance, that Parrot is making stuff read-only | ||
tadzik | verbs sound like subs | ||
moritz | dukeleto: maybe the binding to the variable makes it read-only? | ||
dukeleto | moritz: somewhere in the glue it is becoming read-only. Haven't tracked it down yet. | 19:42 | |
moritz | rakudo: my $x := 3; say $x; $x = 5; say $x | ||
p6eval | rakudo 632f81: OUTPUT«3Cannot modify readonly value in '&infix:<=>' at line 1 in main program body at line 22:/tmp/exDGZ4BaMD» | ||
dukeleto | moritz: that looks quite likely | 19:43 | |
moritz | tadzik: looks sane-ish | ||
tadzik | I'm glad | ||
moritz | tadzik: missing braces arounds the contents in the first Pod6::Block example | ||
tadzik: and I wonder if if a Pod6::Block should be an array of contents, not have-an array of contents | 19:44 | ||
tadzik: just like match objects are captures (and thus arrays and hashes) | |||
tadzik | hmm | ||
dukeleto | rakudo: $PROCESS::PROGRAM_NAME := "foo"; say $*PROGRAM_NAME | ||
p6eval | rakudo 632f81: OUTPUT«Null PMC access in can() in main program body at line 1:/tmp/OHq2Sxu3R2» | 19:45 | |
moritz | it's a fine line | ||
dukeleto | bugs bugs bugs | ||
masak: you want that rakudobug? | |||
moritz | same bug as before | ||
dukeleto | moritz: ah, just a different error | ||
moritz | rakudo: $Foo::Bar := 3 | ||
p6eval | rakudo 632f81: OUTPUT«Null PMC access in can() in main program body at line 1:/tmp/Vu7Mw9ke1y» | ||
moritz | rakudo: $Foo::Bar = 3 | ||
19:45
Helios left
|
|||
p6eval | rakudo 632f81: OUTPUT«Null PMC access in getprop() in '&infix:<=>' at line 1 in main program body at line 22:/tmp/lDfvtH4u2i» | 19:45 | |
moritz | can vs. getprop | ||
really just a matter of the especific call chain | 19:46 | ||
the issue is the same: the package does not exist | |||
tadzik | moritz: I don't think I see the missing braces though | ||
moritz | erm, brackets, sorry | ||
Pod6::Block( content => Pod6::Block::Heading( | 19:47 | ||
should be | |||
tadzik | oh, sure | ||
moritz | content => [ ... ] | ||
tadzik | not only the first one | ||
ou, I think all of them are malformed :) I must think of a better way of presenting them | 19:48 | ||
19:48
Helios joined
|
|||
moritz | time will tell if it might be easier for the user if all entries in @.content do a common role | 19:48 | |
like in the browser DOM, all nodes support some common operations | 19:49 | ||
jnthn | Everything in Rakudo is readonly unless it's flagged rw | 19:50 | |
moritz | I can understand the beauty of stuffing in strings, arrays etc. | ||
jnthn | We used to have it the other way around and it was an endless source of bugs. | 19:51 | |
19:51
kst left
|
|||
moritz | but as a user it most likely means that you have to do type checks (or given/when based on type) every time you access it | 19:51 | |
jnthn | The problem with $*EXECUTABLE_NAME is harder though, because really you want some kind of tied-style variable there. | ||
moritz | tadzik: maybe you want a .pretty method on Pod6::Block that presents them more concisely than .perl | 19:52 | |
tadzik | moritz: I may. So far I'm writing all this with my fingers anyway | 19:53 | |
moritz: regarding your previous sentence, so things like Pod6::Content, Pod6::Text etc? | 19:54 | ||
moritz | tadzik: maybe. Or maybe just Pod6::Block nodes that have text instead of contents | 19:57 | |
hm, sounds more like a separate Pod6::Text node type | |||
tadzik | yeah | ||
hmm, now I don't see how it'd be any different from a plain Str | 19:58 | ||
19:58
Helios left
|
|||
moritz | it's only useful if it has some unified behavior together with the rest of the nodes | 19:59 | |
tadzik | yeah, I'm thinking about it | ||
moritz | which is why I don't yet know if it's worth the trouble | ||
19:59
Helios joined
|
|||
moritz | so, just wait and see | 19:59 | |
tadzik | yeah, time will tell | 20:00 | |
masak | I'd argue that putting a name on the type is reason enough. | 20:01 | |
moritz | Array and Str are fine type names. | 20:02 | |
masak | oh, I agree. | 20:03 | |
but even 'subset Pod6::Text of Str' would help put a *label* on the thing. | |||
I'm not saying it's a side that wins over the other concerns. just that it's a side that should be evaluated among the rest. :) | 20:04 | ||
moritz | rakudo: subset Pod6::Text of Str; say 'markdown' ~~ Pod6::Text | ||
p6eval | rakudo 632f81: OUTPUT«Bool::False» | ||
moritz | rakudo: subset Pod6::Text of Str where True; say 'markdown' ~~ Pod6::Text | 20:05 | |
p6eval | rakudo 632f81: OUTPUT«Bool::False» | ||
masak | huh? | 20:06 | |
moritz | rakudo: subset Pod6Text of Str where True; say 'markdown' ~~ Pod6Text | 20:07 | |
p6eval | rakudo 632f81: OUTPUT«Bool::True» | ||
moritz | it's the :: | ||
masak submits rakudobug | |||
jnthn | lolwut | ||
moritz dimly recalls such a bug | |||
masak | jnthn: fixed in 6model? :P | ||
moritz | 6model doesn't yet have subset types, does it? | 20:08 | |
20:09
MayDaniel joined
|
|||
jnthn | I don't get "6model doesn't have..." :) | 20:09 | |
6model doesn't have anything much. :) | |||
But it provides you with enough to write meta-objects that will do most things. | |||
moritz | right :-) | ||
jnthn | I know that the core actually needs a minor tweak for subset types, but that's about 30 minutes of tweaking. All the rest is implementing SubsetHOW. :) | 20:10 | |
20:13
ymasory left,
ymasory joined
|
|||
masak .oO( "implementing 6model, and HOW!" ) | 20:13 | ||
20:15
ymasory left
20:16
Helios left,
ymasory joined
20:17
GinoMan joined
20:20
Helios joined
20:22
Helios left
20:23
Helios joined
20:36
sivoais left
20:37
alester left
20:44
birdwindupbird left
20:53
SHODAN left,
uniejo_ joined
21:03
cogno joined
|
|||
masak | place just went all quiet. | 21:03 | |
21:04
dorlamm joined
21:05
kaare_ left
|
|||
tadzik | aye | 21:07 | |
21:09
kst joined
|
|||
jnthn | shhh...I'm trying to concentrate :P | 21:10 | |
masak | WA WA WA | ||
jnthn | dåligt. | ||
:P | |||
masak | :D | ||
phenny: "dåligt."? | |||
phenny | masak: "bad." (sv to en, translate.google.com) | 21:11 | |
jnthn | It sounds better in Swedish. :) | ||
21:12
rhebus left
21:13
cogno left,
GinoMan left
21:14
GinoMan joined
21:15
mathw left
21:16
mathw joined
21:17
GinoMan left
21:18
dorlamm left
21:19
impious joined,
dorlamm joined
21:29
sivoais joined
21:34
impious left,
ymasory left
|
|||
masak | 'night, adventurers. | 21:42 | |
21:42
masak left
21:48
mj41 left
21:59
dorlamm left
22:00
uniejo_ left
22:04
hercynium left
22:07
MayDaniel left,
pmurias joined
22:19
pmurias left
22:21
Chillance left
22:23
Chillance joined
|
|||
spetrea wonders if this is for real www.perldonate.com/ | 22:35 | ||
22:46
wallberg joined
22:47
whiteknight joined
22:51
ab5tract left,
wallberg left
22:55
ymasory joined
22:57
saaki joined
|
|||
dalek | p/ctmo: 76e0641 | jonathan++ | src/HLL/SerializationContextBuilder.pm: Start working towards fixup of roles. Gets us back the first two tests, though methods in roles are still totally broken. |
23:02 | |
p/ctmo: c69b201 | jonathan++ | src/ (2 files): Fix issues relating to type parametricism of roles and compile time meta-object handling. |
|||
p/ctmo: df3640c | jonathan++ | src/ (2 files): Do fixup with the vastly less evil assign rather than copy. Just happens to fix half of the broken multi-sub tests. |
23:10 | ||
jnthn | Should be able to get those last two failing tests dealt with tomorrow. Then fix installation issues. :-) | 23:23 | |
Then...rakudo/nom :) | |||
23:32
cdarroch left
23:33
donri left,
leprevost joined
23:34
donri joined
23:44
masonkramer joined
|