Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-10-11

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 * diakopter looks around for masak
00:01 jnthn Q:PIR
00:01 jnthn quietfanatic: ['Some';'Place']
00:02 quietfanatic Yeah, I figured it out.
00:02 jnthn ah
00:02 jnthn I was still catching up :-)
00:02 quietfanatic :)
00:02 jnthn OK, sleeeeep is needed.
00:02 diakopter rakudo: say (Q:PIR{}).WHAT
00:02 jnthn o/
00:02 p6eval rakudo 27d9f1: OUTPUT«ResizablePMCArray: Can't shift from an empty array!␤in Main (file src/gen_setting.pm, line 206)␤»
00:02 diakopter rakudo: say (Q:PIR{say 3}).WHAT
00:02 p6eval rakudo 27d9f1: OUTPUT«The opcode 'descalarref_p' (descalarref<1>) was not found. Check the type and number of the arguments␤in Main (file src/gen_setting.pm, line 206)␤»
00:03 diakopter \o
00:03 quietfanatic o hi thar
00:03 diakopter refrigerator cat awaketh
00:04 TiMBuS joined #perl6
00:05 diakopter [OT]  'A woman introduced as a law school student called the incidents "gross violations of basic human rights."' - CNN   The woman said she studies law schools?
00:08 TimToady Please sign and return the spring law school summer quarter curriculum coordination committee meeting agenda addenda sheet enclosure.
00:09 xinming_ joined #perl6
00:14 pugs_svn r28738 | lwall++ | [gimme5] remove some unnecessary LazyMapping
00:24 eternaleye joined #perl6
00:27 xinming joined #perl6
00:29 lumi joined #perl6
00:55 eternaleye joined #perl6
01:00 pugs_svn r28739 | lwall++ | [STD] move \w lookahead from param_var to placeholder twigils
01:12 eternaleye_ joined #perl6
01:17 orafu joined #perl6
01:31 eternaleye joined #perl6
01:50 eternaleye joined #perl6
01:51 nbrown joined #perl6
01:55 pugs_svn r28740 | colomon++ | [t/spec] More used-defined ops, more hyper tests, one fresh failure.
02:04 eternaleye joined #perl6
02:11 pugs_svn r28741 | colomon++ | [t/spec] Few more hyper tests.
02:13 dalek joined #perl6
02:13 eternaleye joined #perl6
02:17 envi^home joined #perl6
02:25 pugs_svn r28742 | colomon++ | [t/spec] Add power operator.
02:25 JimmyZ joined #perl6
02:36 nbrown joined #perl6
02:45 eternaleye_ joined #perl6
02:58 pugs_svn r28743 | colomon++ | [t/spec] Another test.
03:13 diakopter_ joined #perl6
03:20 drbean joined #perl6
03:23 Confield left #perl6
03:25 pugs_svn r28744 | kyle++ | [t/spec] fix filename typo
03:27 pugs_svn r28745 | kyle++ | [t/spec] Test for RT #69044
03:27 pugs_svn r28746 | kyle++ | [t/spec] Tests on Rat.new
03:30 colomon eval Rat.new.perl ?
03:32 colomon rakudo: say Rat.new.perl
03:32 p6eval rakudo 27d9f1: OUTPUT«Null PMC access in can()␤in Main (file src/gen_setting.pm, line 206)␤»
03:32 colomon woah
03:32 dalek rakudo: 7ec926f | (Kyle Hasselbacher)++ | t/spectest.data:
03:32 dalek rakudo: [spectest.data] fix filename typo
03:32 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​ec926fcd2954a0dc9a4581de3158e63fd3c9db7
03:34 pugs_svn r28747 | kyle++ | [t/spec] Test for RT #65324
03:34 KyleHa I don't know what Rat.new.Str should do either, but if Rat.new works, Rat.new.perl ought to work too.  8-)
03:39 colomon say Rat.new;
03:40 drbean_ joined #perl6
03:40 colomon rakudo: say Rat.new.nude.perl
03:40 p6eval rakudo 27d9f1: OUTPUT«[undef, undef]␤»
03:40 colomon ooooooh.
03:41 colomon Odd, I don't see why Rat.new.perl doesn't work.  Any idea if the bug has been submitted?
03:42 * colomon stumbles off to bed...
03:43 envi^office joined #perl6
03:47 KyleHa I haven't seen a bug submitted, but I'm not all over the bugs database like I used to be either.
03:51 drbean joined #perl6
03:55 eternaleye joined #perl6
04:03 mberends joined #perl6
04:09 pugs_svn r28748 | kyle++ | [t/spec] Test for RT #65348
04:14 KyleHa Another satisfied test condition!
04:24 eternaleye joined #perl6
04:26 kidd` joined #perl6
04:29 synth joined #perl6
04:33 KyleHa I just cleaned a bunch of comment spam off of rakudo.org.  I mention it here primarily so that you, gentle reader, may know that adding a captcha to it wouldn't be a total waste of time.
04:52 drbean joined #perl6
04:57 eternaleye joined #perl6
05:01 drbean joined #perl6
05:21 Util joined #perl6
05:24 eternaleye_ joined #perl6
05:27 tak11 joined #perl6
05:39 msmatsko joined #perl6
05:43 spinclad (now that i'm back to scrollback.now(), and before i toddle off to bed:)
05:45 spinclad S04 now says:
05:45 spinclad +Note that the closure in a C<map> will never be interpreted as a hash,
05:45 spinclad +since such a closure always takes arguments, and use of placeholders
05:45 spinclad +(including underscore variables) is taken as evidence of arguments.
05:46 spinclad This turns out not to be entirely the case:
05:46 spinclad consider
05:47 spinclad perl6: map { :a; }, ^3
05:47 p6eval rakudo 7ec926: OUTPUT«No applicable candidates found to dispatch to for 'map'␤in Main (file src/gen_setting.pm, line 206)␤»
05:47 p6eval ..pugs:  ( no output )
05:47 p6eval ..elf 28748: OUTPUT«Undefined subroutine &GLOBAL::prefix__94 called at (eval 123) line 3.␤ at ./elf_h line 5881␤»
05:49 spinclad perl6: (map { :a; }, ^3).perl.say
05:49 p6eval rakudo 7ec926: OUTPUT«No applicable candidates found to dispatch to for 'map'␤in Main (file src/gen_setting.pm, line 206)␤»
05:49 p6eval ..elf 28748: OUTPUT«Undefined subroutine &GLOBAL::prefix__94 called at (eval 125) line 3.␤ at ./elf_h line 5881␤»
05:49 p6eval ..pugs: OUTPUT«(("a" => Bool::True), ("a" => Bool::True), ("a" => Bool::True))␤»
05:50 spinclad as compared to
05:50 spinclad perl6: (map { :a }, ^3).perl.say
05:50 p6eval rakudo 7ec926: OUTPUT«No applicable candidates found to dispatch to for 'map'␤in Main (file src/gen_setting.pm, line 206)␤»
05:50 p6eval ..elf 28748: OUTPUT«Undefined subroutine &GLOBAL::prefix__94 called at (eval 125) line 3.␤ at ./elf_h line 5881␤»
05:50 p6eval ..pugs: OUTPUT«*** Cannot cast from VList [VNum 0.0,VNum 1.0,VNum 2.0] to Pugs.AST.Types.VCode (VCode)␤    at /tmp/8aRsxAklXF line 1, column 2-16␤»
05:51 tak11 joined #perl6
05:51 TimToady but nobody will every write that :)
05:52 TimToady the only reason for having a map with an argumentless block is if there are side effects
05:52 TimToady and by definition a hash composer pretty much doesn't
05:52 spinclad nobody will ever fill their tictactoe boards with :x and :o ?
05:52 TimToady well, maybe
05:53 TimToady but yes, it's slightly overstated
05:53 spinclad pugs: (map { 1 }, ^3).perl.say
05:53 p6eval pugs: OUTPUT«(1, 1, 1)␤»
05:53 spinclad easy way to fill a diagonal vector...
05:54 TimToady nevertheless, most of the times people beg caught is when they're trying to map $_ somehow
05:54 TimToady *get caught
05:54 TimToady and why wouldn't you just write :x xx 3?
05:56 spinclad true, true... I have no problem with what's spec'd, just the slight overstatement on the note.  fine with me to have to say  map { :a; }, @whatever  (or :a xx +@whatever)
05:57 spinclad endofnitpick
05:58 TimToady interestingly for some uses, { :a } and :a will mean the same thing anyway
05:58 spinclad sure, when including them in another { ... } hash composer
06:22 pugs_svn r28749 | jimmy++ | [Spec/S02] updated a bit format.
06:31 Bzek joined #perl6
07:00 drbean_ joined #perl6
07:10 drbean_ joined #perl6
07:22 drbean joined #perl6
07:22 pugs_svn r28750 | carlin++ | [Spec/S16-io] Tidied up some formatting and escaped the brackets in %*ENV<PATH> to (hopefully) fix a POD-error
07:27 drbean joined #perl6
07:39 drbean joined #perl6
07:42 rjh joined #perl6
07:43 cls_bsd joined #perl6
07:44 kolibrie joined #perl6
07:44 Helios- joined #perl6
07:49 japhb joined #perl6
07:49 jjore_ joined #perl6
07:55 JimmyZ %*ENVE<lt>PATHE<gt> ?
07:55 carlin JimmyZ: Outputs as %*ENV<PATH>
07:56 carlin There's probably a nicer way to escape it
08:02 lumi joined #perl6
08:17 Su-Shee joined #perl6
08:17 Su-Shee good morning.
08:27 JimmyZ carlin: but ugly, maybe C<< %*ENV<PATH> >>
08:27 abra joined #perl6
08:28 JimmyZ carlin: it's unreadable
08:38 synth joined #perl6
08:43 abra_ joined #perl6
08:49 lumi joined #perl6
08:55 pugs_svn r28751 | jimmy++ | [Spec/S02-bits.pod] changed colon to comma
08:59 pugs_svn r28752 | jimmy++ | [zh-cn/syn/S02-bits.pod]added more translations for Built-In Data Types.
09:13 jrtayloriv joined #perl6
09:22 drbean joined #perl6
09:44 pmurias joined #perl6
09:48 carlin JimmyZ: Tried that, doesn't fix the problem
09:48 carlin %*ENVZ<><PATH>
09:48 carlin does though, maybe that's better
09:49 * carlin thinks there is probably a nice, obvious way to do it that he's missing
09:49 JimmyZ carlin: I saw S02 uses  C<< infix:</> >>
09:49 JimmyZ I think it's the same thing.
09:50 carlin Nope, the colon makes it not try and treat it as a formatting code block
09:50 carlin eg, %*ENV:<PATH> would work fine
09:51 carlin (if that's what we wanted)
09:51 JimmyZ carlin: and C<< --> >> ?
09:52 JimmyZ carlin: and C<< %bar<a> >> from S02
09:53 * JimmyZ doesn't know whether it is the same thing.
09:54 carlin C<< --> >> works because there isn't an opening bracket
09:54 lumi joined #perl6
09:54 carlin but that one is S02 looks interesting, why can't I get that to work? :/
09:55 JimmyZ C<< %bar<a> >> from S02, I think It should works well ;)
09:55 ejs joined #perl6
09:55 JimmyZ s/works/work/
09:55 carlin Oh, because only an uppercase letter followed by <> is treated as a formatting code
09:56 JimmyZ :(
10:00 JimmyZ carlin: I think it's the parser's bug.
10:00 JimmyZ carlin: since  C<< %*ENV<PATH> >> is wrong.
10:28 pugs_svn r28753 | jimmy++ | [zh-cn/syn/S02-bits.pod] added a bit translations
10:36 masak joined #perl6
10:37 meppl joined #perl6
10:52 integral left #perl6
11:04 pugs_svn r28754 | masak++ | Revert "[Spec/S02-bits.pod] changed colon to comma"
11:04 pugs_svn r28754 |
11:04 pugs_svn r28754 | The improvement was of the kind where things were actually more improved
11:04 pugs_svn r28754 | before the change than after. Reverting.
11:17 jogla joined #perl6
11:20 jnthn o/ ahojte
11:22 moritz_ \o
11:22 jogla Hi
11:22 masak ahoj!
11:23 moritz_ jnthn: I don't understand that bind.ar business...
11:24 moritz_ jnthn: things like perl6_group are just linked dynamically, and then loaded at some point
11:24 moritz_ jnthn: why don't you do it the with binder.so
11:26 jnthn moritz_: It's more analogous to the way that we link the dynpmcs against libparrot
11:26 jnthn moritz_: But don't worry - I think I may just bundle them into the PMCs library and just use some magic to let the dynop find them.
11:29 abra joined #perl6
11:32 Whiteknight joined #perl6
11:33 ruoso joined #perl6
11:36 FOAD_ joined #perl6
11:36 dalek rakudo: 0a5ec87 | (Solomon Foster)++ | t/spectest.data:
11:36 dalek rakudo: Turn on S06-operator-overloading/workout.t.
11:36 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​a5ec873ee58fc6d3edd5ca642d9b4f3a62a1671
11:39 jnthn moritz_: The other reason I probably will put it in the PMC library is that I realized while starting to implement the algorithm yesterday that subsignature handling was going to be awkward otherwise.
11:40 jogla Does anyone of you already program in perl6 for any kind of production script/software?
11:42 jnthn jogla: I can't speak for everyone of course, but I haven't heard of anybody doing that just yet.
11:44 jogla Thanks
11:46 jogla moritz_: Is it on purpose that the green background on your web page only covers half the height?
11:52 zloyrusskiy joined #perl6
11:52 edgar_ joined #perl6
11:52 edgar_ mask?
11:53 masak is that a misspelling of my nick?
11:53 edgar_ ok masak?
11:53 masak hai.
11:53 jrtaylor joined #perl6
11:54 edgar_ a new friend tell me that you can answer some question about perl6
11:54 masak edgar_: 你也是中人吗?
11:54 edgar_
11:54 masak :)
11:54 edgar_ More generally, a parameter can have a set of constraints, and the set of constraints defines the formal type of the parameter, as visible to the signature
11:55 masak from the spec, yes?
11:55 edgar_ this word "signature" ?
11:55 jrtaylor joined #perl6
11:55 edgar_ yeah
11:55 edgar_ spec
11:55 masak edgar_: a signature is the list of parameters (and their properties) of a routine (sub, method, etc)
11:56 masak edgar_: conveniently, signatures are also used in the LHS of an assignment.
11:56 NorwayGeek joined #perl6
11:56 jnthn They can also be written as stand-alone literals, and bound against.
11:57 JimmyZ joined #perl6
11:57 jnthn And are fully introspectable data structures too.
11:57 masak JimmyZ: \o
11:57 JimmyZ masak: good localtime ;)
11:57 masak likewise :)
11:58 edgar_ mm
11:58 JimmyZ edgar: It's me.
11:59 edgar_ 散花?
11:59 edgar_ are you?
11:59 JimmyZ edgar_: yes
12:00 lumi joined #perl6
12:02 edgar_ mm
12:04 * moritz_ forget to --sign-off the latest patch by Util++
12:04 moritz_ KyleHa++ # testing like mad
12:04 dalek rakudo: e5562c9 | util++ | build/Makefile.in:
12:04 dalek rakudo: RT#69684 Fixed parallel build by adding dependency.
12:04 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​5562c90e4bc421b562f68f8fa1ddc1e776eab12
12:09 hirschnase joined #Perl6
12:11 pmurias jrockway_: ping
12:12 Su-Shee joined #perl6
12:17 Su-Shee joined #perl6
12:36 edgar_ joined #perl6
12:38 KyleHa joined #perl6
12:40 iblechbot joined #perl6
12:43 drbean joined #perl6
12:54 lumi joined #perl6
12:56 TopoMorto joined #perl6
12:57 pugs_svn r28755 | kyle++ | [t/spec] Test for RT #65358
13:00 KyleHa On RT, what does [LHF] mean?
13:00 moritz_ Low Hanging Fruit
13:01 KyleHa Ah, thank you.
13:03 KyleHa I've been changing every 'plan \d' to 'plan *' and 'done_testing'.  That's OK, right?
13:03 moritz_ yes
13:03 moritz_ it sligthly deteriorates our statistics on tests which rakudo doesn't run, though
13:04 moritz_ so I only do it when I add or remove tests and I'm too lazy to count them ;-)
13:05 moritz_ rakudo: %*ENV<PATH>.=true; say %*ENV<PATH>.perl
13:05 p6eval rakudo e5562c: OUTPUT«Bool::True␤»
13:05 moritz_ rakudo: sub a(*%b) { %b<c>.=true; say %b.perl }; a(:c(3))
13:05 p6eval rakudo e5562c: OUTPUT«{"c" => Bool::True}␤»
13:05 slavik joined #perl6
13:05 masak it's theoretically possible to count the tests even in a planless test file.
13:05 KyleHa Yeah, I'm always adding, removing, and lazy.
13:06 moritz_ why didn't that work in the setting then...?
13:06 jnthn I'm just always lazing.
13:06 jnthn *lazy
13:06 moritz_ KyleHa: that's a very good reason
13:06 jnthn ;)
13:06 moritz_ masak: aye, we could even try to re-use the code from fudge...
13:06 jnthn moritz_: I saw your "why doesn't this work" comment
13:06 jnthn moritz_: I suspect it's 'cus I'm not passing in a Perl 6 Int or something like that.
13:07 h1rschnase joined #perl6
13:07 moritz_ jnthn: oh, that's a good reason
13:07 jnthn I didn't look particularly deeply though.
13:09 KyleHa rakudo: %*h.push: 1 => 2; %*h.perl.say
13:09 p6eval rakudo e5562c: OUTPUT«Method 'push' not found for invocant of class 'Failure'␤in Main (file src/gen_setting.pm, line 206)␤»
13:10 jnthn Hmm. What should happen if a context var is not found?
13:11 KyleHa This expects it to be there:  http://rt.perl.org/rt3/Tic​ket/Display.html?id=65388
13:13 moritz_ probably % and @ sigils should autovivify that variable
13:15 KyleHa rakudo: $*PID.say
13:15 p6eval rakudo e5562c: OUTPUT«Contextual $*PID not found␤␤»
13:15 KyleHa rakudo: $*PID.perl.say
13:15 p6eval rakudo e5562c: OUTPUT«undef␤»
13:15 jnthn moritz_: But...where is the variable stored?
13:15 jnthn I mean, %*h is not a global any more.
13:15 moritz_ no idea
13:16 * jnthn isn't sure he likes the idea of context vars sprining into existence.
13:17 pmurias ruoso: hi
13:17 KyleHa Needs spec, I guess.
13:17 moritz_ I think the ticket comes from a time where %* meant "global", not "contextual"
13:17 jnthn Yeah, same.
13:18 jnthn KyleHa: Yes, it does.
13:19 edgar_ left #perl6
13:28 zloyrusskiy joined #perl6
13:37 masak rakudo: BEGIN { $*a = 42 }; say $*a
13:37 p6eval rakudo e5562c: OUTPUT«Contextual $*a not found␤␤»
13:38 masak when twigil:<*> meant 'global', this worked.
13:38 nothing__ joined #perl6
13:38 masak how can I declare something in BEGIN {} which survives to the outer context?
13:38 jnthn masak: Stick it in a package.
13:39 masak jnthn: that's not really practical when I'm writing -e one-liners.
13:40 jnthn ...you write BEGIN blocks in -e one-liners?
13:40 masak oh, sure.
13:40 masak pun allows me to use -n and -p today.
13:40 jnthn ah, I see...
13:40 jnthn hmm
13:40 masak and for that, BEGIN {} is, used to be, kinda useful.
13:41 jnthn rakudo: say $*a
13:41 jnthn rakudo: say @*a
13:41 p6eval rakudo e5562c: OUTPUT«Contextual $*a not found␤␤»
13:41 p6eval rakudo e5562c: OUTPUT«Contextual @*a not found␤␤»
13:41 jnthn rakudo: $*a.push
13:41 p6eval rakudo e5562c: OUTPUT«Method 'push' not found for invocant of class 'Failure'␤in Main (file src/gen_setting.pm, line 206)␤»
13:41 masak in fact, one of the examples in the pun README hinges on BEGIN and globals. :/
13:41 jnthn Ah
13:41 masak too bad, it was a nice example. :/
13:41 jnthn A method call on a Failure doesn't give the message, that's all.
13:41 jnthn masak: Yes, but they aren't globals any more.
13:42 masak jnthn: that's why I'm asking what substitutes the old approach.
13:42 jnthn masak: I can see what you're looking for...but I'm not sure context vars are the mechanism...
13:42 masak I'm afraid the answer might be "don't use strict mode" and that there's no way to do this in strict mode.
13:42 masak i.e. no way at all in Rakudo at present.
13:43 jnthn Well, -e should not be using strict mode anyway, iirc.
13:43 masak correct.
13:43 jnthn (sure, Rakudo doesn't handle that atm)
13:43 jnthn But even in non-strict mode, we still have a problem.
13:43 jnthn Because %*h is "looking up a %h in the dynamic scope"
13:44 jnthn That means some lexpad somewhere should hold a %*h.
13:44 jnthn But lexpads can't magically start to contain new variables at runtime.
13:44 jnthn So unless there's some fallback package that we can declare these things in...
13:47 masak phenny: tell pmichaud that compilers/pge/README.pod states "It also includes the "pgc.pir" grammar compiler, which can convert an entire grammar specification into the appropriate PIR code for execution." -- sounds cool, where's that file?
13:47 phenny masak: I'll pass that on when pmichaud is around.
13:56 kidd_ joined #perl6
14:01 colomon rakudo: say Rat.new.perl
14:01 p6eval rakudo e5562c: OUTPUT«Null PMC access in can()␤in Main (file src/gen_setting.pm, line 206)␤»
14:01 Chillance joined #perl6
14:02 JimmyZ rakudo: Rat.new
14:02 p6eval rakudo e5562c:  ( no output )
14:02 colomon Anyone have idea if this is a bug which has been reported before?  KyleHa turned it up in the middle of the night...
14:02 JimmyZ rakudo: Rat.new.perl
14:02 p6eval rakudo e5562c: OUTPUT«Null PMC access in can()␤in Main (file src/gen_setting.pm, line 206)␤»
14:02 masak JimmyZ: please submit a bug report on that one.
14:02 colomon Rat.new (by itself) seems to create a Rat with both numerator and denominator undef.
14:03 masak oh, or colomon.
14:03 colomon I'm on it.
14:03 masak I don't recognize it as something ticketed.
14:04 colomon rakudo: say Rat.new.nude.perl
14:04 p6eval rakudo e5562c: OUTPUT«[undef, undef]␤»
14:04 colomon rakudo: my $a; say $a;
14:04 p6eval rakudo e5562c: OUTPUT«Use of uninitialized value␤␤»
14:05 masak I'd just disallow creating a Rat with no arguments to .new
14:05 jnthn lol nude!
14:06 colomon masak: But it's not like we allowed that, it's just what happens if you don't specifically disallow it.
14:06 masak colomon: sure. that's why I'd explicitly disallow it.
14:07 colomon masak: my point being that it seems like this will be a general problem for any user-defined class.
14:07 colomon jnthn: I believe TimToady came up with Rat.nude.  It's specifically designed to make testing Rat easier.  :)
14:07 masak colomon: well, .perl is nowhere near well-spec'd/implemented for user-defined classes.
14:08 jnthn colomon: 'cus you can see both parts of its value laid bare?
14:09 colomon ;)
14:10 colomon rakudo: my $a = Rat.new;  say $a.numerator;
14:10 p6eval rakudo e5562c: OUTPUT«Use of uninitialized value␤␤»
14:10 pmurias rakudo: my $a = Rat.new(1,2);say $a.nude;
14:10 colomon rakudo: my $a = Rat.new; say "{$a.numerator} / {$a.denominator"";
14:10 p6eval rakudo e5562c: OUTPUT«12␤»
14:10 p6eval rakudo e5562c: OUTPUT«Confused at line 2, near "\"\";"␤in Main (file <unknown>, line <unknown>)␤»
14:11 colomon akudo: my $a = Rat.new; say "{$a.numerator} / {$a.denominator}"
14:11 colomon rakudo: my $a = Rat.new; say "{$a.numerator} / {$a.denominator}"
14:11 p6eval rakudo e5562c: OUTPUT«Use of uninitialized value␤Use of uninitialized value␤ / ␤»
14:12 colomon That's what's weird about the bug.  (Which is now RT #69726.)
14:12 colomon rakudo: my $a = Rat.new; say $a.perl
14:12 p6eval rakudo e5562c: OUTPUT«Null PMC access in can()␤in Main (file src/gen_setting.pm, line 206)␤»
14:12 colomon At least that's consistent!
14:17 zloyrusskiy joined #perl6
14:17 colomon If the wise folk here could take a look at t/spec/S06-operator-overloading/workout.t and suggest how the tests could be better (different location?  different filename?) or more tests, I would appreciate it.
14:18 pugs_svn r28756 | kyle++ | [t/spec] Label test for RT 69726
14:19 Psyche^ joined #perl6
14:23 * moritz_ takes a look, despite not belonging to teh wise folk ;-)
14:24 masak right. a couple of us are impostors. :)
14:25 * KyleHa imposts.
14:26 colomon KyleHa: good catch with the label, and finding the bug in the first place.  :)
14:27 masak std: q: :p
14:27 p6eval std 28755: OUTPUT«ok 00:01 106m␤»
14:27 moritz_ colomon: it's a bit evil to assume that is_approx will work on vectors
14:27 masak this came up the other day? how -do- we know whether q is a label or a method name?
14:27 moritz_ we don't, IMHO
14:27 colomon moritz_: I specifically code the Vector so it would.
14:28 colomon But then, that does depend on the implementation of is_approx.
14:28 moritz_ aye
14:28 moritz_ and in theory it also depends on lift()
14:28 colomon lift?
14:28 moritz_ new operators are only visisble in the scope where they are defined
14:29 moritz_ so is_approx() shouldn't see the infix:<-> you define in workout.t
14:29 masak moritz_: butbut, it must be either, and by some rule...
14:29 moritz_ unless it explicitly lifts infix:<-> from its calling scope
14:29 moritz_ currently rakudo has two contrary "bugs" that make it work
14:29 moritz_ on the one hand it doesn't have lift yet
14:30 moritz_ on the other hand overloaded operators aren't properly lexical yet
14:31 moritz_ so down that road is great evil, and the rquirement of rather advanced features which nobody yet implements
14:32 colomon Huh.
14:32 moritz_ otoh the tests with is_approx_array looks good
14:32 colomon is there a spec which explains what you're talking about with lift?
14:32 moritz_ S04
14:33 moritz_ it has a subsection on its own
14:35 payload joined #perl6
14:35 am0c joined #perl6
14:35 pugs_svn r28757 | moritz++ | [t/spec] simplify isnt-function in workout.t. Also remove trailing ws
14:39 colomon I'm having a hard time understanding how lift can work?  Does it imply that normally operator resolution is done at compile time?  (In theory, if not in current practice?)
14:39 colomon except it's not resolution, it's limiting the set of possible choices that can be used for resolution?
14:40 pugs_svn r28758 | moritz++ | [t/spec] added word of warnings to workout.t. Also export abs() in case is_approx uses the sub form
14:40 moritz_ well, usually (ie without lift) the set of multis (including operators) is known at compile time
14:40 moritz_ and if the compiler sees 'lift $something;', it knows that this is not the case
14:41 moritz_ if has to inspect the caller's lexical scope to find other multis of the same name
14:41 moritz_ adds then to the current list
14:41 moritz_ sort them by narrowness
14:41 moritz_ and only then can it dispatch
14:41 moritz_ it sounds very scary to me
14:42 jnthn I thought it was just a lookup as the caller would see it, ignoring any visible in the lexical scope of the thing doing the lift. But I'd have to check.
14:42 moritz_ but it's also necessary if overloaded operators aren't meant to be second class citizens
14:42 jnthn either way, yes, it's a bit fun to implement.
14:42 moritz_ jnthn: or that, yes
14:43 jnthn Where fun is like, omgwtfneedmorebeer
14:43 moritz_ it sounds like the feature you'd want to implement at a hackathon where TimToady lingers about and can be asked directly if needed :)
14:45 masak jnthn: are you implying you plan to implement 'list' while intoxicated?
14:45 masak s/list/lift/
14:45 colomon I guess where it trips me up as a feature is that (if I'm understanding you correctly) if I copied Rat's source exactly to my own code, calling it Rat2, is_approx (as currently implemented) would work for Rat and not for Rat2, even thought Rat and Rat2 would have identical code.
14:46 moritz_ unless is_approx uses lift on infix<-> and abs
14:46 moritz_ ah
14:46 jnthn masak: Not *that* much more beer. ;-)
14:46 moritz_ didn't see the "as currently implemented"
14:46 masak jnthn: just checking. :)
14:47 moritz_ colomon: well, overall sanity is not easy to achieve
14:47 masak jnthn: though it would be kinda fun to have an effective bus number of 0 on that piece of implementation. "how did you DO that?" -- "I have no f-ing idea..."
14:47 moritz_ exporting new multis and operators into every package being compiled wouldn't exactly imply sanity either
14:48 jnthn masak: Heh, that's how lexical multis are today. ;-)
14:48 masak o.O
14:49 jnthn masak: No, they're not so bad... But we need to do them better.
14:49 masak you should mark up those pieces of Rakudo with comments: # WARNING: Drunk code ahead.
14:50 jnthn masak: I'm pretty sure I was totally sober when I wrote that piece.
14:50 jnthn Maybe that was the problem. ;-)
14:50 masak aye.
14:50 jnthn Nah, it's just that they're kinda built on top of state variables to cache the built candidate list.
14:51 moritz_ but it does mean that any piece of code that wants to work with non-builtin data types has to lift() every used operator. D'oh.
14:51 justatheory joined #perl6
14:51 masak there's always a proximal cause and a distal cause. :)
14:51 moritz_ I kinda not-like that
14:51 Confield joined #perl6
14:52 colomon moritz_: yeah, that was my objection.
14:53 jnthn Hmm, that does feel kinda odd.
14:53 colomon I would think most any piece of math code would want to lift every single operation.
14:55 jan_ joined #perl6
14:56 colomon I get the vague feeling that lift is leftover thinking from the "operator overloading is bad" crowd.  :)
14:57 colomon Or to put it a different way -- does the same sort of rule apply to subs?
14:57 moritz_ yes
14:57 moritz_ operators are just subs with weird names
14:57 moritz_ (+ precedence, associativity)
14:57 jnthn masak: Well, I think really we need to try and build them when we build a kind of "prototype lexpad"
14:58 masak ok.
14:58 jnthn In a similar mechanism to how we'll apply traits to variables once.
15:00 blm joined #perl6
15:01 msmatsko joined #perl6
15:03 NorwayGeek joined #perl6
15:10 colomon Do you understand how lift is used, syntax-wise?
15:11 colomon I mean, if I have a complex equation, where do I stick the lift(s)?
15:12 colomon I guess the example in S04 implies one lift at the start does the entire...
15:12 colomon not sure what the right word to use is.
15:13 colomon "lift ~$a eq ~$b" applies lift to both ~s and eq.
15:15 jnthn colomon: I think it is a kind of statement prefix.
15:15 jnthn ah yes
15:15 jnthn token statement_prefix:lift    {
15:16 colomon danke.
15:16 jnthn So it applies to the whole statement after it.
15:16 jnthn actually it takes a <blorst>
15:16 colomon I think I want to encourage the creation of "use lift" which applies lift to every statement that follows.  :)
15:16 zloyrusskiy joined #perl6
15:17 masak rakudo: my @a = 5 ... *
15:17 p6eval rakudo e5562c: OUTPUT«Method 'params' not found for invocant of class 'Failure'␤in Main (file src/gen_setting.pm, line 206)␤»
15:17 * masak submits rakudobug
15:18 jnthn Aww.
15:18 masak can't blame a guy for trying. :)
15:21 alanhaggai joined #perl6
15:25 payload joined #perl6
15:27 kent\n joined #perl6
15:30 ejs joined #perl6
15:32 icwiener joined #perl6
15:36 masak loliblogged: http://use.perl.org/~masak/journal/39740
15:36 masak since people liked my last blog post about frivolities, I thought I'd try another one. :)
15:37 jnthn yaymasakblogged!
15:37 masak :P
15:38 jnthn oh wow you read the ROADMAP :-)
15:39 masak I read it often, in fact.
15:39 masak my current view on the ROADMAP is that it's very ambitious.
15:39 moritz_ it is
15:39 * jnthn expects to move one of the priority 1 items to the completed list in the next week. :-)
15:39 masak but pmichaud++ has never, as far as I know, been vastly wrong about deadlines before, so I trust him.
15:41 Su-Shee left #perl6
15:41 jaldhar joined #perl6
15:41 jnthn In the coming week I'll be having a _really_ big push to get us moved over to the new dispatcher.
15:41 jnthn It's got binding positionals to named args built in from the start.
15:41 masak \o/
15:41 masak let's try it on the application cheese before you push it. :)
15:41 jnthn Yes, it's in a branch. :-)
15:42 jnthn It's going to be quite a big change.
15:42 masak I'd be happy to test-drive it before you push.
15:42 jnthn That'd be great.
15:42 masak s/push/merge/
15:42 jnthn This month and the next are going to see Rakudo getting some fairly major changes, between the stuff myself and pmichaud are working on.
15:43 masak aye.
15:43 jnthn I expect some things that were insufficiently tested will get shaken out during this.
15:43 jnthn Which will be an overall win, but there may be some short-term pain along the way.
15:44 masak such as...?
15:44 jnthn Well, if I could guess exactly where we'll see issues in advance, then we'd be able to avoid them. ;-)
15:45 jnthn I'm just saying that we're swapping out two quite serious components of Rakudo.
15:45 masak I like the sound of that.
15:46 masak "Madam, we're going to swap out two quite serious components. But don't worry, we're professionals."
15:46 jnthn :-)
15:46 jnthn OTOH, the method dispatcher swap went fairly smoothly.
15:46 slavik assertions in grammars?
15:46 masak slavik: that'd be the fallout of pmichaud++'s changes, yes.
15:46 jnthn Much more than the "rvar" refactor a while ago, which you may remember kicked up quite a lot of dust.
15:47 masak since the NQP rewrite can see lexicals.
15:47 slavik masak: are they soon?
15:47 slavik :P
15:47 masak slavik: pmichaud says so. but ask him for exact estimates.
15:47 colomon masak: how is proto testing going?
15:47 slavik my goal here is to nag enough that pmichaud actually implements them so that I go away :)
15:47 colomon (I mean, automatically testing proto-based projects.)
15:47 slavik and bignum ... is that for you or parrot people?
15:48 slavik perl6: say 2**64;
15:48 masak colomon: I dunno exactly. I should talk to mberends++ about that.
15:48 p6eval pugs: OUTPUT«18446744073709551616␤»
15:48 p6eval ..elf 28758, rakudo e5562c: OUTPUT«1.84467440737096e+19␤»
15:48 jnthn slavik: No, no, that just means you'll move on to nagging about something else. ;-)
15:48 slavik like bignum
15:48 colomon masak: just thinking that could be really helpful for big changes.
15:48 jnthn slavik: Exactly. :-)
15:48 masak colomon: oh yes.
15:49 masak colomon: here's the status from my perspective. I already do nightly smokes of November. there's really no extra technical trick involved in setting that up for all projects. but I'd prefer to wait until the installed-projects branch lands in proto before embarking on that.
15:49 slavik btw, same code that used to work (that did grammars) doesn't work anymore ... how can I debug it? (it doesn't output anything)
15:50 masak colomon: I thought I'd call the test-all-projects project "Emmentaler" :)
15:50 colomon masak: any idea how well the projects are passing their own tests now?
15:50 masak slavik: if you find a good answer to that question, please let me know.
15:50 * colomon is not sure the significance of Emmentaler, but it's making him hungry...
15:50 slavik masak: ...
15:51 masak colomon: it varies greatly. some don't have tests. a small number have, and pass all of them. many have bitrotted slightly or a lot.
15:51 masak colomon: clue: Emmentaler has holes. :)
15:51 masak http://en.wikipedia.org/wiki/Emmental_(cheese)
15:53 colomon Interesting... I knew Emmentaler was a swiss cheese, but didn't know it was actually what we americans call "swiss cheese" (modulo the crappiness of the typical american version)
15:54 slavik also, any ETA on an installable package?
15:54 jnthn oooh, and I think that's the one they make fondu++ out of.
15:55 masak slavik: installable proto projects? that's what the installed-projects branch is all about.
15:55 slavik I mean "installable rakudo package" as in a deb and such of the latest stuff.
15:55 slavik would it be there?
15:56 tak11 joined #perl6
15:57 * colomon usually uses gruyere
15:59 masak slavik: I thought Debian already package Rakudo. either that, or they will very soon.
16:00 slavik I think it's an old version ;)
16:03 masak here's a discussion about it all: http://bugs.debian.org/cgi-b​in/bugreport.cgi?bug=544399
16:03 masak sounds promising to me.
16:04 masak that's the September release of Rakudo right there.
16:07 eternaleye joined #perl6
16:26 nihiliad joined #perl6
16:30 * jnthn finally finishes sorting out his Japan photos...
16:30 Matt-W wWow
16:31 Matt-W I've got photos from holiday last year I've not even looked at yet!
16:32 * jnthn tries to keep on top of his
16:32 jnthn This time was easier - I had lots of chances to upload photos while in Japan.
16:33 masak URL?
16:35 jnthn http://www.jnthn.net/cgi-bin/photos.pl?albumid=48
16:35 masak pretty.
16:36 masak haha, 'Random huge robot' :)
16:36 masak I'm getting MegaTokyo vibes...
16:37 slavik mecha streisend
16:37 slavik or w/e
16:38 jnthn masak: I wasn't quite sure what to think when I saw that thing. :-)
16:38 masak :)
16:39 Caelum joined #perl6
16:40 am0c joined #perl6
16:40 frettled joined #perl6
16:40 FOAD joined #perl6
16:40 Bzek joined #perl6
16:40 frodwith joined #perl6
16:40 KatrinaTheLamia joined #perl6
16:40 pjcj joined #perl6
16:40 astinus joined #perl6
16:40 carlin joined #perl6
16:40 betterworld joined #perl6
16:40 spinclad joined #perl6
16:40 szbalint joined #perl6
16:40 literal joined #perl6
16:40 edenc joined #perl6
16:41 gbarr joined #perl6
16:47 FCO joined #perl6
16:48 moritz_ http://www.w3.org/TR/xml/ "#
16:48 moritz_ Terseness in XML markup is of minimal importance."
16:49 moritz_ that's why Perl and XML don't go together all that well :-)
16:50 frettled joined #perl6
16:50 FOAD joined #perl6
16:50 Bzek joined #perl6
16:50 frodwith joined #perl6
16:50 KatrinaTheLamia joined #perl6
16:50 pjcj joined #perl6
16:50 astinus joined #perl6
16:50 carlin joined #perl6
16:50 betterworld joined #perl6
16:50 spinclad joined #perl6
16:50 szbalint joined #perl6
16:50 literal joined #perl6
16:50 edenc joined #perl6
16:53 __ash__ does rakudo have a min heap yet?
16:54 masak sorry, a what?
16:55 __ash__ I was wondering if it had any data container classes that are min-heaps
16:55 araujo joined #perl6
16:58 jnthn __ash__: Not that I know of.
16:58 literal joined #perl6
16:58 frettled joined #perl6
16:58 edenc joined #perl6
16:59 __ash__ okay, if i get one working i'll put it some where someone might stumble upon
16:59 masak sounds great.
16:59 szbalint joined #perl6
16:59 frodwith joined #perl6
16:59 spinclad joined #perl6
16:59 FOAD joined #perl6
17:01 meppl joined #perl6
17:02 jnthn __ash__: You could always do a binary heap role and have it parameterized with an ordering operator.
17:02 jnthn So min-heap I guess would just be a BinaryHeap[&infix:<< < >>].new :-)
17:02 jnthn Or something.
17:02 jnthn :-)
17:02 * jnthn goes nom-hunting
17:03 __ash__ i'll make a note of that, would probably be more useful that way
17:04 KatrinaTheLamia joined #perl6
17:04 pjcj joined #perl6
17:04 betterworld joined #perl6
17:07 Bzek joined #perl6
17:12 jaldhar joined #perl6
17:13 pmurias diakopter: ping
17:17 s1n joined #perl6
17:25 sonatabar joined #perl6
17:46 scion joined #perl6
17:52 araujo joined #perl6
17:52 NorwayGeek joined #perl6
17:55 jaldhar joined #perl6
17:57 frew__ joined #perl6
18:00 moritz_ \o/ google tells me that 3x more people search for 'perl 6' than for 'perl6' ;-)
18:02 jnthn \o/
18:07 pmurias does google measure how many people search for Perl 6?
18:07 pmurias (with capital leter)
18:07 moritz_ no, google is case insensitive
18:08 arnsholt_ I can't think of any sane search engine that doesn't do case folding
18:08 moritz_ and displays all search statistics in lower case
18:17 * jnthn narrowly avoids accidentally putting chilli powder into his garlic butter
18:21 arnsholt That might actually be a col thing to do
18:21 arnsholt Chili and dairy products are a nice combo
18:22 jnthn arnsholt: I'd say it'd be a hot thing more than a cool thing. ;-)
18:22 jnthn But hmm...
18:22 jnthn Maybe this would make an interesting research project some day.
18:22 jnthn "chilli garlic bread"
18:22 arnsholt Point, point ^^
18:22 jnthn Anyway, it's cooked now. \o/
18:22 * jnthn eating
18:22 arnsholt I'd think it'd be rather nice
18:31 rhr_ joined #perl6
18:33 szabgab joined #perl6
19:07 tak11 joined #perl6
19:25 pugs_svn r28759 | moritz++ | [t/spec] unfudge passing %ENV test
19:27 frew__ joined #perl6
19:28 jrockway_ pmurias: pong
19:29 pmurias jrockway: what would it take to relase App::Persistent to CPAN?
19:31 jrockway a perl client
19:31 pugs_svn r28760 | moritz++ | [t/spec] fix submethods.t
19:31 jrockway also, signal handling is not sorted out entirely
19:32 jrockway the dependencies should all be on CPAN shortly though
19:32 jrockway i am convinced that those are ready :)
19:33 pmurias jrockway: i'm willing to help with releasing app-persistent as i want to use it with mildew
19:34 pmurias jrockway: what none CPAN things App::Persistent depends on?
19:35 jrockway Anyevent::Subprocess
19:35 jrockway that is totally ready to be released though, so i will do that later today
19:35 jrockway it should also be easy to write a perl client for app::persistent
19:36 jrockway term::readkey, write every key to the socket, print everything you get back
19:36 jrockway very easy :)
19:36 jrockway i have just been too lazy to do it
19:37 pmurias App::Persistent could use some tests too
19:37 jrockway yeah, those are always good
19:41 pmurias AnyEventX::Cancel is not on CPAN too
19:41 jrockway yeah, that is going to go away for this release of anyevent::subprocess
19:42 jrockway with the caveat "you can't call into the event loop from the child" unless you kill it yourself
19:42 dalek rakudo: 1305255 | moritz++ | t/spectest.data:
19:42 dalek rakudo: we now pass S12-methods/submethods.t
19:42 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​3052550d9ddd57e8180308dd83898e32b8a70b8
19:43 jnthn moritz_: Haven't we passed that for quite a while? :-S
19:43 jnthn At least, submethods were done quite a while ago.
19:44 moritz_ I was a bit surprised too
19:44 moritz_ but that test was a bit borked before
19:45 jnthn Oh, oddness.
19:45 jnthn Well, happy we pass it now.
19:47 lumi joined #perl6
19:50 dalek nqp-rx: 08a47f4 | pmichaud++ | src/ (3 files):
19:50 dalek nqp-rx: Create Match objects lazily.
19:50 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/0​8a47f47be2ed1d6bdbcef78f443c0badd948824
19:51 pmurias jrockway: MooseX::StrictConstructor is an unmet dependency for AnyEvent::Subprocess
19:51 pmurias s/unmet/unmentioned/
19:55 KyleHa joined #perl6
19:57 KyleHa Spammers are having a field day with dev.pugscode.org
19:59 icwiener joined #perl6
20:09 zloyrusskiy joined #perl6
20:29 arthur-_ joined #perl6
20:36 SmokeMachine joined #perl6
20:40 jrockway pmurias: cool, thanks for taking a look :)
20:40 jrockway i think that might be unnecessary now... in a previous rewrite, the delegates became part of the class, making the call to "new" easy to mess up
20:40 jrockway now it is easy to not mess up :)
20:41 jrockway also, let's chat on #perl instead of #perl6
20:41 jrockway 'cause this conversation is irrelevant to almost everyone here
20:41 jrockway nice to see everyone though :)
20:56 jaldhar joined #perl6
21:05 synth joined #perl6
21:10 pmurias joined #perl6
21:10 frew__ joined #perl6
21:11 pmurias jrockway: you mean #perl on irc.perl.org
21:11 jrockway doesn't matter
21:19 pugs_svn r28761 | mberends++ | [sprixel] harness-fudging.pl changed todo and skip directive format to assignment (eg skip=4,12..16) instead of function call, run a single test by passing it on the command line, updated pod
21:25 dalek rakudo: d749d9b | jonathan++ | src/pmc/p (2 files):
21:25 dalek rakudo: Apply patch from bacek++ to get us using documented Parrot API functions in place of some non-API ones.
21:25 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​749d9b551cf869358a792e03d167ccb9af63f67
21:51 icwiener_ joined #perl6
21:52 labgeek joined #perl6
21:52 nadim joined #perl6
21:53 quietfanatic joined #perl6
22:00 labgeek left #perl6
22:18 andre__ joined #perl6
22:25 pugs_svn r28762 | kyle++ | [t/spec] Label test for RT 65474
22:25 pugs_svn r28763 | kyle++ | [t/spec] Test for RT 65482
22:26 pugs_svn r28764 | kyle++ | [t/spec] Test for RT #65514
22:26 pugs_svn r28765 | kyle++ | [t/spec] Test for RT #65538
22:43 KyleHa joined #perl6
22:44 synth joined #perl6
22:54 andreasg_ joined #perl6
22:59 blm left #perl6
23:00 kentnl_ joined #perl6
23:04 lumi joined #perl6
23:19 pugs_svn r28766 | kyle++ | [t/spec] Test for RT #65556
23:26 tak11 joined #perl6
23:56 rhr joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo