»ö« 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:05 fasad joined 00:06 ksi left 00:10 aloha left, aloha joined 00:13 PZt joined 00:36 Trashlord left
[Coke] "I don't know what it's for"... junk DNA. Awesome. 00:36
00:40 Trashlord joined
colomon ;) 00:46
you don't mess with TimToady's code.
unless you need to to make it work. ;)
eviltwin_b (of course we're finding junk DNA mostly isn't) 00:52
00:53 Chillance left 00:54 Chillance joined
colomon errr... for the record, the code does *not* work without the allegedly junk BUILD method 00:58
TimToady++
chee does it work if you take out all the commands? 00:59
benabik I think the problem was the parameter should have been :%!elems, not just %!elems 01:01
01:06 drbean left 01:07 drbean joined 01:16 kmwallio joined 01:20 drbean left 01:21 drbean joined
colomon is adding oodles of KeyBag tests and watching the Super Bowl 01:25
01:31 Woodi_ left, Woodi joined 01:35 drbean left, drbean joined
colomon So what should the Numeric value of a Bag / KeyBag be? 01:48
01:48 drbean left 01:51 drbean joined 01:53 Chillance left 02:02 drbean left, drbean joined
sorear colomon: I vote for "same as .elems", whatever that is. 02:10
colomon niecza: my $a; $a += 10; say $a
p6eval niecza v14-18-gc83b9cd: OUTPUT«Use of uninitialized value in numeric context␤ at /home/p6eval/niecza/lib/CORE.setting line 1207 (warn @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 240 (Any.Numeric @ 6) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /tmp/_JFeKRbOA6 line 0 (mainli…
colomon niecza: my $a; $a++; say $a
p6eval niecza v14-18-gc83b9cd: OUTPUT«1␤»
colomon sorear: that's what it is now, but if you think of the Bag as a bag of colored marbles, that's giving you the number of colors rather than the number of marbles. though I guess that is how a Hash works.... 02:12
02:16 drbean left 02:17 drbean joined
fasad is looking forward to a talk by RMS in his institute today :) 02:23
how is RMS as a speaker? anyone here heard any talks by RMS? 02:24
sorear I don't know anything about him as a speaker, but I've heard he's a horrible human being 02:25
especially regarded as such in geek-feminism circles
fasad oh ! 02:26
but still he's the father of OSS...
02:27 kst left
fasad will be back with details of the talk later 02:27
fasad afk
02:29 kst joined 02:34 fasad left 02:36 kmwallio left 02:43 zjmarlow left 03:12 whiteknight left 03:13 preflex left 03:14 preflex joined 03:19 alvis joined
cognominal fasad, these days he tries to evangelize OSS but he tends to lose focus, insisting about calling Linux Gnu/Linux and desparaging Open Source as being evil. To the outsider it sound like a trotskyst badmouthing othet trotskysts over obscure catechism points. 03:24
*disparaging. 03:25
Critcizing him is easy. As a geek, I am not the last to forget to adapt my talks to the specific audience. 03:28
dalek ecza: 256172a | (Solomon Foster)++ | lib/CORE.setting:
Expand Set, KeySet, Bag, and KeyBag .new to specially handle (Key)Sets and maybe (Key)Bags. Not 100% clear if this is to spec or not (I think the only mention was in the spectests).
03:29
ast: cf643f6 | (Solomon Foster)++ | S02-types/keybag.t:
Add 21 new tests. Still needs more.
03:31
03:37 cognominal left, cognominal joined 03:41 DarthGandalf left 03:52 orafu left, orafu joined 03:59 DarthGandalf joined 04:05 ajox joined 04:23 Su-Shee_ joined 04:25 xinming left 04:26 xinming joined, Su-Shee left 05:04 ajox left, ajox joined 05:10 birdwindupbird joined 05:16 ajox left 05:32 Radvendii left 05:33 ajox joined
moritz \o 05:41
TimToady o/ 05:43
sorear /o 05:48
moritz what would @someLoL.tree(2, 2) do? same as .tree(4) ? 05:53
dalek kudo/nom: 33fb020 | moritz++ | src/core/ (2 files):
implement more .tree forms
05:54
ast: f684933 | moritz++ | S02-lists/tree.t:
more List.tree tests
05:55
moritz also it would be nice to get a sanity review for this commit 05:56
TimToady I suppose; I'd entirely forgotten about the numeric args
TimToady still wonders if it should be called .strata instead... 05:57
moritz I guess it only makes sense in combination with the closure form
.tree(2, *.map(&something), 2)
TimToady well, 2 is just sugar for *.Seq xx 2 (or whatever we do for Seq these days) 05:58
moritz maybe *.item
TimToady hmm, *.Seq xx 2 probably doesn' tdo the right thing...
{ .item } xx 2 is more like, I guess 05:59
06:06 rsimoes left, rsimoes joined 06:07 Trashlord left 06:10 Trashlord joined 06:11 zjmarlow joined 06:30 xuser joined 06:32 xuser left
moritz nom: say lines()>>.words.tree.map: *.elems 06:49
p6eval nom 33fb02: OUTPUT«1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1␤»
moritz nom: say lines()>>.words.tree.perl 06:50
p6eval nom 33fb02: OUTPUT«("Land", "der", "Berge,", "Land", "am", "Strome,", "Land", "der", "Äcker,", "Land", "der", "Dome,", "Land", "der", "Hämmer,", "zukunftsreich!", "Heimat", "bist", "du", "großer", "Söhne,", "Volk,", "begnadet", "für", "das", "Schöne,", "vielgerühmtes", "Österreich,", "v…
moritz nom: say lines()>>.words.perl
p6eval nom 33fb02: OUTPUT«(("Land", "der", "Berge,", "Land", "am", "Strome,").list, ("Land", "der", "Äcker,", "Land", "der", "Dome,").list, ("Land", "der", "Hämmer,", "zukunftsreich!").list, ("Heimat", "bist", "du", "großer", "Söhne,").list, ("Volk,", "begnadet", "für", "das", "Schöne,").list,…
moritz hm 06:51
07:01 wtw joined
moritz nom: say (("Land", "der", "Berge,", "Land", "am", "Strome,"), ("Land", "der", "Äcker,", "Land", "der", "Dome,")).tree.map: *.elems 07:01
p6eval nom 33fb02: OUTPUT«6 6␤»
07:01 Trashlord left
moritz so .tree works for nested parcels, but not nested lists. 07:01
bonsaikitten ah, good old patriotism :) 07:02
moritz nom: say lines().elems
p6eval nom 33fb02: OUTPUT«23␤»
moritz nom: say lines()>>.words.elems
p6eval nom 33fb02: OUTPUT«81␤»
07:03 Psyche^ joined, Psyche^ is now known as Patterner
moritz nom: say lines()>>.words.WHAT 07:05
p6eval nom 33fb02: OUTPUT«Parcel()␤»
07:05 Trashlord joined
moritz nom: say lines()>>.words.list.perl 07:05
p6eval nom 33fb02: OUTPUT«("Land", "der", "Berge,", "Land", "am", "Strome,", "Land", "der", "Äcker,", "Land", "der", "Dome,", "Land", "der", "Hämmer,", "zukunftsreich!", "Heimat", "bist", "du", "großer", "Söhne,", "Volk,", "begnadet", "für", "das", "Schöne,", "vielgerühmtes", "Österreich,", "v…
sorear awww.
moritz oh, that step flattens already :/
sorear en.wikipedia.org/w/index.php?title...=471187627
bonsaikitten gotta love the gender-neutral attempts by the "all sex is rape" 'tards 07:07
moritz well, not even I would have considered that notable for an encyclopediatric entry
sorear erm, no, those are unrelated
masak morning, #perl6. 07:11
moritz nom: say lines()>>.words.lol.map: *.elems
p6eval nom 33fb02: OUTPUT«6 6 4 5 5 2 2 0 4 5 4 4 4 2 2 0 5 6 3 4 4 2 2␤»
moritz \o masak
nom: say lines()>>.words.lol.elems
p6eval nom 33fb02: OUTPUT«23␤»
sorear morning, masak
moritz nom: say lines()>>.words.elems 07:12
p6eval nom 33fb02: OUTPUT«81␤»
sorear finds eirself in a defensive mood
bonsaikitten: You should know that attaching "'tards" to a sweeping overgeneralization like that is very unwelcome behavior here. 07:20
bonsaikitten sorear: I've filtered down my expression to about the minimal level I can use without not saying anything 07:21
sorear: I just really really hate people that want to control what I say or think :)
sorear it looks to me the other way around. 07:22
other people are using gender-neutral pronouns, and you're complaining about it.
please don't try to control what *I* think.
bonsaikitten no, they are trying to bend language
he-man becomes it-man!
TimToady bends language all day long 07:23
bonsaikitten I had too endure too much language corruption from female supremacists, it's easier to keep language as it is, even if "man" may be ambiguous
masak reads geekfeminism.wikia.com/wiki/Richard_Stallman and is astonished and sad 07:24
sorear "female supremacists"? are you serious?
bonsaikitten yes 07:25
they don't want equality
whenever we offer them equality they attack us at male pigs
so sad.
TimToady so don't be a pig
bonsaikitten TimToady: sorry, I have a penis by birth
TimToady: nothing I can do about that heinous crime against feminists 07:26
TimToady take it elsewhere please
this is not a hate channel
masak I don't think a good stance towards feminism is ridicule.
bonsaikitten--
bonsaikitten masak: I'm an egalitarian ... treat everyone equal, not create artificial divides
TimToady then stop acting like your manhood is threatened when it isn't 07:27
masak bonsaikitten: you're using language yourself that doesn't befit an egalitarian.
bonsaikitten: sorear called you on it.
bonsaikitten masak: I'm unwilling to compromise on facts 07:28
TimToady fine; don't compromise on them elsewhere please 07:29
moritz finds he doesn't understand List/LoL/Parcel at all 07:30
masak moritz: do you have excellent questions for us to ponder?
07:30 Patterner left
moritz masak: no, my current questions are more on the "wtf?" level 07:32
as far as I can understand, a List can contain (flattening) lists
and .[] and .elems etc. behave as if they were flattened out 07:33
Parcels can have flattening sublists too
and if you .lol a Parcel, it stops the sublists from flattening 07:34
masak "wtf?" is a question :)
moritz so far so good
masak aye.
moritz masak: but not an excellent question
now
masak no, granted.
moritz Parcel.list flattens out the sublists
and that surprises me
TimToady me too
that's why we have .flat 07:35
moritz because the List interface already keeps up the pretense of flatness
TimToady .list is supposed to be transparent to subparcels 07:36
moritz it is, but not to sublists 07:38
07:38 Woodi left
moritz nom: say ((1, 2), (3, 4)).list.perl 07:38
p6eval nom 33fb02: OUTPUT«((1, 2), (3, 4)).list␤»
masak feels nestedly confused
moritz that still has the subparcels
nom: say ((1, 2).list, (3, 4).list).perl
p6eval nom 33fb02: OUTPUT«((1, 2).list, (3, 4).list)␤»
moritz that still has the sublists
but
nom: say ((1, 2).list, (3, 4).list).list.perl 07:39
p6eval nom 33fb02: OUTPUT«(1, 2, 3, 4).list␤»
moritz poof! gone!
nom: say ((1, 2).list, (3, 4).list).[0]
p6eval nom 33fb02: OUTPUT«1␤»
moritz nom: say ((1, 2), (3, 4)).[0]
p6eval nom 33fb02: OUTPUT«1␤»
moritz nom: say ((1, 2), (3, 4)).list.[0]
p6eval nom 33fb02: OUTPUT«1 2␤»
moritz -> another short sleep cycle, I hope 07:40
07:50 yves left 08:18 Su-Shee_ is now known as Su-Shee 08:20 yves joined 08:28 tarch joined 08:30 Woodi joined, tarch left
Su-Shee good morning everyone. 08:32
masak morning, Su-Shee. 08:35
Su-Shee dear russia, please take back your winter, thank you, yt europe. *shiver*
masak how cold? here we have a pleasant -1 ℃, and flurries. 08:37
Su-Shee -16
and I just walked into the office.. ;) 08:38
masak holy crap.
my guess is you're somewhere inland... :)
Su-Shee it's one of those treacherously sunny and bright winter days, just pretending to be pleasant.. ;)
08:39 mj41 joined
Su-Shee masak: berlin is on the tip of a weather tongue which brings us insane heat in summer (if you'd look onto a european map, we're the tip of balkan heat) and in winter we often get eastern winds and those bring the russian winter.. ;) 08:40
and there's only flat land between russia and berlin. nothing to break wind. nicely flat for 1000km
masak ouch. 08:44
you should put up, I dunno, like a wall to protect you from Eastern Europe... 08:45
Su-Shee man now I finally know why the weather went so weird.. ;)
masak ;)
Su-Shee goes rebuilding the berlin wall. it stood right in front of my building. should protect me nicely. 08:46
masak: why are you so warm in january in _sweden_?! 08:47
masak it got really cold around Friday/Saturday. but now it's back up to slightly below freezing again. 08:48
overall, we've had a really mild first half of the winter. 08:49
Su-Shee haha january the 12th was 0.1 WARMER than july 12th this season..
08:51 birdwindupbird left
masak The time is out of joint; O cursed spite, 08:53
That ever I was born to set it right!
08:58 birdwindupbird joined
moritz huh, why does class Parcel has its own at_pos *and* postcircumfix:<[ ]> ? 08:59
09:01 rsimoes left
masak sounds like a thinko. 09:02
oh hey. refreshing the weather widget made the temperature jump down to -9 ℃. 09:12
that's more like it.
tadzik good morning
Su-Shee masak: and if you rub your monitor it gets warmer? ;) 09:13
masak morning, dear tadzik! \o/
Su-Shee: maybe if I rub the weather station that feeds my phone the data :P
Su-Shee masak: just wrap your wlan router into a warm blanky! 09:14
frettled masak: lovely winter weather :) 09:15
Has anyone heard from/seen mberends lately? I don't see anything from or regarding him in my backlog. 09:16
moritz frettled: he's having much stress these days
frettled: both business and family
frettled: but he hopes to be back to Perl 6 hacking in a few weeks
09:16 ajox left
frettled moritz: aha, thanks for the heads-up 09:16
09:20 ajox joined, daxim joined 09:43 [particle] left 09:45 [particle] joined
jnthn enjoy his -9C 30 minute walk to teaching this morning :) 09:46
*enjoyed 09:47
moritz: I think there is a reason that Parcel has both of those...
moritz: I recall some bug a while back 09:48
jnthn wishes he would remember the details
moritz I've removed it and spectested 09:49
jnthn Apparently, Siberia itself has been getting down to -35C of late. :)
09:49 ajox left
jnthn moritz: OK...did it change anything? 09:49
moritz t/spec/S02-types/lists.rakudo (Wstat: 0 Tests: 29 Failed: 2) Failed tests: 26-27 TODO passed: 1, 3-4
jnthn moritz: Could always be in the testneeded
oh... :)
moritz and t/spec/S02-types/whatever.rakudo dies with
jnthn ah 09:50
moritz Method 'gimme' not found for invocant of class 'Parcel'
jnthn Was the bug (1,2,3)[*] maybe...
moritz or [] maybe
# RT #61844 09:51
is (0, 1)[*-1..*], 1,
that's the test that dies 09:55
masak nom: say (0, 1)[*-1..*] 09:56
p6eval nom 33fb02: OUTPUT«1␤» 09:57
jnthn YAPC::EU CFP is open \o/ 10:02
masak woot 10:03
masak wonders what to send in
jnthn Talk proposals?
10:03 mathw_ is now known as mathw
jnthn Or cake. Organizers would like that too, I guess. :) 10:04
masak A cake with a talk proposal on it.
jnthn Written in icing!
moritz wants blueberries on the cake
Ronja supports this notion too 10:05
tadzik jnthn: Siberia? We've had -30 here in Poland few days ago
masak makes a note to buy blueberries on the way home
jnthn tadzik: That's...impressive
tadzik it's a bit cold :)
jnthn has a big furry hat for these circumstances :) 10:06
10:07 not_gerd joined
jnthn gets back to teaching stuffs 10:07
not_gerd jnthn: I took a look at 6model and tried to figure out how it could fit into Parrot 10:08
jnthn: could you take a look at gist.github.com/1751167 and tell me if it looks somewhat sane?
mathw likes this idea of submitting talk proposals in the form of cake 10:11
not_gerd phenny, tell jnthn irclog.perlgeek.de/perl6/2012-02-06#i_5109668 10:15
phenny not_gerd: I'll pass that on when jnthn is around.
10:16 not_gerd left
colomon nom: my %h = a => 5, b => 10; for %h -> $a { say $a.WHAT; say $a; }; 10:31
p6eval nom 33fb02: OUTPUT«Pair()␤"a" => 5␤Pair()␤"b" => 10␤»
moritz niecza: my %h = a => 5, b => 10; for %h -> $a { say $a.WHAT; say $a } 10:33
p6eval niecza v14-19-g256172a: OUTPUT«Pair()␤"a" => 5␤Pair()␤"b" => 10␤»
10:40 fasad joined
fasad just came back from rms' talk 10:53
jlaire fasad: did you call him the father of OSS? 10:54
fasad jlaire: i did not, but... 10:55
arnsholt I'm sure he'd be really pleased with that =D
tadzik oh, I'm sure he want
jlaire hehe
tadzik erm, won't
you know, "It's Free Software! Not Open Source!" 10:56
fasad he himself said that him being called father of oss is possible only someone did artificial insemination and stole his sperms !
jlaire sounds like rms
fasad he also did his ""St. Ignutius" routine
daxim awesome. did he wear a poncho? 10:57
fasad with the "EMACS virgins joke"
yeh he did wear his poncho and his halo !
*yes
daxim thestallmandialogues.com/ 10:58
fasad though he did spen considerablt time on criticizing "Mr Torvalds" & "his Linux"
*spend 10:59
*considerable
argh
daxim I would be pretty pissed, too, if someone rained on my parade like that
moritz of course. The open source^W^Wfree software community would be much better off without linux</sarcasm>
Timbus hurds for all 11:00
tadzik oh-oh! It's GNU/Linux, remember!
fasad first thing, before anyone welcomes him, he says, "Please don't upload my photos on Facebook"
Timbus :I 11:01
mathw I can understand why he doesn't like Facebook, but that's a bit unreasonable. Then again, that's how I feel about quite a bit of what he says.
He his not a man who makes much concession to practicality 11:02
fasad though overall, his 'free software philosophy' does raise some good points
arnsholt Much? I'd say any
fasad mathw: yeah, he is an idealist
moritz GNU without Linux iist just a LTA TLA
fasad he told the students, make sacrifices, never work for Microsoft or any company which makes propiterary software 11:03
moritz: he did accept that GNU's kernel is far behind Linux 11:04
fasad is reading geekfeminism.wikia.com/wiki/Perl_is_my_bitch 11:09
mathw failed at that... currently writing proprietary (albeit internal) software for Windows using Microsoft's dev tools 11:12
11:14 pernatiy left
fasad which script converts the specs from pod to html for display on perlcabal ? 11:14
flussence github.com/perl6/Pod-To-HTML 11:16
fasad ah, thanks 11:17
moritz ohm, that's only for S26 I think 11:18
for the others it's util/Text-Smartlinks/ in the perl6/mu repo
11:28 pdurbin joined 11:31 pdurbin left 11:33 xinming left, drbean left, drbean joined 11:34 xinming joined 12:08 am0c joined 12:18 pernatiy joined 12:22 snearch joined 12:33 tokuhir__ joined
colomon niecza: sub f(*@a) { say @a.perl }; f({a => 10, b => 5}); f({a => 10, b => 5}.hash) 12:33
p6eval niecza v14-19-g256172a: OUTPUT«({"a" => 10, "b" => 5}, ).list␤("a" => 10, "b" => 5).list␤» 12:34
colomon nom: sub f(*@a) { say @a.perl }; f({a => 10, b => 5}); f({a => 10, b => 5}.hash)
p6eval nom 33fb02: OUTPUT«Array.new({"a" => 10, "b" => 5})␤Array.new("a" => 10, "b" => 5)␤»
colomon ?????? 12:35
flussence perl6: say ({"a" => 10, "b" => 5}, ).list.perl eq Array.new({"a" => 10, "b" => 5}).perl; say ("a" => 10, "b" => 5).list.perl eq Array.new("a" => 10, "b" => 5).perl; # ? 12:37
p6eval rakudo 33fb02: OUTPUT«False␤False␤»
..pugs b927740: OUTPUT«*** Must only use named arguments to new() constructor␤ Be sure to use bareword keys.␤ at /tmp/wlGtyv1MQQ line 1, column 5-81␤»
..niecza v14-19-g256172a: OUTPUT«Unhandled exception: Excess arguments to List.new, used 1 of 2 positionals␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (List.new @ 1) ␤ at /tmp/u4bxSzziXD line 1 (mainline @ 14) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3705 (ANON @ 3) ␤ at /h…
flussence ouch, .perl isn't even valid perl... 12:38
moritz colomon: it seems that .hash returns something that flattens in list context in rakudo
in analogy to .list
colomon same in niecza 12:39
flussence niecza: say eval({a=>1}.list.perl).perl;
p6eval niecza v14-19-g256172a: OUTPUT«("a" => 1, ).list␤»
jnthn I think the .perl output in Rakudo is relatively careful to output things with the appropraite flatteningness 12:41
phenny jnthn: 10:15Z <not_gerd> tell jnthn irclog.perlgeek.de/perl6/2012-02-06#i_5109668
12:44 bluescreen10 joined
jnthn phenny: tell not_gerd The GC bit is a little off, I suspect...STables can be statically marked/freed. And GC for objects should hang off the representation. Probably needs to think a bit about what existing Parrot v-tables actually mean. Some but not all are subsumed by REPRs. 12:49
phenny jnthn: I'll pass that on when not_gerd is around.
colomon nom: my %h = a => 5, b => 10; say %h.list.perl; say %h.pairs.perl 12:50
p6eval nom 33fb02: OUTPUT«("a" => 5, "b" => 10).list␤("a" => 5, "b" => 10).list␤»
jnthn phenny: tell not_gerd even when a REPR *does* seem to have a matching thing, it's not automatically the right answer. Consider get_integer vtable method in Parrot. It's used for HLL coercion interop, as well as unboxing. 6model cares about unboxing, but HLL interop isn't its (core) problem. 12:51
phenny jnthn: I'll pass that on when not_gerd is around.
jnthn phenny: tell not_gerd Also type checking and method lookup don't need to be virtual. They only are in current 6model 'cus I didn't get around to making them not be so. I mean, sure a call to type_check or find_method in the HOW is virtual - it's just a method call. But the looking in the v-table or method cache or type cache need not be virtual. 12:52
phenny jnthn: I'll pass that on when not_gerd is around.
masak arnsholt: here, I maded an example: gist.github.com/1751911 12:54
jnthn Indeed, they can't be if we want half decent dispatch performance... 12:55
arnsholt masak: I think I agree with the general idea 13:00
I'd probably go for a syntax that is distinct from comments though
13:01 alvis left 13:02 skids left
masak arnsholt: yeah. I'm not settled on that yet. my idea was to use something that falls back gracefully in Markdown -- and any HTML, including HTML comments, will just go through the Markdown parser verbatim. 13:06
for a while I considered using \[ \] like LaTeX's math mode, but that seemed arbitrary.
I think I want some kind of delimiters, because I don't want to be restricted to a single paragraph. 13:07
arnsholt The idea I've been fiddling with is quite explicitly inspired by TeX (that is, macro-expansion), but with lispy syntax using [] rather than () 13:08
Yeah, for big figures you'll definitely want some way to split it into several paragraphs 13:09
masak Niobium is definitely inspired by my adventures with dlx-simple (which I'll need to blog about at some point).
arnsholt But making it gracefully parseable as markdown at the same time is harder
masak in fact, Niobium would be an excellent backend for dlx-simple!
jnthn wonders how to pronoucne that :) 13:10
masak jnthn: "najoubium" :)
jnthn Thanks :)
masak arnsholt: aye -- that was the advantage of <!-- -->, but I'm still on the lookout for something simpler. 13:12
something that doesn't hurt the eyes and that's simple to type.
13:16 alvis joined
masak arnsholt: how about either <{ ... }> or <<< ... >>> ? 13:20
moritz
.oO( <Nb>...</Nb> )
masak ooh
<nb l="tree">...</nb> 13:21
perhaps.
jnthn <btw>...</btw> 13:24
moritz <orl>how does this structure look like?</orl><yrl>...</yrl> 13:25
masak I'm not too sold on the idea of introducing nonstandard tags like that... but it does blend in nicely. 13:27
moritz <marquee style="nb">...</marquee> # how about using standard tags? :-) 13:28
masak moritz, your karma will catch up with you one day. 13:29
jnthn Should use <blink ...> - because you only see it in some contexts :)
masak thank you, you're all being so helpful.
;) 13:30
jnthn <пожалуйста />
flussence <figure class="nb">! www.whatwg.org/specs/web-apps/curre...re-element 13:31
masak flussence: hm. :) 13:32
I could add some CSS for figure.nb that said "something went wrong, you shouldn't be seeing this". 13:33
moritz now design it in a way that the source text can be used as a reasonable alt-text... :-) 13:34
13:37 not_gerd joined
not_gerd hello, #perl6 13:37
phenny not_gerd: 12:49Z <jnthn> tell not_gerd The GC bit is a little off, I suspect...STables can be statically marked/freed. And GC for objects should hang off the representation. Probably needs to think a bit about what existing Parrot v-tables actually mean. Some but not all are subsumed by REPRs.
not_gerd: 12:51Z <jnthn> tell not_gerd even when a REPR *does* seem to have a matching thing, it's not automatically the right answer. Consider get_integer vtable method in Parrot. It's used for HLL coercion interop, as well as unboxing. 6model cares about unboxing, but HLL interop isn't its (core) problem.
not_gerd: 12:52Z <jnthn> tell not_gerd Also type checking and method lookup don't need to be virtual. They only are in current 6model 'cus I didn't get around to making them not be so. I mean, sure a call to type_check or find_method in the HOW is virtual - it's just a method call. But the looking in the v-table or method cache or type cache need not be virtual.
masak moritz: that should almost fall out automatically, I think. 13:38
arnsholt masak: Of the three, I think I'd go for <{ }> 13:40
13:40 xinming left
masak arnsholt: nod. 13:40
13:40 mj41 left
arnsholt There's the non-standard tags bit (also, I'm not sold on SGML markup in general), and I think }> is less likely to crop up as something you might want to say in code than >>> 13:41
not_gerd jnthn: thanks for your comments
jnthn: 2 questions:
1. do we actually need a repr-id - would the pointer do just as well?
jnthn REPRs are non-virtual. 13:42
not_gerd 2. why are things like SixModel_REPROps_Attribute not inlined into the REPROps table?
jnthn Well, let me make that clearer.
If you know statically what REPR a type has, they ain't. If you don't know then of course it's a runtime lookup. 13:43
2 - I find the grouping useful, but it doesn't have to be that way.
That is, there's no functional reason particularly. You could flatten it. 13:44
13:44 xinming joined
not_gerd but you start the first lookup with a repr's name, correct? after that, you could just cache the pointer to the repr instead of its id... 13:44
jnthn oh, that's what 6model does throughout
The REPR pointer in STable is a poitner to the struct.
*pointer
not_gerd sure - so where's the id actually used? 13:45
jnthn The numerical ID is more of a fossil now.
Even the serialization goes by name.
13:46 am0c left
jnthn So, we can probably do away with that. 13:46
Turns out that numerical IDs are a really bad idea when you start dynamically loading new REPRs. :) 13:47
Note that REPR function tables need not be GCable. 13:48
13:50 mj41 joined
jnthn gets back to teaching 13:51
not_gerd jnthn: have fun 13:52
colomon ouch, infinite loop 14:05
moritz those take a long time to finish :-) 14:06
colomon I'm trying to get a decent-ish version of pick/roll for KeyBag
apparently I did something wrong... 14:07
masak feels like a decent-ish version of pick/roll for KeyBag could use a binary search...
moritz is KeyBag.roll weighted by value? 14:08
moritz can't remember which on KeyBag is
colomon yes 14:10
moritz ah, we had a link to a very cool page that had an O(n) setup / O(1) per-step algorithm
colomon "Like an ordinary list roll, but returns keys of the bag weighted by values, as if the keys were replicated the number of times indicated by the corresponding value and then list roll used."
moritz www.keithschwarz.com/darts-dice-coins/ 14:11
14:11 bluescreen10 left
colomon yes, for a first stab I'm implementing the straightforward O(n) setup / O(n) per-step version 14:11
masak fair enuf.
moritz I've been planning to do implement the "real thing" ever since I've read that page, but then masak++ and p6cc got in my way :-) 14:12
s/do//
14:12 bluescreen10 joined
masak it would be cool indeed to get the O(1) per-step algorithm into core. 14:12
14:14 PacoAir joined
colomon yes 14:15
colomon will be happy to get the O(N) algorithm working right at this point...
moritz I also think b had an O(log N) variant 14:17
I dimly recall posing that challenge as "this week's contribution to Perl 6" 14:18
masak oh right, the weekly challenges. 14:19
moritz it would be nice if we could start them again. 14:20
mabe I'll apply for a grant for such things after I've finished the Exceptions 14:22
masak ooh
masak decommutes 14:36
14:37 mj41 left
colomon sure, all you need for O(log N) is to use a binary search... 14:39
[Coke] news.perlfoundation.org/2012/02/201...osals.html - Community feedback welcome on the current crop of proposals. Reminder: perl6 grant requests /can/ be submitted through the normal GC process. 14:42
14:42 mj41 joined 14:43 GlitchMr joined 14:45 mtk joined
benabik You can submit perl6 grants through the garbage collector? What API function is that? 14:49
[Coke] GC is also Grants Committee; As opposed to, for example, the Hague grant process. 14:52
14:56 xinming left, xinming joined
benabik [Coke]: Well, that makes more sense. 15:04
15:16 not_gerd left 15:17 tarch joined 15:21 PacoAir left, PacoAir joined 15:22 not_gerd joined
not_gerd phenny, tell jnthn I did some changes to gist.github.com/1751167 - will be back online in the evening... 15:23
phenny not_gerd: I'll pass that on when jnthn is around.
15:23 not_gerd left 15:28 wtw left 15:29 Lorn_ is now known as Lorn, tokuhir__ left, Lorn left, Lorn joined 15:30 tarch left 15:31 tarch joined 15:45 birdwindupbird left 15:50 tarch left 15:51 tarch joined 16:00 tarch left
[Coke] .u NEUTRAL 16:00
phenny U+A64F CYRILLIC SMALL LETTER NEUTRAL YER (ꙏ)
[Coke] .u NEUTRAL FACE 16:01
phenny [Coke]: Sorry, no results for 'NEUTRAL FACE'.
[Coke] aww.
flussence .u CAT FACE
phenny flussence: Sorry, no results for 'CAT FACE'.
flussence :(
benabik .u Cat
phenny U+A2B6 YI SYLLABLE CAT (ꊶ)
jnthn Looks nothing like a cat... 16:02
phenny jnthn: 15:23Z <not_gerd> tell jnthn I did some changes to gist.github.com/1751167 - will be back online in the evening...
jnthn phenny: tell not_gerd will try and look at it this evening 16:03
phenny jnthn: I'll pass that on when not_gerd is around.
jnthn decommutes
16:04 tarch joined
benabik .u 1F638 16:05
phenny benabik: Sorry, no results for '1F638'.
benabik Heh. The emoticon block has some odd things in it. 16:06
16:20 tarch left 16:24 tarch joined 16:27 snearch left 16:28 Trashlord left 16:30 [particle] left, pnu left, tarch left 16:31 pnu joined 16:32 [particle] joined 16:34 tarch joined, Trashlord joined 16:35 PerlPilot left
pmichaud good morning, #perl6 16:35
benabik o/ pmichaud
16:35 PerlJam joined 16:37 simcop2387 left 16:39 simcop2387 joined 16:40 tarch left 16:41 tarch joined
[Coke] pmichaud: hio 16:41
felher o/ 16:51
masak pmichaud! \o/ 16:56
benabik: [backlog] *lol* @ submitting grants through the garbage collector! 17:04
that's even weirder than sending a talk proposal written as icing on a cake. :P 17:05
pmichaud that's a sweet idea! 17:06
benabik masak: Did someone misread "send it on irc"? ;-) 17:09
17:13 Trashlord left 17:16 sboyette left, Trashlord joined, mj41 left
masak benabik: no, it was jnthn and me in a silliness feedback loop: irclog.perlgeek.de/perl6/2012-02-06#i_5109649 17:16
benabik masak: That sounds like the best kind of loop. 17:20
17:22 Chillance joined
masak well, it's a positive feedback loop, at least. 17:27
[Coke] rakudo: say [+] 1 .. 100000; 17:28
p6eval rakudo 33fb02: OUTPUT«(timeout)»
17:29 MayDaniel joined
[Coke] can we cheat internally and treat it like n(n+1)/2 ? 17:29
sorear good * #perl6 17:31
[Coke] rakudo.org/about/ seems to be asking me to create the page. 17:32
TimToady [Coke]: certainly, any optimization that doesn't change the semantics is allowed and welcome
well, up to the point of giving the appearance of cheating, but that's on the pragmatics level, as is the fast that it runs faster 17:33
an optimization that recognizes a particular benchmark and replaces it with a constant might be a bit too far :) 17:34
s/the fast/the fact/
pmichaud [Coke]: I'm guessing the "About" page was never updated or is left-over from the wordpress install
TimToady colomon: likewise, [*] 1..$n is likely to suboptimal in repeated use without some amount of memoization 17:36
[Coke]: er, \t failure
17:36 cognominal left 17:37 cognominal joined 17:39 tarch left
TimToady there's probably some generic optimization in here over any reduction operator that caches a few partial results on constant ranges and can quicky locate the largest prefix of the list that has already been calculated, and just start from there for the new tail (assuming a left-associative op; right-assoc would have to count from the other end) 17:40
17:41 kaare_ joined
TimToady so even if you didn't have the n(n+1)/2 optimization, it might've already calculated and cached [+] 1..99856 at some point, so can start from there 17:44
(assuming an optimizer that chooses to remember checkpoints at square numbers) 17:45
((to save memo memory))
benabik Likely it would be nice to have the ability to add specific optimizations. sub prefix:<[+]>( Range $r ) { n(n+1)/2 } 17:46
TimToady soit'nly 17:48
well, with the front subtracted off too, since it might not start at 1 17:50
17:50 am0c joined
[Coke] niecza: say [+] 1 .. 100000; 17:52
p6eval niecza v14-19-g256172a: OUTPUT«5000050000␤»
benabik Well, considering that that code wouldn't compile, I figured niceties like dealing with the start point of the range could be "left as an exercise for the reader".
masak perl6: sub prefix:<[+]>(Range $r) { "OH HAI" }; say [+] 1 .. 100 17:55
p6eval rakudo 33fb02: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'prefix:<[+]>' will never work with argument types (int) (line 1)␤ Expected: :(Range $r)␤» 17:56
..pugs b927740: OUTPUT«OH HAI␤»
..niecza v14-19-g256172a: OUTPUT«Potential difficulties:␤ $r is declared but not used at /tmp/1uC53b_18y line 1:␤------> sub prefix:<[+]>(Range ⏏$r) { "OH HAI" }; say [+] 1 .. 100␤␤Unhandled exception: Nominal type check failed in binding '$r' in 'prefix:<[+]>'; got In…
dalek ecs: 97bee31 | larry++ | S03-operators.pod:
correct fossil use of proto to mean default

You can define your own [+], but not using proto.
masak perl6: sub prefix:<[+]>(Range $r) { "OH HAI" }; say [+](1 .. 100)
p6eval niecza v14-19-g256172a: OUTPUT«Potential difficulties:␤ $r is declared but not used at /tmp/qq6ze55KnA line 1:␤------> sub prefix:<[+]>(Range ⏏$r) { "OH HAI" }; say [+](1 .. 100)␤␤OH HAI␤»
..pugs b927740, rakudo 33fb02: OUTPUT«OH HAI␤»
TimToady you should be using multi
masak perl6: multi prefix:<[+]>(Range $r) { $r.elems }; say [+](1 .. 100) 17:57
p6eval pugs b927740, rakudo 33fb02, niecza v14-19-g256172a: OUTPUT«100␤»
benabik Hm. The syntax actually is prefix:<[+]> ? I was just guessing.
doy well, the actual formula is $r.elems * ($r.min + $r.max) / 2
for what it's worth 17:58
masak perl6: multi prefix:<[+]>(Range $_) { (.max - .min) * .elems / 2 }; say [+](1 .. 100)
p6eval pugs b927740, rakudo 33fb02, niecza v14-19-g256172a: OUTPUT«4950␤»
benabik doy++
masak doy: minus, but yes.
oh wait. no.
you're right.
perl6: multi prefix:<[+]>(Range $_) { (.max + .min) * .elems / 2 }; say [+](1 .. 100) 17:59
p6eval pugs b927740, rakudo 33fb02, niecza v14-19-g256172a: OUTPUT«5050␤»
masak that's the answer.
impressive that all three implementations agree on that one.
TimToady it's 5050 whether you got it right
masak aye.
[Coke] ugh.
\o/ 18:00
masak that's why I'm not smart enough to write code without tests :P
TimToady perl6: multi prefix:<[+]>(Range $_) { (.max + .min) * .elems / 2 }; say [+](1.1 .. 100.1)
p6eval pugs b927740, rakudo 33fb02, niecza v14-19-g256172a: OUTPUT«5060␤»
benabik I do like the sub ($_) { .stuff } syntax. Makes code both clear and short.
masak of course, the real implementation of the above should either... check against what TimToady did, or contain a smarter formula. 18:01
benabik: it's things like that that make me feel that Perl 6 is actually a worthy successor of Perl 5.
benabik: it takes the core principles of Perl 5, and extends them. 18:02
TimToady otoh, the fact that the type is not yet Range[Int] is a bit of a downer
masak we don't have a solid strategy for container types.
Array is a class, Hash is a role... :/
benabik Shouldn't Hash be a role and Associative the role? 18:03
s/role/class/ # bah
masak hm, Hash is a class in nom. my bad.
TimToady perl6: multi prefix:<[+]>(Range $_ (Int :$min, Int :$max) ) { ($max + $min) * .elems / 2 }; say [+](1 .. 100)
p6eval pugs b927740: OUTPUT«*** ␤ Unexpected "("␤ expecting "?", "!", trait, "=", default value, "-->" or ")"␤ at /tmp/GadInC6dYz line 1, column 29␤»
..niecza v14-19-g256172a: OUTPUT«Unhandled exception: Unable to resolve method Capture in class Range␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /tmp/oCo6ElDxhJ line 0 (prefix:<[+]> @ 1) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at <unknown> line 0 (&prefix:<[+]> @ 0) ␤ at /tmp/oCo6…
..rakudo 33fb02: OUTPUT«No applicable candidates found to dispatch to for 'prefix:<[+]>'. Available candidates are:␤:(Range $_ :(Int :min(:$min), Int :max(:$max)))␤␤ in block <anon> at /tmp/kSmHkFw9Hn:1␤ in <anon> at /tmp/kSmHkFw9Hn:1␤»
masak but that means, I think, that you can't do Array[Str] or Hash[Int].
18:03 wooden left
benabik Classes can't have type parameters? 18:04
TimToady those can be punned roles
Array just defaults to Array[Any]
masak benabik: classes can't have type parameters.
18:04 jaldhar left
masak TimToady: I agree that they can. I'm just saying that currently, in Rakudo, it's not just Range that isn't a role. 18:04
18:05 wooden joined, wooden left, wooden joined
sjn has some trouble compiling the new rakudo... 18:05
masak moritz: I bought blueberries! \o/
TimToady thinks my unpacker signature shoulda worked
benabik masak: That makes me think there are going to be many "roles" that are actually just classes the need a type param.
masak TimToady: I think so too.
sjn comiling src/gen/CORE.setting.pir gets killed after a while
compiling*
masak benabik: yeah, but you should probably make it a role when in doubt anyway ;) 18:06
benabik sjn: Do you have memory limits somewhere? That's the thing that will eat all your memory.
TimToady perl6: multi prefix:<[+]>(Range $_ [Int :$min, Int :$max] ) { ($max + $min) * .elems / 2 }; say [+](1 .. 100)
p6eval pugs b927740: OUTPUT«*** ␤ Unexpected "["␤ expecting "?", "!", trait, "=", default value, "-->" or ")"␤ at /tmp/uOCoWzndDZ line 1, column 29␤»
..niecza v14-19-g256172a: OUTPUT«Unhandled exception: Unable to resolve method Capture in class Range␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /tmp/_RE_v0pxo3 line 0 (prefix:<[+]> @ 1) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at <unknown> line 0 (&prefix:<[+]> @ 0) ␤ at /tmp/_RE_…
..rakudo 33fb02: OUTPUT«No applicable candidates found to dispatch to for 'prefix:<[+]>'. Available candidates are:␤:(Range $_ :(Int :min(:$min), Int :max(:$max)))␤␤ in block <anon> at /tmp/gI3sSg_4ya:1␤ in <anon> at /tmp/gI3sSg_4ya:1␤»
benabik masak: Role doesn't feel like the right name for that.
Ah, well.
18:06 am0c left
masak benabik: the only disadvantage I've found with making everything roles, is that sometimes you *do* want to override/shadow methods, rather than having them collide. 18:07
sjn benabik: ulimit says max locked memory is 64kb, other than that I see no limits
how much memory should I expect that one to take? 18:08
flussence about a gig
benabik I don't think parrot locks memory...
sjn right
TimToady b: multi prefix:<[+]>(Range $_ (:$min, :$max) ) { ($max + $min) * .elems / 2 }; say [+](1 .. 100)
p6eval b 1b7dd1: OUTPUT«Use of uninitialized value in numeric context in 'Any::Numeric' at line 1498:src/gen/core.pm␤Use of uninitialized value in numeric context in 'Any::Numeric' at line 1498:src/gen/core.pm␤0␤»
18:08 am0c joined
jnthn evenin' 18:08
sjn doesn't have that much memory available on that machine :-(
benabik sjn: Do you have swap space? 18:09
TimToady I thought someone had named parameters mapping to methods at one point in subsigs, but maybe it's just spec
benabik sjn: It might be the OOM killer.
18:09 tokuhirom joined
sjn hmmm 18:09
Apparently, the VM I'm using isn't configured with swap
flussence you can do the pir step on another machine, it's a bit fiddly but works
sjn there we have it
benabik: thanks :)
TimToady maybe you should swap the VM :P
sjn TimToady: luxuries that I don't have :) 18:10
flussence
.oO( this VM lacks VM )
18:10 benabik left
sjn hehe 18:10
18:11 benabik joined 18:12 daxim left
jnthn really hopes he can land the serializer work (which just cut down on CORE.setting compilation memory) before the next release. 18:13
sjn :D 18:14
sjn adds 1gb swap, and crosses fingers 18:15
jnthn TimToady: Oddness, I thought the subsig unpacking worked in nom already. 18:18
TimToady with named params? 18:19
jnthn nom: class A { has $.x; }; sub foo((:$x)) { say $x }; foo(A.new(x => 42))
p6eval nom 33fb02: OUTPUT«42␤»
jnthn nom: say Range.^attributes>>.name
p6eval nom 33fb02: OUTPUT«$!min $!max $!excludes_min $!excludes_max␤»
jnthn nom: say Range.^attributes>>.has_accessor
p6eval nom 33fb02: OUTPUT«True True True True␤»
18:19 pernatiy left
TimToady ooh, excludes has to be taken into account too... 18:20
jnthn nom: sub foo((:$min, :$max)) { .say for $min, $max }; foo(1..10)
p6eval nom 33fb02: OUTPUT«2 unexpected named parameters passed (excludes_min, excludes_max) in sub-signature␤ in sub foo at /tmp/_K5s_zdJ7r:1␤ in block <anon> at /tmp/_K5s_zdJ7r:1␤ in <anon> at /tmp/_K5s_zdJ7r:1␤»
jnthn nom: sub foo((:$min, :$max, *%)) { .say for $min, $max }; foo(1..10)
p6eval nom 33fb02: OUTPUT«1␤10␤»
jnthn Hm. That works.
nom: say Range ~~ Positional 18:21
p6eval nom 33fb02: OUTPUT«True␤»
jnthn TimToady: Oh!
The multi failed to match because of the excludes params. :)
TimToady well, the real function needs 'em anyway 18:22
jnthn nom: multi prefix:<[+]>(Range $_ (:$min, :$max, *%) ) { ($max + $min) * .elems / 2 }; say [+](1 .. 100)
p6eval nom 33fb02: OUTPUT«5050␤»
jnthn \o/
18:24 benabik left, benabik joined
TimToady b: multi prefix:<[+]>(Range $_ (:$min, :$max, :$excludes_min, :$excludes_max) ) { ($max - ?$excludes_max + $min + ?$excludes_min) * .elems / 2 }; say [+](0 ^..^ 101) 18:24
p6eval b 1b7dd1: OUTPUT«Use of uninitialized value in numeric context in 'Any::Numeric' at line 1498:src/gen/core.pm␤Use of uninitialized value in numeric context in 'Any::Numeric' at line 1498:src/gen/core.pm␤0␤»
TimToady nom: multi prefix:<[+]>(Range $_ (:$min, :$max, :$excludes_min, :$excludes_max) ) { ($max - ?$excludes_max + $min + ?$excludes_min) * .elems / 2 }; say [+](0 ^..^ 101)
p6eval nom 33fb02: OUTPUT«5050␤»
TimToady \o/
nom: multi prefix:<[+]>(Range $_ (Int :$min, Int :$max, :$excludes_min, :$excludes_max) ) { ($max - ?$excludes_max + $min + ?$excludes_min) * .elems / 2 }; say [+](0 ^..^ 101) 18:25
p6eval nom 33fb02: OUTPUT«5050␤»
TimToady nom: multi prefix:<[+]>(Range $_ (Int :$min, Int :$max, :$excludes_min, :$excludes_max) ) { ($max - ?$excludes_max + $min + ?$excludes_min) * .elems / 2 }; say [+](0.1 ^..^ 101.1)
p6eval nom 33fb02: OUTPUT«No applicable candidates found to dispatch to for 'prefix:<[+]>'. Available candidates are:␤:(Range $_ :(Int :min(:$min), Int :max(:$max), Any :excludes_min(:$excludes_min), Any :excludes_max(:$excludes_max)))␤␤ in block <anon> at /tmp/Rd5J6Z7pvb:1␤ in <anon> at /tm…
TimToady uh
doy w20 18:26
TimToady jnthn: ^^ apparently doesn't autogen the default [+]
jnthn TimToady: uhm. Well, I guess not. It looks in the symbol table and sees there already is one there... 18:27
TimToady: Er, deeper than that... 18:28
TimToady: They desugar to higher order functions
TimToady: Not sure what the best way to handle that is.
I guess it's not so hard to add the auto-generated one as a candidate. 18:29
But...how to know it wasn't already generated... :)
pmichaud that's what we used to do, yes.
TimToady the spec suggests &prefix:<[+]> := reduce... but that doesn't necessarily make a multi
jnthn No, we ain't making a multi there
pmichaud how to know it wasn't already generated == we handle it in a scoping context, iirc 18:30
TimToady so does the multi declaration trigger a local proto gen?
pmichaud ...what TimToady++ said :)
jnthn TimToady: Yes.
TimToady: Er, your one does
Oh...
That means that we can spot it's a proto, not an only
But then we get into bother when we auto-gen it before we see your multi. 18:31
TimToady why, if it's more genericly sigged?
jnthn TimToady: No, if we generate it as an only it causes issues
TimToady well, er, then don't... 18:32
jnthn TimToady: We'd need to generate it as a multi if there's none in scope, or if there is one then know whether we've added the default candidate to it yet or not.
TimToady why isn't there just a default proto for everyone?
jnthn ...becuase protos aren't default fallbacks any more? :) 18:33
TimToady not claiming that
jnthn OK, then I'm not quite sure what you're suggesting.
TimToady I just mean an outer proto {*} and then a default multi
18:34 MayDaniel left
TimToady default by virtue of generic sig, or maybe 'is default' as latest spec change shows 18:34
18:35 fasad left
jnthn *nod* 18:36
TimToady just saying if there's always a proto [+] then there's never a need to autogen a local proto
jnthn Will have to have a dig...when I get tuits. :)
TimToady: Yes, true.
TimToady we'll figger it all out one of these millenia...
jnthn: it would also be awesome if somehow the dispatcher failure error could've pointed out the need for :$excludes_* 18:43
like a list of, for each each candidate, why it didn't match (possibly pooled by sigs that have the same reason) 18:44
jnthn TimToady: Yeah, I was pondering how best to do that.
TimToady These sigs don't match because you're an idiot: :)
These sigs don't match because the programmer was an idiot: 18:45
benabik How do you ignore some args in a subsig? Range (:$min, :$max, *%) ?
TimToady These sigs don't match because I don't feel like it today:
yes
what jnthn initially did above
but in this case, we didn't want to ignore them, since they matter
jnthn The info is all there, it's just that we don't tend to bother generating the failure messages in a multi-dispatch as we expect them to usuall work out :)
18:46 not_gerd joined
not_gerd hello again, #perl6 18:46
phenny not_gerd: 16:03Z <jnthn> tell not_gerd will try and look at it this evening
jnthn *usually
18:46 cognominal_ joined
TimToady These sigs match because I couldn't be bothered: 18:46
jnthn I guess we could collect them in that case anyway. Or just re-run things to get the errors.
TimToady *don't match
not_gerd jnthn: I just mocked a message-passing system for C-level object as a replacement for the vtable system 18:47
18:47 snearch joined
TimToady
.oO(ooh, a Mach kernel!)
18:47
a mock Mack kernel, in fact 18:48
not_gerd jnthn: it needs some additional fields in the stable, but integrates better into 6model than the vtable system Ihad previously in mind...
TimToady a mock Mack Mach kernel, in fact
a mock Mac Mach kernel, rather
TimToady had better wander off before he does more damage to the ecological niche 18:49
jnthn :P
masak :P
jnthn not_gerd: OK, will ponder it a bit over dinner
18:50 cognominal left
TimToady is always happy when he can depart with :P's rather than o's :) 18:50
jnthn ventures out into the snow to find some dinner 18:52
18:56 zby_home joined 18:57 zby_home is now known as 13WAAFDVP 19:02 felipe left, jlaire left, mikemol left, sudokode left, x3nU left, _ilbot left, `10 left, apejens left, betterworld left, dju left, betterworld joined, apejens joined, mikemol joined, jtpalmer joined, sudokode joined, lumi___ joined 19:03 _ilbot joined, `10 joined, dju joined 19:07 x3nU joined 19:08 birdwindupbird joined, pernatiy joined 19:11 desertm4x joined 19:16 felipe joined 19:17 jlaire joined 19:28 tokuhirom left 19:36 rindolf joined
rindolf Hi all. 19:36
phenny rindolf: 30 Jan 13:29Z <moritz> tell rindolf fwiw on my machine (debian stable), rakudo compiles fine on a recent parrot
rindolf moritz: OK, thanks.
19:41 nebuchadnezzar left, eiro left, sjn left, BinGOs left, sjn joined, BinGOs joined, nebuchadnezzar joined
tadzik 'evening 19:41
masak o/ 19:43
19:46 Vlavv` joined 19:49 kmwallio joined, Vlavv_ left
colomon niecza: my @a := do for 1..4 -> $i { take $i: }; say @a.perl 19:56
p6eval niecza v14-19-g256172a: OUTPUT«===SORRY!===␤␤Invocant handling is NYI at /tmp/iopa9mxVif line 1:␤------> my @a := do for 1..4 -> $i { take $i: ⏏}; say @a.perl␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 134…
19:57 arlinius joined
colomon niecza: sub f() { for 1..4 -> $i { take $i: }; }; say f().perl 19:57
p6eval niecza v14-19-g256172a: OUTPUT«===SORRY!===␤␤Invocant handling is NYI at /tmp/3bS12sUZ8c line 1:␤------> sub f() { for 1..4 -> $i { take $i: ⏏}; }; say f().perl␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1…
colomon niecza: sub f() { gather for 1..4 -> $i { take $i: }; }; say f().perl
p6eval niecza v14-19-g256172a: OUTPUT«===SORRY!===␤␤Invocant handling is NYI at /tmp/wvx15tRjAQ line 1:␤------> f() { gather for 1..4 -> $i { take $i: ⏏}; }; say f().perl␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting li…
colomon niecza: sub f() { gather for 1..4 -> $i { take $i; }; }; say f().perl
p6eval niecza v14-19-g256172a: OUTPUT«(1, 2, 3, 4).list␤»
20:00 PacoAir left
colomon niecza: sub f() { my $a = 0; gather for 1..4 { take $a++; }; }; say f().perl 20:01
p6eval niecza v14-19-g256172a: OUTPUT«(0, 1, 2, 3).list␤» 20:02
colomon niecza: sub f() { my $a = 0; gather for 1..4 { take $a++ => rand; }; }; say f().perl
p6eval niecza v14-19-g256172a: OUTPUT«(0 => 0.0096952845387604479e0, 1 => 0.90070009459774014e0, 2 => 0.21001796620433125e0, 3 => 0.44272877622522822e0).list␤»
colomon huh
20:07 zgr joined, zgr left 20:09 nebuchadnezzar left
colomon is having a hard time golfing the issue he is having 20:11
20:12 am0c left
colomon but wait... 20:12
niecza: sub f() { my $a = 0; my @b; for 'a'..'d' -> $c { @b.push($a++ => $c); }; }; say f().perl 20:13
p6eval niecza v14-19-g256172a: OUTPUT«Nil␤»
colomon niecza: sub f() { my $a = 0; my @b; for 'a'..'d' -> $c { @b.push($a++ => $c); }; say @b.perl}; f(0;
p6eval niecza v14-19-g256172a: OUTPUT«===SORRY!===␤␤Unable to parse argument list at /tmp/vGO5typ2Eb line 1:␤------> @b.push($a++ => $c); }; say @b.perl}; f(⏏0;␤Couldn't find final ')'; gave up at /tmp/vGO5typ2Eb line 1 (EOF):␤------> .push($a++ => $c)…
colomon niecza: sub f() { my $a = 0; my @b; for 'a'..'d' -> $c { @b.push($a++ => $c); }; say @b.perl}; f();
p6eval niecza v14-19-g256172a: OUTPUT«[0 => "a", 1 => "b", 2 => "c", 3 => "d"].list␤»
colomon :(
niecza: sub f() { my $a = 0; my @b; for 'a'..'d' -> $c { @b.push($a => $c); $a++ }; say @b.perl}; f(); 20:14
p6eval niecza v14-19-g256172a: OUTPUT«[4 => "a", 4 => "b", 4 => "c", 4 => "d"].list␤»
colomon bingo
sorear: ^^
20:16 am0c joined, nebuchadnezzar joined
masak yes, that... probably should decontainerize $a. 20:16
nom: sub f() { my $a = 0; my @b; for 'a'..'d' -> $c { @b.push($a => $c); $a++ }; say @b.perl}; f 20:17
p6eval nom 33fb02: OUTPUT«Array.new(0 => "a", 1 => "b", 2 => "c", 3 => "d")␤»
masak right.
20:18 bluescreen10 left 20:19 leontopod joined 20:20 ksi joined
[Coke] seen particle? 20:24
aloha particle was last seen in #parrot 4 days 1 hours ago joining the channel.
masak seen sense yet?
aloha sense yet was last seen in 15376 days 20 hours ago .
masak dang :)
(come back, sense yet!)
seen aloha? 20:25
aloha aloha was last seen in #perl6 20 hours 15 mins ago joining the channel.
masak aloha: I've seen her more recently than you have, apparently.
20:28 birdwindupbird left 20:30 birdwindupbird joined 20:31 bluescreen10 joined 20:36 eiro joined
benabik I thought aloha was updated to deal with the never seen thing. 20:51
seen foobarbaz
aloha foobarbaz was last seen in 15376 days 20 hours ago .
masak maybe she missed the update... :P
benabik Is this aloha different from #parrot's aloha?
leontopod Is Perl 6 Version 1 out yet? 20:52
tadzik I think it knows stuff cross-channel
leontopod: Perl 6 is not versioned, as far as I'm concerned
moritz at least not yet
tadzik compilers are, and they have versions like 14 or 40-something
moritz is C++ version 1 out yet?
or C version 1?
benabik Yeah, seen will return results for both channels. But seen <badIRCnick> returns different things. 20:53
tadzik aye
leontopod there is K&R C and ANSI C
flussence
.oO( I thought C was up to version 99.. )
leontopod is there going to be ANSI Perl 6?
TimToady perl6: say "I am the first version"
p6eval pugs b927740, rakudo 33fb02, niecza v14-19-g256172a: OUTPUT«I am the first version␤»
moritz leontopod: and which one is Version 1?
leontopod K&R I would say
that book defined the language
just like C language defines Perl 5
benabik flussence: They've updated. C11 is the new hotness. (99 < 11?) 20:54
moritz anyway, I don't think Perl 6 will be ANSI any time soon
TimToady that's because it's un-American
moritz I'm also having a difficult time imagining ISO Perl 6 :-) 20:55
leontopod there will have to be an ANSI or ISO standard sooner or later
PerlJam leontopod: because ... ?
moritz really?
perl 5 does well without 20:56
benabik leontopod: Is there an ANSI/ISO PHP, Python, or Ruby?
TimToady well, let's go for "later" then :)
moritz so do ruby, python, lua (I think) and lots of others
I don't even know if javascript has an ISO standard
leontopod ecmascript
tadzik leontopod: do you mean, somewhat, "is it production ready, production-approved?"
20:56 rindolf left
PerlJam leontopod: ecma isn't iso :) 20:57
leontopod tadzik, yah, we got to get real word people using Perl 6 to work on real world problems
TimToady um, already happening
leontopod controlling nuclear reactors, avionics, medical instrumentation, stuff like that
moritz leontopod: then welcome to the real world. Have fun solving problems in Perl 6.
TimToady but the knee of the curve is probably a couple years out still, for sure
moritz the easist one to convince doing stuff is yourself 20:58
TimToady we're not interesting in Perl 6 being adopted too rapidly
PerlJam TimToady: but I've been thinking that for about 7 years now ;)
benabik leontopod: If "production ready" means any field where line-by-line code review is involved, then you're pretty much dealing with Cobol or C.
TimToady well, it's always true, depending on how you label the graphs :P
flussence or MUMPS
masak leontopod: when people come here and ask "is Perl 6 released/ready/production-spiffy yet?", I always hear "should I start using Perl 6 now, or should I wait some more?"
TimToady and for some time, the answer has been "Well, it depends." 20:59
it's not quite ready to write an OS in...
masak it depends on who you are, yes.
eviltwin_b wouldn't MUMPS be more character by character?
leontopod can Perl 6 be written in Perl 6 yet?
tadzik it already is
leontopod THAT would be a neat milestone
PerlJam masak: I hear "is there a good business case I can make to my coworkers for using Perl 6?"
TimToady not only can, but is
leontopod cool!
masak leontopod: we're already doing that.
leontopod Perl 6++
masak leontopod: check out the src/core directory in Rakudo. 21:00
TimToady well, at least most of the compiler bits
masak and some src/mumblemumble in Niecza.
TimToady you still have to have a core in something else, a VM
tadzik unless you count Yapsi :)
masak yeah, but Yapsi is magical.
21:00 kmwallio left
TimToady Yapsi is beyond version 1, so it's not in the running 21:00
masak it runs on hope and pixie dust.
moritz so if we run out of both, we know who is to blame :-) 21:01
masak we passed Peak Pixie Dust in 2006. not my fault. :) 21:02
oddly, we haven't passed Peak Hope yet, although much of the rest of the programming world has...
TimToady leontopod: the really bad thing about writing a compiler in the same language is that, if the language is slow, everything is doubly slow. otoh, every optimization speeds up both the compile time and run time, so it's a long-term win
masak and we're getting ready to do some awesome optimizations. 21:03
today we were discussing optimizing away sums of ranges into just a constant-time expression.
and... it already works in all implementations!
moritz it does?
tadzik huh, I did miss something, didn't I? 21:04
masak well, not the optimization.
but the code for overriding prefix:<[+]>
I was surprised at that.
moritz last I tried, adding a prefix:<[+]>(Range) multi would make the default go away
masak oh :(
didn't try that bit.
TimToady and that's what we discovered today, but jnthn++ is aware of it
irclog.perlgeek.de/perl6/2012-02-06#i_5111128 and following 21:05
jnthn Aye, need to make it not oppress generating the default
er
suppress
21:05 desertm4x left
jnthn ...and that's why I won't fix this tonight. :) 21:06
21:06 LoRe_ is now known as LoRe
benabik Help, help, the default's being oppressed! 21:06
TimToady quick, ask the govmint for a bailout!
moritz we should start a Geek Defaultism Movement 21:07
TimToady Beware of geeks bearing glyphs! 21:09
benabik They may be 'PILE OF POO' (U+1F4F9) ?
TimToady that's more in the category of 'baring glyphs' I thinks 21:10
not to be confused with 'bering glyphs', which would be 白令海 21:13
moritz wants a PILE OF FOO glyph to describe software 21:14
TimToady FILE OF FOO, surely
21:20 GlitchMr left
TimToady wanders off to dream of files of foo ad snorum... 21:23
21:25 birdwindupbird left
colomon wishes he were allowed to snore at the moment... 21:37
[Coke] agrees with colomon, but it's almost quitting time, here. 21:38
21:38 jevin left, mj41 joined
colomon 's wife is out of commission with a bad cold, so colomon has three-year-old watching duty until bedtime -- despite a severe lack of sleep on colomon's part. 21:39
PerlJam colomon: NyQuil could help with both mom and child ;> 21:40
colomon PerlJam: I don't think drugging the little guy is on the list of things I'm permitted to do. 21:41
moritz bringing the small one to bed often brings me very close to sleep too 21:42
colomon on the bright side, just starting watching an hour long episode of Thomas he hasn't seen before. And there are plenty of leftovers for dinner.
21:42 am0c left
colomon moritz: brings me to the other side of sleep quite often... quiet and dark is a bad combination 21:43
moritz or a good :-)
21:54 overrosy left 21:56 rgrau joined, overrosy joined
masak 'night, #perl6 21:56
leontopod night masak 22:01
22:05 Gruber is now known as Grrrr 22:19 kaare_ left
leontopod can Perl 6 be rigged to run on a JVM? 22:20
benabik "Rigged"?
To my knowledge there's no current compiler targeting the JVM. 22:21
One could be written, I'd bet.
jnthn mberends++ did some bits on getting 6model and NQP ported to the JVM a while back. It'll be more interesting once Rakudo is done eliminating its last couple of PIR dependencies. 22:22
Ugh, finished $dayjob tasks and now it's bedtime... 22:23
jnthn -> sleep
22:33 not_gerd left
cognominal_ nom: my &a = token { a }; 'a' ~~ m/<a>/ 22:34
p6eval nom 33fb02: OUTPUT«Method 'a' not found for invocant of class 'Cursor'␤ in regex <anon> at /tmp/eMN8mu0uOa:1␤ in method ll-match at src/gen/CORE.setting:3498␤ in method match at src/gen/CORE.setting:3546␤ in block <anon> at /tmp/eMN8mu0uOa:1␤ in <anon> at /tmp/eMN8mu0uOa:1␤»…
cognominal_ nom: my $a = token { a }; 'a' ~~ m/<$a>/
p6eval nom 33fb02: ( no output )
cognominal_ I would have expected the first to work. Am I wrong? 22:35
PerlJam I think you are right according to the spec 22:39
22:47 tarch joined
cognominal_ nom: token a { a }; 'a' ~~ m/<a>/ 22:48
p6eval nom 33fb02: OUTPUT«Useless declaration of a has-scoped method in mainline␤Method 'a' not found for invocant of class 'Cursor'␤ in regex <anon> at /tmp/CaH1G_r2_u:1␤ in method ll-match at src/gen/CORE.setting:3498␤ in method match at src/gen/CORE.setting:3546␤ in block <anon> at /tmp…
22:49 not_gerd joined
not_gerd phenny, tell jnthn turns out what I'm proposing is actually the addition of a second meta-object which only known how to deal with a fixed set of parrot-specific messages 22:50
phenny not_gerd: I'll pass that on when jnthn is around.
not_gerd phenny, tell jnthn feel free to leave a comment at the gist instead of leaving a note with phenny
phenny not_gerd: I'll pass that on when jnthn is around.
not_gerd leaves again...
22:50 not_gerd left 22:52 tarch left 23:11 bluescreen10 left 23:18 ksi left 23:29 mj41 left, whiteknight joined 23:33 skids joined 23:36 bluescreen10 joined 23:46 snearch left 23:56 tokuhirom joined