»ö« 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«1␤0␤»
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 1␤Check failed␤FAILED 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␤ signature␤Parse failed␤FAILED 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 failed␤FAILED 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.pm6␤ok 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.>>.say␤Variable @a is not predeclared at /tmp/FYfJAo9EII line 1:␤------> @a = (1,2,3,4); @a⏏.>>.say␤Check failed␤FAILED
..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«2␤2␤»
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 failed␤FAILED 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«1␤2␤»
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()1␤␤Unhandled 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«test␤PRIVMSG #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«3␤Cannot 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