»ö« 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:09 risou left 00:14 sftp left, Ali_h_ joined, ali_h left, Ali_h_ is now known as ali_h 00:28 mtk left 00:34 benabik joined 00:36 mtk joined 00:41 mtk left 00:50 PhatEddy left 01:02 miso2217 left 01:07 cdarroch left 01:16 woosley joined 01:30 drbean joined 01:35 drbean left 01:43 whiteknight left 01:47 miso2217 joined 02:01 noganex left 02:03 leprevost joined 02:05 noganex joined 02:24 am0c joined 02:25 colomon joined 02:28 ymasory left, ymasory joined 02:29 nymacro joined 02:32 leprevost left
cognominal jnthn++ 02:37
colomon jnthn++ 02:42
colomon figures that's safe enough, even if he's not sure why yet. ;) 02:43
02:51 REPLeffect left
colomon tries to build nom 03:04
03:10 justatheory left, justatheory joined
colomon make: *** No rule to make target `/Users/colomon/tools/nom/rakudo/parrot_install/bin/nqp' 03:13
03:14 justatheory left 03:23 Su-Shee_ joined 03:27 Su-Shee left, alester_ joined 03:29 hudnix left 03:32 kaare_ joined 03:39 am0c left
TimToady kfa 03:46
sorear ? 03:48
TimToady afk ** -1
afk⁻¹ even 03:50
arcafk
03:53 jaldhar left 03:54 am0c joined, jaldhar joined 04:35 ymasory left 04:46 alester_ left 05:04 y3llow_ joined 05:05 baest_ joined 05:06 dju__ joined, y3llow left, y3llow_ is now known as y3llow 05:07 baest left 05:10 dju_ left 05:24 birdwindupbird joined
moritz colomon: you need perl Configure.pl --gen-nqp 05:29
05:39 jaldhar left, jaldhar joined 05:47 colomon left 05:50 wtw joined
dalek osystem: 43ecb15 | tadzik++ | / (2 files):
uri has been adopted
05:56
06:04 colomon joined 06:17 SHODAN joined 06:23 Su-Shee_ is now known as Su-Shee
dalek ast: ef5b438 | pmichaud++ | S03-operators/relational.t:
Add relational op tests for NaN.
06:26
pmichaud lolicommitted
dalek kudo: c929021 | pmichaud++ | src/core/Num.pm:
Fix relational operator tests to work properly with NaN values.
06:27
kudo: 7e81699 | pmichaud++ | src/core/ (2 files):
Optimize Numeric.ACCEPTS and Real.ACCEPTS to use ??!! instead of if/else
kudo: e930364 | pmichaud++ | Test.pm:
[Test.pm]: Avoid (now-redundant) test for NaN in is_approx, comparison of NaN always returns false.
moritz pmichaud++ 06:30
pmichaud I'm about to bump PARROT_REVISION and then will benchmark rakudo-master against others
it's so nice to be able to run rakudo spectests in under 5 mins :-) 06:31
also, I'm *really* glad we didn't make a star release for 2011.02. That was fortunate. 06:32
06:41 mj41 joined 06:44 colomon left
dalek kudo: 065788e | pmichaud++ | build/PARROT_REVISION:
Bump PARROT_REVISION to get latest Parrot gc and related changes.
06:48
07:01 colomon joined, baest_ is now known as baest 07:04 wamba joined 07:05 am0c left 07:09 kaare_ left 07:12 fhelmberger joined, drbean joined 07:16 agentzh joined, drbean left 07:18 am0c joined
jnthn pmichaud++ \o/ 07:27
commits!
colomon, moritz: Improvements to "oh no, no nqp" failure mode welcome. :) 07:29
07:30 jaldhar left 07:31 jaldhar joined 07:32 kaare_ joined 07:33 awoodland joined 07:45 Sefnajjer joined
Sefnajjer hello Gentlemen 07:46
07:47 Sefnajjer left
mathw jnthn++ 6model Rakudo! 07:50
Very exciting blog post
moritz indeed, jnthn++
tadzik spectest under 5 minutes? Oh wow 07:51
how long was it for you before, pmichaud?
pmichaud around 30.
jnthn Whoa.
pmichaud: GC threshold changes + the numerics patch above?
tadzik ...whoa!
pmichaud no, the spectest time improvements are strictly because I got a new machine on friday :-) 07:52
to replace my outdated desktop from 2005
jnthn oh!
That's cheating. :P
tadzik I'm planning to give a talk on Warsaw.pm in about July, something like "Rakudo Star, year ago and now"
pmichaud 6 core 3.2GHz amd phenom processor
mathw drools, just a little
jnthn Hell yeah
jnthn wants one too :) 07:53
mathw honestly my dual-core laptop and my quad-core desktop are just fine... just fine...
pmichaud and, no, it's not cheating if it saves me 25+ minutes per spectest run :-)
jnthn mathw: Heh, that's exactly the setup I have. :)
mathw I really don't mind at all that I can't run City of Heroes with maxed-out graphics settings anymore (they upgraded the engine since I could do that)
And I've never sat there saying 'I wish you would compile more quickly'
pmichaud but it's really nice to see things like core.pm compiling in 65 seconds instead of 240+
mathw :D 07:54
I bet
that is a really significant speedup
moritz is surprised that single processors still get so much faster
mathw if only it was through some awesomely clever patch to parrot or rakudo
hey here's an idea, we could ship rakudo with a database of all possible programmes, ready compiled, so it can just look them up in a hash table, super-fast!
storage is cheap, right? 07:55
tadzik is (self.isNaN ?? $other.isNaN !! $other == self) really faster than if/else?
jnthn Yes
moritz tadzik: fewer scopes
jnthn No block
tadzik oh, I see
moritz tadzik: each block is compiled to a separate parrot-level sub
tadzik so that could be optimized one day, but now it's not?> 07:56
jnthn In NQP we can flatten blocks out and do. In Rakudo, I'm not sure we can.
moritz so you get rid of an invocation and a return
maybe with sufficient static analysis
we should spec that intermediate blocks are optional in stack traces
jnthn Contextuals would seem to prevent scope flattening. In Perl 6 every block has some. 07:57
moritz or maybe they shouldn't show up at all
jnthn: if you can prove that they are not used somehow...
jnthn moritz: But it's a contextual, so short of full program analysis or something that seems...hard.
Maybe in some cases we can.
mathw oh fun 07:58
moritz jnthn: would be a huge win if we analyzed the setting for use of contextuals
jnthn moritz: True. 07:59
moritz: But even then it only helps for sub calls
moritz: Since a method call could be overridden at any point.
But perhaps still worth it :)
In fact, I guess it means all operators win. 08:00
moritz unless they do things like $a.Num + $b.Num 08:01
mathw As long as you don't tell too many people, so they won't start writing sub-only code 'because it's faster'
jnthn moritz: Right
Though if people are really after speed they'd presumably have added type annotations so the compiler can find and inline infix:<+>(Num,Num) 08:02
08:11 jedai_ left 08:13 jedai joined
tadzik 48.9% of modules now have Panda badges :) 08:15
moritz are any of mine among the missing? 08:17
mathw What's a Panda badge? 08:20
cosimo tadzik: would be useful if clicking on the panda I could know what that means :)
and hello, #perl6
jnthn mathw: It means your module is unbearably good. 08:22
moritz hello cosimo
it means a META.info location is known for that module
tadzik nope 08:26
it means it conforms to the latest specs.pod
moritz oh
tadzik which currently means "it has a source-url field"
moritz you see, even I get it wrong :-) 08:27
tadzik it means "good maintainer, takes care of what happens in the ecosystem"
cosimo damn, now I need to fix my other perl6 modules ;)
tadzik please do! :) 08:28
mathw Something I've definitely not been doing lately
tadzik one could maintain an autoupdater/notifier for META.infos and achive ultimate glory
cosimo now that the socket stuff is stable, I really need to finish Cache::Memcached
moritz you mean, after we completely broke and then rewrote it? :-) 08:31
www.perlmonks.org/?node_id=903800 nice challenge
can anybody think of a clever Perl 6 solution?
dalek kudo/nom: 924ea54 | moritz++ | / (3 files):
detect missing nqp executable at Configure.pl time
08:32
moritz niezca: say 'abc' ~~ /<*abcd>/
niecza: say 'abc' ~~ /<*abcd>/ 08:33
p6eval niecza v5: OUTPUT«===SORRY!===␤␤Action method assertion:sym<*> not yet implemented at /tmp/AyDRZnznUi line 1:␤------> say 'abc' ~~ /<*abcd⏏>/␤␤Unhandled exception: Unable to resolve method oplift in class Str␤ at /home/p6eval/niecza/src/RxOp.pm6 line 9 (RxOp
..C8_…
jnthn rakudo: say '1443123456983' ~~ / :my $last; [(\d) <?{ ($last + 1) % 10 == $0 ?? ($last = $0; 1) !! 0 }>]+ / 08:36
p6eval rakudo 065788: OUTPUT«Use of uninitialized value in numeric context in <anon> at line 22:/tmp/VUupEPKjPB␤144312345␤»
jnthn dang 08:37
:)
moritz rakudo: say '1443123456983' ~~ / :my $last; (\d) { $last = +$0 } [(\d) <?{ ($last + 1) % 10 == $1 ?? ($last = $0; 1) !! 0 }>]+ / 08:38
p6eval rakudo 065788: OUTPUT«␤»
08:39 colomon left 08:41 colomon joined
moritz www.perlmonks.org/?node_id=903927 just a weird idea 08:41
08:44 [particle]1 joined, [particle] left 08:47 lue left, lue joined 08:48 colomon left 08:55 dakkar joined, colomon joined 09:00 pnu left 09:02 pnu joined 09:08 colomon left 09:14 donri joined 09:15 colomon joined 09:16 tzhs joined 09:21 awoodland left 09:29 icwiener joined 09:34 colomon left 09:43 colomon joined 09:49 kaare_ left 09:53 pnu left 09:58 icwiener_ joined 10:00 pnu joined, icwiener left 10:04 am0c left 10:06 Su-Shee_ joined 10:09 Su-Shee left 10:12 ggoebel joined 10:17 ggoebel left 10:22 ggoebel joined, woosley left 10:24 kaare_ joined 10:36 Su-Shee_ is now known as Su-Shee 10:41 icwiener_ left, cosimo_ joined 10:45 wamba left
tadzik remember when I said Rakudo is fast enough when I can run ForestFire.pl smoothly? Ladies and Gentleman, Rakudo is Fast Enough :) 10:52
oh, my bad, it isn't :) 10:53
I was using a small board
11:02 Psyche^ joined 11:05 Patterner left, Psyche^ is now known as Patterner 11:07 mux_ is now known as mux 11:08 icwiener joined 11:19 satyavvd joined 11:25 cosimo_ left 11:27 dakkar left, woosley joined 11:28 woosley left, dakkar joined 11:50 woosley joined 11:54 agentzh left
takadonet morning all 12:07
tadzik: url for ForestFire.pl ?
12:12 f00li5h left 12:14 mtk joined 12:17 satyavvd left 12:28 sftp joined 12:31 pernatiy left 12:33 [particle]1 is now known as [particle]
jnthn afternoon o/ 12:44
12:45 leprevost joined 12:46 Vlavv_ left
takadonet jnthn: yo 12:48
jnthn o/ takadonet
takadonet jnthn: how are you doing? 12:49
12:49 drbean joined 12:50 bluescreen10 joined 12:51 leprevost left, leprevost joined, Holy_Cow joined 12:52 Holy_Cow left
jnthn takadonet: Pretty well, thanks. :-) Mostly done with $dayjob for the next week and a half. :) 13:01
takadonet jnthn: nice so more Rakudo hacking 13:02
13:02 woosley left
jnthn takadonet: Yes, and a bit of vacation too :) 13:03
13:05 woosley joined 13:10 pernatiy joined
takadonet newest rakudo build took off 10 seconds off my script runtime! 13:16
jnthn yay :) 13:17
takadonet still a thousands time slower then p5 version :(
p6 version: 2 min 42 seconds p5 version: 0.1 seconds
jnthn :(
13:20 satyavvd joined 13:36 woosley left 13:38 Sefnajjer joined
Sefnajjer Hello Gentlemen 13:39
moritz Sefnajjer: hello
13:39 Sefnajjer is now known as Moukeddar
Moukeddar How are you doing moritz ? 13:40
phenny Moukeddar: 08 May 17:20Z <sorear> tell Moukeddar mail.pm.org/pipermail/chicago-talk/...04726.html
moritz same as usual 13:41
Moukeddar oh yeah , the naming thing , how nice of you to clarify that ;)
Camel Art , Tasty 13:42
13:45 ab5tract joined
Moukeddar blog.amt.in/video-perl-programming-...es-linuxco 13:47
dalek kudo/nom: c929021 | pmichaud++ | src/core/Num.pm:
Fix relational operator tests to work properly with NaN values.
13:51
kudo/nom: 7e81699 | pmichaud++ | src/core/ (2 files):
Optimize Numeric.ACCEPTS and Real.ACCEPTS to use ??!! instead of if/else
kudo/nom: e930364 | pmichaud++ | Test.pm:
[Test.pm]: Avoid (now-redundant) test for NaN in is_approx, comparison of NaN always returns false.
kudo/nom: 065788e | pmichaud++ | build/PARROT_REVISION:
Bump PARROT_REVISION to get latest Parrot gc and related changes.
kudo/nom: 7ff55d7 | jnthn++ | / (7 files):
Merge branch 'master' into nom
13:52 [Coke] left 13:53 Jdoneright joined, Moukeddar_ joined, Moukeddar_ left
Jdoneright So, who else researches J language beside me? 13:54
moritz Jdoneright: maybe try asking in a J-related IRC channel? 13:55
Jdoneright But I love Perl!
moritz that's nice, but still your chances are higher in a J-related channel 13:56
Su-Shee
.oO(what are J languages?)
Jdoneright Ahh, I get you. Its not some J advice I seek
J is more humane version of APL 13:57
vectorized programming language
moritz Su-Shee: Java, Javascript, ... *SCNR*
Jdoneright no-no-no
Su-Shee moritz: well that's what I first thought actually...
colomon moritz++, jnthn++, pmichaud++ 13:58
Jdoneright q=. 2 3 5 7 9 define q
+/ q sum q 13:59
*/\ q partial products of q
moritz rakudo: my @q = 2, 3, 5, 7, 9; say [+] @q; say join ', ', [\*] @q 14:00
p6eval rakudo 065788: OUTPUT«26␤2, 6, 30, 210, 1890␤»
colomon jnthn: ld: can't open output file for writing: perl6, errno=21 14:02
jnthn colomon: huh? 14:04
moritz colomon: check if your disc is full? 14:05
14:05 Tedd1 left
jnthn colomon: Compiling...what exactly? 14:05
colomon jnthn: that's my latest problem building r-nom
jnthn Oh.
moritz colomon: try: perl -wE '$! = 21; say $!'
jnthn That's...really odd given it's just the same old pbc_to_exe that we've used for a long time.
colomon moritz: I've got 200 gigs free
moritz colomon: what does it say on your platform?
should be enough, even if it's close :-)
colomon Is a directory 14:06
jnthn wtf, the directory should be called Perl6, not perl6.
moritz case independent file systems
jnthn And on Windows it ain't an issue 'cus it's perl6.exe.
grr
dalek kudo/nom: 0c08f4b | jnthn++ | NOMMAP.markdown:
Update plan.
jnthn OK, I dunno what to do about that.
moritz but macos has case insensitive file systems *and* no .exe extensions 14:07
jnthn ew.
colomon actually, OS X has case sensitive file systems but tries to pretend it doesn't, I believe.
14:07 bluescreen10 left
moritz colomon: it has some, but it doesn't enable it by default 14:07
it's just case preserving, not case sensitive 14:08
how about not writing to ./Perl6, but to src/gen/Perl6 or gen/Perl6 or so?
jnthn moritz: It's the PBСs that go in there 14:09
And they're located by normal use statement.
moritz jnthn: so, generated files
jnthn moritz: Well, if that's your measure, then we put perl6 executable in src/gen too.
moritz so we need to twiddle with INC or whatever the equivalent is, right
jnthn Note that only perl6.pbc gets bundled into the executable. 14:10
Everything else is just a PBC file loaded at runtime.
moritz so maybe a runtime/ dir? 14:11
jnthn We could try and mess around with some load prefix or something.
moritz or blib or so
jnthn Maybe, but it needs to work after install too.
So long as we install with a blib prefix I guess it's OK. 14:12
hmm, but then we need to work out how to get it to load from there...
moritz I'd like to hear pmichaud's opinion on the whole thing befor we do anything about it 14:13
jnthn Sure
I'm happy for somebody else to solve this.
At the moment it's not even worth building anyway. :)
moritz jnthn: is it the nqp use statement that does its loading?
jnthn moritz: Yes.
moritz s/its/the/
14:14 icwiener left
moritz jnthn: does it go solely by module name? or does it also look into the file, and verify that it found the package it was supposed to load? 14:14
jnthn The name just locates the file.
moritz if the former, a use blib::Perl6::Actions might work, even if it's ugly
jnthn Yes, it would :) 14:15
The only thing it cares about once it's loaded the file is GLOBALish and EXPORT.
Which are both in UNIT
And thus locatable without worrying over filename.
Talking of export...that's what I need to do next...or a first cut, anyway ;) 14:16
14:18 Tedd1 joined, wtw left 14:23 Jdoneright left 14:24 drbean left, bluescreen10 joined 14:27 Tedd1 left
pmichaud good morning, #perl6 14:28
PerlJam good morning Pm
moritz good am, pm 14:30
jnthn morning, pmichaud 14:32
14:32 PhatEddy joined
colomon pmichaud! \o/ 14:32
PhatEddy Hi - I'm trying to build the latest rakudo on Win Vista and hitting intermittent (but frequent) Error -1073741819 from nqp when building parrot. 14:33
Any suggestions ?
jnthn Hmm...isn't that equivalent to segfault? 14:35
:/
PhatEddy: What toolchain are you using? 14:36
moritz googling for "Error 1073741819" throws up lots of results that suggest a virus or worm might be the issue
jnthn rakudo: say 1073741819.base(16)
p6eval rakudo 065788: OUTPUT«3FFFFFFB␤» 14:37
jnthn rakudo: say -1073741819.base(16)
p6eval rakudo 065788: OUTPUT«-3␤»
jnthn meh
pmichaud masakbug!
moritz precedence!
14:37 spq joined
PhatEddy I can't rule out a virus! I was infected last week and had to clean up ... 14:37
jnthn pmichaud: Is that actually wrong, btw?
pmichaud jnthn: no, moritz++ has it right
moritz rakudo: say (-1073741819).base(16)
p6eval rakudo 065788: OUTPUT«-3FFFFFFB␤»
jnthn pmichaud: Thought so.
moritz :-) 14:38
pmichaud it's a precedence issue :)
too early here -- haven't had a dr pepper yet
jnthn Well, yes, but is it a Rakudo bug of just Perl 6 spec'ing it that way :)
dalek kudo/nom: 7cd9d0c | jnthn++ | src/Perl6/ (2 files):
First cut of import. Seems to do the right kinda thing.
jnthn lol i can write import in very few lines now!
pmichaud I'm currently looking over the last set of benchmark results
14:39 ggoebel left 14:41 hercynium joined 14:43 Moukeddar left 14:44 ggoebel joined 14:45 Tedd1 joined 14:46 spq left
pmichaud github.com/pmichaud/rakbench/blob/...100844.txt # rakbench on 2GB kiwi 14:47
summary: gms wins core.pm and rx tests, ms2 (both 2011.01 and patched 2011.04) wins all others
moritz that's surprising
jnthn Odd. 14:48
pmichaud oh, 2011.01 (ms2) didn't win pickwords.p6. but patched 2011.04 (ms2) did. 14:49
same for atan2
14:53 bluescreen10 left 14:58 simcop2387 left 14:59 simcop2387 joined 15:00 mj41 left 15:07 ab5tract left 15:08 bluescreen10 joined 15:12 satyavvd left 15:22 risou joined 15:25 Su-Shee left, tzhs left 15:26 Su-Shee joined, noganex left 15:29 noganex joined, nymacro left 15:33 Shozan joined 15:37 MayDaniel joined 15:40 Shozan left 15:41 justatheory joined 15:44 risou_ joined 15:46 risou left 15:51 domidumont left 15:52 MayDaniel left 15:56 edenc left
moritz pmichaud: have you backlogged, regarding locations of generated setting .pbc files in nom? 16:06
jnthn Note, it's not just setting, but meta-objects and other compiler bits
Suggest reading my blog post yesterday for background also.
moritz should finish that, yes 16:07
TimToady I'm getting really tired of seeing (and I suspect people are tired of typing) things like: say ~( LIST )
we need a "so" equivalent for stringifying
pmichaud [~] LIST # :-)
TimToady um, no 16:08
moritz that joins without whitespace
16:08 Mowah joined
moritz TimToady: I thought the same today 16:08
pmichaud ah, with the whitespace
TimToady cat fails too
pmichaud maybe an abbrev for "join" 16:09
"jo"
"jn"
maybe just "sp"
TimToady unfortunately we can't use "str"
pmichaud say sp List
TimToady that's not too bad
pmichaud *LIST
jnthn sp? 16:10
TimToady then we could have "spay" for short
pmichaud joins LIST with spaces
jnthn oh!
TimToady what .Str does
tadzik takadonet: I believe it's on RosettaCode
jnthn say Str( LIST ); :)
tadzik Great! I'm not looking, and jnthn implements import! Unfair!
16:10 hudnix joined
TimToady and then we could have .sp as alias for .Str 16:10
jnthn tadzik: It's not complete. :)
PerlJam I'm not too tired of ~(LIST) yet (fwiw :-) 16:11
jnthn tadzik: But it does look in lexical IMPORT :)
pmichaud moritz: I did see the dicussion on the .pbc's yes
jnthn tadzik: And does make the imported symbols available to the compiler. :)
pmichaud I'm not likely to have tuits to throw at it today... perhaps tomorrow
moritz pmichaud: any opinions?
TimToady PerlJam: it really wants a listop so you don't have to find/remember the trailing )
moritz ok
jnthn And does install them in the static lexpad... :)
That's already 3 things we didn't do before. ;)
pmichaud I should be able to review it Thursday if I don't get to it before then 16:12
PerlJam TimToady: aye, but perhaps it's one those things that "feels familiar" for me that I don't have that problem.
16:12 cdarroch joined, cdarroch left, cdarroch joined
PerlJam TimToady: you could always confuse people by making a ~( op that doesn't need the ) ;-) 16:12
pmichaud say &prefix:<~>(LIST) # works also :-P
might need an extra set of parens 16:13
PerlJam does prefix:<~~> mean anything yet?
moritz rakudo: say prefix:<~> <a b c>
p6eval rakudo 065788: OUTPUT«a b c␤»
moritz PerlJam: don't even think of it
PerlJam moritz: too late! :)
pmichaud PerlJam: it means you got your smartmatch in the wrong position, usually :)
moritz PerlJam: when you define a prefix:<~~>, you can't detect accidental usage of some_sub ~~ condition anymore
pmichaud std: say ~~ 3 16:14
p6eval std 9f27365: OUTPUT«===SORRY!===␤Expecting a term, but found either infix ~~ or redundant prefix ~␤ (to suppress this message, please use space between ~ ~) at /tmp/QdHD1Ju7zU line 1:␤------> say ~~⏏ 3␤Parse failed␤FAILED 00:01 114m␤»
tadzik jnthn++ # import
PerlJam aye. that one can't work for a variety of reasons. But sometimes you've got to mentino the bad ideas for contrast
16:14 ggoebel left, KyleHa joined
pmichaud maybe &prefix:<⏏> :-P 16:15
say ⏏ LIST
tadzik that looks like a jmp instruction in Mario programming language
PerlJam I don't even know how to type that character .... so ~(LIST) continues to work fine for me :) 16:16
moritz now I want a metaop that lowers the precdence of an operator
say L~ 1, 2, 3
then we can abandon 'and' for L&&
or becomes L||
PerlJam moritz: a generalized precedence twiddler does seem to be useful (where you can raise or lower precedence as needed)
pmichaud traditionally, the generalized precedence twiddler has been () :-P 16:17
PerlJam a more infix one
or prefix
pmichaud I don't suppose (~) works
say (~) LIST
moritz but () stands for tight precedence 16:18
jnthn say )~( LIST
moritz having it *loosen* the precedence of another op feels wrong
jnthn: :-)
pmichaud then )~.... what jnthn said
jnthn OH NO if two people thunk it it must be right! 16:19
;)
16:19 ggoebel joined
pmichaud note about RT #89972 (.roll isn't random enough) 16:22
That looks like a recent bug. It worked fine in 2011.01
gist.github.com/964805
so it should be low-hanging fruit
oh, it works fine in 2011.04, too
so it's broken sometime between 2011.04 and current master 16:23
jnthn pmichaud: Yeah, deliberate Parrot chance, it seems.
*change
pmichaud: The discussion that followed was basically a be-useful-to-HLLs FAIL.
</trolling> 16:24
16:24 miso2217_ left
jnthn pmichaud: Long story short, easiest way is for us to call srand ourselves at startup, or some such. 16:24
16:24 KyleHa left, ggoebel left 16:28 justatheory left 16:29 ggoebel joined
pmichaud where's the discussion, ooc? 16:30
jnthn pmichaud: Was on #parrot 16:31
benabik pmichaud: Starts at irclog.perlgeek.de/parrot/2011-05-05#i_3678681 16:32
jnthn pmichaud: irclog.perlgeek.de/parrot/2011-05-05#i_3678709
oh... :)
benabik jnthn: Jinx?
pmichaud so, is this another "we're making a change outside of the deprecation policy" sort of thing? 16:33
jnthn Seems so.
16:33 am0c joined
jnthn As well as making a change that I can't see being a benefit to ANY HLL. 16:34
benabik It looks like srand was being initialized as part of the hashing code.
16:39 Tedd1^ joined 16:40 Tedd1 left 16:46 risou joined, risou_ left 16:54 birdwindupbird left 16:56 dakkar left, risou left 16:57 Vlavv_ joined 17:03 risou joined 17:05 risou left, risou joined, risou left 17:10 risou_awy joined, icwiener joined 17:13 risou_awy is now known as risou
tadzik how much time 'til #phasers? 17:15
jnthn 1 hour 45 mins, iirc. 17:16
oh, or is it just 45 mins
no, I was right first time :)
tadzik goodie. Thanks 17:17
spam on the RT 17:21
we can close 2 tickets! \o/ :)
dalek kudo/nom: a80a744 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Flesh out bootstrap types a little more.
17:26
kudo/nom: 9fd9be6 | jnthn++ | src/Perl6/Compiler/ (2 files):
Toss old compile-time representations of parameter and signature - we can now just instantiate the real parameter and signature objects and use them in the compiler, then (if we're running right away) the same ones at runtime.
kudo/nom: 457c06a | jnthn++ | src/Perl6/SymbolTable.pm:
Compile-time symbol location and is_type.
kudo/nom: f08cd62 | jnthn++ | src/Perl6/Metamodel/AttributeContainer.pm:
Fix attribute introspection.
kudo/nom: adf72d8 | jnthn++ | src/Perl6/ (2 files):
Start to refactor grammar and actions for compile time Signature/Parameter creation.
17:26 Mowah left
jnthn nom & 17:28
17:30 pernatiy left 17:38 masak joined
masak evening, zebras. 17:38
jnthn evenin', masak
pmichaud I should probably write up reports for #parrotsketch and #phasers 17:39
masak ooh, #phasers.
17:42 risou is now known as risou_awy, risou_awy is now known as risou 17:44 Chillance joined 17:48 orafu left 17:51 ab5tract joined 17:53 benabik left
tadzik oh, masak :) 17:57
dalek kudo: 72cbadc | pmichaud++ | build/PARROT_REVISION:
Bump PARROT_REVISION to get random number seeding from Parrot. Fixes #89972.
pmichaud now that #89972 is fixed, is there a good way we can test it?
tadzik a test running a .pl file?
I thought about it too
pmichaud more directly: should I close the ticket, or leave it with "we need a test"? 17:59
I'm going to leave it open. 18:01
colomon pmichaud++ 18:02
tadzik tickets++
18:02 miso2217 left, wamba joined
pmichaud it's been so long since I did a report at #phasers that I have to remember what one looks like :) 18:03
jnthn pmichaud: The current standard is to write it all in uppercase, with maximum line length 30 chars. 18:04
diakopter lol. 18:05
18:06 tomaw left
tadzik did you mean: LOL! 18:06
PerlJam heh
though, this isn't #phaser :)
er , #phaseres 18:07
crap
I would try again, but it's likely to come out as #phrases or something
18:08 tomaw_ joined
diakopter or #sharpes 18:08
18:11 icwiener left
colomon bother. new version of gcd in setting appears to break Math::BigInt. :( 18:12
well, Math::BigInt's gcd, anyway 18:14
18:15 tomaw_ is now known as tomaw
colomon rakudo: multi sub gcd(Rat $a, Rat $b) { say "Rats!" }; gcd(10.0, 15.0) 18:15
p6eval rakudo 065788: OUTPUT«Rats!␤»
masak colomon: oh! sorry about that. :/ 18:20
colomon masak: I'm sure it's not really your fault. Some stupid glitch in Rakudo's dispatch. 18:21
18:21 rgrau joined
colomon and probably not worth fixing because it's all about to change anyway. 18:22
masak probably worth bugreporting, though.
jnthn oh surprise, masak++ wants to report a bug ;P 18:23
jnthn is all for it - more for nom to close ;)
18:23 pernatiy joined
jnthn pre#phasers stroll & 18:23
colomon masak: the trouble is going to be golfing it 18:25
masak oh?
colomon rakudo: class A { our multi sub gcd(Rat $a, Rat $b) is export { say "Rats"; }; }; gcd(10.0, 15.0) 18:26
p6eval rakudo 065788: OUTPUT«Method 'gcd' not found for invocant of class 'Rat'␤ in <anon> at line 3920:CORE.setting␤ in 'gcd' at line 1␤ in main program body at line 22:/tmp/3pr_oCfqxu␤»
colomon huh
rakudo: say gcd(10.0, 15.0)
p6eval rakudo 065788: OUTPUT«Method 'gcd' not found for invocant of class 'Rat'␤ in <anon> at line 3920:CORE.setting␤ in 'gcd' at line 1␤ in main program body at line 22:/tmp/oozOPuKyYp␤»
colomon ah, okay.
well, probably can be golfed down to a simple module, anyway 18:27
masak aye.
18:29 miso2217 joined 18:31 hercynium left
colomon gist.github.com/965082 -- masak, think you can improve on that golfing? 18:31
18:34 justatheory joined, justatheory left 18:35 justatheory joined 18:36 jaldhar left
masak looks 18:37
rakudo: class Gcd does Real { our multi sub gcd(Gcd $a, Gcd $b) is export(:DEFAULT) { say "Gcd!" }; gcd Gcd.new, Gcd.new 18:40
p6eval rakudo 72cbad: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 22␤»
masak rakudo: class Gcd does Real { our multi sub gcd(Gcd $a, Gcd $b) is export(:DEFAULT) { say "Gcd!" } }; gcd Gcd.new, Gcd.new 18:41
p6eval rakudo 72cbad: OUTPUT«Method 'gcd' not found for invocant of class 'Gcd'␤ in <anon> at line 3920:CORE.setting␤ in 'gcd' at line 1␤ in main program body at line 22:/tmp/H0Chu2jTX1␤»
masak rakudo: class Gcd { our multi sub gcd(Gcd $a, Gcd $b) is export(:DEFAULT) { say "Gcd!" } }; gcd Gcd.new, Gcd.new
p6eval rakudo 72cbad: OUTPUT«Method 'gcd' not found for invocant of class 'Gcd'␤ in <anon> at line 3920:CORE.setting␤ in 'gcd' at line 1␤ in main program body at line 22:/tmp/huJEujRGx2␤»
masak rakudo: class Gcd { our sub gcd(Gcd $a, Gcd $b) is export(:DEFAULT) { say "Gcd!" } }; gcd Gcd.new, Gcd.new
p6eval rakudo 72cbad: OUTPUT«Method 'gcd' not found for invocant of class 'Gcd'␤ in <anon> at line 3920:CORE.setting␤ in 'gcd' at line 1␤ in main program body at line 22:/tmp/GyIWhsGP89␤»
masak hm, of course it's not visible. 18:42
I'm not importing it... :)
colomon right. 18:43
masak runs the files instead
colomon "does Real" is unnecessary, that's a miniature golf. 18:44
so is "(:DEFAULT)"
18:46 [particle] left 18:51 ab5tract left 18:54 [particle] joined 18:58 mtk left
masak #phasers in 1? 18:59
jnthn yes, back justin time 19:00
19:07 mtk joined
masak today's mini-challenge. (this one is for hard-core people.) 19:11
19:11 fhelmberger left 19:12 newbee joined
masak on the integers modulo $P, make an algorithm that quickly finds the inverse of $n. 19:13
(that is, a number $m such that $n * $m == 1 (mod $P))
19:14 p6eval left 19:15 p6eval joined, ChanServ sets mode: +v p6eval
newbee rakudo: class Calendar { has Str $.file is rw; method BUILD { say "Opening $.file"; } }; my $cal = Calendar.new(file=>'somefile.txt'); 19:16
p6eval rakudo 72cbad: OUTPUT«Opening Any()␤»
masak newbee: you should probably make BUILD a submethod. 19:17
newbee "sub" instead of "method"?
masak no, 'submethod' instead of 'method'.
jnthn newbee: One day a sub met a method and they made a submethod 19:18
newbee mmm and why the difference?
masak newbee: submethods don't partake in inheritance.
TimToady submethods can't accidentally be called on the wrong part of the object's infrastructure 19:19
says the domain expert :)
masak :P
newbee rakudo: class Calendar { has Str $.file is rw; submethod BUILD { say "Opening $.file"; } }; my $cal = Calendar.new(file=>'somefile.txt');
p6eval rakudo 72cbad: OUTPUT«Opening Any()␤»
masak TimToady: see? people expect BUILD not to override attribute initialization... 19:20
that's, like, the seventh people who have expected that in just three years.
TimToady rakudo: class Calendar { has Str $.file is rw; submethod BUILD ($.file) { say "Opening $.file"; } }; my $cal = Calendar.new(file=>'somefile.txt');
p6eval rakudo 72cbad: OUTPUT«Opening somefile.txt␤»
masak s/people/person/ 19:21
hm.
19:21 justatheory left, justatheory joined
masak I stand corrected. 19:21
newbee so, giving parameters to BUILD is used to specify "required" attributes...
masak yes. 19:22
of course, you could have several multi BUILD submethods.
newbee nice :)
then i should declare them as "submethod multi BUILD"
TimToady flip those
masak 'multi submethod'.
jnthn Is declaring a multi method and a multi submethod "illegal"? 19:23
What type of method should a generated proto be? 19:24
TimToady would not be surprised if that were the case
jnthn will happily make it the case, otherwise things will be Greatly Insane.
Well, may be. :)
TimToady we want to have the GI tractable
jnthn It's a conservative thing to do anyway :)
masak yes. 19:25
19:25 risou is now known as risou_awy
jnthn I know masak filed at least one RT relating to mutlis and submethods. 19:25
masak cackles involuntarily
it's OK, just implement new features; I'll be nice. I promise. 19:26
jnthn yeah yeah worreva :P
19:26 justatheory left 19:28 molaf__ left
tadzik the nice trick for required attributes is "$.foo = die "foo is required" 19:28
masak thunks++ 19:29
TimToady yes, but that requires the current post-BUILD check semantics, not the preset-then-call BUILD semantics
so you can't have it both ways... 19:30
tadzik (for some definition of nice, I must say I'd prefer "is required" of some sort
19:31 leprevost left
TimToady declarative is often preferable to procedural 19:32
I suppose we could preset the attributes with "futures" that de-lazify on first FETCH, and are easily overridden by BUILD, but that wouldn't help for native attrs 19:35
19:37 birdwindupbird joined 19:39 dju_ joined
PhatEddy Either jnthn or moritz (or anyone) around for my vista problem? I strongly suspect it is NOT a virus. On two of my vista systems I can build a rakudo git revision from three days ago but not the one from this morning. 19:41
19:43 dju__ left
masak doesn't sound like a virus. 19:45
rakudo: given "82665409266027476709324472" { my $diff = join "", map { ($^b - $^a) % 10 }, (.comb Z .comb.rotate); my $longest = $diff.comb(/9+ | 1+/, :match).max({.to - .from}); say .substr($longest.from, $longest.to - $longest.from) } # my www.perlmonks.org/?node_id=903800 entry 19:46
p6eval rakudo 72cbad: OUTPUT«65␤»
colomon errr... that's not the correct answer, is it? 19:48
masak it isn't? 19:51
oh! "654"! :/
back to the drawing board. :)
19:54 benabik joined
masak I think that's just an off-by-one error. 19:55
rakudo: given "82665409266027476709324472" { my $diff = join "", map { ($^b - $^a) % 10 }, (.comb Z .comb.rotate); my $longest = $diff.comb(/9+ | 1+/, :match).max({.to - .from}); say .substr($longest.from, $longest.to - $longest.from + 1) }
p6eval rakudo 72cbad: OUTPUT«654␤»
masak rakudo: given "82665409266027476709324472" -> $seq { my $diff = join "", map { ($^b - $^a) % 10 }, ($seq.comb Z $seq.comb.rotate); my $longest = $diff.comb(/9+ | 1+/, :match).max({.to - .from}); say $seq.substr($longest.from, $longest.to - $longest.from + 1) } 19:56
p6eval rakudo 72cbad: OUTPUT«654␤»
19:56 justatheory joined
newbee rakudo: class Calendar { has Str $.file is rw; submethod BUILD($.file) { say $.file }; }; my $cal = Calendar.new(file=>'somefile.txt'); $cal.perl.say; 19:58
p6eval rakudo 72cbad: OUTPUT«somefile.txt␤Calendar.new(file => "somefile.txt")␤»
newbee rakudo: class Calendar { has Str $.file is ro; submethod BUILD($.file) { say $.file }; }; my $cal = Calendar.new(file=>'somefile.txt'); $cal.perl.say;
p6eval rakudo 72cbad: OUTPUT«Cannot modify readonly value␤ in '&infix:<=>' at line 1␤ in 'Calendar::BUILD' at line 7643:CORE.setting␤ in 'Calendar::BUILD' at line 22:/tmp/7eKADe1BUO␤ in main program body at line 22:/tmp/7eKADe1BUO␤»
newbee rakudo: class Calendar { has Str $.file is ro; }; my $cal = Calendar.new(file=>'somefile.txt'); $cal.perl.say;
p6eval rakudo 72cbad: OUTPUT«Calendar.new(file => "somefile.txt")␤»
newbee i don't quite get this behavoir.... when i declare a constructor, i can no longer write to an ro attribute with the function "new" 19:59
20:00 ymasory joined
newbee the idea is to write it once at construction time. 20:00
masak newbee: I agree that's a slightly unfair behaviour. 20:01
the internals get to assign to the 'ro' attribute, but user-provided BUILD methods don't.
TimToady I'm not aware of any 'ro' trait in Perl 6... 20:02
masak on the other hand, BUILD is just a normal submethod, which happens to assign to $.file; not necessarily at object creation time.
no, it's just that traits are not checked.
TimToady: Moose has 'ro'. maybe it's time for Perl 6 to follow suit? 20:03
diakopter (but isn't that the default?) 20:04
TimToady rakudo: class Calendar { has Str $.file is ro; submethod BUILD($!file) { say $!file }; }; my $cal = Calendar.new(file=>'somefile.txt'); $cal.perl.say;
p6eval rakudo 72cbad: OUTPUT«somefile.txt␤Calendar.new(file => "somefile.txt")␤»
masak rakudo: given "82665409266027476709324472" -> $seq { my $diff = ($seq.comb Z $seq.comb.rotate).map({ ($^b - $^a) % 10 }).join; my $longest = $diff.comb(/9+ | 1+/, :match).max({.to - .from}); say $seq.substr($longest.from, $longest.to - $longest.from + 1) }
TimToady use $! instead of $. in a submethod 20:05
newbee rakudo: class Calendar { has Str $!file is ro; submethod BUILD($!file) { say $!file }; }; my $cal = Calendar.new(file=>'somefile.txt'); $cal.perl.say;
p6eval rakudo 72cbad: OUTPUT«654␤»
rakudo 72cbad: OUTPUT«somefile.txt␤Calendar.new(file => "somefile.txt")␤»
TimToady otherwise you're trying to set $.file via a readonly virtual method
masak newbee: and note that it's not readonly because of 'ro', but by default. 20:06
newbee: the trait for readonliness is 'readonly'.
newbee mmm ok, i'll work with 'rw' only... 20:09
masak technically, that's all you need. 20:10
TimToady in fact, it should not let you use the $.file form in a submethod, according to S12:680
within a BUILD the object is not completely constructed, and virtual methods are likely to call a subclass whose BUILD hasn't been run yet 20:11
masak .oO( "the policeman's BUILD is half-constructed" ) 20:13
20:13 LoRe left
masak TimToady: is it fair to say that submethods work at the bang-twigil layer whereas proper methods work at the dot-twigil layer? 20:14
TimToady I would say that proper methods work at either level 20:15
depending on whether they want to talk to the abstract interface or the concrete interface of the object
proper methods have one hand inside the black box and one hand outside 20:16
masak oh, right. it's a limitation in Rakudo that objects can't change each others' private attrs...
TimToady well, we assume that a class trusts itself, but we do require private calls to a different object to go through the $obj!method interface 20:17
masak ...but if there's no !method, it defaults to the attr, no? 20:18
jnthn Private attrs don't imply a method
masak I know that. 20:19
20:19 LoRe joined
masak but there could be one, I guess. 20:19
TimToady presumably something underneath can figger out what the user wants
masak even if there's an attribute with that name.
rakudo: class A { has $!x; method !x { say "OH HAI" }; method foo { self!x } }; A.new.foo
p6eval rakudo 72cbad: OUTPUT«OH HAI␤»
jnthn TimToady: IIUC though, $obj!foo is not really allowed, it should be qualified?
TimToady well, unless it makes sense to default to the current class 20:20
jnthn Is it fair to say that privates are never virtual, though? 20:21
TimToady yes
20:22 jevin left
TimToady these are all, at worst, function calls 20:22
jnthn *nod*
OK
TimToady: It's not until now that I've really ahd the infrastructure to contemplate really implementing stuff like "trusts" and to be able to do privates properly.
masak pugs: class A {}; class B { trusts A }; say "alive" 20:23
p6eval pugs: OUTPUT«alive␤»
masak man, pugs is fast.
jnthn Haskell's got faster faster than Parrot's got faster, evidently. 20:24
TimToady yes, it had already optimized away the class declarations before you even typed them. :)
masak of course Haskell is fast. no side effects, no processor heating. :P
20:25 LoRe left 20:26 [Coke] joined 20:29 LoRe joined
slavik so is pugs very active now? 20:30
tadzik (:
for some definition of active...
slavik how active is it compared to rakudo? :P
PerlJam slavik: it's approximately dead compared to rakudo 20:31
slavik :(
maybe I should learn haskel
i mean, I wanted to, but wanted to tie perl6 into it
TimToady learning Haskell is easy, I've done it five or six times now...
slavik D:
masak slavik: when you find out how Haskell works, please let us know. :)
slavik speaking of which, what is your opinion on it? 20:32
TimToady monads are too hard to lift
PerlJam haskell is a great language.
masak it's an eye-opener, for sure.
I think the difficulty of monads is over-hyped.
moritz it requires a major brain rewiring
TimToady any individual monad is fine
slavik aren't monads simply "do x, then y"constructs?
PerlJam the whole immutability thing takes a little while to get used to.
jnthn
.oO( It'd take me a whole månad to learn them! )
20:33
masak TimToady: oh, you're talking about monad transformers. (hence, the "lift", I see...)
TimToady yes, it's sort of a pun
masak TimToady: haven't tried those much, I admit.
PerlJam masak: he's always punning don't you know
TimToady but I mean it seriously too
masak yeah. I know because we've had this exact conversation once before :P
slavik TimToady: so, when are you going to write STAR?
TimToady I thought I'd just write RATS and then play it backwards 20:34
slavik hmm
diakopter what's STAR
slavik but how will * look backwards?
moritz like this: *
masak !revetahw
rakudo: say "*".flip
p6eval rakudo 72cbad: OUTPUT«*␤» 20:35
PerlJam masak++
slavik "My favorite language is call STAR. It's extremely concise. It has exactly one verb '*', which does exactly what I want at the moment."
a quote in my signature on ubunty forums :)
masak slavik: either I'm missing something, or you have very low requirements. :P
slavik ?
masak oh, nevermind. I'm just being deliberately obtuse. 20:36
slavik I am fairly active in the programming talk forum ;)
20:36 imamelia joined
TimToady well, the point is that the * language is heavily context dependent, so I can't tell you how much effort will go into setting up the context in any particular case 20:36
diakopter * * * * * * 20:37
slavik TimToady: do you remember what that was in response to? I can no longer find where it is.
TimToady the * in the STAR language just means "doit", but you have to tell it what "it" is via environment variables :)
slavik D:
masak I've been reading Perl 6 RFCs of late. it's interesting to see how the Perl 6 dream is coming true, but not at all with the syntax proposed in the RFCs. (thankfully!)
TimToady I don't remember when I mentioned STAR first; the idea actually comes out of GEB, if I recall 20:38
PerlJam Mu
masak there was some criticism that the "Implementation" sections almost never contained anything useful. I think knowing what we know today, that's easier to excuse. :)
PerlJam The trancendental cow goes "mu" 20:39
TimToady one could spend years blogging about the relationships of the RFCs to Perl 6
masak "Implementation: well, first we'll need a type system with a meta-object protocol..."
TimToady: yes, I'm tempted :)
PerlJam masak: you could use it as the basis for a PhD! ;) 20:40
TimToady and then you could lecture to nearly-empty classrooms about it for the rest of your life 20:41
PerlJam Just like higher math
masak you make it sound so tempting. 20:42
TimToady frankly, we like your bugs
masak awww <3
sbp hehe
20:43 rgrau left
masak oh wait, this is the Unicode channel. 20:43
sbp .u heart
phenny U+2766 FLORAL HEART (❦)
masak awww ♥
sbp .u white heart
phenny U+2661 WHITE HEART SUIT (♡)
TimToady otoh we could use someone to dredge through the RFCs and see if we've overlooked anything
masak yeah.
I wouldn't mind doing it, and blogging. in practice, I've already started.
see strangelyconsistent.org/blog/speaki...-in-perl-6 20:45
TimToady and any sidebars on how Perl 5 solved it differently (and why they *had* to solve it differently) would also be of great interest
masak aye.
TimToady some problems may be solved *only* by invoking Second System effects 20:46
otherwise your legacy ties you down forever; cf chromatic 20:47
's latest blog
diakopter oh, doh, thought you were punning
masak yeah, don't ruin it for us here! :P
masak goes back to visualizing chromatic with rope 20:48
TimToady as I was reading the blog, I kept thinking "new wine in old wineskins"
masak TimToady: what, you've also been rolling your eyes over old Perl versions?
diakopter .u black heart 20:50
phenny U+2665 BLACK HEART SUIT (♥)
diakopter depending on your terminal...
masak anyone know a university that would give me a PhD salary in exchange for reading RFCs and running Perl 6 code all day?
(not really serious, I like my current vocation) 20:53
20:53 birdwindupbird left
jnthn breathes a sigh of relief :) 20:55
20:57 saaki joined
masak "welcome, masak, to our compa... hey! come back!" 20:59
jnthn :P 21:00
we, er, didn't book any train tickets :)
21:01 mj41 joined
jnthn er, wrong window 21:02
TimToady I thought it was cute that J's "op/\" also gets a picture of a triangle in there like [\op] does 21:07
21:09 newbee left 21:11 dju__ joined 21:15 dju_ left 21:26 PhatEddy left 21:30 [1]imamelia joined, imamelia left, [1]imamelia is now known as imamelia 21:37 cognominal left 21:40 kaare_ left 21:44 imamelia left
dalek kudo: 85f0df2 | pmichaud++ | Configure.pl:
Have Configure.pl automatically create a "config.status" file on output
21:47
21:48 wamba left
masak '♞, #perl6. 21:49
21:49 masak left 21:52 imamelia joined 21:59 bluescreen10 left 22:06 Su-Shee_ joined 22:09 Su-Shee left
dalek kudo: e801644 | pmichaud++ | Configure.pl:
Fixes to --makefile-timing flag:

   i.e., "@time perl ..." and not "time @perl ..."
   - Don't time "echo" commands in the makefile recipes
22:13
22:25 benabik left 22:37 mj41 left
dalek kudo: 08e717b | pmichaud++ | Configure.pl:
\1 better written as $1 at Configure.pl line 181.
22:39
22:41 donri left 22:46 cdarroch left 22:47 slavik left, dorlamm joined 22:55 dju__ is now known as dju 22:57 mtk left 22:58 mtk joined, slavik joined 23:04 dorlamm left 23:06 awoodland joined 23:11 whiteknight joined 23:14 rgrau joined 23:19 tty234 left, tty234 joined 23:25 awoodland left
dalek d: 11bafbe | larry++ | STD.pm6:
catch miscontextualized attrs, has/method decls
23:42
jnthn - rule method_def () { 23:43
+ rule method_def ($d) {
hey, nice :)
TimToady: I'll have the various other worries, but I won't implement them like that. 23:44
TimToady: It's fine for STD, but I have a LOT more detailed information to hand. Like, the actual meta-object to ask what it can do. :)
+ given $*SCOPE { 23:45
Did you mean given $*IN_DECL?
method ain't a $*SCOPE... 23:46
Unless I'm missing some other change.
$*IN_DECL feels a tad risky though. 23:47
method foo() { return sub { $!x } }
23:55 Chillance left 23:57 dawud joined