»ö« 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! | Rakudo Star Released!
Set by diakopter on 6 September 2010.
00:09 svetlins joined 00:13 sjn left
sorear TimToady: ping 00:14
00:17 araujo left
TimToady pang 00:21
00:27 meraxes left 00:31 svetlins left 00:32 meraxes joined
supernovus Well I'm off for the day. Anyway, it's far from finished, but the first version of Flower is now available on Github. Petal templates come to Perl 6 :-) 00:36
sorear TimToady: Can you reflect on the meaning of 'sub foo { bar }; BEGIN { foo }; sub bar { }' for me?
I think a lot of my questions about BEGIN are wrapped up in the interpretation of that 00:37
00:37 supernovus left
jnthn will be curious to see the reflections :-) 00:38
TimToady that should successfully call foo from the BEGIN, but fail to find a definition for bar 00:40
at most there would be a stub saying "we saw this name but we don't know what it means yet"
sorear What if I wrote 'sub foo { bar if 0 }; BEGIN { foo }; sub bar { }' ?
TimToady that would be fine
sorear The big question with stubs is where to put them
TimToady well, STD doesn't use stubs at all for that 00:41
it keeps a list of mysteries, and resolves them at CHECK time
so in STD, if it could do BEGIN, it wouldn't find bar at all, not even a stub
I think Perl 5 puts a stub, iirc 00:42
but tracks whethere a body has showed up yet
sorear Well 00:43
std: sub foo { bar }; BEGIN { foo }; sub bar { } # This passes
p6eval std : OUTPUT«ok 00:01 116m␤» 00:44
sorear std: BEGIN { bar if 0 }; sub bar { } # This doesn't
p6eval std : OUTPUT«===SORRY!===␤Undeclared routine:␤ 'bar' used at line 1␤Check failed␤FAILED 00:01 117m␤»
sorear What's the difference?
TimToady BEGIN does its own CHECK for mysteries
and determines there's been no def for bar yet 00:45
sorear Why doesn't BEGIN check for mysteries in foo?
TimToady because foo doesn't have to run immediately
00:46 whiteknight left
sorear so you're saying that 'sub foo { bar if 0 }; BEGIN { foo }; sub bar { }' should work, but 'BEGIN { bar if 0 }; sub bar { }' should not? 00:47
what is the rationale for this?
TimToady foo runs in the context of the whole compilation unit, BEGIN can only run in the context of what has been defined so far 00:49
sorear But BEGIN has a static dependency on foo.
TimToady I don't see what that has to do with anything 00:50
00:51 orafu left
sorear Both BEGIN and foo have to run before bar is seen 00:51
00:51 orafu joined
sorear They're no different 00:51
jnthn?
00:52 PerlJam left, thundergnat left, thundergnat joined
TimToady it makes no sense to mention something that hasn't been defined yet at BEGIN, but it does make sense to mention something in foo that hasn't been defined yet. BEGIN is in some sense functioning as its own compilation unit, and the preceding text is its setting. 00:53
though it's more like a prelude 00:54
the same would be true of any macro body that has to run at compile time that refers to something that hasn't been defined yet 00:56
00:56 nymacro joined, PerlJam joined
TimToady the main point of macros and BEGIN is to capture control at that point of the compilation, so they can't depend on the later code that depends on them 00:57
jnthn TimToady: My concern with BEGIN calling subs that are outside of the BEGIN block is that we can't treat the whole file as a single compilation unit. We may have to do a chunk of compilation and then fix things up later on. 00:59
TimToady: It's all well and good if you're writing an interpreter, like Perl 5. But it's hell for compilers. 01:00
sorear I don't have issues with the "two compilation units" thing
jnthn I do.
I really don't like it. 01:01
sorear What bothers *me* is that I might have to call subs with unresolved lexicals
jnthn It means you have to go and do a load of fixing things up later on.
It may be worse than that. (more)
Imagine that I have
multi foo(T $x) { stuff }; BEGIN { foo(S.new) }; multi foo(S $x) { stuff }; # where S is a subtype of T 01:02
sorear I need to know, at compile time, how many pads up the definition of bar is
jnthn At the point of doing the call in the BEGIN we've only seen half of the candidates. 01:03
01:03 thundergnat left, thundergnat joined
jnthn sorear: Well, there may not even *be* a bar defined later too 01:03
sorear I wouldn't even mind supporting 'sub bar { ... }; sub foo { bar if 0 }; BEGIN { foo }; sub bar { }' 01:04
jnthn We just don't know at that point
TimToady well, multi is kinda beside the point, insofar as a call is always to the proto, though adding candidates is certainly an issue
jnthn Well, the call can be a dynamic lookup through the outer chain if we don't have an entry to hand to compile it more optimally
sorear jnthn: Oh, I had forgotten about the possiblity of dynamic lookup 01:05
TimToady as soon as we have a call, we already know statically if we have a target
sorear That will certainly wokr
jnthn The multiple compilation unit-y thing and having to merge them all is what bothers me more though.
TimToady std: sub foo {}; BEGIN { foo; sub foo {} } 01:06
p6eval std : OUTPUT«===SORRY!===␤Lexical symbol '&foo' is already bound to an outer symbol (see line 1);␤ the implicit outer binding at line 1 must be rewritten as OUTER::<&foo>␤ before you can unambiguously declare a new '&foo' in this scope at /tmp/U9VYNVssRa line 1:␤------> [32…
TimToady see, it's already looked up BEGIN's foo call
I think at worst you have to scrap any temporary candidate lists for protos 01:07
jnthn TimToady: You're still addressing specific issues rather than my overall dislike of having to compile up to a certain point, with lexical scopes left open so we can modify them further on.
TimToady well, I don't see how that's negotiable if we ever want macros 01:08
BEGIN is just a particularly stupid macro 01:09
jnthn TimToady: macros are rather more self-contained though, I figured?
TimToady macros can see their scopes too
in fact, we have to be tricky to be careful which scope they're using at any spot 01:10
hence :COMPILING and such
and lift
jnthn *sigh*
TimToady BEGIN at least has the non-problem that it is defined and executed in the same scope
01:13 flatwhatson_ left 01:18 lichtkind joined
sorear jnthn: if it was just leaving lexical scopes open, I could handle that 01:19
easily
jnthn sorear: I suspect it's more than that.
sorear: Well, maybe I could do, if I could actually, you know, just go and fix the darn lexical implementation. 01:20
sorear what about
lichtkind jnthn: o/
01:20 thundergnat left
sorear #`( 1000 subs go here ); BEGIN { eval $unpredictable-string } 01:20
which subs need to be code-generated before BEGIN?
jnthn Well, probably all of them to be on the safe side... 01:21
01:21 thundergnat joined
jnthn Trouble is, we're compiling them with incomplete knowledge of what lies ahead 01:21
e.g. suppose we have more multi-candidates ahead after the BEGIN.
We thus didn't know what candidates we had when we compiled those 1000 subs after all 01:22
lichtkind jnthn: excuse to disturb you will be in vienna?
jnthn So we can't apply any of the optimizations to avoid the mutli dispatcher.
lichtkind: No, I don't plan to be there.
Util [S32]/Containers/Hash says: "With C<pairs> the values are references back to the original containers".
perl6: my %h = A => 1, B => 2; .value = 9 for %h.pairs; %h.values.sort.say;
p6eval rakudo a204ba: OUTPUT«12␤»
..pugs: OUTPUT«99␤»
jnthn It'd be fun, but budget/time, etc.
Util Is this a bug in Rakudo, or just a well-known "not implemented yet"?
lichtkind jnthn: i do was so good last time with you all :) 01:23
jnthn lichtkind: Enjoy. :-)
Util: Something looks wrong there either way.
Util: pmichaud++ is planning some work on hashes and it would likely help with this. 01:24
lichtkind jnthn: im not quit shure what my talks will be aboput, will presenting enhanced version of my rebol talk, maybe some perl 6 stuff too
if you will not be there nobiody can correct me :)
sorear lichtkind: hi
lichtkind sorear: hi
sorear you were looking for me on Tuesday
but you were only on the channel the exact hours I have class
jnthn lichtkind: Well, you're just going to have to be right about everything then, aren't you. :-) 01:25
lichtkind jnthn: aaaah
sorear: you mena me?
sorear: yes i anted ask you about your implementation i guess
sorear lichtkind: you are called lichtkind, yes? 01:26
lichtkind but im now heading toward bed
sorear: i think i should be now be visible as lichtkind too
sorear lichtkind: which of the 168 hours in the UTC week do you want to talk to me?
jnthn: In general I think that if the user drops a BEGIN in the middle of a large scc of subs they should get what's coming to them 01:27
lichtkind sorear: what about in 10 hours? 01:28
sorear "the call can be a dynamic lookup through the outer chain" was exactly the insight I needed
lichtkind: that will be 4:30 am local time...
Util jnthn: thanks!
jnthn sorear: Happy to help. ;-) 01:30
sorear: I'm in more of a bind because Rakudo's current compilation model is rather more tied to the single compilation unit approach and closed lexical pads etc
01:31 lichtkind_ joined
lichtkind_ sorear: please repeat had an 24h disconnect 01:31
sorear jnthn: so is niecza's current compilation model; I'm trying to build a new one which can do everything Perl6 needs 01:32
lichtkind: which of the 168 hours in the UTC week do you want to talk to me?
lichtkind: that will be 4:30 am local time...
jnthn sorear: Right, similar for 6model
sorear 6model seems to be focusing mostly on ClassHOW
what I'm doing is more of a Sub overhaul 01:33
lichtkind_ sorear: allrigth the i have nothing missen
01:33 lichtkind left
lichtkind_ what about 9:30 yor local time? 01:33
01:33 lichtkind_ is now known as lichtkind
jnthn sorear: Aye, but I expect what I'm working on to be the foundation of porting Rakudo to .Net and beyond. 01:33
sorear lichtkind: problematic. 10:30 or 11:30 would work much better
jnthn sorear: My point more is that I can't really just decide "oh, I'll go and do X change to lexpads" because that lives inside Parrot. 01:34
sorear 2:30-3:30 would also work, although you'll have to excuse any grumpiness :)
lichtkind :) 01:35
sorear jnthn: I expect that in the long run Rakudo will need to treat Parrot like a more-dynamic JVM or CLR
lichtkind nop here
sorear so when? 01:36
lichtkind but 9:30 pm here (11:30 am for you) fould be fine
i have questions regardiing niecza for my articles and my docs
jnthn: some regarding 6model i have too :) 01:37
jnthn lichtkind: OK, catch me tomorrow.
sorear I think I have a fairly solid understanding of 6model at this point
jnthn :-)
sorear SMOP is my big todo now
jnthn sorear: I hope it was reasonably penetrable.
6model took some inspiration from SMOP 01:39
Quite a bit, in fact.
Though does some things quite differently.
lichtkind is smop still active? 01:40
01:41 synth left, synth joined, ZadYree left
jnthn sleeps 01:41
01:41 mtve joined
lichtkind good night 01:41
sorear jnthn: I see Parrot's inner interpreter and pmc/dispatch system as potentially (post-lorito) much better than the JVM/CLR for Perl6
jnthn: but the standard PMC types are all junk
lichtkind sorear: what is lorito? 01:42
sorear lichtkind: code name for a large set of parrot refactors aimed at reducing the coupling between parrot's core and libraries 01:43
to #parrot, a small core means maintainability and the ability to make a JIT with less than 100 man-years 01:44
lichtkind sorear: thank you
bye
sorear to me, lorito means not having to use a bunch of pmcs designed by the PSF ;) 01:45
01:47 exodist_ is now known as Exodist
lichtkind :) 01:47
01:47 lichtkind left 01:48 meppl left 01:52 thundergnat left 01:54 molaf_ joined 01:56 amkrankruleuen left 01:57 molaf left 02:25 nymacro left 02:27 nymacro joined 02:31 clkao_ joined, lue left 02:36 nymacro left 02:48 araujo joined, araujo left, araujo joined, felipe__ joined, felipe__ left 02:49 leprevost joined 02:50 petdance joined 02:59 satyavvd joined 03:01 orafu left, orafu joined, LaVolta joined 03:08 gfldex left 03:09 gfldex joined 03:10 masonkramer left, makkksimal left 03:16 makkksimal joined 03:17 satyavvd left 03:19 nymacro joined 03:26 szabgab left, szabgab joined 03:27 envi^home joined 03:29 makkksimal left 03:30 makkksimal joined 03:32 bluescreen left 03:33 flussence left 04:01 satyavvd joined 04:04 pythonian4000 is now known as pythonian4000afk 04:05 pythonian4000afk is now known as pythonian4000, pythonian4000 is now known as pythonian4000afk, pythonian4000afk is now known as pythonian4000 04:15 petdance left 04:17 pythonian4000 is now known as pythonian4000afk, pythonian4000afk is now known as pythonian4000, pythonian4000 is now known as pythonian4000afk, pythonian4000afk is now known as pythonian4000 04:21 pythonian4000 is now known as pythonian4000afk, pythonian4000afk is now known as pythonian4000 04:33 gfx joined 04:55 Chillance left, satyavvd left 04:58 nymacro left 05:03 satyavvd joined 05:13 jaldhar left 05:14 jaldhar joined 05:27 araujo left 05:33 Guest23195 joined 05:39 orafu left, orafu joined 05:46 orafu left, satyavvd_ joined, orafu joined 05:48 satyavvd left, satyavvd_ is now known as satyavvd
dalek odel: 3f1d29b | mberends++ | java/runtime/Rakudo/Metamodel/SharedTable.java:
[java] finish the last todo items in SharedTable (calling Runtime.Ops)
06:07
mberends market & 06:09
06:15 frettled joined 06:20 am0c^ left 06:22 hercynium left 06:23 icwiener joined 06:26 pythonian4000 is now known as pythonian4000afk 06:27 nymacro joined 06:37 satyavvd_ joined 06:38 satyavvd left, satyavvd_ is now known as satyavvd 06:53 nymacro left 06:57 satyavvd left 07:00 agentzh joined
dalek ecza: 8743f45 | sorear++ | src/Metamodel.pm:
Start prototyping a BEGIN-time metamodel
07:00
ecza: eb45fca | sorear++ | / (2 files):
[mm] First runnable prototype
07:01 xinming left, xinming joined 07:42 tadzik joined 07:43 standz joined
standz Irssi 0.8.12 (20071006) - irssi.org/ 07:48
sorear upgrade 07:50
07:50 satyavvd joined
standz Sat Sep 18 08:57:46 BST 2010 07:58
07:58 ChanServ sets mode: +o sorear, standz was kicked by sorear (Your client is malfunctioning and spamming the channel)), sorear sets mode: -o sorear 08:41 tadzik left 09:00 gfx left 09:02 wamba joined 09:10 baest_ joined 09:12 baest left
sorear out 09:14
moritz_ www.perlmonks.org/?node_id=860609 ideas for good replies welcome 09:20
phenny moritz_: 17 Sep 22:49Z <diakopter> tell moritz_ I sigtermed your pugssvn on feather3; sorry if I wasn't supposed to
moritz_ diakopter++
09:31 jhuni joined 09:32 JimmyZ joined
JimmyZ replies it. 09:32
09:50 M_o_C joined 09:51 M_o_C left, icwiener left, icwiener joined 09:57 M_o_C joined 10:02 M_o_C left 10:04 M_o_C joined, M_o_C left 10:06 M_o_C joined 10:10 M_o_C left 10:11 satyavvd left, JimmyZ left 10:13 M_o_C joined 10:23 masak joined
masak y0, #perl6! 10:23
I wonder if twitter.com/2mad4milk/status/24759067704 is representative of a common sentiment among Perl 5 developers. :) 10:24
10:32 timbunce joined, pythonian4000afk is now known as pythonian4000 10:35 whiteknight joined
moritz_ likes for %hash { and then using .key and .value } 10:37
masak I like it too, but I keep forgetting about it :)
moritz_ that's why I remind you :-) 10:38
masak thank you :)
today's plan: finish the conversion of the blog content, write skeleton outlines for my two talks at OSDC.fr, sniff at Web.pm in order to become less averse to digging into the last week of it. 10:47
10:55 flatwhatson joined 10:56 Trashlord left 10:59 Trashlord joined
masak I'm looking for a "this line is too long but shouldn't really be broken here" symbol. I found ↩ -- any other suggestions? 11:01
moritz_ .u # 11:13
phenny U+0023 NUMBER SIGN (#)
moritz_ .u ↩
phenny U+21A9 LEFTWARDS ARROW WITH HOOK (↩)
moritz_ masak: you could take a look at what the book uses
might be the same
masak good idea; I will.
11:21 kuzuha joined 11:22 araujo joined
masak didn't find any line continuation characters in the book. 11:29
11:31 icwiener left, icwiener joined 11:33 flussence joined
mberends masak: digging into Web.pm is what I had in mind for our Swedish-Dutch Perl6 Summit :) 11:48
masak excellent. I'm all for that.
best I can do to prepare that is probably to get as much talk prepping out of the way as possible before that. 11:49
mberends ok, wfm
11:50 agentzh left
mberends I bottled out of giving a talk at osdc.fr, btw :/ 11:50
masak 'bottle out of'? 11:52
mberends 'chickened out'
masak oh, ok. 11:53
mberends british colloquialism
masak you seem to have been busy-ish lately; more difficult to plan talks then, perhaps. 11:56
11:56 M_o_C left
mberends aye, but October 2-10 is reserved exclusively for Perl 6 11:59
flussence my sticking-spectest_smolder-in-a-crontab idea didn't work so well :( 12:00
the box froze half an hour after starting apparently 12:01
12:04 zulon joined
moritz_ flussence: I strongly recommend a script that sets an ulimit, and only the spectests 12:11
flussence I'd probably be better off doing them on my desktop instead, that's got more RAM than I know what to do with... 12:13
12:14 ruoso joined
moritz_ finnaly I wrote a reply: www.perlmonks.org/?node_id=860630 12:17
masak moritz_++ # I agree. 12:23
12:24 zulon left
masak more generally, Perl 6 likes to put very powerful tools just out of reach of the oneliner scripter, to be used when you need them. OO, grammars, slangs, meta-OO... 12:24
Juerd Besides that, proper OO in modules makes writing those 300 line scripts easier too.
masak that said, Perl 6 does trade a little bit of looseness on the low end for gains further on. 12:26
things like "don't put an infix '<' next to a term, because Perl 6'll think it's a postcircumfix"
Juerd But with the mandatory whitespace it does *look* a lot looser :) 12:28
I'll be happy to see less tight crammed code
masak maybe "looser" in the sense of "more air". 12:29
Juerd Yes :)
masak but not "looser" in the sense of "I can write whatever I want".
Juerd Well, you can't make stuff up and expect it to work, so that was never possible anyway.
masak I'm not complaining, mind. I'm just talking about tradeoffs. 12:30
moritz_ colomon: re justrakudoit.wordpress.com/2010/09/...y-actions/ I think you could factor out a deep_flatten sub or so
colomon: which flattens the first level of itemized arrays from a slurpy arg 12:31
rakudo: my @a = [1, 2], [3, 4]; say @a>>.flat.perl
p6eval rakudo a204ba: OUTPUT«([1, 2], [3, 4])␤»
moritz_ rakudo: my @a = [1, 2], [3, 4]; say @a>>.list.perl
p6eval rakudo a204ba: OUTPUT«([1, 2], [3, 4])␤» 12:32
moritz_ rakudo: my @a = [1, 2], [3, 4]; say @a.map({@($_)}).flat.perl
Juerd rakudo: my @a = [1, 2], [3, 4]; say @a.flat.perl
p6eval rakudo a204ba: OUTPUT«(1, 2, 3, 4)␤»
rakudo a204ba: OUTPUT«[[1, 2], [3, 4]]␤»
Juerd Now to find out which output belongs to which code :) 12:33
Yours first, I guess
moritz_ indeed
Juerd apparently doesn't understand what .flat does
moritz_ .flat on an array or capture only flattens parcels
Juerd Oh 12:34
moritz_ rakudo: say (<a b>, <c d>).perl
rakudo: say (<a b>, <c d>).flat.perl
p6eval rakudo a204ba: OUTPUT«(("a", "b"), ("c", "d"))␤»
rakudo a204ba: OUTPUT«("a", "b", "c", "d")␤»
moritz_ however I thougth that [1, 2].flat.perl would return (1, 2)
*thought
rakudo: say [1, 2].flat.perl
p6eval rakudo a204ba: OUTPUT«[1, 2]␤» 12:35
12:37 icwiener left 12:38 icwiener joined 12:42 ruoso left 12:43 patspam joined 12:46 icwiener left, icwiener joined 12:51 jaldhar left 12:56 satyavvd joined 12:58 leprevost left 13:09 colomon left 13:13 colomon joined, orafu left
colomon rakudo: my @a = [1, 2], [3, 4]; say @a>>.iterator>>.list.flat.perl 13:13
p6eval rakudo a204ba: OUTPUT«(1, 2, 3, 4)␤»
13:13 orafu joined 13:17 Patterner left, colomon left 13:22 Mowah joined, colomon joined
jnthn ahojte, #perl6 13:23
colomon \o
13:27 thundergnat joined
moritz_ oh hai 13:27
thundergnat hi perl6 13:28
13:28 Psyche^ joined, Psyche^ is now known as Patterner
thundergnat moritz_: there is a minor typo in the perl6 book in subs-and-sigs. 13:29
moritz_ thundergnat: which one?
thundergnat In the Pairs table, beverage is spelled 'tea' and 'tee'
13:30 rgr` joined
colomon reminds me, there is a repeated paragraph in the grammar section of the book. (or at least, there was as of the last PDF.) 13:30
moritz_ indeed, thanks
thundergnat: thanks, fixed
colomon: PerlJam++ did a sweep through that chapter recently; might be worth checking whether he fixed it 13:31
thundergnat Also, the code markup for Pair in the table legend is being passed through to the pdf.
colomon starts "Regexes inside a grammar do not need a scope declarator,"
thundergnat rendering as C<Pair> 13:32
moritz_ colomon: that sentence doesn't seem to be in the source at all 13:33
13:33 wamba left
moritz_ at HEAD 13:33
colomon latest PDF (that I've found anyway) must be behind HEAD. :)
moritz_ indeed
I'll boot my Debian/Squeeze box later today and build a fresh one
can't build on my laptop :( 13:34
dalek ok: 4ac3d50 | moritz++ | src/subs-n-sigs.pod:
[subs-n-sigs] typo noticed by thundergnat++
13:35
13:36 pythonian4000 is now known as pythonian4000afk 13:39 colomon left 13:41 satyavvd left 13:48 rgr` left, rgr` joined
LaVolta did someone submit this article (www.riffraff.info/2007/5/20/a-spell...l6-part-3) to reddit or * :) 13:51
13:52 rgr` left 13:54 hercynium joined
moritz_ www.reddit.com/r/programming/commen...itted=true 13:59
I've also submitted it the perl reddit now: www.reddit.com/r/perl/comments/dfmq...rt_3_of_3/ 14:00
14:01 risou joined
LaVolta cool :) 14:07
14:07 Mowah left 14:09 Mowah joined 14:12 colomon joined
masak I must confess that that blog post looks more like 2010 Perl 6 than 2007 Perl 6. 14:13
14:13 colomon left, colomon joined
colomon stupid wi-fi 14:13
LaVolta yes it is...and it's still a valuable post, i guess Peter Norvig should put that under "Perl 6" :) 14:14
masak I guess what I'm wondering is... how come the date both in the URL and the post itself is 2007? 14:15
moritz_ maybe updated? 14:19
14:20 colomon_ joined, colomon left, colomon_ is now known as colomon
gfldex std: sub infix:<>>-<<>(Hash %a, Hash %b){ return Mu; }; 14:20
p6eval std : OUTPUT«Use of uninitialized value $starter in concatenation (.) or string at /opt/perl-5.12.1/lib/site_perl/5.12.1/CursorBase.pm line 2754.␤Use of uninitialized value $stopper in concatenation (.) or string at /opt/perl-5.12.1/lib/site_perl/5.12.1/CursorBase.pm line 2754.␤Use of uninitial…
14:21 hercynium left
gfldex how do i overload >>-<< ? 14:21
14:24 colomon_ joined, colomon left, colomon_ is now known as colomon
masak gfldex: use » « outermost. 14:25
gfldex std: sub infix:>>>>-<<<<(Hash %a, Hash %b){ return Mu; };
p6eval std : OUTPUT«===SORRY!===␤Malformed block at /tmp/f3ufkwbXFP line 1:␤------> sub infix:⏏>>>>-<<<<(Hash %a, Hash %b){ return Mu; ␤ expecting any of:␤ coloncircumfix␤ signature␤Parse failed␤FAILED 00:01 116m␤»
masak gfldex: sorry, meant « ». the important thing is not to use the same symbols as inside. 14:26
gfldex std: sub infix:<<>>-<<>>(Hash %a, Hash %b){ return Mu; }; 14:27
p6eval std : OUTPUT«Use of uninitialized value $starter in concatenation (.) or string at /opt/perl-5.12.1/lib/site_perl/5.12.1/CursorBase.pm line 2754.␤Use of uninitialized value $stopper in concatenation (.) or string at /opt/perl-5.12.1/lib/site_perl/5.12.1/CursorBase.pm line 2754.␤Use of uninitial…
gfldex rakudo: sub infix:<<>>-<<>>(Hash %a, Hash %b){ return Mu; };
p6eval rakudo a204ba: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤» 14:28
colomon gfldex: why do you want to overload >>-<<?
moritz_ gfldex: try infix:«>>-<<» 14:29
gfldex it would simplyfy a lot what i am doing
moritz_: does not work either 14:30
moritz_ if you overload infix:<->, and mark your operator as 'our', the >>-<< should pick up your operator 14:32
gfldex i will try that 14:33
14:36 jhuni left
gfldex moritz_: Nominal type check failed for parameter '%a'; expected Associative[Hash] but got Num instead 14:36
:(
14:37 pythonian4000afk is now known as pythonian4000
moritz_ it's a bit hard to diagnose without seeing the full code 14:37
14:39 LaVolta left
gfldex moritz_: i want to do something like this: gist.github.com/585725 14:42
if i could overload the hyperoparator i could handle all cases myself 14:43
moritz_ hm 14:53
gfldex i could try to overload infix:<*,-,+,/> too but that feels kinda wrong 14:55
moritz_ doesn't have a good idea at the moment 14:59
14:59 pythonian4000 is now known as pythonian4000afk
gfldex is there a spectest for overloading hyperoperators? 15:01
15:02 thundergnat left
flussence trying to add -1 «*« %stock doesn't work either :( 15:03
well it works, but any key not listed in %stock vanishes from the list entirely 15:04
15:05 whiteknight left, thundergnat joined
moritz_ rakudo: say (^-2) 15:11
p6eval rakudo a204ba: OUTPUT«␤»
15:13 thundergnat left, M_o_C joined 15:14 thundergnat joined
masak just found this: lolcathost.org/b/intro-p6/IntroPerl6.html 15:20
looks like a nice summary.
jnthn was just about to point out that masak had pasted a link to localhost... 15:21
masak if it were, I sure hope I'd have recognized the page :) 15:22
jnthn :) 15:23
oh noes, hunger strikes! 15:25
jnthn pauses the solo hackfest to get some noms
15:25 WinstonSmith joined 15:26 jaldhar joined
TimToady colomon: don't need temp arrays--something like: make do for @( $<line_of_music> )>>.ast -> @line { @line } 15:34
for loops return their list of values already 15:35
moritz_ likes "make do for"
TimToady is thinking about generalizing make to set the return value of any function without actually returning 15:36
15:36 thundergnat left
colomon has no idea why he didn't at least do gather / take instead of ugly push. 15:36
moritz_ because push is actually faster? :-) 15:37
TimToady most of the gather/takes in rosettacode have turned out to be redundant with the loop's return value
15:41 zulon joined 15:45 sECuRE joined
sECuRE before i do some unnecessary work: are you aware that in parrot/rakudo from rakudo-star 2010.08 there is no IPv6 support? do you accept patches for that or is there already some work in progress? 15:46
moritz_ we are aware; we'll surely accept patches to Rakudo 15:47
15:47 s1n left
sECuRE i’d need to modify parrot aswell 15:47
moritz_ and I also heard that the parrot folks think that IPv6 support is a laudable goal
so I think the chances are pretty good
sECuRE alright, let’s start hacking :) 15:48
moritz_ there's a #parrot on irc.perl.org
15:48 s1n joined
masak sECuRE++ 15:50
pmichaud good morning, #perl6 16:00
masak morning, pmichaud 16:02
jnthn oh hai, pmichaud
16:18 dual left 16:19 zby left 16:22 lue joined
lue o hai o/ 16:23
jnthn o/ lue 16:24
masak lue: \o 16:25
lue .oO[ Once Perl 6 can use Ruby files, I'd be glad do help out with Diaspora :) ] 16:37
masak Rakudo could, once.
16:41 no2 joined
dalek osystem: da9bc8f | supernovus++ | projects.list:
Fixed exemel definition, added the rest of my active projects.
16:43
lue .oO[ Or I could learn Ruby itself... nah, language learning takes too long, and it'd only be for one thing ] 16:44
16:44 makkksimal is now known as makkksimal_off
lue I'm guessing it could in its alpha days? 16:44
16:44 makkksimal_off is now known as makkksimal
lue afk 16:50
masak it was during the alpha days, but I think it might have stopped working again before the big switch to ng. 16:56
17:01 dual joined 17:02 cj left 17:04 cj joined 17:08 no2 left 17:13 makkksim1l joined 17:14 makkksimal is now known as makkksimal_off, makkksim1l left 17:15 rgrau_` joined 17:17 cj left, cj joined 17:20 cotto left 17:22 cotto joined 17:23 cottoo joined 17:24 cj left, cottoo left
moritz_ seen KyleHa 17:40
aloha KyleHa was last seen in #perl6 13 days 16 hours ago saying "I was thinking en.wikipedia.org/wiki/Roast_(comedy)".
17:41 cj joined
masak .oO( famous last words... ) 17:45
dalek ast: 280ebde | moritz++ | S32-list/reverse.t:
test for RT #77914, .reverse shoudl flatten parcels

Also removes some non-informative Pod
ast: 8c3cfd3 | moritz++ | S02-builtin_data_types/hash.t:
test for RT #75868, Match objects as Hash keys
sECuRE ok, first step done: 17:49
Connecting to [::1]:5984
HTTP/1.1 200 OK
17:50 rgrau_` left, rgrau_`` joined
dalek ast: 5ca3dae | moritz++ | S02-builtin_data_types/array.t:
test for RT #57790, scalars indexed with [1] should return a Failure
17:51
moritz_ \o/
sECuRE: ship it!
sECuRE nah, still a lot missing ;)
i want to have at least bind() and accept() working aswell
moritz_ release early, release often :-)
sECuRE yes, but at the moment it’s only getaddrinfo and connect
and testcases are missing 17:52
moritz_ rakudo: my $x; $x &&= 5; say $x
p6eval rakudo a204ba: OUTPUT«5␤»
moritz_ somebody please confirm that this is wrong
rakudo: my $x; $x = $x && 5; 17:53
p6eval rakudo a204ba: ( no output )
moritz_ rakudo: my $x; $x = $x && 5; say $x
p6eval rakudo a204ba: OUTPUT«Any()␤»
flussence && is the same as in p5, right?
moritz_ yes
jnthn moritz_: Looks wrong to me.
17:53 zulon left
flussence rakudo: my $x; say ?$x; 17:53
p6eval rakudo a204ba: OUTPUT«0␤»
flussence looks wrong to me.
17:55 hirschnase joined 17:56 envi^home left
dalek ast: 519bef8 | moritz++ | S03-operators/short-circuit.t:
some basic tests for RT #77864, &&=, ||= etc. One of them fails
17:56
17:58 rgrau_`` left
moritz_ I see KyleHa++ has switched his mail reporter to 'roast' already 18:01
dalek ast: 6a09536 | moritz++ | S03-operators/binding-scalars.t:
test for RT #77462: binding should have list assignment precedence
18:02
18:02 cj left 18:03 cj joined, rgrau joined
moritz_ 8 remaining tickets that needs test, but could be closed otherwise 18:03
18:04 bluescreen joined, nexusone joined 18:07 lichtkind joined 18:11 cj left
masak nom & 18:11
18:11 masak left 18:13 cj joined 18:18 Mowah left
moritz_ Carcassonne & 18:21
18:24 jfried joined 18:26 patspam1 joined, patspam1 left 18:27 risou left 18:29 patspam left 18:30 mariano__ joined 18:33 bluescreen left 18:38 mariano__ left 18:47 wamba joined
dalek odel: 3ccafcd | jnthn++ | parrot/src/ (5 files):
Remove all the Parrot sketching stuff from 6model reop; everything that could be extracted from here has been, and development is now taking place in nom branch of the nqp-rx repository.
18:56
18:57 rgrau left 19:00 makkksimal_off is now known as makkksimal 19:05 nperez_ is now known as nperez
sorear good * #perl6 19:10
lichtkind: ping. sorry I'm late 19:11
lichtkind sorear: everything is fine 19:13
so we talk later?
sorear not now?
lichtkind sorear: i thought you are now late for something else 19:14
moritz_: would it be possible to set up a chatbot for wiki changes?
sorear No, I'm late for you. 19:15
We agreed on an hour ago.
lichtkind sorear: yes but i was writing currently anyway 19:16
im always busy
19:17 amkrankruleuen joined
lichtkind so how you came up with the name? 19:18
19:20 wamba left, timbunce left
lichtkind sorear: i mean you :) 19:23
19:25 nexusone left 19:26 timbunce joined
sorear I asked masak++ 19:27
after a few minutes of brainstorming, he mentioned 'nie mas čas', and I butchered it into niecza 19:31
lichtkind sorear: but thats slovak and masak comes from somewhere in north i thought :) 19:36
jnthn lichtkind: There was a joke video masak++ showed me on Youtube once where a Czech song had been annotated with Swedish words that they sounded like. 19:38
lichtkind: We've since made endless puns based around this. "my mame čas" was mis-heard as "nemame čas" by me when I first listended to the video, and I think the name niecza was derived from that. :-) 19:39
(Yes, I know, it's insane. :-)) 19:40
lichtkind understands now
not insane
but not as funny as zavolaj
jnthn Zavolaj is only the imperative form of "to call" :P 19:41
lichtkind yes but it stand for native call interface 19:42
19:42 M_o_C left
jnthn Thus the name :-) 19:42
lichtkind and while you where in bratislave the natives called "zavolaj"
it was her communication interface
genious
jnthn lol, you just managed to do a Slovak case declension while writing english. :-D 19:43
(in bratislave)++ :-)
lichtkind its my mother tonge !
english is just my third lang
jnthn :-) 19:44
19:44 PhatEddy joined
lichtkind indeed funny :) 19:45
sorear: still around?
19:45 fab_ joined
sorear yes 19:46
lichtkind great so name is clear even the cz in it leads the way
so i read its about runtime improvements 19:47
19:47 fab_ left
lichtkind you tring out a new architecture? 19:47
trying 19:48
PhatEddy The rakudo.org web site seems to be down. I can ping the domain but safari complains the "the server unexpectedly dropped the connection".
19:50 alester left 19:51 Kodi joined
Kodi rakudo: say (+(0.Int)).WHAT; say (+(0.Int + 0.Int)).WHAT; 19:51
p6eval rakudo a204ba: OUTPUT«Int()␤Num()␤»
Kodi Is that a bug? If so, is it known?
sorear lichtkind: no, I'm using i386 like nearly everyone else here 19:55
lichtkind sorear: no i mean software architecture of niecza 19:56
i mean the german sense of the word architecture :)
sorear I don't really have one
Or rather, I'm changing it daily
lichtkind meaning the logical structure of the compiler
sorear I'm not stuck to a single underlying layout like Rakudo is
lichtkind so you searching more for single ideas 19:57
not to proof a concept
sorear I'm trying to build a working compiler. The structure is secondary
often I have to change the structure to get things done 19:58
lichtkind but then you could join rakuda do
sorear I tried that once. Didn't work out.
lichtkind :)
20:07 nexusone joined
sECuRE alright, now i can get the effective remote socket address :) 20:18
lichtkind sorear: i cant comprehent how niecza cant have an architecture? 20:20
sorear lichtkind: it has one, but it's not an important part of the plan 20:21
Rakudo has an externally imposed architecture which it must follow
niecza's architecture is an internal thing, and I like to change it often
lichtkind interesting 20:22
20:22 hercynium joined 20:33 nexusone left, PhatEddy left 20:36 timbunce left 20:43 timbunce joined 20:48 icwiener left 20:51 hirschnase left 20:53 hirschnase joined 20:55 pythonian4000afk is now known as pythonian4000
lichtkind but nieczka uses rakudo as platform or something else? 20:56
20:56 hirschnase left 20:57 hirschnase joined 21:01 whiteknight joined
flussence lichtkind: niecza uses .Net 21:01
dalek kudo: 12088a8 | KodiB++ | src/core/Temporal.pm:
[core/Temporal] Fixed RT #77910 (DateTime attributes like .hour should always be Ints).
21:02
flussence nothing to do with rakudo/parrot at all
21:02 Mowah joined
lichtkind flussence: so .net has also some lex/yacc tools? 21:04
dalek ast: a32217d | KodiB++ | S32-temporal/DateTime.t:
[DateTime.t] Added tests for RT #77910.
21:06
flussence I don't think it does, better to ask someone who knows it...
jnthn I believe Niecza uses its own grammar engine, just as Rakudo does (e.g. the one in nqp-rx) 21:07
21:08 rbuels left
lichtkind jnthn: thanks 21:09
21:26 timbunce left 21:29 flatwhatson left 21:32 flatwhatson joined 21:33 whiteknight left
moritz_ rakudo: say ~(1..6).roll(10) 21:33
p6eval rakudo a204ba: OUTPUT«5 3 4 4 6 3 4 3 5 1␤»
21:35 rurban joined
rurban rakudo.org down? 21:36
moritz_ yep 21:37
rurban only for short?
moritz_ it's the first report I've heard 21:38
Kodi++ # datetime hacking 21:40
rurban++ # rakudo packaging
sECuRE++ # IPv6 hacking
enough karma give for today :-) 21:41
rurban I thought it should be time for a new star release somewhen. and I'm just testing the new icu-4.5.1
Before I only had libicu38
jnthn BTW, a lot of my commits over the coming weeks are going to be to the branch github.com/perl6/nqp-rx/commits/nom 21:42
moritz_ jnthn: then we should track that...
jnthn If there's interest, it could be added to the things dalek reports on by $people-with-ability
moritz_ jnthn: you are one of them :-)
jnthn Oh?
moritz_ rurban: I guess on Thursday there'll be another Star release
jnthn: it's not yet documented properly, but there's a config file in the mu repo that controls dalek 21:43
rurban good. parrot is fine with my new icu, but I wanted to test rakudo-star also
jnthn moritz_: ah, oik 21:44
er, ok :-)
moritz_: I'm deep in meta-model hackery at the moment, but feel free to add now or I can later :-)
moritz_ jnthn: I will
21:46 Mowah left
moritz_ rakudo: say Q:PIR { %r = box 5 } 21:47
p6eval rakudo a204ba: OUTPUT«5␤»
moritz_ sECuRE: see above
sECuRE alright
dalek : b65de19 | moritz++ | misc/dalek-conf.json:
[dalek] track nqp-rx/nom
21:48
21:52 meppl joined
moritz_ rakudo: enum A <b c>; enum A <b c>; 21:53
p6eval rakudo a204ba: OUTPUT«===SORRY!===␤Contextual $*PKGDECL not found␤»
moritz_ std: enum A <b c>; enum A <b c>;
p6eval std : OUTPUT«===SORRY!===␤Illegal redeclaration of symbol 'A' (see line 1) at /tmp/nv2tUGIUEQ line 1:␤------> enum A <b c>; enum A⏏ <b c>;␤Illegal redeclaration of symbol 'b' (see line 1) at /tmp/nv2tUGIUEQ line 1:␤------> enum A <b c>; enum A <b c>[33…
moritz_ submits rakudobug
sECuRE++ found it
rakudo: sub a { }; sub a { }; 21:55
p6eval rakudo a204ba: OUTPUT«===SORRY!===␤Can not re-declare sub &a without declaring it multi at line 22, near ";"␤»
moritz_ should wait for the spectest to finish before pushing patches :-) 22:07
jnthn moritz_: I've pushed a couple of patches to the branch - we'll see if dalek spots 'em. 22:08
dalek kudo: e59e96d | moritz++ | src/Perl6/Actions.pm:
check name clashes for enum names
moritz_ jnthn: I don't know how often the config file is read, so even if it doesn't pick up the feed yet, it might do so tomorrow 22:10
jnthn moritz_: aha, OK
dalek kudo: ccde8dc | moritz++ | t/spectest.data:
run enums/basic.t
22:14
ast: 895d239 | moritz++ | S12-enums/basic.t:
fudge enums/basic.t for rakudo
moritz_ -> sleep 22:15
sECuRE sleep tight
22:15 hercynium left
sECuRE "Could not find sub !YOU_ARE_HERE" < what exactly does this error message mean? (i’m compiling rakudo after changes to IO/Socket/INET.pm 22:16
22:19 hercynium joined, hercynium left, hercynium joined 22:22 LoRe left, LoRe joined 22:24 M_o_C joined, M_o_C left, M_o_C joined 22:26 Guest23195 left 22:28 hirschnase left 22:38 renormalist joined
TimToady YOU_ARE_HERE is what the setting thinks your mainline code is called 22:47
dalek p-rx/nom: f8aeada | jnthn++ | build/Makefile.in:
Stub in stuff to build dynops and dynpmcs in the Makefile.in.
22:48
p-rx/nom: f8a9b8b | jnthn++ | src/ (2 files):
Stub in STable structure and PMC.
p-rx/nom: a87a3a3 | jnthn++ | src/pmc/ (2 files):
Stub in REPR and RakudoObject PMCs. Also group name should be nqp.
p-rx/nom: 4f0ee8c | jnthn++ | src/pmc/repr.pmc:
Oops, forgot REPR stub in last commit.
22:48 dalek left, dalek joined, ChanServ sets mode: +v dalek
jnthn d'oh, it tried to report everything from this morning. :-) 22:49
22:54 Chillance joined 23:00 amkrankruleuen left 23:13 Kodi left 23:24 Alias left, Alias joined
dalek p-rx/nom: af90644 | jnthn++ | src/metamodel/knowhow_bootstrapper.c:
Implement (representation-polymorphic) type creation by KnowHOWs. Also implement add_method and find_method in the KnowHOW meta-object. This means we can create KnowHOWs, add methods do them and dispatch to them.
23:34
jnthn *to them :-) 23:35
dalek p-rx/nom: f13c33a | jnthn++ | src/metamodel/knowhow_bootstrapper.c:
Add .^compose for KnowHOWs.
23:51
23:56 risou joined