»ö« 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:03 Chillance left, plobsing left
sorear good * #perl6 00:17
jasonmay good * cruel world! 00:31
benabik good * perl world?
00:38 silent_h_ left 00:41 plobsing joined 00:47 Trashlord left 01:09 ymasory joined 01:10 ymasory left, ymasory joined 01:11 ymasory left, ymasory joined, ymasory left 01:40 sftp left 01:59 whiteknight left 02:03 alester joined 02:31 benabik left 02:39 nymacro joined
colomon "@x is copy" isn't lazy, is it? 02:40
rakudo: sub a(&b, $c) { &b{$c); }; say a(* + 1, 10); 02:50
p6eval rakudo 792e86: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<{ }>, couldn't find final '}' at line 22␤»
colomon rakudo: sub a(&b, $c) { &b($c); }; say a(* + 1, 10);
p6eval rakudo 792e86: OUTPUT«11␤»
colomon .... in Rakudo, seems like "@x is copy" is only lazy if it knows @x is infinite. ie if you pass 1..* it works, but if you pass 1...* it loops forever. 02:53
TimToady we probably need an array copy primitive that copies the reified parts and then dups the .plan 02:55
02:58 ymasory joined
sorear it can't just dup the .plan; it has to lazily copy it 03:04
consider: sub foo(*@x is copy) { @x[10] = 5 }; my @y = 1..100; foo(gather { take-rw $_ for @y }); say @y[10] 03:05
03:18 el_lobo--d-_-b joined
el_lobo--d-_-b imm.io/4Cnn 03:18
03:18 el_lobo--d-_-b left, himito joined
clkao jnthn: ping 03:19
ingy: ping
03:22 jferrero left 03:29 domidumont1 joined 04:00 chin_up joined 04:04 donri left
sorear clkao: hi 04:05
04:15 benabik joined 04:38 jaldhar left 04:39 jaldhar joined 04:41 cosimo left 04:48 lue left 04:52 ymasory left 04:57 chin_up left 05:05 kaare_ joined 05:13 himito left 05:32 mberends left 05:36 ashleydev joined 05:39 cosimo joined 05:46 birdwindupbird joined 05:49 wtw joined 05:54 mberends joined 06:09 donri joined 06:31 mberends left
sorear out 06:33
06:45 woosley joined 06:51 birdwindupbird left, birdwindupbird joined 06:59 shi joined 07:08 Lorn left 07:14 Lorn joined 07:28 noganex left 07:29 pochi joined 07:31 noganex joined 07:34 Mowah joined 07:52 sjn joined 07:57 chin_up joined
moritz_ rakudo: say min(3, 6) 08:01
p6eval rakudo 792e86: OUTPUT«Unable to handle non-closure Ordering yet␤ in 'Any::min' at line 1563:CORE.setting␤ in 'min' at line 1873:CORE.setting␤ in main program body at line 22:/tmp/Vgy_9kA7_Q␤»
moritz_ rakudo: proto sub f(*@val, :$by) { say @val.perl }; f(1, 2) 08:04
p6eval rakudo 792e86: OUTPUT«[1, 2]␤» 08:05
moritz_ rakudo: proto sub f(*@val, :$by) { say @val.WHAT.perl }; f(1, 2)
p6eval rakudo 792e86: OUTPUT«Array␤»
moritz_ OH
rakudo: proto sub f(*@val, :$by) { say @val.min }; f(1, 2)
p6eval rakudo 792e86: OUTPUT«1␤»
moritz_ rakudo: proto sub f(*@val, :$by) { say @val.min(Any) }; f(1, 2)
p6eval rakudo 792e86: OUTPUT«Unable to handle non-closure Ordering yet␤ in 'Any::min' at line 1563:CORE.setting␤ in 'f' at line 22:/tmp/bcDAzoFsuR␤ in main program body at line 22:/tmp/bcDAzoFsuR␤»
moritz_ it turns out that there's still a dies_ok { min(@array) }, 'needs a comparison function'; test in roast 08:14
I'll fix it up
sjn moritz_++ # attention to details 08:16
moritz_ masak++ found that it was still b0rked 08:17
dalek ast: 5c48821 | moritz++ | S32-list/minmax.t:
min(), max and minmax do take a list without an explicit comparison function
08:19
kudo: c8745bc | moritz++ | src/core/Any-list.pm:
fix RT #85674 for real, masak++

This feels like there should be a better fix for it, but I cannot seem to find it
08:20
08:34 cosimo left 08:44 chin_up left
moritz_ TiMBuS: fwiw the new IO::Socket::INET doesn't seem to work with IPv6 :( 08:50
TiMBuS aw 08:51
any reason why?
moritz_ TiMBuS: gist.github.com/890168 is my test 08:52
TiMBuS ah 08:53
you didnt pass 'family' 08:54
moritz_ should I?
TiMBuS yes, it needs to know it is ipv6 08:55
moritz_ I mean ::1 is pretty obvious v6, no?
08:55 dakkar joined
TiMBuS well i guess i could add that 08:56
08:57 bbkr_ joined
moritz_ ok, added :family 08:57
now I get
$ ./perl6 server.pl
getaddrinfo failed: ::1: Success in 'IO::Socket::INET::BUILD' at line 5980:CORE.setting
in 'IO::Socket::INET::new' at line 5966:CORE.setting
in main program body at line 1:server.pl
TiMBuS haha what
i assume you added :family(PIO::PF_INET6) 08:59
moritz_ yes, I did
TiMBuS but yeah thats a parrot error
moritz_ when I use :localhost('localhost') I don't get any errors, but no socket opened either :( 09:00
TiMBuS i noticed that too 09:01
so i changed the default to '0.0.0.0'
i should probably go work on Socket.pmc =/ 09:02
moritz_ doesn't really understands that business with the different resolvers 09:05
$ host localhost
Host localhost not found: 3(NXDOMAIN)
$ ping localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
so 'host' doesn't look into /etc/hosts ?
09:05 xinming joined
TiMBuS lol. networking. the closest thing we have to actual magic 09:05
moritz_ so what tool would I use to do the same DNS lookup as ping? 09:08
09:08 noganex left
flussence /etc/hosts magic is usually a function of glibc + /etc/nsswitch.conf 09:08
09:10 st-5426 left
flussence (and a bunch of libnss_* files in /lib) 09:11
09:11 noganex joined
Tene moritz_: getent hosts localhost 09:15
moritz_: more-generally, getent is used to read from any database described in /etc/nsswitch.conf 09:16
09:34 Trashlord joined 09:37 bacek joined 09:55 woosley left 10:18 Mowah left 10:19 awoodland left 10:21 Mowah joined 10:43 fhelmberger left 10:55 bacek left 11:00 st-9828 joined 11:01 st-9828 left 11:04 birdwindupbird left 11:11 st-10005 joined 11:12 bacek joined 11:13 st-10005 left 11:23 st-10104 joined 11:27 Axius joined 11:36 st-10104 left 11:38 Axius left 11:45 Tedd1 left 11:46 birdwindupbird joined 11:47 leprevost joined 11:53 Patterner left 11:54 Psyche^ joined, Psyche^ is now known as Patterner
moritz_ hugme: add functions in mojolicious::lite, i have some code that check a language parameter and sets it for the templates, i need that for all the 11:55
sorry, mispaste :-)
flussence std: __LINE__ # just wondering if it can tell me what I should use for this... 11:59
p6eval std 4608239: OUTPUT«===SORRY!===␤Undeclared name:␤ '__LINE__' used at line 1␤Check failed␤FAILED 00:01 117m␤»
flussence aww
moritz_ $?LINE 12:00
NYI in rakudo, of course
rakudo: say callframe(0).line
p6eval rakudo c8745b: OUTPUT«22␤»
flussence hm, that'll do for now :)
moritz_ (p6eval inserts some boilerplate code first, for security reasons; which is why it doesn't report it as 1)
12:12 mtk joined 12:13 mtk left
takadonet morning all 12:29
moritz_ \o 12:30
12:30 Mowah left
[Coke] ~~ 12:32
12:33 bluescreen10 joined, sftp joined 12:36 benabik left, leprevost left 12:40 chin_up joined 12:41 plobsing left 12:58 Mowah joined 12:59 mtk joined, mtk left 13:00 mtk joined 13:03 kaare_ left 13:07 plobsing joined 13:15 kronik_aussie is now known as aesop 13:19 domidumont1 left 13:28 sftp left 13:29 hanekomu joined 13:30 bluescreen10 left 13:32 sftp joined 13:33 kaare_ joined 13:34 plobsing left 13:40 bluescreen10 joined 13:41 jimmy1980 joined
moritz_ rakudo: my %h = a => 1; say %h.pairs[0].key.PARROT 13:46
p6eval rakudo c8745b: OUTPUT«String␤»
moritz_ rakudo: say "foo".PARROT
p6eval rakudo c8745b: OUTPUT«Str␤» 13:47
[Coke] rakudo: my %h = a => 1; say %h.pairs[0].key.WHAT 13:48
p6eval rakudo c8745b: OUTPUT«Str()␤»
moritz_ if it reports String, .trans (and other methods from the parrot String PMC) leak through :( 13:50
rakudo: say 'a'.trans(['a'] => ['b']
p6eval rakudo c8745b: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
moritz_ rakudo: say 'a'.trans(['a'] => ['b'])
p6eval rakudo c8745b: OUTPUT«b␤»
moritz_ rakudo: my %h = a => 1; say %h.pairs[0].key.trans(['a'] => ['b']) 13:51
p6eval rakudo c8745b: OUTPUT«too few positional arguments: 2 passed, 3 (or more) expected␤ in main program body at line 22:/tmp/Z2IIOZ8OYU␤»
13:52 Hackbinary left 13:53 domidumont joined
moritz_ rakudo: say Hash ~~ EnumMap 13:53
p6eval rakudo c8745b: OUTPUT«Bool::False␤»
moritz_ rakudo: say ~Hash.^parents
p6eval rakudo c8745b: OUTPUT«1␤»
moritz_ rakudo: say ~Hash.^parents>>.perl
p6eval rakudo c8745b: OUTPUT«Method 'flat' not found for invocant of class 'ResizablePMCArray'␤ in main program body at line 22:/tmp/rMtVF3oHml␤»
moritz_ rakudo: say ~Hash.^parents[0] 13:54
p6eval rakudo c8745b: OUTPUT«Null PMC access in invoke()␤ in main program body at line 1␤»
moritz_ rakudo: my @a = Hash.^parents; say @a.perl
p6eval rakudo c8745b: OUTPUT«[EnumMap]␤»
13:54 icwiener joined
moritz_ then why is Hash ~~ EnumMap false? 13:55
rakudo: say Hash.does(EnumMap)
p6eval rakudo c8745b: OUTPUT«0␤»
moritz_ rakudo: say Hash.isa(EnumMap)
p6eval rakudo c8745b: OUTPUT«Method 'isa' not found for invocant of class 'RoleHOW'␤ in main program body at line 22:/tmp/mmxQsyFV5g␤»
moritz_ rakudo: say Hash.^isa(EnumMap)
p6eval rakudo c8745b: OUTPUT«Method 'isa' not found for invocant of class 'RoleHOW'␤ in main program body at line 22:/tmp/ImMtYV4DgV␤»
moritz_ urks
13:56 Holy_Cow joined
colomon loliblogged: justrakudoit.wordpress.com/2011/03/...ces-of-pi/ 13:56
moritz_ colomon: how about writing for (0..*) { ... } instead of the loop, and using @x[$_] instead of that shifting construct? 13:59
colomon because you don't shift every time through the loop
moritz_ oh right
then 14:00
my $idx = 0
@x[$idx++]
colomon I mean, you could rewrite it that way somehow, but it would be ugly.
moritz_ it's cleaner to expose your state in a variable than to hide it behind an implicit iteratore, IMHO
14:00 ruoso joined
colomon that approach would force you to keep the entire list in memory, though. 14:01
at least in theory, the way it's done now allows used elements to go away if no one else is using them.
moritz_ you still have a reference to @x anyway 14:02
btw you can get rid of those ugly sigils 14:05
&-sigils, that is 14:06
tadzik hello zebras
moritz_ rakudo: sub f(&g) { g(3) }; f -> $x { say $x } 14:07
p6eval rakudo c8745b: OUTPUT«3␤»
moritz_ no & required to call g
14:08 PacoLinux joined 14:09 tzhs joined 14:12 sftp_ joined 14:13 wtw left, sftp left, xinming_ joined, stepnem joined 14:16 xinming left
dalek kudo: 405afa9 | moritz++ | src/core/EnumMap.pm:
[EnumMap] return Perl 6 strings as keys
14:25
colomon moritz_++
moritz_ (that's the fix for github.com/perl6/book/issues/49 ) 14:26
14:39 itz joined
itz is there anyway of getting "use v5" working in rakudo? 14:39
14:40 M_o_C joined
moritz_ yes: 1) implement it 2) use it 14:40
maybe 1.5) submit patch :-)
itz ok no worries I thought 1) was going to be the answer 14:41
14:57 benabik joined
clkao seen jnthn 14:59
aloha jnthn was last seen in #perl6 1 days 8 hours ago saying "mberends: Yes, though only briefly.".
moritz_ clkao: travel makes jnthn's available here a bit sparse 15:00
15:01 stkowski joined 15:09 Rotwang joined 15:12 chin_up_ joined 15:15 chin_up left 15:17 hercynium joined 15:20 tzhs left 15:25 bacek left 15:28 ashleydev left, ashleydev joined 15:30 ashleydev left, ashleydev joined 15:32 SriniK joined 15:34 SriniK left, pmurias joined 15:43 SriniK_ joined 15:44 chin_up joined 15:47 chin_up_ left 15:49 chin_up left 15:51 chin_up joined 15:52 SriniK_ left
dalek ok: d347870 | moritz++ | TODO:
add a TODO file. Because we have much to do :-)
15:55
15:57 Axius joined 15:58 risou joined
dalek ok: 1ad574f | duff++ | src/classes-and-objects.pod:
[classes] rewording
15:58
ok: edeee38 | (Patrick Donelan)++ | src/roles.pod:
s/does affect/does not affect/
ok: d347870 | moritz++ | TODO:
add a TODO file. Because we have much to do :-)
15:58 domidumont left
moritz_ sorry, that was testing the deploy hook 15:58
shortcircuit moritz_: All good karma. :) 16:01
moritz_ stolen karma is bad karma 16:02
shortcircuit I can even it out a bit with --, if you like. :)
moritz_++ wanted to sacrifice accidentally-stolen carma, so here: moritz--, moritz--. 16:03
moritz_ thanks you
moritz_ bows
16:04 nymacro left 16:05 shi left 16:08 hanekomu left
tadzik applications start today, yep? 16:11
benabik tadzik: yep 16:12
tadzik I'd apply for the POD task
moritz_: is it written down somewhere?
moritz_ tadzik: I think I've added it to the tasks wiki 16:13
epo.means.no/gsoc2011/ideas "Pod parser for Rakudo" 16:14
not really many details - you can let your imagination run free 16:15
tadzik looks for a proposal template 16:16
is there some blessed one? 16:17
moritz_ I'd go with www.socialtext.net/perl5/gsoc_2010...l_template from last year 16:19
and ask rafl on irc.perl.org if it's the right one
tadzik FYI: it is 16:22
16:23 ruoso left, ruoso joined 16:26 risou_ joined 16:27 risou left 16:31 chin_up left
tadzik moritz_: who accepts the students' applications? 16:32
pmurias all are accepted
phenny pmurias: 27 Mar 01:35Z <sorear> tell pmurias STD_P5 frontend.
pmurias tadzik: some just don't get choosen ;) 16:33
16:33 birdwindupbird left
tadzik pmurias: oic :) 16:37
sorear (hi)
16:37 _dev0_ left
pmurias sorear: hi 16:38
re phenny message, you plan to implement 'use v5' using STD_P5 to create a p5 frontend?
sorear yes 16:39
pmurias will you do that as a GSoC project? 16:40
it certainly seems big enough 16:41
sorear was that a request?
16:42 benabik left
pmurias a question 16:42
sorear then I don't know. 16:43
pmurias the problematic part with that is that a lot of perl code relies upon XS modules 16:44
16:45 cdarroch joined, cdarroch left, cdarroch joined 16:59 dakkar left 17:05 masak joined
masak oh hai zebras! 17:05
colomon \o
moritz_ o/ 17:06
masak always nice to see you folks :)
moritz_ tadzik: all TPF mentors vote on the applications
17:08 risou_ left, ruoso_ joined 17:09 ruoso left
sorear pmurias: all XS modules will necessarily need rewriting 17:10
pmurias: it's "common wisdom" in #toolchain circles that 95% of economically important Perl 5 code is in-house pure-Perl scripts not on CPAN; the fact that there's so much XS on CPAN is selection bias 17:11
someone like jjore or Alias_ could probably give a better analysis 17:12
masak I'm not too surprised that lots of corporations using Perl have economically important Perl 5 code that they choose not to upload to CPAN. 17:17
I'm not sure how sure one can ever be about the 95% figure, though... 17:18
sorear well I'm deferring to jjore et al - if they contradict me, I'm wrong
diakopter because there are hundreds of thousands if not millions of corporations, and almost none of them upload code, let alone write code in uploadable/module/distribution format 17:19
masak nod
I'm writing such code at $dayjob
it's economically important, and it's not on CPAN.
diakopter economically important has to have a context, and it's subjective
I mean, I repeat myself 17:20
masak well, it drives software that makes money ;)
17:28 M_o_C left 17:33 jaldhar left, jaldhar joined
masak moritz_++ # fixing #85674... again ;) 17:33
17:33 DarthGandalf left
pmurias sorear: but it's possible to call C code from .net? 17:34
moritz_ s/again/for real/
17:35 M_o_C joined 17:36 Axius left
masak moritz_: I share the unease you express in the commit comment. 17:38
moritz_: maybe the fix would entail making $by a named arg even in the methods?
17:40 ruoso_ left
moritz_ masak: that's not a fix for the larger problem, just avoiding it 17:41
masak: the fix is really to have the proto redispatch to two multis, and have separate bodies for these multies
17:42 ruoso joined 17:43 risou joined 17:45 starcoder2 left
masak hm. 17:47
17:48 starcoder2 joined
colomon that doesn't seem right to me, but maybe I'm missing something here? 17:50
unless you mean one of the multis explicitly takes a named parameter :$by which is not defined? 17:51
:$by:U ? 17:52
masak does "not defined" mean "not passed"? 17:56
I think not.
colomon Maybe you'd better explain what you are thinking, because that seems like a complete non-sequitur to me. 17:57
PerlJam When would you want to differentiate between a parameter that was not passed and one that was passed but was undefined? 17:58
moritz_ has no idea what an undefined Ordering could look like 18:00
18:01 [hercynium] joined, [hercynium] left, [hercynium] joined
PerlJam moritz_: that's what you get when you use StupidSort the first few times. 18:02
18:03 nymacro joined, hercynium left, [hercynium] is now known as hercynium
colomon Or let me put it like this: 18:03
proto sub min(*@values, :$by) { $by.defined ?? @values.min($by) !! @values.min } seems like a perfectly reasonable solution to me.
moritz_ PerlJam: that would be s/undefined/random/ 18:04
18:04 MayDaniel joined
PerlJam moritz_: what's the difference? :) 18:04
Tene I feel vaguely uncomfortable with the proliferation of pairs of subs and methods with the same name, where the sub just redispatches to the method. 18:05
PerlJam Tene: it's just to keep things DRY 18:06
moritz_ Tene: welcome to Perl 6
PerlJam Tene: how would you do it?
moritz_ PerlJam: what's the difference between a brick and 5? :-)
Tene PerlJam: what's DRY about "min @foo" vs [email@hidden.address]
masak PerlJam: how is keeping a method form and a sub form of something DRY? :)
PerlJam Tene: I didn't say the interface was DRY 18:07
18:07 MayDaniel left
moritz_ thinks it should be s/DRY/DWIM/ 18:07
Tene PerlJam: I'd prefer that we either didn't do it at all, or that we had some further integration between sub and method invocation in the dispatcher. This weird halfway place where we just happen to have subs and methods with the same name has always felt awkward to me. 18:08
18:10 zby_home joined 18:12 rgrau joined
sorear pmurias: yes, the CLR can bind to C fairly well 18:13
colomon Tene: I believe a lot of it is supposed to happen automagically by putting "is export" on the method. but that's NYI 18:14
Tene colomon: Ah. 18:15
colomon though there are a few cases where the signatures are different enough that won't work.
Tene yeah... I'm not happy about the signature variations. 18:16
colomon TimToady: ping 18:21
18:21 Chillance joined
colomon rakudo: my $a' = 10; say $a' 18:22
p6eval rakudo 405afa: OUTPUT«===SORRY!===␤Confused at line 22, near "my $a' = 1"␤»
18:24 risou left 18:26 tyatpi_ joined 18:35 hercynium left
tadzik aloha 18:35
18:35 hercynium joined, hercynium left, hercynium joined 18:36 hercynium left
colomon hmm... what's the signature-y way to capture both bits of a Pair? 18:48
18:49 cogno joined
masak rakudo: (sub (Pair $p { :$key, :$value }) { say $key; say $value })("OH" => "HAI") 18:54
p6eval rakudo 405afa: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
18:57 mj41 joined 18:58 Vlavv_ joined
masak rakudo: (sub (Pair $p ( :$key, :$value )) { say $key; say $value })("OH" => "HAI") 18:59
p6eval rakudo 405afa: OUTPUT«Any()␤Any()␤»
masak that's the way to do it, AFAIK.
but the Pair implementation is in PIR, so it doesn't work. 19:00
flussence i can haz indent? github.com/flussence/p6-misc/blob/...-indent.pm
masak \o/
tadzik oh nice
masak flussence++ 19:01
tadzik flussence++ indeed
masak hm, sometimes I think .lines should have a Bool :with-newlines (or something) parameter
flussence :whole ? 19:02
tadzik :nom 19:03
masak flussence: accidentally? :P
flussence hm, now I wonder if I can combine the loops in the outdent code somehow... 19:05
19:10 rgrau left 19:13 ruoso left 19:18 cogno left 19:27 robinsmidsrod left 19:28 mberends joined, robinsmidsrod joined 19:35 ymasory joined
tadzik moritz_: got a while? 19:39
or you masak :)
moritz_ tadzik: yes 19:40
tadzik moritz_: I'd like to discuss the Pod Parser task with you, I'm putting my proposal together 19:41
moritz_ thought so :-)
tadzik as I can see, what is expected in the task seems to be just the Pod Parser and tools, not integrating that into Rakudo or anything, no .WHY. Is that desired, desired as an optional goal, or rather to be kept aside of the task? 19:42
I'm having so many ideas I don't think I'd implement them all even starting now:)
moritz_ desired as optional
tadzik so „If I finish earlier”?
moritz_ "if you can get it into your proposal in a sensible manner" 19:43
tadzik how does a sensible manner look in a proposal?
moritz_ good question :-) 19:44
tadzik I saw that one coming ;)
moritz_ what I thought is this:
you need a timeline
tadzik any last year proposals which included optional goals?
moritz_ with weekly granularity
tadzik oh, a timeline is my next question for you, I have no idea how to write this
moritz_ you're supposed to allocate 20..25 hours per week 19:45
so, how much can you get done in that time span?
masak I think having .WHY as a goal is important for the longevity of a Perl 6 Pod parser.
even if you don't get to it in the scope of the project.
flussence (answering my own last line: Yes!)
moritz_ for example you could allocate the first week for parsing inline markup like C<...> and according tests 19:46
tadzik masak: well, my general thought is that "If this doesn't fit in the proposal, I'll do it anyway (for this is just too awesome)"
moritz_ and the second for block parsing plus tests
then one for .WHY attachements
then think of other features you want to do 19:47
table parsing
tadzik .WHY is the most exciting thing for me, thought that might be a bit tricky. If I understand this correctly, a Comment must know in which Class::Method it's in, and have access to the code
masak tadzik: have you seen my draft? might contain ideas for you to steal^Wborrow
tadzik masak: nope, would love to
or not (.WHY). It'll be just an another property of a method/class/sub 19:48
I'd like to have .WHY and friends as nice (if not nicer) as Python has its """
and then a Zebradoc, generating a nice docs like Javadoc, then FatZebra, which will do the same but including the code itself making a nice Code Review tool. Or something like this 19:49
masak tadzik: gist.github.com/500732 19:50
moritz_ tadzik: solid parsing + tests for it + WHY are much more important than fancy user level docs
s/docs/apps/
tadzik moritz_: yeah, that are just my personal project ideas 19:51
masak: thanks, will look into it
masak: hmm, so that's your task? I'm confused 19:52
oh, even the STD doesn't do much Pod atm 19:54
19:54 rdesfo joined 19:56 woldrich left
masak tadzik: no, it's just a draft for something I meant to do at some point. I don't mind if someone GSoCs it. 19:56
moritz_ the original idea was to apply for a Hague grant, no? 19:57
masak yes. 19:58
moritz_ quick question regarding English: does "next Friday" always mean the soonest day that is a Friday, or sometimes also the Friday of the following week? 20:03
(I suspect the former, but I want to be sure9
s/9/)/
allbery_b usuakly the former, but sometimes the latter (especially if said on Thursday)
moritz_ said on a Monday 20:04
allbery_b unfortunately it's somewhat indeterminate as to whether it is distinct from a bare "Friday" or not 20:05
some peope use it when they mean "this Friday", some don't. English is too multivalued... 20:06
moritz_ waits until Friday before asking TPF about grant status :-)
20:07 M_o_C left
allbery_b whereas "a week from Friday" should be reliably interpreted 20:07
20:07 saaki left
moritz_ as should be ISO 8601 dates :-) 20:08
20:12 saaki joined, woldrich joined
tadzik moritz_: Would you expect the Pod Parses to be tightly in-Rakudo thing, so tools using the parser will just import the Perl6::Grammar or something like this? 20:12
20:13 woldrich is now known as Guest91589 20:14 tyatpi_ left
moritz_ tadzik: yes 20:15
afk 20:16
masak right. that's my understanding as well. 20:17
mberends feels the bloat detector hairs rise on the back of his neck 20:18
please make Pod6 parsing a module somehow 20:19
tadzik so the Core Module?
masak mberends: guess you'll just have to convince us that it's a better idea *not* to have it integrated... 20:20
tadzik Which Perl6::Grammar uses?
I can agree that loading a whole Perl6 parser to parse the pod may seem a little heavyish
and it may cause some people to write their own Parsers for they need it light. Moreover, it'll be more able to be used in a number of implementations 20:21
Also, modularity > monolith, if I got the CS homework correct 20:22
mberends what worries me is carrying this baggage in the perl6 executable even when the P6 program you are running contains no Pod6 at all.
tadzik: +1
TimToady
.oO(demand paging is your friend)
masak doesn't know which side he's on 20:23
moritz_ wonders who much trouble in-parser module loading will be 20:25
mberends does Rakudo or Parrot currently use demand paging?
TimToady was originally planned to, but I don't think it does currently
tadzik I see this as an encapsulated module for parsing Pod into some Pod::Blah data structures. Then Rakudo can just use that, and in case of things like `#= .WHY-stuff` it delegates parsing .WHY-stuff to the module
TimToady was hoped to mmap the bytecode into readonly memory 20:26
tadzik moritz_: parser is Nqp, not Perl 6 per se, right?
TimToady in any case, there are other ways to be lazy
for anything that is notionally there in the core, you really only need to know the names and the deps
tadzik OTOH, plenty of the "which method is that comment about" logic belongs to the Perl 6 parser rather than a documentation tool. But as mberends says, finding those pieces in the Perl 6 code will surely bring some overhead for the parser 20:28
correct me if I'm speaking bollocks
TimToady it's something to weigh, fershure
20:31 Holy_Cow left
mberends tadzik: zero-overhead is impossible, but parser hooks to empty actions that are overrideable by a module might be a fairly lean implementation. 20:31
20:35 zby_home left, zby_home joined
TimToady rakudo: my $aʹ = 10; say $aʹ 20:37
p6eval rakudo 405afa: OUTPUT«10␤»
TimToady colomon: ^^
.u ʹ 20:38
phenny U+02B9 MODIFIER LETTER PRIME (ʹ)
masak .u optimus prime
phenny masak: Sorry, no results for 'optimus prime'.
sjohnson heh 20:39
.u trollface
phenny sjohnson: Sorry, no results for 'trollface'.
sjohnson ... maybe someday soon masak :)
mberends phenny should have said "no results yet for...". Unicode will eventually encode every human thought. 20:40
masak .u every human thought 20:43
phenny masak: Sorry, no results for 'every human thought'.
mberends "yet"
masak can almost hear the '...yet'
mberends .u coffee 20:44
phenny mberends: Sorry, no results for 'coffee'.
tadzik .u tea
phenny U+273B TEARDROP-SPOKED ASTERISK (✻)
mberends .u beverage
phenny U+2615 HOT BEVERAGE (☕)
masak :P
.u you 20:45
phenny U+4DC3 HEXAGRAM FOR YOUTHFUL FOLLY (䷃)
masak heh :)
masak got Yi Jing'd
mberends .u human
phenny mberends: Sorry, no results for 'human'.
masak .u kill all humans
phenny masak: Sorry, no results for 'kill all humans'.
sjohnson youthful fully!
masak sjohnson: that's us! :) 20:48
sjohnson .u triangle
phenny U+29CC S IN TRIANGLE (⧌)
sjohnson most of the chars don't show up for me
(´ー` )
TimToady that last one is the first one that didn't for me
masak same here. 20:49
.u well
phenny U+4DEF HEXAGRAM FOR THE WELL (䷯)
sjohnson .u fatface
phenny sjohnson: Sorry, no results for 'fatface'.
sjohnson ... one day
masak I wonder how many hexagrams I can guess from memory...
.u wanderer
phenny U+4DF7 HEXAGRAM FOR THE WANDERER (䷷)
TimToady funny that it picked that one for 'triangle'
masak .u heaven
phenny U+2630 TRIGRAM FOR HEAVEN (☰)
TimToady .u LEFT TRIANGLE 20:50
phenny U+25F8 UPPER LEFT TRIANGLE (◸)
masak Yi Jing was one of the two things that got me interested in Chinese.
TimToady that's befor it
.u RIGHT TRIANGLE ABOVE LEFT TRIANGLE
phenny U+29CE RIGHT TRIANGLE ABOVE LEFT TRIANGLE (⧎)
TimToady and that's after it
TimToady wonders if it's grepping the keys of a hash... 20:51
sjohnson .u perl
phenny sjohnson: Sorry, no results for 'perl'.
sjohnson .u python
phenny sjohnson: Sorry, no results for 'python'.
mberends .u pearl
phenny mberends: Sorry, no results for 'pearl'.
masak aww, I just got bitten by === not autothreading over junctions. :( 20:52
and I *checked* that before writing that piece of code! still I fell for it.
20:52 mj41 left, sftp_ left
TimToady it's supposed to 20:53
masak oh good.
TimToady the junction logic is not supposed to be using the user's === to compare identities
not without making sure that it's not comparing junctions first, anyway... 20:54
masak all my tests pass now! \o/
20:56 Mowah left
masak 'night, #perl6 20:57
.u possessing 20:58
phenny masak: Sorry, no results for 'possessing'.
masak .u possession
phenny U+4DCD HEXAGRAM FOR GREAT POSSESSION (䷍)
masak \o/
20:59 masak left, kaare_ left
sorear those .u games would work better if phenny supported Unihan stuff 21:06
good * #perl6 21:07
mberends good * sorear
pmurias sorear: hi
21:08 sftp joined
sorear hello pmurias 21:08
21:17 icwiener left 21:25 bluescreen10 left 21:27 zby_home left 21:34 plobsing joined
moritz_ phenny: tell masak you might be interested in books.slashdot.org/story/11/03/28/1...lashdot%29 21:39
phenny moritz_: I'll pass that on when masak is around.
colomon TimToady++
moritz_ urks, I didn't know the URL was so long
sorear colomon: 21:42
perl6: sub foo(*@x) { say @x.shift }; my @kay = 5,4,3,2; say @kay.perl; foo(@kay); say @kay.perl;
p6eval rakudo 405afa, niecza v3-82-g1dc43eb: OUTPUT«[5, 4, 3, 2]␤5␤[5, 4, 3, 2]␤» 21:43
..pugs: OUTPUT«[5, 4, 3, 2]␤*** Can't modify constant item: VUndef␤ at /tmp/_KZJGU3bIR line 1, column 20-29␤»
sorear that's how "ro-iterator" is spelled currently
limitation: cannot be used more than once per arglist
perl6: sub foo(*@x) { say @x.shift }; foo(1..*);
p6eval pugs: OUTPUT«pugs: out of memory (requested 1048576 bytes)␤» 21:44
..rakudo 405afa, niecza v3-82-g1dc43eb: OUTPUT«1␤»
dalek ecza: 8caf924 | sorear++ | FETCH_URL:
Update bootstrap for v4
21:45
colomon sorear: nice! 21:46
21:46 takadonet left
colomon perl6: sub foo(*@x) { say @x.shift }; my @kay := 1... *; say @kay[^4; foo(@kay); say @kay.perl; 21:46
p6eval rakudo 405afa: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<[ ]>, couldn't find final ']' at line 22␤»
..pugs: OUTPUT«*** ␤ Unexpected " say"␤ at /tmp/eL29BqAoxN line 1, column 50␤»
..niecza v3-82-g1dc43eb: OUTPUT«===SORRY!===␤␤Any()Unable to parse subscript at /tmp/Q4Rj56v_jm line 1:␤------> @x.shift }; my @kay := 1... *; say @kay[⏏^4; foo(@kay); say @kay.perl;␤Couldn't find final ']'; gave up at /tmp/Q4Rj56v_jm line 1 (EOF):␤------>
..; say @kay[^4; …
colomon perl6: sub foo(*@x) { say @x.shift }; my @kay := 1... *; say ~@kay[^4]; foo(@kay); say ~@kay[^4];
p6eval pugs: OUTPUT«*** ␤ Unexpected " say"␤ at /tmp/3YAWrdWU3a line 1, column 50␤»
..niecza v3-82-g1dc43eb: OUTPUT«Unhandled exception: Series op NYI␤ at /home/p6eval/niecza/lib/CORE.setting line 387 (CORE die @ 2)␤ at /home/p6eval/niecza/lib/CORE.setting line 1171 (CORE infix:<...> @ 2)␤ at /tmp/OiNM8kbkEw line 1 (MAIN mainline @ 3)␤ at /home/p6eval/niecza/lib/CORE.setting
..line 1264 (CORE …
..rakudo 405afa: OUTPUT«1 2 3 4␤1␤1 2 3 4␤»
colomon rakudo++ ! 21:47
allbery_b wonders why pugs is in there still, as bitrotted as it is 21:54
22:06 whiteknight joined
sorear because it's still better than rakudo at some things 22:06
and it's not really bitrotted, it just hasn't kept up with the fancy additions to the spec 22:07
colomon sorear++, btw :) 22:11
22:14 f00li5h left 22:17 araujo left 22:22 f00li5h joined 22:26 awoodland joined 22:34 araujo joined 22:38 cosimo joined 22:40 Guest91589 is now known as woldrich, woldrich left, woldrich joined, whiteknight left 22:41 awoodland left 22:42 felher joined 22:44 orafu left 22:46 whiteknight joined
felher Hey folks. I noticed that there is no <>-Operator in perl6 (Or am i just wrong? :) )? Is there still a way to do the neat ' my @array = <>; ' or does one have to something like: if there are command-line-arguments, open them, ...? 22:49
flussence rakudo: my @array = get; say :@array.perl;
p6eval rakudo 405afa: OUTPUT«"array" => ["Land der Berge, Land am Strome,"]␤»
flussence someone else will probably know how command line params work... 22:50
oh 22:52
you want lines() instead of <> 22:53
22:53 kst is now known as __k_s_t__, orafu joined 22:54 stkowski left
felher flussence: Ah, works like a charm. Thanks! 22:54
22:57 __k_s_t__ is now known as kst 23:11 Eevee left
sjn wonders what happened to rakudo.de 23:12
23:18 pmurias left 23:23 icwiener joined 23:24 cdarroch left 23:32 rdesfo left 23:43 Chillance left 23:46 donri left
sjn rakudo: (1..6).roll(10).sort() 23:49
p6eval rakudo 405afa: ( no output )
sjn rakudo: (1..6).roll(10).sort().say
p6eval rakudo 405afa: OUTPUT«1122233445␤»
sjn rakudo: (1..6).roll(10).sort().perl
p6eval rakudo 405afa: ( no output ) 23:50
sjn rakudo: (1..6).roll(10).sort().perl.say
p6eval rakudo 405afa: OUTPUT«(1, 1, 1, 2, 2, 3, 4, 5, 5, 5)␤»
sjn rakudo: (1..6).roll(10).sort(*).perl.say
p6eval rakudo 405afa: OUTPUT«No applicable candidates found to dispatch to for 'sort'. Available candidates are:␤:(Mu : &by = { ... };; *%_)␤␤ in main program body at line 22:/tmp/jHQHOzVOY2␤»
sjn rakudo: (1..6).roll(10).sort(-*).perl.say
p6eval rakudo 405afa: OUTPUT«(6, 6, 6, 6, 5, 5, 5, 4, 2, 1)␤»
sjn should sort(*) work, since sort(-*) works?
sorear no 23:52
TimToady no, * is Whatever, but -* is a closure
sjn uhm. ok?
TimToady we could specifically teach sort to take * to mean "natural sort" or some such, of course 23:53
but that would be a special case
sjn that tingles my POLA thingy
allbery_b this is confusion. there was a WhateverCode for a while to try to disambiguate but that caused more problems than it fixed
^confusion^confusing
TimToady rakudo: say (-*).WHAT 23:54
p6eval rakudo 405afa: OUTPUT«WhateverCode()␤»
TimToady that hasn't changed
allbery_b ah, I thought that got despecced
sjn rakudo: (*).WHAT
p6eval rakudo 405afa: ( no output )
sjn rakudo: say (*).WHAT
p6eval rakudo 405afa: OUTPUT«Whatever()␤»
TimToady Whatever means "dwim me", and most operators dwim into a closure 23:55
sjn well, when it comes to sorting, if sort(-*) is the canonical "sort reverse", then I find it sane if sort(*) does exactly the reverse (and vice versa :)
TimToady sort +* does the opposite :) 23:56
23:56 sftp left
TimToady * is not intrinsically numeric 23:56
23:57 awwaiid left, kfo_ joined
allbery_b it does make sense to me that "sort whatever" invoke a default sort 23:57
sjn rakudo: say <a b f d c>.sort(-*) 23:58
p6eval rakudo 405afa: OUTPUT«abfdc␤»
23:58 mikehh joined
sjn rakudo: say <a b f d c>.sort 23:58
p6eval rakudo 405afa: OUTPUT«abcdf␤»