»ö« 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:08 replore_ joined 00:15 dukeleto joined 00:26 jevin left 00:27 am0c joined 00:30 jevin joined 00:51 jevin left 00:54 jevin joined 01:08 benabik joined 01:19 woosley joined, woosley left 01:23 packetknife left 01:27 wolfman2000 joined 01:28 bluescreen10 joined 01:47 whiteknight left 01:49 aindilis left, aindilis joined 01:55 abercrombie left 01:59 soh_cah_toa left, woosley joined 02:01 frhodes left, frhodes joined 02:06 pernatiy left 02:10 pernatiy joined 02:34 satyavvd joined 02:51 bluescreen10 left
sorear good * #perl6 02:58
jnthn: what is SAFE.setting? 03:09
TimToady nom: unlink 'perl6' 03:17
p6eval nom cca116: OUTPUT«unlink is disallowed in safe mode␤ in sub restricted at src/SAFE.setting:2␤ in sub unlink at src/SAFE.setting:6␤ in <anon> at /tmp/vt6IPO16ma:1␤ in <anon> at /tmp/vt6IPO16ma:1␤␤»
TimToady nom: CORE::unlink 'foo' 03:18
p6eval nom cca116: OUTPUT«Could not find symbol 'CORE::&unlink'␤ in <anon> at /tmp/xIhYMNPJZE:1␤ in <anon> at /tmp/xIhYMNPJZE:1␤␤»
benabik nom: CORE::say 'foo'
p6eval nom cca116: OUTPUT«Could not find symbol 'CORE::&say'␤ in <anon> at /tmp/1_a1LaEcFb:1␤ in <anon> at /tmp/1_a1LaEcFb:1␤␤»
TimToady nom: &CORE::say('foo') 03:19
p6eval nom cca116: OUTPUT«Method 'postcircumfix:<( )>' not found for invocant of class 'Any'␤ in <anon> at src/gen/Metamodel.pm:3023␤ in <anon> at /tmp/b04uTOjcgT:1␤ in <anon> at /tmp/b04uTOjcgT:1␤ in <anon> at /tmp/b04uTOjcgT:1␤␤»
TimToady nom: CORE::{'&say'}('foo')
p6eval nom cca116: OUTPUT«Could not find sub &CORE␤ in <anon> at /tmp/9KUhwoBz1X:1␤ in <anon> at /tmp/9KUhwoBz1X:1␤␤»
benabik CORE NYI 03:20
TimToady good thing, in this case ;)
niecza: only infix:<+>(Numeric $a, Numeric $b) { CORE::{'&infix:<+>'}($a,$b) }; say 1 + 1; say '1' + 1 03:22
p6eval niecza v9-23-g1a8efca: OUTPUT«2␤Unhandled exception: Nominal type check failed in binding Numeric $a in MAIN infix:<+>; got Str, needed Numeric␤ at /tmp/Sv5upAAz9h line 0 (MAIN infix:<+> @ 0) ␤ at /tmp/Sv5upAAz9h line 1 (MAIN mainline @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting li…
TimToady perl6: multi infix:<+>($a,$b) { die "Can't coerce" }; say 1 + 1; say '1' + 1 03:24
p6eval rakudo cca116: OUTPUT«2␤Ambiguous dispatch to multi 'infix:<+>'. Ambiguous candidates had signatures:␤:(Any $a, Any $b)␤:(Any $a, Any $b)␤␤ in sub infix:<+> at src/gen/CORE.setting:1865␤ in <anon> at /tmp/sOSYpoFYeO:1␤ in <anon> at /tmp/sOSYpoFYeO:1␤␤»
..pugs: OUTPUT«2␤*** Can't coerce␤ at /tmp/f_rBZGmeWp line 1, column 63 - line 2, column 1␤ /tmp/f_rBZGmeWp line 1, column 26-45␤»
..niecza v9-23-g1a8efca: OUTPUT«Potential difficulties:␤ $a is declared but not used at /tmp/BEEYkiR9fw line 1:␤------> multi infix:<+>(⏏$a,$b) { die "Can't coerce" }; say 1 + 1␤ $b is declared but not used at /tmp/BEEYkiR9fw line 1:␤------> multi infix:<+>($a,[…
TimToady perl6: multi infix:<+>($,$) { die "Can't coerce" }; say 1 + 1; say '1' + 1
p6eval rakudo cca116: OUTPUT«2␤Ambiguous dispatch to multi 'infix:<+>'. Ambiguous candidates had signatures:␤:(Any $a, Any $b)␤:(Any, Any)␤␤ in sub infix:<+> at src/gen/CORE.setting:1865␤ in <anon> at /tmp/A0PYjkFNCI:1␤ in <anon> at /tmp/A0PYjkFNCI:1␤␤»
..pugs: OUTPUT«*** ␤ Unexpected "$,$)"␤ expecting formal parameter or ")"␤ at /tmp/iJwJvS3NaG line 1, column 17␤»
..niecza v9-23-g1a8efca: OUTPUT«Unhandled exception: Can't coerce␤ at /home/p6eval/niecza/lib/CORE.setting line 742 (CORE die @ 2) ␤ at /tmp/lndK_tGOaL line 1 (MAIN infix:<+> @ 2) ␤ at /tmp/lndK_tGOaL line 1 (MAIN mainline @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2046 (CORE…
03:25 supernovus left
TimToady looks like pugs does the best, as long as you name your params 03:31
03:32 envi_laptop joined
TimToady looks like niecza is calling a less specific inner multi in preference to a more specific outer multi 03:32
sorear TimToady: actually the issue is that niecza's CORE::infix:<+> is currently an only sub 03:33
TimToady ah
rakudo's behavior makes me want to add a tiebreaking rule where otherwise ambiguous dispatch prefers an inner lexical scope to an outer 03:36
then we don't have to calculate whether two sigs are identical to do multi shadowing 03:40
they only have to come out tied 03:41
jnthn: thoughts on ^^
diakopter math question for the channel: what's the length of the shortest string that contains all words of length Y from an alphabet of size X
sorear diakopter: for X=2, 2^Y-1 if you make the string circular 03:44
diakopter can't be circular
sorear and the solution takes the form of a maximal-length LFSR
then I guess 2^Y+Y-1 03:45
diakopter X^Y+Y-1 ?
03:46 shinobicl_ joined, abercrombie joined
PerlJam Does that take into account overlapping words? 03:48
diakopter I don't know whether your guess is correct; 2nd question: how many unique strings satisfy those conditions?
sorear PerlJam: yes
I have very little clue about the X != 2 case
I'm using a result from coding theory, and those people don't consider non-binary much 03:49
diakopter 3rd task: write a program to generate those strings :) 03:50
this came about because of my garage door opener keypad, btw
PerlJam diakopter: are you trying to be the first person to cause #perl6 to say "go do your own homework!" ;) 03:51
diakopter (it ignores extraneous presses before the correct code)
PerlJam: lol
no seriously, my garage door opener works this way
so I was trying to think of the minimum number of presses someone would have to press to guarantee opening the door 03:52
shinobicl_ hi... In 'nom', how do i define a constraint for a variable without using a subset? 03:53
cotto diakopter, what if you trigger the undocumented self-destruct function? 03:54
diakopter heh
cotto You laugh now. 03:55
diakopter oh, the secret Y^2 length code that always works
that's definitely a possibility 03:56
PerlJam all 9s, all 0s, etc. 03:57
03:57 packetknife joined
sorear diakopter: I can guararntee you that the minimum length string is *at least* X^Y+Y-1 03:58
actually that's wrong
diakopter at least as small as, or at least as big as
sorear but not be enough to matter
diakopter: at least as big as
diakopter: a string of length X^Y+Y-1 has X^Y length-Y substrings 03:59
diakopter: if it were any shorter, it would need to miss a word
diakopter I'll buy that for a dollar 04:00
maybe I'll submit the string generation part as a Rosetta Code entry 04:01
cotto Is this one of those nasty encrypted garage door openers whose manufacturers like using the DMCA to prevent interoperability?
or is it just a matter of figuring out a fixed sequence 04:02
diakopter it's just like a normal push-button remote except it requires entering a preprogrammed code to send its signal to the opener
the opener has to be taught to trust it with the learning button 04:03
sorear My interpretation of diakopter's request is that he wants to know how vulnerable his house is to a brute-force attack.
diakopter just like any other remote you'd buy at Home Depot or Lowe's
sorear
.oO( they could just drive through the garage door, if they're doing brute force hacking )
diakopter :D
cotto cars are an effective attack vector 04:04
easy to detect though
lots of side-effects
04:04 molaf_ left, envi_laptop left 04:06 birdwindupbird joined 04:12 abercrombie left 04:16 packetknife left 04:25 daniel-s joined 04:37 packetknife joined
dalek ecza: a279320 | sorear++ | lib/CORE.setting:
Add mising at_pos/at_key methods to several classes with postcircumfix:*
04:41
sorear is trying to decide how much more nqp/nom-like niecza's bootstrap should become 04:45
04:52 am0c left 04:59 Patterner left, jferrero left, Maddingue left
diakopter netsplit? 04:59
04:59 birdwindupbird left 05:01 dju joined
sorear rakudo: sub foo(@x?) { say @x.perl }; foo 05:03
p6eval: help
05:04 benabik left, dukeleto left, kshannon left, araujo left, ZapZ left, HarryS left, uasi left, daxim left, localhost left, packetknife left, replore_ left, lestrrat left, y3llow left, pernatiy left, woosley left, Trashlord left, sftp left, orafu left, Sarten-X left, stepnem left, daniel-s left, shinobicl_ left, aindilis left, wolfman2000 left, mattp_ left, JodaZ left, eternaleye left, mjreed left, colomon left, dalek left, satyavvd left, skangas left, alvis left, Alias_ left, ranguard left, pjcj left 05:06 jferrero joined, mls_ joined, ruz_ joined, birdwind1pbird joined, mux_ joined, buubot_backup joined, apejens joined, Patterner joined, plobsing_ joined, Maddingu1 joined, Russell_ joined, packetknife joined, daniel-s joined, satyavvd joined, pernatiy joined, woosley joined, aindilis joined, wolfman2000 joined, benabik joined, dukeleto joined, replore_ joined, mattp_ joined, skangas joined, uasi joined, kshannon joined, araujo joined, mjreed joined, daxim joined, JodaZ joined, localhost joined, alvis joined, eternaleye joined, Trashlord joined, sftp joined, colomon joined, dalek joined, Alias_ joined, orafu joined, ranguard joined, pjcj joined, Sarten-X joined, lestrrat joined, ZapZ joined, HarryS joined, y3llow joined, stepnem joined, Helios joined, wolfe.freenode.net sets mode: +v dalek, jdhore joined, arthur-_ joined, sahadev joined, Bucciarati joined, gfldex joined, moritz joined, yath joined, Grrrr joined, lucs joined, PacoLinux_ joined, _jaldhar joined, sbp joined, [Coke] joined, bbkr joined, itz_ joined, Vlavv joined, [particle] joined, yahooooo joined, erez joined, Reaganomicon joined, wooden joined, Yappoko___ joined, Tene joined, hugme joined, robinsmidsrod joined, lue joined, DarthGandalf joined, cotto joined, p6eval joined, ponbiki joined, yves_ joined, tomaw joined, jrockway_ joined, hillu joined, tty234 joined, TimToady joined, BinGOs joined, sjn joined, literal joined, wolfe.freenode.net sets mode: +vv hugme p6eval, packetknife left, mdxi left, mdxi_ joined
dalek kudo/nom: 9d6d7dd | moritz++ | src/Perl6/Metamodel/ (2 files):
MRO optimizations by mls++
05:07
sorear rakudo: sub foo(@x?) { say @x.perl }; foo
p6eval rakudo cca116: OUTPUT«Array.new()␤»
05:07 jql left, jql joined, _ilbot joined
sorear rakudo: say [].perl 05:07
p6eval rakudo cca116: OUTPUT«[]␤»
sorear rakudo: say Array.perl 05:08
p6eval rakudo cca116: OUTPUT«Array␤»
05:08 y3llow left, y3llow joined, risou_awy joined, Woodi joined, Lorn joined 05:10 diakopter left 05:11 revdiablo left, diakopter joined
cotto tell jnthn Give win64-workaround another run whenever you get a chance. 05:12
phenny tell jnthn Give win64-workaround another run whenever you get a chance.
phenny, help
phenny cotto: Hi, I'm a bot. Say ".commands" to me in private for a list of my commands, or see inamidst.com/phenny/ for more general details. My owner is sbp.
sorear phenny: msg cotto This is how it's done
phenny: tell cotto This is how it's done 05:13
phenny sorear: I'll pass that on when cotto is around.
cotto phenny: tell jnthn Give win64-workaround another run whenever you get a chance.
phenny cotto: I'll pass that on when jnthn is around.
cotto: 05:13Z <sorear> tell cotto This is how it's done
05:13 packetknife joined, revdiablo joined
cotto stupid bots, only doing exactly what they're programmed to 05:13
05:13 revdiablo left, revdiablo joined
sorear hehee. we can't have our messaging bot gaining sentience now... 05:14
rakudo: sub foo(@x?) { say @x.WHAT }; foo
p6eval rakudo cca116: OUTPUT«Array()␤»
cotto phenny: test the win64-workaround branch
sorear rakudo: sub foo(@x?) { say @x.defined }; foo 05:15
p6eval rakudo cca116: OUTPUT«Bool::True␤»
sorear rakudo: sub foo(@x?) { say @x.perl }; foo
p6eval rakudo cca116: OUTPUT«Array.new()␤»
sorear rakudo: sub foo(@x?) { say @x.perl; my @y; say @y.perl }; foo
p6eval rakudo cca116: OUTPUT«Array.new()␤Array.new()␤»
sorear hrmf
05:16 nsh left 05:20 nsh- joined 05:21 SHODAN joined 05:26 tokuhirom left 05:28 tokuhirom joined 05:40 packetknife left 05:41 revdiablo left 05:42 revdiablo joined, revdiablo left, revdiablo joined 05:58 wolfman2000 left 06:00 Util left, ingy left, ingy joined 06:01 Util joined 06:02 envi_laptop joined 06:03 envi_laptop left 06:05 orafu left, orafu joined 06:07 envi_laptop joined
sorear I have a BEGIN model that I think may be workable 06:12
mberends good. morning, sorear 06:16
sorear: is there a part of RunMain (CLRBackend.cs) that I should concentrate on documenting, or just all of it? I just arrived there, and it seems to reach out to so many other things. 06:19
06:21 donri joined
sorear mberends: the logical subdivisions of CLRBackend are 1. the constant pool generator 2. the JSON parser 3. the ClrOp layer (an AST for CIL) 4. the CpsOp layer (a CPS-aware AST) 5. the JSON-to-CpsOp converter in NamProcessor 6. the downcall handler 06:24
mberends: but there's a significant amount of code that doesn't logically belong to any of the divisions
mberends: RunMain is mostly part of #6 06:25
mberends: will sleep& in 5min unless interrupted 06:26
mberends sorear: thanks, interesting, so much more to explore
sorear: good night
06:27 REPLeffect left
sorear out 06:29
06:31 Alias_ left 06:33 mkramer joined 06:35 koban` joined, koban` left 06:40 wtw joined, REPLeffect joined 06:41 jevin left 06:46 jevin joined 06:49 mberends left 06:59 masak joined
masak goot mornink, #perl6. 06:59
phenny: tell diakopter www.hakank.org/comb/debruijn.cgi en.wikipedia.org/wiki/De_Bruijn_sequence www.theory.csc.uvic.ca/~cos/inf/nec...eInfo.html
phenny masak: I'll pass that on when diakopter is around.
masak before hakank provided me with all the theory, I had already gotten around to writing a brute-force solution, which seems to be doing fairly well: gist.github.com/1216010 07:01
eiro wesh comment ca va bien ?^H^H 07:02
masak, i missed your line yesterday
masak eiro: :)
eiro i have to admit i'm not sure about the meaning of it 07:03
what did you mean by "ont été la prise sur le channel"
masak "have taken over the channel". 07:05
this was the best that I and Google Translate could come up with together. 07:06
07:06 envi_laptop left
masak I veto'ed GT's translation "canale", because that sounded weird. but maybe that's actually correct. 07:06
the translation did roundtrip, which is a good sign, if not a perfect guarantee of correctness. :) 07:07
eiro haha: that's a word by word translation. "les polonais et finlandais (ont pris le controle du cannal|sont en surnombre)". 07:08
canale ? is it the real spell ? 07:09
eiro verify
actually it's canal
masak ah; double fail :)
eiro yep :)
masak I can't even correctly remember the spelling I wrongly rejected :P 07:10
eiro :-)
masak well, it seems I meant "sont en surnombre" more than "ont pris le controle". 07:12
eiro it seem canal and channel have the same means (even the watercourse) 07:13
vous avez "envahi le canal" 07:15
je pense qu'un francais aurais dis ca.
masak "envahi"! beautiful! 07:16
eiro :) 07:17
masak Latin vādere, "to go, rush".
eiro btw: good for you: if you took over the chan, that's because you have lot of perl6 hackers :) 07:18
07:18 thou left
masak that's the idea :) hence the name. 07:18
eiro oh? where did you find ethimology of the world ?
grmbl ... go back to code ... in perl5 :/ 07:19
some days i'm so borring by perl5 ...
cotto eiro, it could be php 07:20
eiro cotto, or python ... 07:23
so yes: it could be way worse
cotto then again, you can write good and bad code in any language commonly used in production environments 07:24
eiro sure! that's not the pb. 07:25
cotto you with with what you've got
moritz wouldn't know how to write good code in most languages
07:26 mj41 joined
moritz actually i'm not sure I know how to write good code in *any* language 07:26
cotto moritz, step 1 is to write bad code. Step 2 is to come back to it 18 months later.
moritz I do have some code from 2007 which I recently modified 07:27
cotto I've heard of easier ways.
eiro the thing is i'm "fed up to unroll @_" (i don't know who gave this talk)
moritz and while it didn't look pretty, it was understandable and hackable
eiro :) 07:28
masak eiro: I mostly look on dictionary.com 07:29
eiro ok 07:31
07:32 lucs left
masak moritz: may I recommend "The Practice of Programming" by Kernighan and Pike -- most of it may not be news to you, but it's the best no-nonsense capture of good programming principles that I've seen to date. I have it here on the desk right next to me. :) 07:32
07:33 lucs joined
cotto I like that book. 07:33
I took it a little too dogmatically when I first read it, but it's great if you don't look at its recommendations as being hard laws. 07:34
jnthn mornin'
phenny jnthn: 05:13Z <cotto> tell jnthn Give win64-workaround another run whenever you get a chance.
cotto ohai. I was just about to goto bed 07:35
07:36 mux_ is now known as mux
jnthn cotto: At $dayjob with no Rakudo build env anyway... 07:36
Will check it this evening
eiro oh yes! Pike is one of my idols
jnthn moritz++ # applying mls++ patch
If supernovus++'s patches on socket didn't yet get merged, +1 from me on those too. 07:37
eiro (read "the good, the bad and the ulgy" about unix history and plan9: it's very interesting!)
jnthn Otherwise I do it this evening.
07:40 erez left, erez joined 07:43 daniel-s left
jnthn TimToady: I was expecting to tie-break on lexical scope depth; I just hadn't gotten around to actually implementing it yet. 07:45
08:04 Maddingu1 is now known as Maddingue
masak sorear: sometimes when some MyGrammar.parse fails in a certain way, I get "Unable to cast object of type 'Niecza.P6opaque' to type 'Cursor'." seems to me that should never happen. if it helps you, I could find out more about the exact nature of those circumstances. 08:05
08:08 daniel-s joined, alvis left
moritz tests supernovus++'s patch right now 08:21
where by "test" I mean "see if it compiles" :-) 08:22
08:22 alvis joined
dalek kudo/nom: f2857b7 | (Timothy Totten)++ | src/core/IO/Socket/INET.pm:
IO::Socket::INET.accepts now returns the connected socket
08:31
08:34 wamba joined 08:35 alvis left 08:39 senobmeht left 08:42 senobmeht joined 08:43 wamba left 09:00 dakkar joined, wamba joined 09:03 satyavvd left 09:08 dakkar left 09:09 dakkar joined 09:12 satyavvd joined 09:16 daxim_ joined 09:22 nebuchadnezzar joined 09:27 skangas left
tadzik good morning morning 09:27
masak tadzik: good good, morning. 09:28
quick poll: in en.wikipedia.org/wiki/Newcomb%27s_paradox , would you go for both boxes, or just B?
tadzik B probably 09:31
09:31 skangas joined
moritz does 'running a fair random generator to determine my choice' count? 09:32
masak sure!
(though it feels a bit reckless) 09:33
09:33 replore_ left 09:34 satyavvd left, satyavvd joined
moritz (note that this was before reading the full analysis 09:34
) 09:35
dalek p: 8ba6001 | moritz++ | src/how/NQPClassHOW.pm:
MRO calculation optimization by mls++
09:36
masak it's interesting to see what the precense of a Predictor does to one's willingness to think about one's choices rationally. :)
moritz thought just B sounds more sensible, once I think more about it 09:37
09:38 satyavvd left, satyavvd_ joined
masak LessWrong has a fascinating analysis of this. he's a two-boxer. 09:38
his central argument should sound familiar to HPMoR readers: "Rational agents should WIN."
lesswrong.com/lw/nc/newcombs_proble...tionality/
moritz but when he publishes his analysis, the predictor knows, no? :-)
masak most likely, yes. 09:39
09:40 satyavvd joined
tadzik the choice depends on a trust you put in the Predictor 09:41
masak let's assume that the Predictor is the real deal.
otherwise the problem sort of collapses into something much more mundane. 09:42
tadzik if he's never wrong, I'll take B
if he's a real deal, I assume his predictions are always exactly my choicnes
which makes the answer quite obvious, I suppose
09:43 satyavvd_ left
tadzik picking both could feel a bit like cheating the system :) 09:43
moritz tadzik: since Omega knows you well enough to have understood that you'd arrive at that conclusion, you have now won 1Mio USD 09:44
tadzik I suppose the longish description of the Predictor in both texts is supposed to make you trust him a bit less, and to think more about the choice
moritz: true
moritz tadzik: spend them quickly before the exchange rate drops
tadzik and what is 1 M + 1 T compared to 1 M? It's almost nothing 09:45
masak that's irrelevant.
moritz it's a month of interest :-)
masak it's more money.
tadzik exactly
moritz well, less than a month, most likely
tadzik maybe there's a problem for the greedy :) I want moar, moar, moar :P
masak I want the 1,001,000 USD.
moritz would probably just take box B, too
masak that's clearly the winning condition here ;)
tadzik I like good-enough choices
moritz too, as long as they are as awesome as Perl 6 09:46
masak Perl 6 is all about both boxes :P
tadzik I like the saying "I don't have to be the best, I can be very good"
09:46 envi_laptop joined
tadzik masak: ng took both, nom tries to take only one :) 09:46
moritz without having read all of Elizer's analysis, I'd approach the problem like this: 09:47
suppose the probabilty that you can outsmart Omega is p
if you take both boxes, your expected value is 1001000 * p + 1000 (1-p)
if you take box B, your expected value is 1mio 09:48
now you set both sides equal, and see what p is
so if you think you can outsmart Omega with a certainty of 99.9%, you take both boxes, and just B otherwise 09:51
my hubris doesn't go that far.
tadzik moritz++ # rational analysis 09:53
masak I like the analysis :) 10:04
even though I'm not sure if outsmarting Omega comes down to a probability. 10:05
10:06 wamba left 10:16 pmurias joined 10:23 woosley left 10:42 satyavvd left 10:43 tokuhirom left
tadzik make spectest 1265.52s user 92.35s system 99% cpu 22:48.75 total 11:01
nom: say (1398.19 - 1265.52) / 1398.19
p6eval nom f2857b: OUTPUT«0.094886960999578␤»
tadzik not bad 11:02
that is mostly mls++' patch I suppose
the previous result is from 2011-09-09 00:13:36
jnthn mls++
tadzik afks
jnthn 10% spectest time win is nice
11:03 HarryS left
jnthn
.oO( wonder if my box does it in 200s now... )
11:03
11:04 mj41 left 11:06 HarryS joined 11:08 odoacre left, odoacre joined 11:13 wamba joined 11:16 replore_ joined 11:20 uasi left, mj41 joined 11:21 arthur-_ left 11:28 satyavvd joined 11:29 arthur-_ joined 11:30 djanatyn joined 11:31 HarryS left 11:35 Psyche^ joined 11:36 daxim left 11:38 pmurias left 11:39 Patterner left, Psyche^ is now known as Patterner 11:41 pernatiy left
moritz spectest in 200s? 11:42
how many cores?
jnthn moritz: I got it to 220 yesterday by running it with --jobs=8 11:43
moritz: 4 cores, but I guess then there's HT, and it can win something by being able to beat IO-bound things.
11:43 wamba left
jnthn mls++ seems to have got us a ~10% reduction, so that could bring me to the 200ish mark :) 11:44
11:48 lichtkind joined
bbkr 200s? challenge accepted :) 11:49
jnthn Well, getting Rakudo improved to the point where it's more like 100s is a more interesting challenge :P 11:51
moritz hey, we could give mls_ a commit bit for nqp, iirc we don't require CLAs for that 11:53
jnthn +1
11:56 renormalist|work joined
moritz done 11:59
daxim_ beckons jnthn 12:03
conferences.yapceurope.org/tcpw2011/newtalk
12:06 HarryS joined 12:08 wamba joined, satyavvd left
jnthn daxim_: Yes, I read the message on the ba.pm list this morning ;) 12:09
daxim_: Planujem prist. :)
12:10 Bzek joined 12:12 plobsing_ left 12:14 benabik left
donri is the artistic lisence most similar to bsd or gpl? 12:17
daxim_ similarity under which aspect? 12:19
12:19 f00li5h left
moritz in length of text, it's more similar to the GPL :-) 12:19
it's also compatible to GPL
daxim_ copyleft: gpl yes, bsd no, artistic no (afaik) 12:20
moritz but AL is more permissive than the GPL
donri aka is it permissive or copyleft
ok thanks
12:20 f00li5h joined
moritz donri: in case of modifications, it requires a rename OR publishing of the modifications (if redistributed) 12:21
lichtkind daxim_: your rt and the mail was broken, wrote domm yesterday about it 12:22
daxim_ damn, really? we tested it when it was set up
lichtkind jnthn: you will come to vienna?
daxim_: i got a No permission to create tickets in the queue 'TwinCity2011' 12:23
12:23 pernatiy joined 12:30 clairvy joined 12:38 abercrombie joined
jnthn lichtkind: Ano :) 12:39
lichtkind jnthn: than i pull back my p6 talk :) 12:40
12:40 benabik joined
jnthn lichtkind: I wasn't in Bratislava since I used to live there :) 12:40
lichtkind: And I really miss it. :)
lichtkind yes understand it
12:41 REPLeffect left
jnthn lichtkind: Hey, you can talk about Perl 6 too :P 12:41
lichtkind: What's your topic?
lichtkind jnthn: still improving this arrays and hashes talk 12:42
jnthn lichtkind: OK, that's probably quite different from what I'd talk about.
lichtkind you do signatures or the metamodel?
12:46 uasi joined
moritz Perl 6: all the cool features in just 5 minutes, explained in depth! 12:46
lichtkind stay away from moritz, he is a snake oils salesman 12:47
12:47 wamba left
moritz I merely proposed a title for a talk :-) 12:48
lichtkind sounds like amn electronic noise experiment, to play a 20h talk in 5 min :) 12:53
benabik It's just a 5 minute talk delivered from depth... say 60' underwater? 12:54
lichtkind hahah
moritz good be a talk advertising a book or so :-) 12:55
jnthn lichtkind: Was pondering doing one on "Optimizing Rakudo" or "Optimizing Perl 6" or some such. 12:56
lichtkind yes
jnthn lichtkind: By November I shoulda done a bunch of work on optimizers, and have the BS stuff in place, or mostly in place. So should have plenty of things to say :)
moritz "Perlis of inlining - what can go wrong goes wrong" 12:58
*Perils
jnthn ;)
Interesting typo :)
"Perils of Perl Inlining" :)
13:04 im2ee joined 13:05 Alias joined, donri left, donri joined 13:09 Holy_Cow joined 13:10 Holy_Cow left 13:11 mtk joined
mikemol TimToady: Nice answer. I'll be interested to watch what happens as Paddy gets more interested in P6. 13:17
bbkr has anybody experienced "my $i = now;" hanging forever? it happens on one of my machines on latest NOM, but I don't know what causes that. 13:23
moritz bbkr: it's Num.Rat on 32 bit systems 13:24
bbkr: problem is that timestamp is a 10-digit number, and if you add a few decimals to that, it just doesn't fit into a Rat that's made of two 32 bit ints 13:25
bbkr moritz: thanks for explanation 13:27
that ends my attempt to crunch spectest under 200 seconds :) 13:30
13:30 replore_ left 13:31 replore_ joined 13:32 benabik_ joined 13:37 benabik left, benabik_ is now known as benabik 13:38 wamba joined
flussence (it'd be nice if prove had a thing to auto-kill a test after some length of time...) 13:38
moritz prove --exec='perl tools/perl6-limited.pl' ...
13:38 renormalist|work left
sorear masak: That error message would happen if you somehow produced a subclass of Cursor or Match using Mu.new 13:39
masak: you *might* also be able to trip it by using undef in an unhandled way
flussence well that was simple enough :)
moritz sorear: what's this 'undef' you are talking about? 13:40
masak sorear: as far as I can see, all I did was grammar-match in a les-than-successful way. 13:44
13:47 abercrombie left, SHODAN left, _jaldhar left
im2ee Hello:) 13:55
masak im2ee: cz! 13:56
sorear moritz: 'Match' or 'Cursor' 14:02
masak: maybe you're doing something with $/ after a failed match that I never expected anyone to do with the Match type object. I can be very shortsighted sometimes. 14:03
TimToady: +1 to tiebreaking on lexical scope depth 14:04
I planned to do it in Niecza too
jnthn yay :)
masak sorear: on the line where it blows up, I'm doing $/.ast
sorear niecza: multi foo(Int $x) { "a" } ; { multi foo(Int $x) { "b" }; say foo(5) } # I can't remember if I implemented it yet
p6eval niecza v9-24-ga279320: OUTPUT«Potential difficulties:␤ $x is declared but not used at /tmp/rJfxOl78Bp line 1:␤------> multi foo(Int ⏏$x) { "a" } ; { multi foo(Int $x) { "b"␤ &foo is declared but not used at /tmp/rJfxOl78Bp line 1:␤------> multi foo⏏(…
sorear niecza: multi foo(Int $x) { "a" } ; { multi foo(Int $x) { "b" }; say foo(5) } #OK # I can't remember if I implemented it yet 14:05
p6eval niecza v9-24-ga279320: OUTPUT«Potential difficulties:␤ $x is declared but not used at /tmp/CtGPVSP1Kq line 1:␤------> multi foo(Int ⏏$x) { "a" } ; { multi foo(Int $x) { "b"␤ &foo is declared but not used at /tmp/CtGPVSP1Kq line 1:␤------> multi foo⏏(…
sorear niecza: multi foo(Int $x) { "a" } ; { multi foo(Int $x) { "b" }; say foo(5) } #OK
p6eval niecza v9-24-ga279320: OUTPUT«b␤»
14:06 im2ee left
sorear \o/ 14:07
14:07 molaf joined 14:11 mjreed left 14:12 packetknife joined
mls_ good evening! 14:12
14:13 wtw left 14:14 alvis joined
mls_ jnthn: NQPClassHOW.pm's "methods" method ignores the :$local flag. Is that intentional? 14:15
moritz \o
masak mls_! \o/ 14:16
moritz mls_: I've given you commit access to nqp, in case you want to do more patches
(nqp commit bit policy is rather liberal)
mls_ Yes, I got an emial notification. Thanks!
moritz niecza: 'a' ~~ /b/; say $<foo>
p6eval niecza v9-24-ga279320: OUTPUT«Any()␤»
moritz niecza: 'a' ~~ /b/; say $<foo>[0]
p6eval niecza v9-24-ga279320: OUTPUT«Any()␤»
moritz doesn't seem to be that simple 14:17
niecza: 'a' ~~ /b/; say $/.to 14:18
p6eval niecza v9-24-ga279320: OUTPUT«Unhandled exception: System.InvalidCastException: Cannot cast from source type to destination type.␤ at CORE.C684_Match_2Eto (Niecza.Frame ) [0x00000] in <filename unknown>:0 ␤ at Niecza.Kernel.RunCore (Niecza.Frame& cur) [0x00000] in <filename unknown>:0…
moritz there you go
jnthn mls_: Is it not :$local! ? 14:19
mls_ yes.
jnthn mls_: So it's mandatory
moritz I'd expect that to throw an error like 'Cannot access attribute of a type object' or so
jnthn e.g. it doesn't know how to handle the non-local case.
mls_ It only handles the local case, I think 14:20
moritz that's what jnthn said, except that he used double negation
:-) 14:21
mls_ yes, sorry ;)
moritz and not avoiding double negation makes it easy to non-misunderstand
or something :-)
mls_ but shouldn't it also handle the non-local case? 14:22
jnthn mls_: It can be made to :) 14:23
14:23 mkramer left
jnthn mls_: There's not an NQP spec really, so much of what it's meta-objects do has come about on a "what do they need to do" basis. 14:23
mls_: Whereas S12 lays out what full-blown Perl 6 should do. 14:24
mls_: I've no objections if somebody wants to extend them a bit though.
mls_ ok 14:25
my goal was to speed up has_method in RoleToClassApplier a bit, which uses methods() to get all methods and then compares the name with each element of the array 14:26
so I wondered if I could use method_table() instead, but that only has the local methods 14:27
jnthn mls_: yeah 14:28
mls_: You could build a hash of names once though
as in, once in the applier
mls_: Or walk the mro and look in each method table. 14:29
14:29 uasi_ joined
mls_ yes 14:30
"can" seems to already do that 14:31
jnthn Not sure I'd fancy relying on can here though 14:32
Given we're still uncomposed.
14:32 uasi left
mls_ so no @!meo? 14:33
@!mro?
jnthn well, that, but also .^can may want to delegate to the method cache or something...
14:33 tokuhirom joined, clairvy left 14:34 clairvy joined
jnthn Mostly it's just a case of trying to think ahead about what other people's meta-objects might do/look like. 14:34
mls_ btw, what does the 'methods' method return? 14:36
an array of code objects, right?
14:37 im2ee joined
mls_ so is it ok for has_method to compare with a name? 14:38
dalek ast: 698a5e1 | Coke++ | S03-smartmatch/any-array.t:
nom fudging
14:39
jnthn mls_: code objects, but it's the names that matter in role composition 14:42
14:42 kaare_ joined
jnthn Apart from non-collision, where sameness is interesting. 14:43
mls_ so code objects stringify to the name? 14:45
jnthn Yes 14:46
Stringification is safer than calling .name (more)
NQP doesn't (yet?) wrap up Parrot subs in code objects
mls_ ah, ok. makes sense. 14:47
jnthn Though it irks me more and more that it doesn't and the performance overhead of doing so is very minimal these days.
mls_ so you better don't all add_method with the wrong name ;)
jnthn ;)
mls_ (cause add_method takes both a name and a code object as arguments) 14:48
jnthn yeah
Looking at the method table's keys is "safer" in a sense.
Probably should move towards doing that. 14:49
mls_ hmm, perl6's RoleToClassApplier::has_method ignores $local and uses the method_table. 14:51
jnthn ah :)
Well, I guess I learned something between NQP and Perl 6 then :P
Generally, if Perl 6's meta-objects do things in a way that seems better than NQP's, then it probably makes sense to update the NQP ones accordingly. 14:52
mls_ ok, will do ;)
jnthn I need to re-visit the NQP roles implementation at some point to apply the lessons from the Perl 6 one too.
er, the parametricity bits of it.
mls_ perl6 calls has_method() with local=0 when composing the methods. Is this a bug? 14:54
(either that local is ignored or that it is called with local=0)
jnthn Depends where. 14:55
Potentially a thinko.
nom: class A { method m() { say 'a' } }; role R { method m { say 'r' } }; class C does R { }; C.m
p6eval nom f2857b: OUTPUT«r␤»
jnthn hm, it gets that right :)
mls_ cause it ignores the local=0 ? 14:56
jnthn nqp: class A { method m() { say('a') } }; role R { method m() { say('r') } }; class C does R { }; C.m
p6eval nqp: OUTPUT«r␤»
jnthn mls_: ah :)
mls_: Maybe. I need to decommute in a moment...can look more once I'm home
mls_ ok. till later...
jnthn But think is, Rakudo classes don't ignore the :local(0) 14:57
*thing
mls_ but Rakudo's RoleToClassApplier::has_method ignores it ;)
jnthn mls_: Oh. 14:58
mls_: ahh...thinking about it...
I've yet to implemented the "required method" thingy roles do 14:59
sorear masak: also, it's not clear what the correct behavior of #49 is
jnthn Which is the place I'd need :local(0)
mls_: but if the composition check passes 0...yeah, sounds like thinko.
15:01 thou joined
jnthn decommute & 15:03
15:04 saaki joined
masak sorear: huh? @a.elems should be 0, where's the unclarity? 15:05
moritz masak: did you see my example that triggered the System.InvalidCastException?
15:05 clairvy left 15:06 clairvy joined
sorear masak: what is the nature of @a? 15:06
moritz maybe that can be golfed further
niecza: $/.to 15:07
p6eval niecza v9-24-ga279320: OUTPUT«Unhandled exception: Unable to resolve method to in class Any␤ at /tmp/qAZGUBmGMo line 1 (MAIN mainline @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2060 (CORE C968_ANON @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2061 (CORE module-CORE @ …
sorear masak: is it equivalent to [], creating a new array?
moritz niecza: Match.to
p6eval niecza v9-24-ga279320: OUTPUT«Unhandled exception: System.InvalidCastException: Cannot cast from source type to destination type.␤ at CORE.C684_Match_2Eto (Niecza.Frame ) [0x00000] in <filename unknown>:0 ␤ at Niecza.Kernel.RunCore (Niecza.Frame& cur) [0x00000] in <filename unknown>:0…
moritz niecza: say Num.sqrt
p6eval niecza v9-24-ga279320: OUTPUT«0+0i␤»
sorear masak: and why Array? The implicit type constraint is Positional or maybe Positional[Any]
dalek ecza: bc5cf9d | sorear++ | lib/Builtins.cs:
Zero sqrt does not need to promote
15:08
masak sorear: for the same reason 'my @a' gets an empty Array, I guess. 15:09
sorear Hmm. I guess that rationale works. 15:10
masak Array is the "default" Positional.
perl6: say Num.sqrt 15:28
p6eval niecza v9-24-ga279320: OUTPUT«Rebuild in progress␤»
..rakudo f2857b: OUTPUT«No applicable candidates found to dispatch to for 'sqrt'. Available candidates are:␤:(Num, Mu %_)␤␤ in method sqrt at src/gen/CORE.setting:2364␤ in <anon> at /tmp/NA3sSYdnM3:1␤ in <anon> at /tmp/NA3sSYdnM3:1␤␤»
..pugs: OUTPUT«0␤»
sorear #phasers in 119? :D 15:31
tadzik mebbe :) 15:32
moritz next week, I think
tadzik maybe I should do something to have a report
dalek p: f3b8f73 | (Michael Schroeder)++ | src/how/RoleToClassApplier.pm:
copy has_method implementation over from perl6

The perl6 implementation uses the method_table instead of iterating over all methods. It ignores $local for now, this may need to be fixed in the future.
mls_ heh, my first commit ;)
moritz tadzik: #phasers-driven development
masak mls_++
tadzik nice one
moritz: or motivation-driven. Or even expectation-driven. 15:33
It's when someone gives you a commit bit, and you feel obliged to commit :P
masak mls_: is your last name "Schroeder" or "Schröder"?
just curious.
mls_ Schr􏿽xF6der, actually
masak ooh, a Latin-1 client ;) 15:34
15:34 uasi_ left
mls_ yes, parrot also doesn't like that. I always need to change LC_CTYPE to stop parrot from complaining ;) 15:34
tadzik mumbles something about every package delivered to some So&#347;nierz guy
sorear can't the world just standardize on utf-8 already? 15:35
mls_ ;)
tadzik ups--
sorear maybe utf-16 for the East Asians
dalek ecza: 0173980 | sorear++ | / (2 files):
Optional @/% defaults to empty Array/Hash (masak) (fixes #49)
15:36
masak mls_: UTF-8 is your *frieeeeend*! :D 15:38
mls_ yes. It's just lazyness...
masak »ö«
oh wait, that's all Latin-1 too :P 15:39
sorear tadzik: have you seen? en.wikipedia.org/wiki/File:Letter_t...zyabry.jpg
masak admires that post office 15:40
moritz sounds like they employ a geek :-) 15:41
tadzik oh wow
15:42 benabik left
moritz a wrongly encoded address is just the riddle you want to solve if you have to repair horrible hand writing all day :-) 15:46
15:47 tokuhirom left
masak no Ch. 78 of HPMoR yet :/ 15:49
moritz masak: but Ch. 20 of the podcast 15:51
masak I'm thinking of listening to it... but it'll take a year for it to catch up to where the text version is *now*... 15:52
15:52 risou_awy is now known as risou
moritz I find it very nice for the commute time 15:54
reading on the bike is LTA :-)
moritz -> commute :-)
jnthn home 16:01
16:01 sayu joined
masak decommutes 16:01
16:02 masak left
dalek ast: d09d566 | sorear++ | S06-signature/optional.t:
Add tests for Niecza #49
16:04
16:04 SHODAN joined
sorear o/ jnthn 16:04
jnthn hi sorear
16:06 dukeleto left, dukeleto joined
sorear oh wow, github++ 16:11
I went to close #49 but apparently it saw my commit and closed itself
sorear hunts for documentation of this feature 16:12
16:12 uasi joined 16:13 aindilis left 16:20 clairvy left
sorear yay, found it 16:24
dalek ecs: ac6eea7 | larry++ | S12-objects.pod:
add scoping in as multi dispatch tiebreaker
16:27
16:28 mberends joined
sorear o/ mberends 16:30
mberends o/ sorear. I have about 12 hours of backlogging to do. 16:31
moritz wonders how many days worth of IRC conversation one can backlog in 12 hours 16:32
sorear in early Wikipedia days there was a joke about classifying people by the number of hours they spent to study one hour of RecentCHanges 16:34
or maybe that was TvTropes
16:35 mj41 left, uasi left 16:36 birdwind1pbird left
dalek kudo/nom: f8301da | Coke++ | t/spectest.data:
track failures, run fudges.
16:37
sorear has found a new horrible hack which is less horrible than the old horrible hack, for ferrying data between compiler-space and run-space 16:41
TimToady sounds convergent, or at least less divergent :)
jnthn mls++ # my spectest run is down 193s! :) 16:46
sorear nice 16:47
what's the mimimum memory these days?
jnthn sorear: for? 16:48
sorear: Build?
sorear jnthn: build/spectest
flussence my netbook can survive it with only 1GB (no swap) 16:49
jnthn Not sure, but I suspect higher than ng
flussence I think it's closer to 700MB now
jnthn flussence: 32-bit or 64-bit?
sorear so probably no hope just yet of a .25 build. ok.
flussence 32, I have to manually kill that one test that hangs...
jnthn sorear: No, it probably still needs some reigning in :( 16:50
sorear: Though the amount of PAST nodes we build probably drops by half once the serialization stuff lands. 16:51
sorear pre-\o/ 16:54
tadzik sorear: how come I hear of no such problems in niecza? Is it that CLR is superior in this sense, or you just got the hard stuff silently done? 16:55
sorear tadzik: you haven't heard of this because I haven't started tackling it 16:57
tadzik oh, I see
so you handle the compiletime-runtime boundary differently somehow? 16:58
sorear tadzik: also, AST nodes have always been real objects in Niecza
jnthn "real objects"?
sorear PCT nodes are Captures
jnthn Oh, as opposed to the capture thingy...right.
sorear I guess because PCT started in Parrot's infancy 16:59
jnthn aye
sorear tadzik: the compiletime-runtime boundary is handled very differently in niecza. I actually think jnthn++ has done a very good job considering the redesign for nom, and while I think niecza's way is better than what b did, I'm going to steal a *lot* from nom... 17:00
17:07 envi_laptop left
jnthn cotto: Tried the branch. It doesn't give any warnings during Configure now. :) 17:08
17:09 localhost left 17:10 localhost joined 17:11 dakkar left
jnthn cotto: The bad news is that it now blows up like: 17:11
.\miniparrot.exe -Iruntime/parrot/include -o frontend/parrot2/prt0.pbc frontend/parrot2/prt0.pir
PackFile_pack segment 'DIRECTORY' used size 2316 but reported 2596
17:12 mj41 joined
jnthn git clean -xdf's just in case 17:14
no luck :( 17:15
cotto jnthn, dang 17:21
I wish I had a 64-bit windows box so I could fiddle with it myself
17:23 packetkn_ joined
TimToady that looks like the kind of ratio you get when there's a CRLF vs LF foulup 17:25
if the lines average about 20 chars... 17:26
er, 10 chars
17:26 packetknife left
TimToady perl6: say (2596-2316)/2316 17:27
p6eval rakudo f8301d: OUTPUT«0.120898100172712␤»
..pugs: OUTPUT«0.1208981001727115716753022452504317789292␤»
..niecza v9-26-g0173980: OUTPUT«70/579␤»
17:28 masak joined
masak evening! \o/ 17:28
frettled Indeed it is!
TimToady more like 8 chars
sorear o/ masak 17:31
incidentally, I think pugs' output is a tad excessive. 17:32
17:32 daniel-s left
[Coke] sorear: they're just showing off. 17:32
tadzik those haskellers
moritz compiles and tests a fix for www.perlmonks.org/?node_id=925931 17:38
jnthn moritz++ 17:39
17:39 Chillance joined 17:56 packetkn_ left
colomon did we decide not to have #phasers today? 17:58
tadzik I think so 17:59
17:59 benabik joined 18:01 risou is now known as risou_awy
masak yeah, we can't have status meetings every day. :) 18:03
at least not yet.
jnthn But I want to do scrum! :P
dalek kudo/nom: 6c9731a | moritz++ | src/Perl6/Grammar.pm:
die on use of match variable in declaration
18:05
moritz
.oO( a scrumateur )
18:08 pernatiy left
dalek ecza: b85eeeb | sorear++ | / (5 files):
Redesign to cross-domain communication system

Instead of using a custom interface which is compiled once and shared between versions of Kernel.dll, a system which proved fragile and inflexible, we now coopt System.Collections.IDictionary.
Also adds a C# code module to the compiler, finally allowing all aspects of the compiler/compilee interface to be controlled by current code.
18:10
18:14 im2ee left, im2ee joined
sorear out 18:19
TimToady perl6: my $::("-O'Malley's") = 42; say $::("-O'Malley's"); 18:21
p6eval rakudo f8301d: OUTPUT«===SORRY!===␤Variable variable names not allowed in declarations at line 1, near " = 42; say"␤»
..pugs: OUTPUT«*** ␤ Unexpected "$::(\"-"␤ expecting "=", formal parameter, context, ":" or "("␤ at /tmp/YbA4nL6sIe line 1, column 4␤»
..niecza v9-26-g0173980: OUTPUT«Any()␤»
TimToady I think that should be made to work eventually
jnthn ew :) 18:22
But yes.
TimToady given the string can be recognized as static
jnthn rajt
huh
*right
:)
TimToady rajt isn't right but it works :)
TimToady isn't sure, actually, what niecza thinks it's doing with it 18:23
18:25 birdwindupbird joined 18:31 xinming joined
masak rakudo: role A { multi method foo { say "A" } }; role B { multi method foo { say "B" } }; class C does A does B {}; C.new.+foo 18:37
p6eval rakudo f8301d: OUTPUT«Ambiguous dispatch to multi 'foo'. Ambiguous candidates had signatures:␤:(C, Mu %_)␤:(C, Mu %_)␤␤ in method foo at src/gen/CORE.setting:246␤ in method dispatch:<.*> at src/gen/CORE.setting:681␤ in method dispatch:<.+> at src/gen/CORE.setting:669␤ in <anon> at /…
jnthn That's awkward. 18:38
I'm not quite sure how to fix that one yet.
It was easy in ng because we had a much flatter view of dispatch.
18:39 alvis left
jnthn Now we have nested dispatchers and it's not obvious that the method dispatcher, which handles the .+/.*, should descend into a nested dispatcher too. 18:39
(And the method dispatcher's view is that there's one method to call. It just happens that one method is a proto.)
benabik rakudo: role A { method foo { say "A" } }; role B { method foo { say "B" } }; class C does A does B {}; my $_ = C.new; .foo; .+foo 18:41
p6eval rakudo f8301d: OUTPUT«===SORRY!===␤Method 'foo' must be resolved by class C because it exists in multiple roles (B, A)␤»
masak that one's correct.
benabik Not sure why that's different when multi is added. It's still ambiguous. 18:42
TimToady I see an ambiguous dispatch there too
masak even with .+ ?
TimToady .+ applies to method dispatch, not multi dispatch 18:43
there's only one proto, and .+ finds it
masak ah.
benabik Doesn't it have to be resolved at class composition time? A has a method foo, B has a method foo… Does it matter if they're multis?
jnthn TimToady: oh, wow. I expected you to wave your hands and tell me to just make it work :)
18:43 molaf left
jnthn benabik: It's undecidable in the general case whether a multi is ambiguous. 18:43
TimToady which is part of why we just added a scoping tiebreaker, which doesn't help in this case 18:44
18:44 poerschke joined
benabik Hm. multi dispatch is probably turing complete… :- 18:44
:-/
jnthn benabik: Sure, as soon as you add where clauses.
masak with where clauses, sure.
jnthn benabik: Thankfully the common cases are not
TimToady however, if you mixed in role B after role A, then B would be more derived, and preferred
jnthn TimToady: Right, but this is composition, not mixins. 18:45
TimToady which is why it's ambiguous
jnthn Seems we're agreeing ;)
TimToady I'm trying to be as disagreeable as possible :)
benabik I would think that adding roles or classes with overlapping multis should be noted somewhere. Seems ripe for error.
jnthn TimToady: :P 18:46
masak benabik: sure, but it'd be a compilte-time boon.
TimToady if it can be determined that a dispatch will be ambiguous, it's probably worth a warning at least
jnthn Well, if we know that .+ and .* won't descend into multi dispatch, then we can do a compile time error. 18:47
TimToady in this case, the signatures appear to be close enough for such a warning
jnthn Like we planned for subs.
18:47 szabgab joined
jnthn I thought we agreed the sub case was an error, anyway... 18:47
The only reason I argued against that for methods was because I'd forgotten that .+ and .* would work differently now. 18:48
18:49 wallberg joined
jnthn remembers that he should eat something for dinner 18:49
benabik food++
masak the staticker, the better.
moritz TimToady: www.perlmonks.org/?node_id=925973 -- are you serious? why would anybody want that to work? 18:50
benabik I had that problem too. Difficult to concentrate on class when my brain is going "when's lunch" every few minutes.
masak moritz: I guess one could argue language interop or sump'n. 18:51
jnthn hm, something to eat seems to require me to go and buy something to stick inside my sandwich...bbs :) 18:53
TimToady moritz: because there's no reason to prohibit it 18:55
moritz TimToady: I think it's dangerous, because it depends on the degree in which one can constant-fold, which is probably quite implementation dependent 18:56
so I fear it's easy to accidentally create compiler dependent behavior 18:57
masak moritz: then don't use the feature :) 18:58
same way you wouldn't use Q:PIR in a compiler-agnostic setting.
moritz masak: except that Q:PIR is *obviously* compiler specific
masak sure, and $::("-O'Malley's") will be right there in perl6doc perl6port 18:59
18:59 sayu left
benabik Constant folding isn't quite the right term… There's no folding, just changing code gen based on the presence of a literal. It's the difference between recognizing :16<deadbeef> as a literal and :16<$const> as a literal 19:02
19:02 alvis joined
moritz std: :16<$const> 19:03
p6eval std bb4f150: OUTPUT«===SORRY!===␤Malformed radix number at /tmp/6f6fppCMaE line 1:␤------> :16<⏏$const>␤ expecting number in radix notation␤Parse failed␤FAILED 00:01 117m␤»
masak benabik: TimToady has a broad definition of constant folding, is all. 19:04
benabik masak: From an academic viewpoint, constant folding is an occasionally tricky optimization. What TimToady's asking for is far simpler. And since I'm sitting in a uni right now, I'm probably going to be a little more pedantic. ;-) 19:06
masak benabik: I haven't learned about constant folding at uni. would you be so kind as to define it for me?
specifically, why's it tricky? 19:07
benabik masak: Constant folding is turning "1 + 1" into "2" at compile time.
masak that seems a very narrow definition. :P
benabik masak: Tricky part is recognizing what operations are and are not possible to do that with.
masak but given it I'm not surprised you disagree with TimToady's :P
benabik masak: That was an example. :-D
masak oh, then I misunderstood the word "is" :P
jnthn
.oO( Masak Clinton )
19:08
benabik masak: Constant folding is taking operations that operate on constants and replacing them with the result of the operation.
masak benabik: but that's exactly what TimToady's snippet would require!
benabik It's fair enough. This is a result of me being somewhat pedantic.
19:08 replore_ left
jnthn The thing is that in Perl 6 we're starting to get to the point where we sometimes say that things working depends on constant folding, rather than it being an optimization (and thus optionalish) 19:09
masak nod.
PerlJam as long as constant-folding is specced :)
benabik masak: The difference (to me) is that you can express the difference in a fairly simple bit of syntax. $::(<literal string>) is fairly obviously different than $::(<string expression>) 19:10
19:10 daxim_ left
benabik It's a type difference, not performing operations on constant. 19:11
19:12 Kivutarrr joined
jnthn I'd hope the type of a string operation is string :P 19:13
PerlJam jnthn: yeah, but mutable or immutable? :)
benabik jnthn: literal string is a type of string expression, but the more specific type can be noticed very quickly in parsing. 19:14
TimToady well, 'my $::()' doesn't actually require constant folding, since it should just recognize that the name has to be evaluated at compile time anyway 19:15
benabik Which is, more or less, what I'm trying to say. 19:16
I'm just being verbose about it. :-/
TimToady but we did add explicit constant declarations for a Reason, and that reason is to make it clearer to the compiler when something that looks like a variable isn't 19:17
(and to force the initialization of said to constant to compile time, of course) 19:18
s/to //
masak "the 'constant' keyword just helps the constant folding along" 19:21
19:34 Kivutarrr left 19:37 pernatiy joined 19:40 thou left
masak rakudo: my @a = a => 1, b => 2; for @a -> Pair $p ( $key, $value ) { say $key } 19:53
p6eval rakudo 6c9731: OUTPUT«Not enough positional parameters passed; got 0 but expected 2 in sub-signature of parameter $p␤ in block <anon> at /tmp/PoamncmwwV:1␤ in method reify at src/gen/CORE.setting:3649␤ in method reify at src/gen/CORE.setting:3554␤ in method reify at src/gen/CORE.set…
jnthn rakudo: my @a = a => 1, b => 2; for @a -> Pair $p ( :$key, :$value) { say $key } 19:56
p6eval rakudo 6c9731: OUTPUT«Mu()␤Mu()␤»
jnthn hmm 19:57
[Coke] (not have status meetings every day) I need you to take over this project I have at work. :P
jnthn rakudo: (a => 1).Capture.say
p6eval rakudo 6c9731: OUTPUT«␤»
jnthn rakudo: (a => 1).Capture.perl.say
p6eval rakudo 6c9731: OUTPUT«␤»
jnthn rakudo: (a => 1).^attributes>>.name>>.say
p6eval rakudo 6c9731: OUTPUT«$!key␤$!value␤»
jnthn rakudo: (a => 1).^attributes>>.has_accessor>>.say
p6eval rakudo 6c9731: OUTPUT«Bool::False␤Bool::False␤» 19:58
jnthn ah.
19:58 MayDaniel joined
masak [Coke]: :) 19:58
19:59 flussence joined
jnthn masak: Are you going to masakbug the above? 19:59
masak: I'm compiling a patch now but it deserves a test. 20:00
masak: And getting you to submit a bug report is the laziest way I can make sure it gets tested :P
> my @a = a => 1, b => 2; for @a -> Pair $p ( :$key, :$value) { say $key } 20:01
a
b
\o/
20:01 mikemol joined
benabik jnthn: Your code appears to print an extra "\o/". You should figure out where that's coming from. ;-) 20:02
20:02 mikemol left, jql left, localhost left, jevin left, frhodes left, aloha left, bbkr1 left, kcwu left, krakan left, charsbar__ left, birdwindupbird left, mberends left, Alias left, arthur-_ left, y3llow left, dju left, kfo_ left, cognominal_ left, pnu left, pothos left, arnsholt left, sjohnson left, jesk left, wallberg left, dukeleto left, SHODAN left, djanatyn left, lucs left, simcop2387 left, mathw left, spacebat left
masak submits rakudobug, on request 20:03
jnthn: I'm sorry, I woulda done it sooner. I was sure that one had an RT ticket already.
20:03 mikemol joined, wallberg joined, birdwindupbird joined, localhost joined, mberends joined, dukeleto joined, SHODAN joined, Alias joined, djanatyn joined, arthur-_ joined, lucs joined, jevin joined, y3llow joined, jql joined, dju joined, frhodes joined, aloha joined, bbkr1 joined, kfo_ joined, simcop2387 joined, cognominal_ joined, pnu joined, pothos joined, geekosaur joined, Gothmog_ joined, jnthn joined, awwaiid joined, jjore joined, domidumont joined, sivoais joined, cotto_work joined, jasonmay joined, Exodist joined, Khisanth joined, prammer joined, slavik1 joined, jerome_ joined, jfried joined, baest joined, tadzik joined, TiMBuS joined, domm joined, silug joined, zamolxes joined, chitragupt joined, clkao joined, PerlJam joined, _sri joined, ribasushi joined, amkrankruleuen joined, avar joined, mathw joined, krakan joined, kcwu joined, arnsholt joined, sjohnson joined, spacebat joined, charsbar__ joined, jesk joined, donri left
masak I mean, how could it not? it's been known for ages. 20:04
20:04 donri joined, donri left, donri joined, localhost left
jnthn gets out the debugger... :P 20:04
20:04 y3llow left 20:05 y3llow joined, localhost joined
masak seems there isn't one, so here goes. 20:05
jnthn wonders what me missed by being on the wrong side of the netsplit 20:06
tadzik yeah
20:06 pothos left 20:07 y3llow left, pothos_ joined
dalek kudo/nom: 16bb82c | jnthn++ | src/core/Enum.pm:
key and value should declare themselves as public attributes in Enum.
20:07
20:07 y3llow joined, pothos_ is now known as pothos
jnthn There's the patch :) 20:07
masak jnthn: rt.perl.org/rt3/Ticket/Display.html?id=99134 20:09
20:10 HarryS left
masak jnthn: feel free to mark it as "take for tests". 20:13
20:15 skangas left, eiro left, \patch joined, nine joined, LoRe_ joined, ruoso joined, zostay joined, tewk joined, cosimo joined, rhr joined, athomason joined, phenny joined 20:16 ggoebel joined, birdwindupbird left 20:19 ilogger2 joined, ChanServ sets mode: +v ilogger2 20:20 skangas joined, Grimnir_ joined, jlaire_ joined 20:21 jlaire_ is now known as jlaire 20:22 daemon joined 20:23 eiro joined, betterworld joined 20:24 itz joined, im2ee joined
jnthn masak: tagged 20:26
masak jnthn++ 20:28
jnthn OK, so I have one spectest that says that a nextsame should die if there's nothing to defer to 20:30
And another that says it shouldn't.
Which is right?
20:30 felipe joined, donri joined
masak I was wondering the same thing the other day. 20:31
feels like 'nextsame' falling off the edge of the world isn't such a big deal.
'nextwith' maybe, but probably not even that. 20:32
if the candidates've run out, they've run out. doesn't feel like an error condition.
cotto_work you'd expect it to happen eventually
masak this is assuming some kind of "candidates are independent links in a chain" model of things. 20:33
jnthn Death does seem a little harsh. 20:34
tadzik jnthn: so, do you run windows 8 yet? 20:35
there is one on msdn.microsoft.com/en-us/windows/apps/br229516 makes me maybe even a bit curious :)
jlaire is the internal version number 6.2 this time? :) 20:36
tadzik if it's less annoying than 7, I could possibly try it on virtualbox
benabik masak: OTOH, doesn't "no candidates" mean "we can't do what you asked"? 20:37
Depends on why you're calling next same, I guess.
lion-- # no, really, I meant nextsame
masak benabik: when you go 'next' in the last iteration of a loop, what do you expect to happen? 20:38
benabik masak: Is function dispatch really like looping?
masak 'nextsame' and 'nextwith' used to be spelled 'next'. which was a fairly bad idea, so it got fixed. but the semantics is basically the same.
benabik: yes, this kind of function dispatch is very much like looping. 20:39
jnthn tadzik: Haven't tried 8 yet :) 20:40
benabik masak: When is next same supposed to be used? I would expect it to be "Oh, I can't handle this, try the next one"
masak benabik: I don't put that much semantics into it. some routines simply want to defer to the next one in the chain for whatever reason. 20:41
rakudo: class A { method foo { say "I'm a proud parent!"; nextsame } }; class B is A { method foo { say "I'm a responsible child!"; nextsame } }; B.new.foo 20:42
p6eval rakudo 6c9731: OUTPUT«I'm a responsible child!␤I'm a proud parent!␤»
masak jnthn: no, 'nextsame' shouldn't die just because there are no more candidates.
20:42 bbkr1 joined
masak it shouldn't warn either. 20:43
niecza: die 20:45
p6eval niecza v9-27-gb85eeeb: OUTPUT«Unhandled exception: No value for parameter $msg in CORE die␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (CORE die @ 0) ␤ at /tmp/_Xawqb5QBu line 1 (MAIN mainline @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2060 (CORE C968_ANON @ 2) ␤ at /ho…
masak submits nieczabug
20:46 jevin joined
jnthn tags #57788 as closable after tests arranged 20:47
masak sorear++ # niecza 20:49
jnthn #61500 is testneeded too :) 20:51
colomon masak: context? not that I disagree....
im2ee Good night! :)
tadzik gnight!
masak colomon: I'm using it for the first time in a while, and while it's a different kind of experience that Rakudo and I feel a little out of place, I also recognize that it's very usable and powerful. 20:52
20:52 im2ee left
masak colomon: it's definitely underused considering what it can do. 20:52
and fast! 20:53
there's a perceptible compilation delay, but once it gets going...!
im2ee: dobranoc! (a bit too late) 20:54
20:58 pmurias joined
pmurias masak: did you succed with running the gtk example under niecza? 20:58
20:59 mkramer1 joined 21:01 araujo joined, araujo left, araujo joined
masak pmurias: no, not yet. didn't follow up on mberends' last tip yet, though. 21:02
masak does so
[Coke] (netsplit) man, do I hate IRC. ;)
masak the trick is to end up on the side of the split with all the nice people :P 21:04
jnthn If somebody fancies some test munging, I just tagged 5 RT tickets as "testneeded"
And that was just a cursory glance for the first couple of pages in RT.
masak mberends: hm, I already had libgtk2.0-cil installed, it seems. still doesn't work.
21:05 mkramer1 left
tadzik I may take a look at that, now having a proper amount of ram 21:06
I haven't wrote and p6 in a while 21:07
mberends masak: I'll search for more clues
masak thank you. 21:08
++tadzik # today's test hero
tadzik (; 21:09
masak sorear: grr. that cast exception again. tomorrow I'm going to track down and golf it for you. 21:11
jnthn rejects an invalid test
tadzik wow, use Test is _really_ slow
jnthn tadzik: Ticket for you: rt.perl.org/rt3/Ticket/Display.html?id=67662 21:12
tadzik like >6 times slower on startup
jnthn tadzik: Really?
tadzik really-really
perl6 -e 1 0.72s user 0.13s system 99% cpu 0.852 total
perl6 -e 'use Test' 5.95s user 0.17s system 99% cpu 6.123 total
jnthn tadzik: huh...is it somehow missing the pre-compiled version?
tadzik jnthn: could be
masak probably.
jnthn tadzik: Or is it hitting an installed Test.pm? 21:13
tadzik you having your blazingly fast machine don't even notice small people's problems! :P
jnthn Which of course has invalid PIR...
tadzik jnthn: don't think so, I'm in /tmp
jnthn tadzik: er, but there's no measurable difference here with those two :)
tadzik jnthn: I don't think the feature from this bug is even specced
jnthn tadzik: Feel free to reject ;) 21:14
tadzik I'll re-check
flussence hey, we were talking about this a few days ago in here... redd.it/kfr32
jnthn really wants to cut this RT queue down to size
masak will be there to build it up again, don't worry
'night, channel 21:15
21:16 thou joined
sbp 'night masak 21:16
tadzik Ticket 67662: Permission Denied 21:17
damnit RT, why u so stubborn
could someone reject rt.perl.org/rt3/Ticket/Display.html?id=67662 for me? 21:18
jnthn tadzik: done 21:19
tadzik thanks-o
nom: eval "sub bar {}"; say $!.perl;
p6eval nom 16bb82: OUTPUT«Malformed block at line 1, near ""␤»
jnthn tadzik: '' 21:22
tadzik: the {} is an interpolated block
tadzik ooh, right
jnthn rakudo.org/testneeded links to an empty list :( 21:23
pmichaud: ^^ if it's you who maintains that. 21:24
(Looks like double-encoding of ' or some such) 21:26
flussence wfm 21:30
tadzik rt.perl.org/rt3/Ticket/Display.html?id=61126 not really fixed 21:31
nom: sub foo { map { return 1 }, 1; return 2 }; say foo;
p6eval nom 16bb82: OUTPUT«2␤»
tadzik eek, wait
nom: sub bar($code) { $code() }; sub foo { bar { return 1 }; return 2; }; say foo; 21:32
p6eval nom 16bb82: OUTPUT«1␤»
tadzik this one
oh, right. So the first one is broken :)
jnthn tadzik: Not returns' fault, though... 21:39
dalek ast: 78945cc | tadzik++ | S12-attributes/inheritance.t:
Tests for RT #61500
jnthn nom: sub foo { eager map { return 1 }, 1; return 2 }; say foo;
ast: 1138a24 | tadzik++ | S06-advanced_subroutine_features/return.t:
Tests for RT #61126
p6eval nom 16bb82: OUTPUT«1␤»
tadzik oh, so testfail. Fixing 21:40
dalek ast: 2d28aa2 | tadzik++ | S06-advanced_subroutine_features/return.t:
Fix tests for RT #61126, jnthn++
21:41
tadzik rt.perl.org/rt3/Ticket/Display.html?id=61500 closable
rt.perl.org/rt3/Ticket/Display.html?id=61126 closable 21:42
jnthn tadzik: both done 21:43
tadzik++
That one masak++ filed earlier today could get tests easily and be closed too :) 21:44
diakopter .
phenny diakopter: 06:59Z <masak> tell diakopter www.hakank.org/comb/debruijn.cgi en.wikipedia.org/wiki/De_Bruijn_sequence www.theory.csc.uvic.ca/~cos/inf/nec...eInfo.html
diakopter phenny: tell masak cool
phenny diakopter: I'll pass that on when masak is around.
dalek Heuristic branch merge: pushed 85 commits to rakudo/optimizer by jnthn 21:47
tadzik ho ho 21:48
jnthn Just bringing it up to date with master :) 21:49
er
with nom
:)
dalek ast: e42db46 | tadzik++ | S02-names_and_variables/contextual.t:
Test for RT #63226
21:50
tadzik rt.perl.org/rt3/Ticket/Display.html?id=63226 closable
jnthn done 21:51
tadzik huh, this throws an exception but does not die 21:52
nom: eval 'sub foo($n) { if $n { callsame() } }; foo(1)'; say $!.WHAT
p6eval nom 16bb82: OUTPUT«Exception()␤»
tadzik nom: use Test; eval_dies_ok 'sub foo($n) { if $n { callsame() } }; foo(1)' 21:53
p6eval nom 16bb82: OUTPUT«(timeout)»
tadzik oh great
not ok 1 - locally
nom: use Test; eval_dies_ok 'sub foo($n) { if $n { callsame() } }; foo(1)'
p6eval nom 16bb82: OUTPUT«(timeout)»
tadzik teehee
jnthn tadzik: I thought the discussion earlier settled on that living, not dying?
tadzik oh, my bad 21:54
anyway, this has a test it seems
rt.perl.org/rt3/Ticket/Display.htm...txn-705770
but it fails, it seems 21:55
because the test's broken :) Ok, I see it now
jnthn :)
tadzik and the test is not ran anyway 21:57
dalek ast: 328f005 | tadzik++ | S06-advanced_subroutine_features/callsame.t:
Fix a test for RT 69314, fudge S06-advanced_subroutine_features/callsame.t for Rakudo
21:59
Heuristic branch merge: pushed 40 commits to rakudo/nom-buf by tadzik 22:00
kudo/nom: ed8f4ad | tadzik++ | t/spectest.data:
Run S06-advanced_subroutine_features/callsame.t
tadzik rt.perl.org/rt3/Ticket/Display.html?id=69314 closable now
22:01 meraxes joined
jnthn meh, I put in undeclared routine detection and now the setting fails to compile... 22:04
tadzik :P
meh, I added a test to a file but nom does not run it yet 22:05
jnthn nom: warn('!')
p6eval nom 16bb82: OUTPUT«Could not find sub &warn␤ in <anon> at /tmp/z6i90_Tqzc:1␤ in <anon> at /tmp/z6i90_Tqzc:1␤␤»
jnthn oh, well, it's not entirely wrong ;)
tadzik: That callsame one?
tadzik jnthn: nope, protos 22:06
jnthn ah, yeah
tadzik t/spec/S06-multi/proto.t
dalek ast: b8d66dd | tadzik++ | S06-multi/proto.t:
Tests for RT #68242
tadzik ...whatever :)
jnthn Still some work to do to make that one run but it may also be out of date.
sorear good * #perl6
jnthn tadzik: Anyway, best to leave the ticket open for now.
tadzik okay 22:07
sorear: hi
diakopter sorear: I'm curious to see an example of accessing the compiler from p6 code 22:08
sorear diakopter: eval("2 + 2")
diakopter I must've misunderstood your commit message 22:09
sorear the compiler and the user code are both p6, but they are compartmentalized and cannot directly share data
dalek ast: bb87d97 | tadzik++ | S04-statement-modifiers/for.t:
Tests for RT #66606
22:11
tadzik rt.perl.org/rt3/Ticket/Display.html?id=66606 closable
rt.perl.org/rt3/Ticket/Display.html?id=65482 not-really-testneeded 22:13
22:14 dalek joined
jnthn 66606...the ticket of the beast?!...closed 22:14
22:14 ChanServ sets mode: +v dalek
jnthn tadzik: 65482 can be left until we run the test file 22:15
tadzik I think so 22:16
dalek ast: f695da8 | tadzik++ | S (2 files):
Tests for #57788
22:18
tadzik rt.perl.org/rt3/Ticket/Display.html?id=57788 testsnotran
rakudo: (a => 1).^attributes>>.has_accessor>>.say 22:20
p6eval rakudo 16bb82: OUTPUT«Bool::True␤Bool::True␤»
tadzik rakudo: my @a = a => 1, b => 2; for @a -> Pair $p ( :$key, :$value) { say $key } 22:21
p6eval rakudo 16bb82: OUTPUT«a␤b␤»
jnthn tadzik: Think test for that one wants to go in the unpacking tests 22:22
Somewhere in S06
Check that Pair is unpackable
tadzik I'll look at it tomorrow :]
jnthn ok :)
tadzik I'll get some sleep for now
jnthn good plan ;)
tadzik plan 'good' 22:23
jnthn will be doing Perl 6 stuff tomorrow
tadzik good plan :)
jnthn :)
dobranoc o/
dalek ecza: df880f1 | sorear++ | lib/CORE.setting:
Add a default message to &die, closes #51
tadzik 'branoc :)
lichtkind my slides are now on www.slideshare.net/lichtkind/perl-6...structures 22:25
22:26 replore_ joined
jnthn nom: 1 %% 60 or say 'hi' 22:26
p6eval nom 16bb82: OUTPUT«hi␤»
jnthn nom: 0 %% 60 or say 'hi'
p6eval nom 16bb82: ( no output )
diakopter time for some std fuzzing 22:30
niecza: &Int**^&Int 22:32
p6eval niecza v9-28-gdf880f1: OUTPUT«Unhandled exception: System.Exception: Unable to find lexical &Int in mainline␤ at Niecza.CLRBackend.NamProcessor.ResolveLex (System.String name, Boolean upf, System.Int32& uplevel, Boolean core) [0x00000] in <filename unknown>:0 ␤ at Niecza.CLRBackend.Na…
sorear diakopter: std fuzzing? 22:33
diakopter er, niecza fuzzing
sorear diakopter: I think niecza is right to fail that, although it should fail earlier 22:34
diakopter niecza: say &1**&1 22:35
p6eval niecza v9-28-gdf880f1: OUTPUT«1␤»
sorear &1**&1 means $/[1] ** $/[1]
Any ** Any is interpreted as 0 ** 0
diakopter niecza: say 2^^3 # should this fail earlier too? 22:36
p6eval niecza v9-28-gdf880f1: OUTPUT«Unhandled exception: System.Exception: Unable to find lexical &infix:<^^> in mainline␤ at Niecza.CLRBackend.NamProcessor.ResolveLex (System.String name, Boolean upf, System.Int32& uplevel, Boolean core) [0x00000] in <filename unknown>:0 ␤ at Niecza.CLRBac… 22:37
22:37 thou left
diakopter std: say 2^^^3 # should this fail? 22:39
p6eval std bb4f150: OUTPUT«ok 00:01 120m␤»
dalek kudo/nom: 867ebd6 | jnthn++ | src/core/control.pm:
Add a cheating &warn to avoid meta-errors.
22:41
kudo/nom: 12b860d | jnthn++ | src/core/Temporal.pm:
A doubled 'or' caught by work in the optimizer branch.
Tene jnthn: I'm curious why you're cheating like that. 22:42
diakopter niecza: say 2 ^ ^ 3
p6eval niecza v9-28-gdf880f1: OUTPUT«one(2, 0, 1, 2)␤»
jnthn Tene: No especially good reason. 22:43
Tene 'k
jnthn Tene: I didn't really mean to fix that.
diakopter sorear: should that junction have duplicates?
jnthn Tene: I'm working on optimizer branch, which also catches various "that could never work" things. It started catching a missing &warn in the setting and then I couldn't compile the setting in that branch any more :)
sorear wait, how is that even parsing 22:44
diakopter :) fuzzing is fun
sorear diakopter: for :36 - that's actually a NYI 22:45
dalek kudo/optimizer: ed8f4ad | tadzik++ | t/spectest.data:
Run S06-advanced_subroutine_features/callsame.t
kudo/optimizer: 1088154 | jnthn++ | src/Perl6/Optimizer.pm:
Stub in some check-time failure/warning infrastructure. First cut of detecting undeclared routines; fails on building CORE.setting.
kudo/optimizer: e98e205 | jnthn++ | src/Perl6/Optimizer.pm:
Don't complain about calling routines that we get passed as &foo style parameters.
kudo/optimizer: 867ebd6 | jnthn++ | src/core/control.pm:
Add a cheating &warn to avoid meta-errors.
kudo/optimizer: 12b860d | jnthn++ | src/core/Temporal.pm:
A doubled 'or' caught by work in the optimizer branch.
kudo/optimizer: 6bb0357 | jnthn++ | / (3 files):
Merge branch 'nom' into optimizer
diakopter sorear: oh
sorear niecza: say ^ 3
p6eval niecza v9-28-gdf880f1: OUTPUT«0..^3␤»
jnthn Oops, that was a bit noisy...
sorear niecza: say [ ^ 3 ]
p6eval niecza v9-28-gdf880f1: OUTPUT«0 1 2␤»
sorear niecza: say 2 ^ ^ 3
p6eval niecza v9-28-gdf880f1: OUTPUT«one(2, 0, 1, 2)␤» 22:46
sorear I think you're actually looking at a display bug
niecza: say (2 ^ ^ 3).WHAT
p6eval niecza v9-28-gdf880f1: OUTPUT«Junction()␤»
sorear niecza: say (2 ^ ^ 3).FALLBACK("perl")
p6eval niecza v9-28-gdf880f1: OUTPUT«one("2", "0..^3")␤»
sorear yeah
Junction.perl is putting the context in list context when it shouldn't 22:47
but as for your other question - diakopter - Niecza's Junctions deliberately do no duplicate elimination
diakopter oh 22:50
niecza: say %7238957928356.WHAT # eh 22:52
p6eval niecza v9-28-gdf880f1: OUTPUT«Any()␤»
22:53 replore_ left, pmurias left, whiteknight joined
dalek ecza: eefe939 | sorear++ | lib/CORE.setting:
Fix Junction-containing-list stringification (diakopter)
22:56
diakopter niecza: say [][][0].WHAT # sry 23:00
p6eval niecza v9-28-gdf880f1: OUTPUT«Unhandled exception: No value for parameter $index in CORE postcircumfix:<[ ]>␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (CORE postcircumfix:<[ ]> @ 0) ␤ at /tmp/UYKnnyfA7h line 1 (MAIN mainline @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2…
23:05 dorlamm joined
diakopter perl6: say [][] 23:06
p6eval niecza v9-28-gdf880f1: OUTPUT«Unhandled exception: No value for parameter $index in CORE postcircumfix:<[ ]>␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (CORE postcircumfix:<[ ]> @ 0) ␤ at /tmp/pWDi1Vq7Mz line 1 (MAIN mainline @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2…
..pugs, rakudo 12b860: OUTPUT«␤»
dalek kudo/optimizer: bfcf87a | jnthn++ | src/Perl6/Compiler.nqp:
While in the optimizer branch, turn optimizer on by default, for easier testing.
23:08
kudo/optimizer: 4cba402 | jnthn++ | src/Perl6/Optimizer.pm:
Avoid some inlines when we might screw up the workings of control exception handlers (like with given/when). This fixes the spectest regressions that we got from the immediate block inlining optimization. (We now fail some tests, but it's because the tests have undeclared routines, which the optimizer complains about at CHECK time; these tests need fixing.)
sorear diakopter: zen slices nyi
23:09 thou joined
sorear jnthn: \o/ I want those routines fixed 23:09
er, tests
diakopter niecza: say ()()
p6eval niecza v9-28-gdf880f1: OUTPUT«Unhandled exception: Unable to resolve method postcircumfix:<( )> in class Parcel␤ at /tmp/0j0OVfLy4B line 1 (MAIN mainline @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2060 (CORE C969_ANON @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2061 …
jnthn sorear: Hopefully somebody will take the bait... ;)
diakopter I suppose that one's expected
jnthn sorear: Otherwise I'll get to it when I want to merge the optimizer branch.
diakopter: That one looks reasonable to me. 23:10
23:14 plobsing joined
diakopter add Parcels to the list of things I don't understand: Parcels, Captures, containers, variables, values, binding/assignment :/ I'm so behind. 23:15
niecza: say 2*****3 23:19
p6eval niecza v9-28-gdf880f1: OUTPUT«Unhandled exception: System.Exception: Unable to find lexical &term:<**> in mainline␤ at Niecza.CLRBackend.NamProcessor.ResolveLex (System.String name, Boolean upf, System.Int32& uplevel, Boolean core) [0x00000] in <filename unknown>:0 ␤ at Niecza.CLRBack…
diakopter that confuses me
why would it think ** is a term 23:22
sorear HyperWhatever 23:23
diakopter oh
niecza: say %3.WHAT # what does %3 mean 23:24
p6eval niecza v9-28-gdf880f1: OUTPUT«Any()␤»
jnthn niecza: say % 3.WHAT 23:25
p6eval niecza v9-28-gdf880f1: OUTPUT«===SORRY!===␤␤Non-declarative sigil is missing its name at /tmp/4QDqKwVJK8 line 1:␤------> say ⏏% 3.WHAT␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 685 (CORE die @ 2) ␤ at /h…
23:25 am0c joined
jnthn not that :) 23:25
Suspect it's aliased to $3
diakopter nom: say %3.WHAT
p6eval nom 12b860: OUTPUT«Nil␤»
jnthn nom: "abcde" /(.)(.)(.)(.)(.)/; say %3
p6eval nom 12b860: OUTPUT«===SORRY!===␤Confused at line 1, near "\"abcde\" /("␤»
jnthn nom: "abcde" ~~ /(.)(.)(.)(.)(.)/; say %3 23:26
p6eval nom 12b860: OUTPUT«d␤»
jnthn yeah.
niecza: "abcde" ~~ /(.)(.)(.)(.)(.)/; say %3
p6eval niecza v9-28-gdf880f1: OUTPUT«#<match from(3) to(4) text(d) pos([].list) named({}.hash)>␤»
diakopter eh. why is it d and not c; sorry I'm so ignorant
jnthn diakopter: 0-based in Perl 6. 23:27
niecza: "abcde" ~~ /(.)(.)(.)(.)(.)/; say %0
p6eval niecza v9-28-gdf880f1: OUTPUT«#<match from(0) to(1) text(a) pos([].list) named({}.hash)>␤»
diakopter oh
jnthn wonders if anybody can remember the C function pointer syntax, or if everyone has to look it up everytime they want it... :) 23:28
sorear I can remember it
jnthn sorear: Somehow it doesn't stick in my brane. :( 23:29
Then every time I look it up I'm like "oh, yeah, of course, silly me..."
sorear the trick is it's rather irregular 23:30
sorear had occassion to write a pointer to a function which takes two function pointer arguments earlier this year
er, three
23:30 tokuhirom joined
jnthn I bet it looked...beautiful. :) 23:31
23:34 uasi joined
diakopter niecza: no CORE 23:40
p6eval niecza v9-29-geefe939: OUTPUT«===SORRY!===␤␤Action method statement_control:no not yet implemented at /tmp/utCE_cWWU4 line 1 (EOF):␤------> no CORE⏏<EOL>␤␤Unhandled exception: Unable to resolve method statement_level in class Str␤ at /home/p6eval/ni…
diakopter nom: require CORE # jnthn ? 23:42
p6eval nom 12b860: OUTPUT«Null PMC access in find_method('need')␤ in <anon> at /tmp/Xp5nfvbiEb:1␤ in <anon> at /tmp/Xp5nfvbiEb:1␤␤»
23:42 uasi left
jnthn diakopter: ugh 23:42
diakopter: oh, nobody re-visited require in nom yet, probably
So probably it's relying on disappeared compiler guts or something. 23:43
TimToady trying to use a setting should probably fail
that isn't their interface 23:44
likewise no should fail
jnthn makes sense
nom: use CORE; # curious *how* it fails...
p6eval nom 12b860: OUTPUT«===SORRY!===␤Could not find CORE in any of: lib, /home/p6eval/.perl6/lib, /home/p6eval/nom-inst2/lib/parrot/3.7.0-devel/languages/perl6/lib, .␤»
jnthn oh
It doesn't look for things with the .setting extension :)
TimToady settings don't work by importation, hopefully 23:45
jnthn Problem averteD!
TimToady so you can't unimport 'em either
diakopter niecza: use CORE.setting
23:45 dorlamm left
p6eval niecza v9-29-geefe939: OUTPUT«Unhandled exception: Cannot use a lexical psuedopackage as a compile time package reference␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 685 (CORE die @ 2) ␤ at /home/p6eval/niecza/src/Metamodel.pm6 line 572 (Metamodel StaticSub._lexy_ref @ 2) ␤ at… 23:45
diakopter misspelled pseudo 23:46
TimToady ooh, a bug!
jnthn std: use CORE.setting
p6eval std bb4f150: OUTPUT«===SORRY!===␤Confused at /tmp/2Ob_1nmgJh line 1:␤------> use CORE⏏.setting␤ expecting statement_control␤Parse failed␤FAILED 00:01 122m␤»
jnthn nom: use CORE.setting
p6eval nom 12b860: OUTPUT«===SORRY!===␤Could not find CORE in any of: lib, /home/p6eval/.perl6/lib, /home/p6eval/nom-inst2/lib/parrot/3.7.0-devel/languages/perl6/lib, .␤»
jnthn hm
diakopter TimToady: should %1 be aliased to $1 ? 23:47
TimToady mebbe, mebbe naught
niecza: use CORE is this even parsed?
p6eval niecza v9-29-geefe939: OUTPUT«===SORRY!===␤␤Undeclared routines:␤ 'even' used at line 1␤ 'is' used at line 1␤ 'parsed' used at line 1␤ 'this' used at line 1␤␤'use' with arguments NYI at /tmp/xrUn1gjDVw line 1:␤------> use CORE is this even
..parsed⏏?␤␤…
TimToady niecza: use CORE + 1; 23:48
p6eval niecza v9-29-geefe939: OUTPUT«===SORRY!===␤␤'use' with arguments NYI at /tmp/oq8SluBQuK line 1:␤------> use CORE + 1⏏;␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 685 (CORE die @ 2) ␤ at /home/p6eval/niecz…
TimToady hmm
niecza: use CORE++;
p6eval niecza v9-29-geefe939: OUTPUT«Unhandled exception: Cannot use a lexical psuedopackage as a compile time package reference␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 685 (CORE die @ 2) ␤ at /home/p6eval/niecza/src/Metamodel.pm6 line 572 (Metamodel StaticSub._lexy_ref @ 2) ␤ at…
TimToady niecza: use ++CORE; 23:49
p6eval niecza v9-29-geefe939: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'use' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 685 (CORE die @ 2) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1136 (STD P6.comp_unit @ 36) ␤ a…
TimToady ah well
23:50 thou left, ponbiki joined
dalek ecza: 2b3ba1c | diakopter++ | / (2 files):
fix pseudospellos
23:52
23:52 thou joined
diakopter
.oO( I added myself to pseudoers today )
23:53
nom: anon package foo { } 23:55
p6eval nom 12b860: OUTPUT«===SORRY!===␤Cannot use anon scope with package at line 1, near "{ }"␤»
diakopter niecza: anon package foo { }
p6eval niecza v9-29-geefe939: ( no output )
TimToady niecza: (anon package foo { }).WHAT.say 23:56
p6eval niecza v9-29-geefe939: OUTPUT«Unhandled exception: Unable to resolve method say in class foo␤ at /tmp/2WePzoJSRH line 1 (MAIN mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2060 (CORE C968_ANON @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2061 (CORE module-CORE @…
TimToady niecza: (anon package foo { }).WHAT.gist.say
p6eval niecza v9-29-geefe939: OUTPUT«Unhandled exception: Unable to resolve method gist in class foo␤ at /tmp/qhyD7TSq3Y line 1 (MAIN mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2060 (CORE C968_ANON @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2061 (CORE module-CORE …
TimToady *class* foo?
decommuting & 23:57
diakopter niecza: slang P6 { } # sorear NYI? 23:58
p6eval niecza v9-29-geefe939: OUTPUT«===SORRY!===␤␤Unable to resolve method xref in class Any at /tmp/xbLF74gq4Y line 1:␤------> slang P6 ⏏{ } # sorear NYI?␤␤Nominal type check failed for scalar store; got Any, needed Str or subtype at /tmp/xbLF74gq4Y line …