»ö« 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.
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…
TimToady looks like pugs does the best, as long as you name your params 03:31
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 ?
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
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
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
diakopter netsplit? 04:59
sorear rakudo: sub foo(@x?) { say @x.perl }; foo 05:03
p6eval: help
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()␤»
sorear rakudo: say [].perl 05:07
p6eval rakudo cca116: OUTPUT«[]␤»
sorear rakudo: say Array.perl 05:08
p6eval rakudo cca116: OUTPUT«Array␤»
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
cotto stupid bots, only doing exactly what they're programmed to 05:13
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
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
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
sorear out 06:29
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
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
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
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
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
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
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.
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
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
moritz tests supernovus++'s patch right now 08:21
where by "test" I mean "see if it compiles" :-) 08:22
dalek kudo/nom: f2857b7 | (Timothy Totten)++ | src/core/IO/Socket/INET.pm:
IO::Socket::INET.accepts now returns the connected socket
08:31
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
moritz does 'running a fair random generator to determine my choice' count? 09:32
masak sure!
(though it feels a bit reckless) 09:33
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
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
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
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"
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
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
jnthn
.oO( wonder if my box does it in 200s now... )
11:03
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.
jnthn mls++ seems to have got us a ~10% reduction, so that could bring me to the 200ish mark :) 11:44
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
moritz done 11:59
daxim_ beckons jnthn 12:03
conferences.yapceurope.org/tcpw2011/newtalk
jnthn daxim_: Yes, I read the message on the ba.pm list this morning ;) 12:09
daxim_: Planujem prist. :)
donri is the artistic lisence most similar to bsd or gpl? 12:17
daxim_ similarity under which aspect? 12:19
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
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
jnthn lichtkind: Ano :) 12:39
lichtkind jnthn: than i pull back my p6 talk :) 12:40
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
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?
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
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" :)
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
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' ...
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
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␤»
sorear \o/ 14:07
mls_ good evening! 14:12
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
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
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.
mls_ so no @!meo? 14:33
@!mro?
jnthn well, that, but also .^can may want to delegate to the method cache or something...
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?
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
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.
jnthn decommute & 15:03
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?
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
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
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
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
moritz I find it very nice for the commute time 15:54
reading on the bike is LTA :-)
moritz -> commute :-)
jnthn home 16:01
masak decommutes 16:01
dalek ast: d09d566 | sorear++ | S06-signature/optional.t:
Add tests for Niecza #49
16:04
sorear o/ jnthn 16:04
jnthn hi sorear
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
sorear yay, found it 16:24
dalek ecs: ac6eea7 | larry++ | S12-objects.pod:
add scoping in as multi dispatch tiebreaker
16:27
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
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
jnthn cotto: Tried the branch. It doesn't give any warnings during Configure now. :) 17:08
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
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
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
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␤»
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
[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
colomon did we decide not to have #phasers today? 17:58
tadzik I think so 17:59
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 )
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
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
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.
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 :)
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
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.
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
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
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
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.
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
benabik It's a type difference, not performing operations on constant. 19:11
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
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.
masak [Coke]: :) 19:58
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/
benabik jnthn: Your code appears to print an extra "\o/". You should figure out where that's coming from. ;-) 20:02
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.
masak I mean, how could it not? it's been known for ages. 20:04
jnthn gets out the debugger... :P 20:04
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
dalek kudo/nom: 16bb82c | jnthn++ | src/core/Enum.pm:
key and value should declare themselves as public attributes in Enum.
20:07
jnthn There's the patch :) 20:07
masak jnthn: rt.perl.org/rt3/Ticket/Display.html?id=99134 20:09
masak jnthn: feel free to mark it as "take for tests". 20:13
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?
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.
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
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
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
pmurias masak: did you succed with running the gtk example under niecza? 20:58
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.
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
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
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
jnthn 66606...the ticket of the beast?!...closed 22:14
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
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
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()␤»
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…
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
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
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…
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
jnthn I bet it looked...beautiful. :) 23:31
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␤␤»
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
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
dalek ecza: 2b3ba1c | diakopter++ | / (2 files):
fix pseudospellos
23:52
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 …