»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by wolfe.freenode.net on 30 October 2009.
00:04 hudnix left
pugs_svn r29042 | lwall++ | [STD_P5] much more de-6-ization of the quasi-p5 grammar 00:07
00:12 lest_away is now known as lestrrat 00:22 lichtkind left
pmichaud jnthn: great work today, thanks for everything 00:22
jnthn: I hope to open lots of doors for us tonight :) 00:23
00:24 fax left
jnthn pmichaud: Great. Having use done properly will be a big step forward. :-) 00:24
00:25 ihrd joined, ihrd left 00:27 quietfanatic left 00:29 snarkyboojum joined 00:31 szabgab left 00:33 orafu left, orafu joined 00:35 simcop2387 left 00:36 pmurias left 00:40 simcop2387 joined 00:41 szabgab joined 00:47 icwiener left 00:53 TimToady sets mode: +vv dalek hugme, TimToady sets mode: +vvvv ilbot2 ilogger2 IRSeekBot lambdabot, TimToady sets mode: +vvv lisppaste3 p6eval phenny, TimToady sets mode: +vvv pointme pugs_svn zaslon 00:57 xabbu42 left 00:58 nihiliad joined 01:14 quietfanatic joined
diakopter pmurias: yes 01:33
Juerd I don't know why, but police here started stopping people at random, asking for driving license and registration papers. 01:34
It started a few weeks ago, and I've been stopped three times already.
s/'ve been/was/? English is hard. 01:35
diakopter either
have been is more proper
Juerd They just glance over the paperwork, wish you a good night, and drive off again.
diakopter have been - implies it could happen again, which fits better with '... already' 01:36
Juerd They're not checking it with databases, like they normally do (did).
01:36 nihiliad left, nihiliad joined
Juerd Hm, I'm not used to verb forms implying anything about the future. :| 01:37
Thanks. I should look this up.
diakopter to clarify, it doesn't necessarily imply that, it just leaves the door open for that connotation somewhat more than 'was stopped'. I think. 01:39
Juerd Still an interesting part of the language that is entirely new to me 01:40
Er, that's ambiguous. English isn't entirely new to me :) 01:41
01:41 Chillance left
diakopter 'I had been stopped 3 times' denotes that you don't expect to be stopped again (they're not stopping folks anymore, or you're not driving past them anymore) 01:41
(and isn't confused by '... already')
Juerd Technically, I haven't even been stopped this time. They just harrassed me while I had already parked my car, and was just cleaning the passenger seat a little. 01:42
s/while/after/ # argh :)
diakopter there, it's "I wasn't even stopped this time"
Juerd Why is that? 01:43
diakopter since the [singular/atomic] event is completed ("perfect")
Juerd I'm beginning to see a pattern 01:44
Thanks ]
s/\]//
diakopter :)
even though it's a negative event (it didn't occur), you're talking about it as if it could have occurred, so in that theoretical past timeline, it did occur (and was completed) 01:45
Juerd I recognised the term perfect from latin, and that reminds me that I forgot almost everything I've ever learned about latin... 01:46
diakopter as well (4 """years""")
Juerd perfectum, imperfectum, plusquamperfectum, ... 01:47
I lost all notion of what those mean. Maybe if I read about it it'll come back to me. Let's do that tomorrow.
For now I'm wishing you a good night|* :) 01:48
diakopter wonders if there's a 1st person singular analogue of "Let's ..." "Let me .." except contracted.
'nite
oh yeah. "Lemme."
Juerd Yes, it is: I'll do that tomorrow. :)
pugs_svn r29043 | lwall++ | [t/spec] 3 instances of "Too late for semicolon form" 01:49
Juerd Welterusten :) 01:50
01:54 elmex left 01:55 quietfanatic left, quietfanatic joined 01:57 eternaleye joined 01:58 elmex joined 01:59 ShaneC left 02:00 s1n left 02:02 s1n joined 02:03 snarkyboojum left 02:04 parduncia left, pnu left
dalek ok: 43015de | chromatic++ | src/basics.pod:
Minor edits to Basics chapter:

   - rephrased some prose for clarity
   - added X<> tags for indexing
02:12
02:17 Wolfman2000 joined
diakopter Wolfman2000: hiya 02:18
Wolfman2000 diakopter: Evening. Don't think your @ stayed upon my leaving for college BTW.
02:18 diakopter sets mode: +o Wolfman2000
diakopter there you go 02:18
Wolfman2000 Wasn't sure if it was meant to be permament or not.
diakopter++: Thanks.
...may as well test to be sure. 02:19
02:19 Wolfman2000 left, Wolfman2000 joined
diakopter nah; it's just so people don't feel left out... 02:19
Wolfman2000 *shrugs* don't worry about it
diakopter also to deter griefers
Wolfman2000 where's that dictionary bot? I don't recall what a griefer is either.
diakopter "oh look, 30 operators? I'll find another channel to [make] grieve." 02:20
TimToady it's not any kind of a club, just people who we know and who tend to stay connected 24/7
Wolfman2000 24/7? Definitely not me. I use my laptop for just about everything.
TimToady well, so do I 02:21
but I ssh to a machine with screen and irssi :)
and this machine has been up for 82 days now 02:22
decommuting &
Wolfman2000 TimToady: I don't have such a machine that can be close to guaranteed to stay up...that I can keep bandwidth wasting.
My Slicehost box is out, I can't use my own box, and I can't waste Juerd's bandwidth on Feather.
diakopter Wolfman2000: a zillion folks use screen+irssi on feather 02:23
well, a zillion minus 1
Wolfman2000 ...right, that 1 is me 02:24
I need to learn a few more things about screen...and then somehow control a text based IRC client without trouble. THAT'S going to be the fun one.
diakopter one trick is to make it use UTF-8 02:25
Wolfman2000 diakopter: I'll want to do that anyway.
diakopter I mean, it can be tricky to do that. 02:26
Wolfman2000 In other news...I've been given a deadline for the Perl 6 Pastebin website I've been working on with others in here. 02:28
NC State is hosting an alumni function in my home town on December 8th. I have to RSVP by the 3rd. This will be a BIG boost to my resume if I get it completed by then.
Once I take care of some homework, I have to get cracking to hopefully get SOMETHING up before the week of Thanksgiving. 02:31
02:36 pnu joined 02:40 meppl left 02:43 parduncia joined 02:44 whooosh joined 02:48 Whiteknight left 02:49 whooosh left 03:07 snarkyboojum joined 03:10 Exodist joined 03:22 nothingmuch left, christine left, renormalist left, Grrrr left, gfldex left, sjohnson left, cotto left, wolverian left, mtve left, literal left, TimToady left, Trey left, diakopter left, Bucciarati left, stepnem left 03:23 literal joined 03:24 renormalist joined, nothingmuch joined, christine joined 03:27 hercynium_ joined 03:28 TimToady joined, Grrrr joined, gfldex joined 03:31 hercynium_ left 03:33 diakopter joined, Bucciarati joined 03:36 meppl joined 03:40 hercynium left 03:41 JimmyZ joined
JimmyZ A new bug? 03:41
raudo: (27-13.2-13.2-0.6).say;
rakudo: (27-13.2-13.2-0.6).say;
p6eval rakudo 929998: 1.4432899320127e-15␤
JimmyZ rakudo: Int(27-13.2-13.2-0.6).say; 03:42
p6eval rakudo 929998: invoke() not implemented in class 'Integer'␤in Main (file <unknown>, line <unknown>)␤
JimmyZ rakudo: (Int)(27-13.2-13.2-0.6).say;
p6eval rakudo 929998: invoke() not implemented in class 'Integer'␤in Main (file <unknown>, line <unknown>)␤
diakopter JimmyZ: it's the floating point value not rounding to 0... 03:43
oh
JimmyZ diakopter: But it's a really bug.
diakopter yeah
I mean
not necessarily
03:44 mubot joined
JimmyZ So does the python... 03:44
03:47 envi^office joined, sjohnson joined, cotto joined, mtve joined
arnsholt JimmyZ: That's just the way life is when you're using floating point numbers 03:48
A lot of common decimal numbers, like 0.1 IIRC, cannot be represented in binary with a finite number of bits
So you get round-off errors like that
If you really, really need absolute precision you have to implement your own fixed-point class 03:49
(The most common case for that is money, where rounding errors can be an absolute no-no) 03:50
03:53 stepnem joined, stepnem left
JimmyZ arnsholt: I see, thanks. though it is a *big* bug. 03:53
rakudo: (1/3*3).say; 03:54
p6eval rakudo 929998: 1␤
arnsholt It can be a problem, yes. But it's not really a problem. It really is impossible (as in, provably so) to make it work like you want to
Rationals OTOH, will do what you want, as you just found out =) 03:55
Er, "it's not really a bug"
Rather than "it's not really a problem"
JimmyZ rakudo: ( (1/3) * 3 ).say; 03:59
p6eval rakudo 929998: 1␤
JimmyZ rakudo: print (1/3)*3 04:00
p6eval rakudo 929998: 1
JimmyZ oh, perl 5 outputs 0.333333333333333 04:01
arnsholt Yeah, Perl 5 doesn't have Rationals built-int 04:07
Built-in, even
But there is a CPAN module that adds it I think
PerlJam What's the supposed bug? 04:08
04:09 meppel joined 04:10 _jaldhar is now known as jaldhar
Wolfman2000 argh...homework took too long, plus dad made me watch some of the American football game 04:10
04:15 nihiliad left
diakopter nqp: say(hihi) 04:17
p6eval nqp: Null PMC access in get_string()␤current instr.: 'print' pc 59901 (gen/nqp-actions.pir:0)␤
04:17 stepnem joined
diakopter nqp: hi; say(3) 04:18
p6eval nqp: 3␤
diakopter nqp: hi; say(333)
p6eval nqp: 333␤
diakopter weird
04:21 pdcawley_ joined
pmichaud nqp has difficulties with barewords at times 04:21
it looks at "hihi" as being a package lookup
diakopter ok
04:24 frew joined 04:25 meppl left 04:29 pdcawley left, pdcawley_ is now known as pdcawley 04:33 pdcawley_ joined 04:42 gfx joined 04:43 valnour joined 04:49 meppel left, pdcawley left, pdcawley_ is now known as pdcawley 04:55 envi^home joined 05:02 snarkyboojum left, quietfanatic left 05:04 astrojp left 05:23 snarkyboojum joined 05:30 snarkyboojum left 06:04 am0c left 06:12 Wolf2k_Pinged joined 06:15 gfx left 06:16 gfx joined 06:21 Wolfman2000 left
Wolf2k_Pinged eternaleye: I finally have...a pinged nick. Hang on. 06:25
06:25 Wolf2k_Pinged is now known as Wolfman2000 06:26 gfx left
Wolfman2000 eternaleye: Trying this again. I finally have a better grasp on DB access through Catalyst and DBIC. Screenshot coming soon. 06:26
eternaleye: i38.tinypic.com/1zoypfb.png 06:28
06:28 Thyssen left 06:37 TiMBuS joined 06:39 beggars joined 06:41 tekie joined 06:42 tekie left 06:50 justatheory left
Wolfman2000 off to bed...I have a better idea on things at least. 06:51
07:00 am0c joined 07:07 frew left, seanstickle joined 07:20 Su-Shee joined
Su-Shee good morning. 07:20
07:34 seanstickle left 07:39 NorwayGeek joined 07:45 Exodist left
moritz_ moin 07:53
08:00 beggars left 08:10 stephenlb left 08:11 payload left 08:24 payload joined 08:26 payload left, payload1 joined 08:27 NorwayGeek left 08:36 NorwayGeek joined 08:51 mariuz joined 08:55 payload1 left, payload joined, namenlos joined
Juerd Wolfman2000: IRC does not waste bandwidth :) 08:57
Wolfman2000: It costs next to nothing.
08:57 payload left
Juerd Wolfman2000: Do a "ps axu | grep irssi | grep -vi screen" on feather :) 08:58
08:58 payload joined 09:04 payload left 09:05 payload joined 09:10 payload1 joined 09:12 reid05 left 09:13 reid05 joined, pnate2 joined, pnate left 09:16 lestrrat is now known as lest_away 09:26 payload left 09:46 pnate joined 09:51 rgrau left 10:00 pnate2 left 10:02 payload1 left 10:14 envi^office left 10:24 masak joined
masak oh hai, #perl6. 10:24
moritz_ good morning masak, good noon #perl6 :-) 10:25
masak :P
10:29 JimmyZ left
jnthn morning 10:36
masak lolitsjnthn
jnthn yayitsmasak 10:37
10:39 dakkar joined
dalek ok: 3d5943c | moritz++ | src/basics.pod:
[basics] fix two POD errors
10:41
10:49 mberends joined
mberends is teaching Perl 5 using Padre :-) 10:50
jnthn :)
dalek ok: c4a1247 | moritz++ | src/basics.pod:
[basics] use single quotes consitently; typo
10:53
10:54 meppl joined, pmurias joined, payload joined 10:58 IllvilJa left
sjohnson hi masak 11:09
masak Juerd: there's a trick to remembering the meaning of 'perfect'/'imperfect'/'plusquamperfect'.
sjohnson: hi there! nice to see you.
sjohnson you too
11:10 TiMBuS left 11:11 lest_away is now known as lestrrat 11:12 IllvilJa joined 11:15 NorwayGeek left
Juerd masak: Do you want to share that trick? 11:21
Su-Shee Juerd: perfect as in "perfectly ended past", imperfect as in "not perfectly ended yet" and plusquamperfect "even more (plus) in the past than perfect" :) 11:27
Juerd Well, that I know, but those don't come natural to me. 11:28
Dutch doesn't match those semantics :|
Su-Shee contemporary spoken german doesn't as well. noone really uses plusquamperfect for example. 11:29
(or future II for that matter) 11:30
11:30 pnate left 11:32 SmokeMachine joined 11:37 NorwayGeek joined 11:45 cookys joined 11:49 stepnem left
Woodi like Year 1984 language simplification proposal: good, 1+good, 2+good, without-good, 1+without-good, 2+without-good; 3+ is forbiden 11:56
11:59 payload left
jnthn That's 10+without-good 12:00
OH NOES I did a forbidden!
If the attempt was to restrict the things people could think, using numbers is kinda a fail. It's far too easy to figure out what the next strongest possibility is. :-) 12:01
Woodi THEY try to make ppls do not thing and simplification of language was way to do it. so, easy or not ppls should do not think 12:03
was realy clever vision of future in that book :> 12:05
12:05 envi^home left
Woodi btw. anyone thinked about writing starship hardvare control library ? 12:06
s/hv/hw/g
12:06 payload joined 12:07 envi^home joined
Woodi you know, a2d2 was using some interface in that movies... 12:08
StarTreak, StarGate...
even Section 1 :)
12:18 stepnem joined, stepnem left 12:26 IllvilJa left
masak Juerd: learning what they mean. :) so, 'perfect' means 'finished', as in 'I have Xed'. 'imperfect' means 'unfinished', as in 'I was Xing'. note how that describes a still ongoing action. 'plu(squam)perfect' means 'more than finished', i.e. one step removed from the perfect form, i.e. 'I had Xed'. 12:27
ah, and Su-Shee++ said the same, basically.
Woodi: ISTR it was 'good', 'plusgood', 'doubleplusgood', 'ungood', 'plusungood' and 'doubleplusungood'. 12:29
Woodi: incidentally, that's basically a 1-to-1 mapping of how Esperanto does it. :)
jnthn Great. Now I want to learn Esperanto so I can tell people stuff was "trippleplusungood" :-) 12:30
masak :) 12:31
jnthn masak: Is it generative like that though?
Or not so much?
masak jnthn: oh, the generative part is very crucial. but it works differently.
12:31 payload left
jnthn Ah, OK. :-) 12:31
12:32 payload joined
masak jnthn: 'tre' and -eg- marks intensification. mal- marks opposites. so you have (for the above examples) 'bone', 'tre bone', 'bonege', 'malbone', 'tre malbone', 'malbonege'. 12:33
jnthn Ah, so it's not quite using numbers? 12:34
masak no.
jnthn Ah, OK. :-)
Cool.
12:34 hcchien left
jnthn "mal" and "bon" and "tre" all look somewhat like near-takings from various Romance languages. 12:34
masak they are. 12:35
though people tend to trip up on 'mal', thinking it has something to do with evil.
or unhealth.
jnthn Guess that maybe makes it easier for a certain group of people to learn.
12:35 stepnem joined
jnthn Oh yes, I think mal = ill in Spanish. Or something like that. 12:36
The thing that came to mind more immediately was malhereusement (sp?) in French.
masak aye.
I've been writing a bit of Perl 5 in the past few days. 12:38
two things have started tripping me up.
jnthn Oh, 'cus of differences between 5 and 6?
masak 1. sigils. when I don't think about it, I write the sigils unchanged, not by-result.
2. commas after blocks in map/grep/sort. 12:39
jnthn Curious. I have other trip-ups, but usually not those ones.
12:39 hcchien joined
masak aye, it's a bit strange. :) 12:39
all the other things I can handle.
jnthn I've typed . instead of -> more than once. 12:40
moritz_ masak: I usually catch the sigils while writing, butcommas after map/grep/sort blocks is something I often tripped over
jnthn I would mention that I sometimes miss off the semi when doing eval { ... } <newlne>
But I don't think that's Perl 6's fault.
moritz_ too
jnthn I managed that one before I was writing Perl 6 too. 12:41
moritz_ right, that's an inconsistency in Perl 5
12:41 pmurias left
jnthn The other thing that sneaked into my Perl 5 in the last week was an attempt to use prefix:<+>. :-) 12:42
masak you can. :) 12:43
but it probably won't do much.
moritz_ yes, it's a noop
it just parses differently
jnthn :-)
moritz_ print (localtime)[2]; # boom!
masak as for the semicolons-after-closures, I make a point of always putting them in. even when the closing brace is last-on-the-line.
moritz_ masak: even after if ($stuff) { }; ? 12:44
masak moritz_: er. no. but that's a special form. :)
moritz_ it's a block
every block is a closure
masak yes.
but 'if' is parsed as a special statement. 12:45
12:45 NorwayGeek left
masak I just got the urge to tell #perl that we've decided to change the name of Perl 6 to something else. :P 12:46
'Perlcaml Prime', perhaps. 12:48
12:48 hcchien left
moritz_ perl-ng :-) 12:48
masak or just 'ng', perhaps.
moritz_ no, people would confuse that with the rakudo branch :-) 12:49
masak better written 'ŋ' :)
moritz_ and ng.org is already taken => no go
masak moritz_: I don't think I can have 'perl' in the name, since part of their criticism is that Perl 6 isn't Perl.
moritz_: but I wouldn't mind confirming their predjudices about us. 12:50
huf call it p6rl.
pmichaud good morning, perl6
masak Perl 6 being an 'academic' language, for example.
pmichaud: morning.
moritz_ well, I don't really mind their criticism
masak huf: but we already are.
huf problem solved then ;)
masak moritz_: I don't mind it when it's directed at us. I mind it when it afflicts innocents. 12:51
jnthn hi pmichaud
moritz_ we should really take care that newcomers don't get between our frontiers
masak nod. 12:52
jnthn I'm guessing the use implementation didn't quite make it last night?
12:52 lichtkind joined
Su-Shee I would very much mind perl6 being an academic language. 12:52
12:52 cognominal joined
masak Su-Shee: sure. that's just their (#perl's) way of rationalizing their disinterest in Perl 6. 12:52
jnthn Su-Shee: I think Perl 6 is too useful to have a shot at that. ;-) 12:53
pmichaud jnthn: no, it didn't make it again. got really tired; think I'm fighting off a cold or something
12:53 hcchien joined
pmichaud anyway, I'm up for it now, so about to get started 12:53
masak Su-Shee: they don't even mean 'in academia', they mean 'experimental' or 'hypothetic'.
jnthn pmichaud: Eww. It's the time of year for that.
moritz_ masak: maybe we should offer them a ceasefire - they stop misinforming newbies about Perl 6, and we stop misinforming newbies about Perl 5 :-)
Su-Shee masak: well, many people plainly wait until they get a feel of "it's ready".
masak moritz_: heh. :) 12:54
Su-Shee mr shee will plainly not even start to touch perl 6 until there's a working database module, for example.
masak Su-Shee: indeed. I should work a bit on the database module.
jnthn pmichaud: I've been waiting for my sort-of-almost-cold-thing to turn into a real one for a couple of weeks now...but nope.
12:54 NorwayGeek joined
Su-Shee masak: "having an environment" was the reason why reddit changed from lisp to python - not the power and elegance of the language itself. 12:55
pmichaud well, I did finally get a restful night's sleep for the first time in quite a few days, so hoping that will help 12:56
anyway, I'm going to disappear for a bit to work on use :)
jnthn Yay. :-)
12:57 kidd` left
masak Su-Shee: yes, it's a powerful argument. and one which is easy to understand. 13:00
13:00 takadonet joined
takadonet morning all 13:00
moritz_ and a lot of work to change.
masak Su-Shee: that's why I think pmichaud++ is doing the right thing with Rakudo Star -- short-circuiting the Catch 22 of apps/interest by saying "here's something that works, use it!". 13:01
moritz_ and hopefully it's also a sign that says "start developing libraries NOW"
masak let's make such a sign. 13:02
frettled «Book urgently in need of a new home» 13:05
Let the sign be a 'shopped image of book with a stylized house drawn around him. 13:06
13:06 frettled sets mode: +o masak
Su-Shee masak: I ran into that argument the last time I think when I tried dylan. nice language - and nothing really there. and I realized how much _all_ my projects profit from having a date module, a ssl module and so on. 13:06
masak Su-Shee: nod. 13:09
Su-Shee: that's why I think my Temporal rewrite is important.
Su-Shee Temporal is like DateTime? 13:12
masak Su-Shee: it's the name of the module containing DateTime, yes.
13:13 payload left
jnthn masak: I'm glad you've taken on working on that. It does matter. 13:13
takadonet I think it's time to work on BioPerl6 again 13:17
masak takadonet++
takadonet Just don't tell me boss ok? :) 13:20
masak jnthn: today is Temporal Tuesday, so I'll be giving the fork some love today.
13:20 _eMaX_ joined
masak takadonet: my lips are sealed. :) 13:20
jnthn Temporal Tuesday! \o/ 13:21
.oO( Web.pm Wednesday tomorrow )
13:22
masak indeed.
see? the scheme is so easy, I don't even need to tell you how it works. :P 13:23
Su-Shee "Webnesday"? ;)
13:29 pnate joined 13:33 hcchien left 13:34 ruoso joined 13:35 lichtkind left 13:36 NorwayGeek left, NorwayGeek joined 13:38 hcchien joined 13:40 payload joined
moritz_ thirsty thursday => beer :-) ? 13:43
jnthn Thursday *is* the day my pm group tends to meet. ;-) 13:45
Which usually does indeed mean beer. :-)
masak I could drink some juice on Thursday...
moritz_ un thursday we usually have some geek (non-perl) meeting where we order pizza
jnthn Mmm. Pizza. :-) 13:46
13:46 payload left
moritz_ s/un/on/ 13:46
13:46 payload joined
moritz_ I told them about some aspects of Perl 6, like junctions and grammars 13:47
takadonet what does "Use of type object as value" error message mean?
moritz_ the junctions gave some WTFy reactions :-)
takadonet: it means that you used a type objects as a value
jnthn takadonet: Pretty much what it says.
lol
moritz_ like my Type $x; $x + 3;
rakudo: my Int $x; $x + 3;
p6eval rakudo 929998: Use of type object as value␤
moritz_ rakudo: my Int $x; say $x + 3; 13:48
p6eval rakudo 929998: Use of type object as value␤3␤
moritz_ note that it's a warning, not an error
jnthn takadonet: Basically, you're dealing with something like a Foo rather than an instance of Foo.
takadonet hmmm
jnthn To the degree that type objects aren't instances anyway.
13:48 payload left, payload joined 13:50 IllvilJa joined
Wolfman2000 *yawn* morning. masak: I have database connections with Catalyst and DBIC working. The upcoming Pastebin website is still a go right now. 13:51
13:51 _eMaX_ left 13:56 pnate2 joined
masak Wolfman2000: cool. I plan to put together a Web.pm pastebin this week. 13:56
Wolfman2000 masak: ...that means we're going to be competing then
masak Wolfman2000: competition in here is usually quite mutually beneficial.
Wolfman2000 ...in other words, you think I can learn something from you and vice~versa 13:57
...I do wonder how you plan on a pastebin without a Perl 6 DB access method anyway
moritz_ there is one. 13:58
masak Wolfman2000: I have DB access.
13:58 payload left
masak Wolfman2000: you can have it, too. :) 13:58
13:58 payload1 joined
Wolfman2000 moritz_: ...which one? 13:58
masak see? it's already mutually beneficial. :)
Wolfman2000: use.perl.org/~masak/journal/39686
Wolfman2000 ...sqlite only? 13:59
masak Wolfman2000: Tene++ just made sure mysql works with parrot.
takadonet "???" syntax is to produce a warn of that define stub/method correct?
masak Wolfman2000: still haven't plugged that into Squerl, though.
takadonet: correct. 14:00
moritz_ sqlite should be sufficient for a paste bin
Wolfman2000 ...yep. competition.
one pastebin with Catalyst, mysql, and a syntax highlighter for Perl 6 running on Perl 5. 14:01
The other using pure Perl 6 with Web.pm and Squerl.
masak Wolfman2000: I don't want you to get your hopes up too high. putting together a pastebin, even a small one, might be quite tough.
with Web.pm, I mean.
Wolfman2000 masak: I was able to make 4 other websites on my own and contribtue to others. What will make Web.pm harder to use? 14:02
masak I wonder how much of the currently felt instabilities come from HTTP::Daemon.
Wolfman2000: it's quite untested.
Wolfman2000 masak: ...true. Not much of Perl 6 IS tested. 14:03
masak Wolfman2000: right. and this is not really a part of Perl 6, but a lib built on top of Rakudo.
takadonet man I love rgrep :)
14:05 maluco joined, payload1 left, payload joined 14:07 pnate left 14:08 payload left, payload joined, PerlJam left
takadonet rakudo: sub warn{???};warn(); 14:08
p6eval rakudo 929998: Unable to parse block; couldn't find final '}' at line 2, near "???};warn("␤in Main (file <unknown>, line <unknown>)␤
14:08 PerlJam joined
masak rakudo: sub foo() { ??? }; foo 14:09
p6eval rakudo 929998: Unable to parse block; couldn't find final '}' at line 2, near "??? }; foo"␤in Main (file <unknown>, line <unknown>)␤
masak hm.
jnthn masak: Don't think we parse ??? and !!! in Rakudo.
Only ...
I recall trying to put it in and running into parsing issues.
takadonet ahhh
masak jnthn: oki. I knew I'd used '...', so I guess I assumed that the other two were there, too. 14:10
14:10 Thyssen joined
jnthn masak: Yeah, my initial attempt was to add all three, but I had to back off. 14:10
takadonet Well we were using '???' in Bioperl6 . Looks like I got to take that out
jnthn masak: If we're lucky, the new grammar/grammar engine will allow them to be easily put in.
masak I'm sure it will. :) 14:11
after ng lands, we'll have no parsing bugs left in RT. 14:12
I'll wake up one morning and feel slightly empty inside.
and I'll look at my inbox and see that 318 bugs were fixed that night.
that's when I'll know: the ng has landed. 14:13
jnthn masak: 318? :-)
masak or so. :)
jnthn That's a bit ambitious. :-) 14:14
We'll get a lot of 'em with ng though :-)
masak 318 is a lot. :)
masak teaches the course "Impeccable logic" in his spare time
Wolfman2000 ...ng still hasn't landed yet? 14:17
pmichaud jnthn: ping
jnthn pmichaud: pong...and good timing, I just finished my @other-task :-)
Like, 2 mins ago. :-)
PerlJam Wolfman2000: did you think it would happen over night?
Wolfman2000 PerlJam: would have been nice
pmichaud jnthn: when I compile Test.pm to Test.pir, the subs all appear to be in the global namespace instead of the 'Test' namespace
14:18 pmurias joined
PerlJam Wolfman2000: you *must* believe in magic :) 14:18
jnthn pmichaud: That's...odd.
pmurias ruoso: hi
pmichaud I don't think I changed anything that would cause that
ruoso hi pmurias 14:19
Wolfman2000 PerlJam: In what way?
jnthn pmichaud: Oh, interesting.
pmichaud: It looks like
module Foo; sub test { } # gets it wrong
module Foo { sub test { } } # gets it right
pmichaud okay, checking. 14:20
pmurias ruoso: do you think supporting use Foo:from<perl5> on mildew-js is important?
ruoso I don't see how it could work
unless you have perl5 embedded in the js vm
pmichaud jnthn: oh, I see the problem 14:21
we switched package_def to call <.newpad> in the ; case but then didn't change the actions logic
jnthn pmichaud: I bet it's to do with the .newpad .finishpad
pmichaud right
the package_def action is still creating its own block instead of using the one from .newpad
pmurias ruoso: currently we have the js vm embeded in perl5
pmichaud my $block := $<block> 14:22
?? $<block>.ast
!! PAST::Block.new( $<statementlist>.ast, :node($/) );
ruoso pmurias, but can you callback?
pmichaud that PAST::Block.new should be popping the block created by <.newpad>
jnthn So it should.
pmichaud heh
looks like I can just force a call to blockoid to get it :-) 14:23
pmurias ruoso: that's how &say works
ruoso pmurias, well... it it's possible, why not?
pmurias v8 is not stackless so we might have some problems with that 14:24
jnthn pmichaud: OK...so that fixes it for you?
pmichaud don't know yet... will know in a sec 14:25
jnthn 'k
pmurias ruoso: svn.pugscode.org/pugs/v6/re-mildew/TESTS-js - the tests mildew-js passes 14:26
jnthn pmichaud: I haz a fix, if you don't already. 14:34
14:34 tlb joined
pmichaud oh, sorry 14:35
yes, my fix worked.
jnthn Mine too. ;-)
pmichaud (forgot to come back here and report)
I just pushed mine
PerlJam dueling patches!
jnthn Two fixes enter. One fix leaves.
pmichaud and have a 'use' that is sufficient to get t/01-sanity/99-test-basic.t 14:36
(it's really a major cheat at the moment)
Wolfman2000 ...more friendly competition between the two of you I assume?
pmichaud friendly? hardly! jnthn++ is my arch nemesis
jnthn When it shows up on github I'll compare it with fine. :-)
pmichaud :) 14:37
jnthn ;-)
ruoso pmurias, that's cool...
ruoso is a bit sad because $work is consuming all his time
pmichaud jnthn: btw, having just watched a trace output.... .new is _really_ expensive. :-(
we should probably fix that at some point soon. 14:38
jnthn pmichaud: Yeah
pmichaud: Note that Code.new is a custom constructor.
pmichaud: Not going through the normal polava.
pmichaud just creating the :DEFAULT pair was a pain (so I took it out)
jnthn pmichaud: So at least *that* isn't horribly costly.
orly? Ouch.
pmichaud yes, I think it's better to short-circuit :DEFAULT since it's the common case 14:39
jnthn Me too.
14:39 Thyssen left
jnthn So pmichaud Should I expect 99-test-basic.t to run here 14:40
?
erm, s/So //
pmichaud test 10 fails, fixing it now
jnthn None of them run here.
pmichaud did you reconfigure?
jnthn "load_bytecode" couldn't find file 'Test.pir'
pmichaud ah
jnthn yeah
I'm pretty sure I did
jnthn realcleans just in case 14:41
pmichaud I need to fix the makefile to automatically build Test.pir
jnthn Or do I need a newer nqp-rx or something?
Ah, OK.
pmichaud pushed
jnthn pulled 14:42
pmichaud: lol. Our dueling patches - some whitespace differences aside - were identical.
pmichaud heh 14:43
jnthn pmichaud: erm. 14:44
pmichaud: nmake test not only made Test.pir but also did an svn up :-)
pmichaud yeah, it pulled the spectests
I'll clean that up a bit also.
jnthn No worries then. 14:45
And now 99 runs up to test 9 here too.
Excellent.
Now I can haz spectests? ;-)
pmichaud getting closer
adding .abs now
jnthn pmichaud: lol. make spectest actually does run. 14:46
And the fail is beyond epic.
pmichaud to be expected.
masak cheers pmichaud and jnthn on 14:47
jnthn pmichaud: We pass 93 tests! \o/
pmichaud lol
jnthn ...out of 30,000 ;-)
pmichaud that many?!?
jnthn Tests. Not test files. :-)
pmichaud ...that many?!?
jnthn :-)
To say we didn't even put things like given/when and gather/take and for loops back yet, it's not so surprising. :-) 14:48
(That hardly anything runs). 14:49
On the up side, the spectest run is down to 78 seconds for me now.
pmichaud lol
PerlJam jnthn++
takadonet hehe
pmichaud okay, just pushed Any.abs
PerlJam jnthn: now if you could just keep it there (approximately) :-)
pmichaud oh, I did that the hard way :-( 14:50
masak
.oO( two weeks till release, and Rakudo doesn't have for loops yet. I'm not worried. )
pmichaud masak: if we're not far enough along by the release date, we release the non-ng version :)
masak pmichaud: aye. :) 14:51
pmichaud it will be a very interesting week, though.
jnthn Aye, same.
masak pmichaud: thing is, I kinda want you to succeed.
pmichaud and I think it's just 9 days to release, yes?
PerlJam pmichaud: with a note that says, "there are no visible changes from last release"?
masak pmichaud: oh, right.
pmichaud masak: oh, believe me, I really really really want to succeed :)
jnthn All sleep is cancelled!
pugs_svn r29044 | pmurias++ | [mildew-js] Scalars start filled with SMOP__NATIVE__bool_false
pmichaud being able to release ng as the november release would be a huge accomplishment. maybe not likely, but definitely huge 14:52
masak quits babbling and leaves pmichaud and jnthn alone with the awesome work
jnthn pmichaud++ # 99-test-basic.t passes :-) 14:53
14:53 mubot left
pmichaud yeah, but I commented out a few of the tests from 99-test-basic.t . I'm not sure how many of those I feel ought to be available for 01-sanity 14:54
and oops, I forgot to credit KyleHa for the 99-test-basic.t tests. 14:55
I need to do that in the log somewhere.
14:55 kosmofield joined
pmichaud okay, what was the issue with 'is export' on methods? 14:55
oh, I think I know. 14:56
jnthn Finding the correct ns.
Same as with lexical subs.
pmichaud is there a way to discover that a given Parrot Sub is part of a multisub ?
i.e., without looking it up in its namespace?
we can't always go running to the namespace to decide that. 14:57
jnthn Don't believe so.
pmichaud can we flag them somehow?
or have something in the signature object that says "oh, this is a multi" ?
jnthn Oh, is that the main reason we go digging in the NS?
pmichaud afaict, it's the only reason for digging in the NS 14:58
jnthn It doesn't belong in the signature object really...more a property of the code object.
pmichaud oh, that would work too.
jnthn But since we construct all of those, and can know when we make them if it's a multi or not...
I could very easily add that.
pmichaud I don't need to know which multi it's a member of... because any given Code object may be a member of many multis
jnthn Yes.
Just whether it's a multi member.
pmichaud I just need to know "hey, this is a multi, so it gets added differently to namespaces"
attribute on Code sounds awesome. 14:59
jnthn Just attr? We'll get at it with getattribute?
Or accessor?
pmichaud accessor is fine
you choose :)
jnthn Let's try doing this as .multi
pmichaud okay
we'll want to update the synopses, too :)
jnthn .multi is already in the synopses. 15:00
pmichaud then.... there ya go!
jnthn The question is if an individual candidate of a multi should claim to be multi.
If yes, that's a semantic change from what Rakudo master does. 15:01
pmichaud I could argue that it's a multi of one :)
jnthn But I doubt it'll bite anyone. :-)
15:01 cognominal left
pmichaud I can't find .multi in the synopses with a quick ack... but it's not vitally important right now :) 15:02
jnthn pmichaud: S12
in introspection section 15:03
15:03 zamolxes joined
pmichaud okay 15:04
wfm
masak ooh! can I rename Perl 6 to "Proxylon"? :D
pugs_svn r29045 | pmurias++ | [mildew-js] start of RoleHOW, 6/7 tests from t/role.t pass 15:05
pmichaud sounds like a new chemical. or a Transformer(TM).
masak pmichaud: yes, something like that.
maybe "Proxylon VI". 15:06
jnthn pmichaud: got a patch, make test'ing it. 15:07
pmichaud: Will need to tweak this a little when I do multi-methods, but that's no biggie (multi-methods shouldn't be a big deal either...)
pmichaud jnthn: okay, great. The objects passed to the export trait... are they Code/Regex/Block or are they Parrot Subs ?
jnthn They're wrapped.
pmichaud excellent
okay, methods become easier then :)
and.... oooh! I get to use 'vivify' again! 15:08
jnthn Wow, it's almost as if it's like, really useful. :-)
pmichaud I'm trying to get method xyz() is export { ... } to work again. Shortly after that we'll undoubtedly want multi method xyz() is export { ... } 15:09
colomon backlogs... 93 tests pass, woo-hoo!
pmichaud so you might want to prepare your multi-method tweak :)
colomon pmichaud: based on the trig work, I'm not convinced is export actually worked before. :)
jnthn pmichaud: bah, 5 lines added to implement .multi :-)
pmichaud 5?!? why so many?
;-)
jnthn :-P
pmichaud colomon: based on what I know of rakudo, I'm convinced it didn't actually work before :) 15:10
pmurias ruoso: do exceptions get rethrown if we don't set the .handled attribute?
jnthn pmichaud: pushed
15:10 KyleHa joined
colomon pmichaud: fair enough, I was trying to be conservative in my critique. :) 15:10
ruoso pmurias, I think it's the catch block that has an implicit rethrow in the end
jnthn pmichaud: OK, gonna have a 10 min break, make a cuppa tea and then do multi methods.
pmichaud jnthn: okay, great
jnthn ('cus yes, we will want them really quite soon) 15:11
pmurias ruoso: that seems to be what the spec dictates, so the .handled flag on ControlExceptionReturn seems to be a bit pointless 15:13
ruoso it gets rethrown *if* not handled
ruoso lunch & 15:14
pmichaud jnthn: ummmm, ContainerDeclarand looks really wrongish to me. 15:18
oh, nm 15:19
I misread it
alester I think Container Declarand plays for the Pistons.
pmichaud ...and I was looking in the wrong directory anyway :-(
I think I might want to move all of the non-ng directories somewhere else 15:20
pmichaud does that. 15:21
15:21 Patterner left
moritz_ btw you were passing a few spectests even before 'use Test;' worked 15:21
15:21 Psyche^ joined, Psyche^ is now known as Patterner
moritz_ because some tests for say and print don't use Test.pm 15:21
15:21 pnate2 left 15:23 cognominal joined
pugs_svn r29046 | pmurias++ | [re-mildew] remove a TEST which test for nonspec $OUT 15:26
r29047 | pmurias++ | [mildew-js] exceptions, role.t passes
pmichaud still no easy way to get dalek to report the ng branch as well as master...? :-| 15:27
jnthn pmichaud: I'm curious how it looked wrongish. :-) 15:29
Wolfman2000 pmichaud: why not just have another bot that specifically listens to the other branch?
pmichaud jnthn: sorry, I was looking at the non-ng branch
and.... well, nm.
jnthn :-) 15:30
OK...tea...metallica....multi methods.
15:30 Achilles333 joined
pmichaud might want to pull to get my recent changes 15:31
jnthn Whoa...yes. 15:32
pmichaud I just moved the old master files into a src/old/ subdir
jnthn yup
wfm
I've been in the wrong place at least once. :-)
pmichaud so I'm less likely to mistake them for the new ng ones in the future :)
same here :)
jnthn token routine_declarator:submethod { <sym> <method_def> } 15:33
pmichaud: For these, wondering if it might be nice to set a contextual. 15:34
So method_def can create the right kinda thingy.
pmichaud wfm
jnthn 'k
May as well do it while I'm in that bit of the code.
rakudo: say Submethod
pmichaud unless it's easy for submethod to simply modify what method_def returns
p6eval rakudo 929998: Submethod()␤
jnthn rakudo: say Submethod ~~ Method
p6eval rakudo 929998: 0␤
jnthn rakudo: say Submethod ~~ Routine
p6eval rakudo 929998: 1␤ 15:35
jnthn pmichaud: Mmmm...no, it's a pain.
pmichaud then go with the contextual
15:41 zamolxes left 15:42 payload left 15:46 payload joined 15:48 kosmofield left
pmichaud jnthn: does Perl6MultiSub expect to have a list of Code objects or a list of Parrot Subs? 15:49
rephrased: What's the proper procedure for creating a Perl6MultiSub and adding a Code object to it? 15:50
right now I have
$P0 = new ['Perl6MultiSub']
push $P0, codeobj
15:51 nihiliad joined
jnthn pmichaud: Now it wants a Code object. 15:51
pmichaud: That should work.
pmichaud hmmm, I'm getting a segfault. I'll trace.
jnthn pmichaud: alternatively, if you have a bunch of candidates to add in one go, there's the method.
Oh, ouch.
But possible.
The code objects change rather than having Parrot subs in there was quite a notable one.
pmichaud uh, vivify op fail 15:52
*ugh
It's "Perl6MultiSub", yes? 15:53
maybe vivify can't handle dynpmcs or hll-specific pmcs yet :-(
jnthn pmichaud: yeah
Oh.
:-/
Did you get a bt?
pmichaud testing 15:54
#0 Parrot_Perl6MultiSub_elements (interp=0x9a7c008, pmc=0xb6be33a0) at perl6multisub.c:933 15:55
#1 0xb7e861b6 in Parrot_NameSpace_set_pmc_keyed_str (interp=0x9a7c008, pmc=0xb6be3558, key=0xb656ce94, value=0xb6be33a0) at ./src/pmc/namespace.pmc:134
#2 0xb7d411bb in Parrot_vivify_p_p_s_p (cur_opcode=0xb6d805c4, interp=0x9a7c008) at src/ops/experimental.ops:234
...
oh, doesn't look like a vivify op problem
looks like something weird with setting the newly created MultiSub into the namespace 15:56
when it's as-yet empty, perhaps?
jnthn oh!
I bet I know what's wrong.
pmichaud ooc, would things be easier if Perl6MultiSub extended ResizablePMCArray instead of MultiSub ? 15:59
jnthn N
*no
It'd be horrible.
moritz_ pmichaud, Infinoid: i've sent a pull request on github to make dalek report rakudo's ng branch 16:00
if it's correct, somebody just needs to merge it, and update the bot on feather3
masak moritz_++ 16:01
jnthn pmichaud: oh hmm...it's not what I thought it would be. Hmm. 16:03
colomon \o/ # then I can close the github ng commits tab I've had open in my browser for a week...
pmichaud jnthn: okay, looking.
jnthn oh, hang on
I misread the bt.
pmichaud when does candidates get created?
16:04 am0c left, am0c joined, pmurias left
pmichaud I'm guessing it doesn't get created until a push occurs 16:04
and so VTABLE_elements segfaults because candidates is uninitialized
jnthn pmichaud: yeah, that's it 16:05
got a patch
pmichaud okay
btw, this change I'm making to export means it will be possible to have some multisub candidates exported while others are not 16:07
16:07 meppl left
jnthn pmichaud: sounds good 16:08
pushed
pmichaud pulled.
16:09 payload left, Achilles333 left
pmichaud Cannot add non-Sub PMC to a MultiSub. 16:09
checking 16:10
nm, fail on this end
102067 push P2, P17 P2=Perl6MultiSub=PMC(0xb6b967c0) P17=Perl6Sub=PMC(0xb6b979f4) 16:11
moritz_ we now pass t/spec/S03-operators/assign-is-not-binding.t
pmichaud Cannot add non-Sub PMC to a MultiSub.
jnthn huh
moritz_ and t/spec/S04-statements/until.t
jnthn pmichaud: But I use VTABLE_push in the normal candidate adding. 16:12
moritz_ adn three other files :-)
jnthn pmichaud: oh, I see the problem.
pmichaud: Is it a Method?
pmichaud jnthn: I don't think it is at this point.
I'm just compiling Test.pm
jnthn meh
moritz_ pmichaud: did you clean? 16:13
pmichaud I can try that
jnthn pmichaud: just comment out
if (!check_invokable(interp, sub))
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
"Cannot add non-Sub PMC to a MultiSub.");
The check is bogus now.
pmichaud commenting out....
yay, that helped 16:14
jnthn We may have multi methods. 16:15
Yup
pmichaud Just pushed fixes to export so that it properly handles methods and multis. 16:16
jnthn Excellent.
pmichaud++
Woodi is echo '/opt/perl/bin/perl6' >> /etc/shells safe ? :)
jnthn pmichaud: Did you commit commetning out in P6MS too? 16:17
pmichaud jnthn: yes, I think so.
jnthn oh yes, you have. Good.
Multi methods pushed too. 16:18
masak here's a killer app for Perl 6 grammars: make a grammar for Java (6) programs, and create a program which allows you to sort methods in some desired order, possibly goverened by some arbitrary sort criterion written out as Perl 6 code. 16:22
or just 'sort the methods in this class in the same order as in this interface'. 16:23
PerlJam I want all of my ops output in precedence order :) 16:24
pmichaud jnthn: hmmmm 16:25
because methods no longer have the :method flag on them, they aren't showing up in the Parrot namespaces 16:26
> say -3.abs
Method 'abs' not found for invocant of class 'Integer'
lambdabot Not in scope: `say'
jnthn pmichaud: Oh.
pmichaud: ...but by default methods aren't supposed to go in the namespace, no?
TimToady correct
pmichaud sorry 16:27
I'll rephrase
jnthn They're "has" scoped, and without an explicit "our" (which I didn't put back in)...
16:27 moritz_ sets mode: +oo TimToady PerlJam
jnthn (and which we never used to get right anyway...) 16:27
pmichaud since methods no longer have the :method flag on them, they aren't found by P6object when trying to fake them into the Parrot classes
because P6object walks the method hierarchy
and it currently does it at the time the class is created
jnthn :-/
pmichaud while the methods get added much later
jnthn Oh!
Yeah
ETOOSOON.
Was going to say, how are you walking them, since they show up in the underlying parrot class. 16:28
pmichaud I could have the registers done at CHECK time
jnthn But yes, the timing will be an issue if you're handling this at "add_parent".
You really want to do it at compose time I guess.
Yes, that could do. 16:29
You could also then collect them all together in a cheats file. ;-)
pmichaud oh yes
it's a parrot cheat, it goes there
those all occur at the end anyway
jnthn Given that I'm not sure fudging bits into the Parrot namespaces is probably something we want to stop doing at some point.
pmichaud I think we'll want to stop doing it, yes.
jnthn erm, negatives fail...but you got my gist. :-) 16:30
pmichaud I'll put them in as parrot cheats.
jnthn wfm
16:32 KyleHa left
pmichaud okay, I need lunch 16:32
starting to feel productivity decline... lunch will help
jnthn :-) 16:33
pmichaud I'm glad we have Test.pm working. And "is export". On subs. and methods. and multis.
so far, it's been a good morning. :)
TimToady I'm still working on the incline part
jnthn And multi methods.
pmichaud okay, I'm gone to lunch. bbiah
PerlJam So, I know I've mentioned this before, but is there a compose-time block ala BEGIN, INIT, CHECK, etc? 16:34
TimToady s/block/phaser/ and no
(so far)
jnthn PerlJam: What do you want to hook? 16:35
PerlJam ah, we settled on calling those phasers? interesting :)
pmichaud PerlJam: oh, you should see the code... :)
TimToady turns out to be important to rename them for several reasons
PerlJam jnthn: nothing concrete, just thinking of various ways to settle method conflicts.
jnthn pmichaud: Is it deliberate that we have Bool::True and True, but only Bool::False and not False? :-)
pmichaud not deliberate
feel free to fix
TimToady the passage describing them suddently became much clearer because "block" now always refers to the surrounding block
pmichaud PerlJam: github.com/rakudo/rakudo/blob/ng/sr...hasers.pir 16:36
jnthn pmichaud: 'k
pmichaud: They need to does Abstraction to, then we win back ref.t
*too
PerlJam TimToady: and I guess all of the block specific "keywords" now all make sense inside phasers because they aren't really blocks?
16:36 frew__ joined
TimToady PerlJam: example? 16:37
PerlJam TimToady: return
or leave
pmichaud they're still blocks, afaict
TimToady a phaser may or may not contain a block
16:37 nihiliad left
TimToady if it does, there are explicit braces 16:37
but also we have $x = BEGIN rand() 16:38
that's a blockless phaser
16:38 fax joined
PerlJam so, what does BEGIN { say "hi" ; return; say "there" } mean? 16:39
TimToady come to think of it, "blorst" kinda sounds like a Star Trek monster...
pmichaud TOS, yes.
TimToady it would be an error, since there's no sub to return from
jnthn Need I even point at $*BORG? :-)
pmichaud PerlJam: return is tied to Routines, not blocks 16:40
PerlJam Yeah, I think I'll shutup now until I get the taxonomy straight in my head :)
pmichaud okay, gone for lunch
TimToady and yes, we do need to come up with a better term than "lexical return" to make diakopter happy
[particle] what about last?
jnthn TimToady: Why is return lexical, btw? 16:41
[particle] BEGIN { say 'hi'; last; say 'there' }
jnthn I was trying to remember the reason.
TimToady to do what the user expects
[particle] needs to re-read the specs
16:41 ruoso left
PerlJam std: BEGIN -> $x { ... } 16:42
p6eval std 29047: ok 00:01 112m␤
jnthn TimToady: sub foo() { my $x = { return 42 }; return $x; }; my $a = foo(); $a(); # what happens?
PerlJam [particle]: me too
16:42 nihiliad joined
[particle] this is how much i forget... re: C<if bank == 'CHECK' goto bank_lifo> is == automagic in pir? 16:43
TimToady you get an error, because the routine that it knows it should return from is not in the dynamic scope
jnthn [particle]: Think it does an MMD under the hood.
[particle] bank is a string there, so i guess it should be ok
pmichaud in PIR, == translates into eq 16:44
[particle] ok, perfect.
pmichaud i.e., the opcode is actually eq a, b, label
[particle] that was my confusion. thanks.
pmichaud the meaning of the 'eq' opcode depends on a
jnthn oh, non-mmd then. 16:45
PerlJam constant $foo = foo(); is semantically equivalent to constant $foo = BEGIN foo(); ? 16:48
or constant $foo = BEGIN { foo() };
TimToady we need a term for "dynamically scoped unwinding operation with a target discovered via lexical scoping"
jnthn lexnamic 16:49
PerlJam lexamic
jnthn dynical
moritz_ exotic
PerlJam strange
up, down, top, color ... oh wait ;)
jnthn thingihopethatpmimplementsnotme ;-) 16:50
TimToady 50's SF: lexodyne
lexception 16:51
which is a little too close to l'exception :) 16:52
lexotic 16:53
16:56 pmurias joined 16:58 oZ] joined
pmurias TimToady: STD::P5 is intended to evolve into a full perl 5 grammar? 16:58
TimToady for some definition of P5 or other 16:59
I doubt it will ever quite reach the insanity of p5's lexer/parser, but can quite probably do much better than PPI
moritz_ like, tracking prototypes? 17:00
TimToady its original intent was just to let us find the end of a 'use v5' block
but it may turn out useful for emulating p5 as well
17:01 justatheory joined
TimToady and maybe there's a longterm goal of moving 5.14 over to a P6-based parser :) 17:01
moritz_ is glad to have seen a smily at the end of TimToady's last line 17:02
jnthn pmichaud: OK, fixed up the boolean bits, so ref.t lives again. 17:07
17:12 envi^home left
TimToady well, I think "lexotic" will have to do for now 17:12
17:14 alester left
TimToady looks like existing uses are all having to do with exotic Lexuses :) 17:14
Wolfman2000 Alright, real world time for me.
If I'm lucky, I can be online around...6 PM EST to get back to...one of the Perl 6 pastebins. 17:15
pugs_svn r29048 | masak++ | [u4x/TODO] added 'phaser' and 'lexotic'
Wolfman2000 masak: We'll see who ends up with the best package.
17:15 Wolfman2000 left
masak Wolfman2000: :) 17:15
17:21 zaphar_ps joined
Woodi masak: i got: Found a PARROT_DIR to be /src/perl/parrot but there is no Rakudo nearby. Please contact the proto people. 17:21
masak Woodi: hello. 17:22
Woodi masak: so probably you are needed :)
masak I guess I am a proto person. :)
Woodi: was that in a project you tried to install? which one?
Woodi json
masak has a look at json
Woodi perl6 Configure 17:23
from hand
17:23 cotto_work left, cotto_work joined, alester joined
Woodi shouldn't it be Configure.pl or something ? 17:23
masak Woodi: hold on a bit. I'm looking at moritz_'s json, and I see no Configure. 17:24
oh wait.
Woodi it use lib/Configure.pm wroted by merends 17:25
mberends++ :)
masak aye. 17:26
I seemed to have an old version, and git somehow wouldn't update it for me.
now.
Woodi i probably cp -r project_name/lib/*.pm to $PERL6LIB...
masak Woodi: could you tell me a bit about your Rakudo setup?
Woodi dpkg -L rakudo gives all files starting with /opt/perl/* :) 17:27
masak ah, dpkg :)
that's the clue I needed, I think.
Woodi problem is: all modules are in development stage... requires --gen-parrot 17:28
masak mberends++ Configure.pm is the most copied module in Perl 6 land. and it exists in fewer version than Test.pm, too. :) 17:29
17:29 cotto left, mtve left, sjohnson left
Woodi i just trying _last month_ to be perl6 user... 17:29
masak Woodi: when November was more actively developed, we had a policy of targeting the latest monthly release of Rakudo. 17:30
Woodi so, cp *.pm to will help
masak not sure what you mean by that.
Woodi targeting specific realease do not imply build/install location... 17:31
masak Configure.pm thinks you either have rakudo-in-parrot or parrot-in-rakudo, but you probably have neither, since dpkg installed Rakudo for you.
17:31 sjohnson joined, cotto joined, mtve joined
Woodi i created that package 17:31
masak which one?
the Ubuntu package?
Woodi rakudo.deb :)
17:31 quietfanatic joined
masak s/Ubuntu/Debian/ 17:31
Woodi++ # cool! 17:32
Woodi .deb like in Debian :)
masak Woodi: not saying you did anything wrong, just that you created a new situation which Configure.pm doesn't handle.
Woodi Ubuntu inherits from Debian :)
masak nod.
Woodi masak: proto too
masak aye.
this is a situation which we should address. 17:33
17:33 alester left
masak problem is, I feel proto has grown larger than I can handle myself, and what little energy I have I'd like to use for landing the installed-modules branch. 17:33
Woodi masak: may I extract some functionalities from proto ? 17:34
masak Woodi: of course.
Woodi masak: in truth i realy would like to move rakudo/parrot installation somewhere else.. 17:35
mean: more modularity 17:36
masak I have very little overview over .deb packages.
Woodi masak: what about .tgz :)
masak those I feel I understand a bit more. :) 17:37
Woodi is any accepted standard for crating modules in Perl6 ? 17:38
masak sort of.
17:38 stephenlb joined
masak there are some Well-Throught-Out Practices. 17:39
we like .pm files to sit in lib/
and .t files to sit in t/
Woodi where i can find example of something "standard" ?
masak hold on.
17:39 cotto left, mtve left, sjohnson left
masak github.com/masak/proto/blob/master/PIONEER 17:39
if you mean a project that follows those directives, I think json is a good example. 17:40
moritz_ it basically does nothing at all, and still follows them ;-)
Woodi ok, so 1) perl6? (Makefile.PL|Configure) && make 17:42
what about 2) install ?
17:43 pnate2 joined
Woodi copy *.pm to PERL6LIB or maybe *.pir 17:43
17:43 SmokeMachine left 17:44 SmokeMachine joined
Woodi ehm, any plans for post-S11 module filenames convention ? 17:48
17:49 tlb left, rindolf joined
rindolf Hi all. 17:49
masak: here?
17:49 mariuz left
Woodi allo 17:49
rindolf Hi Woodi 17:50
masak Woodi: I have yet to make someone who wants to tackle that. :)
rindolf: yes.
s/make/meet/
Woodi "tackle" ?
masak Woodi: realizing the details of S11 is... tricky.
rindolf masak: hi. I read your use.perl.org blog entry about "Perl 6 is not Perl".
masak rindolf: I'm still settling down after that one. 17:51
17:51 iblechbot joined, barney joined
rindolf masak: I should first note that a quote I came up with (but was sort of invented by many people and is based on what was said about Fortran '90) is: "Perl 6 will be a wonderful language. Too bad it won't be Perl." 17:52
masak rindolf: today we had a discussion here on #perl6, and we decided to change the name of Perl 6 to "Proxylon VI" instead. we feel that better reflects the nature of the language.
17:52 mtve joined, cotto joined
rindolf masak: heh. 17:52
masak: what is Proxylon?
17:52 sjohnson joined
masak no idea. 17:52
rindolf: seriously though,
rindolf masak: ah. 17:53
Woodi masak: but plans ? Buu::Foo-1.40.pm or in bd ?
masak rindolf: I don't agree that Perl 6 isn't Perl.
rindolf: but I also feel that that isn't the main issue.
rindolf masak: I'm not sure if it's Perl or not , but I don't care.
IT's like saying that Open source is communism or Socialism - it's good for the people, so who cares if it is?
masak rindolf: the main issue is that people on #perl have a black-and-white view on the world, which doesn't help newcomers.
rindolf masak: ah. 17:54
masak that's what my post was about.
Woodi: your guess is as good as mine.
Woodi rindolf: case was: newcomer wanted learn Perl and logical conclusion for she was not (becouse of 5-6 war)... 17:55
PerlJam is a people on #perl without a black-and-white view
rindolf So am I.
Woodi too
pmichaud back again 17:56
rindolf Well, we all agree that the Perl 6 implementations are probably still not ready to be used in production.
masak sure.
rindolf and that Perl 5 knowledge may help with P6.
PerlJam rindolf: depends on what you mean by "production", but sure :)
Woodi rindolf: sure, agree :)
diakopter pugs is used in production in several places
PerlJam diakopter: really? where? 17:57
pmurias the are well suited to production of bug reports ;)
17:57 payload joined
PerlJam pmurias++ 17:57
diakopter PerlJam: I don't know the specifics; sum1 said so a year or two ago
PerlJam doubts
diakopter sum1 being the author
rindolf PerlJam: yes, well.
diakopter PerlJam: it's maintained at hackage.haskell.org/package/Pugs 17:58
regular releases through end of '08...
rindolf masak: well, if I could build a time machine, I would have renamed Perl 6 to some other name.
J/K - don't mess with time. 17:59
masak Proxylon VI!
rindolf masak: heh.
Proxylon EMACS!
PerlJam wonders what people's hangup is with the name. seriously
masak oh, that's a Roman 6.
oZ] Seems Perl people aren't fond of change.
rindolf masak: yeah, I know.
I know my Roman numerals.
PerlJam oZ]: There are lots of Perl people here who disprove that generality ;) 18:00
diakopter oZ]: Seems to me you like sweeping unfounded generalizations
Juerd diakopter: Some daredevil using experimental code in production doesn't make the code production ready :)
oZ] Present company excluded.
jnthn oZ]: A lot more than present company excluded. 18:01
masak food &
18:01 masak left
rindolf In any case, I've known emma from other channels - she's OK. 18:01
oZ] A lot of quiet people, perhaps. Those who scream the loudest are the ones that get noticed, which screws up the PR for Perl and Perl 6. 18:02
rindolf Though still a bit lacking knowledge.
diakopter however, many people do have a resistance to particular degrees of change; sometimes it's rationally based on the circumstances, sometimes it's arbitrary.
PerlJam The people who seem to be the most vocal about not changing Perl from Perl 5 are those that have never known any other perl. 18:03
those that have only known the perl of the last 8-10 years or so.
diakopter has known the perl of only the last 6 years (and it shows!) 18:04
oZ] That's probably true, but I'd say that the majority of people who still use Perl are those who have only used Perl 5.
rindolf PerlJam: I did very little Perl 4.
If at all.
But Perl so an explosive growth after Perl 5 came out. 18:05
takadonet Never got this error before : "Internal Error: Rakudo_binding_bind_signature passed invalid signature"
oZ] I started in 1999, and that still gives a fairly myopic view of Perl. That being said, I'm not averse to Perl 6 or Moose or whatever the new flavor happens to be, even if that means another language.
PerlJam oZ]: why not?
moritz_ takadonet: on master or on the ng branch? 18:06
takadonet moritz_: Master good sir
oZ] Why am I not averse to new languages or ways of using them? Because if I expect to stay relevant as a developer, I can't use the same thing for the rest of my life. :)
takadonet moritz_: Trying to fix some test in BioPerl6 that are failing
PerlJam oZ]: in short, you are sane :)
oZ] The sane people need to get louder, I guess. :) 18:07
quietfanatic takadonet: I got that error recently too. I think it was from trying to overload trait_mod:<is> in a module.
(a module that used "is export")
pugs_svn r29049 | lwall++ | [S04] define "lexotic" 18:08
moritz_ takadonet: did you do a 'make realclean' before building rakudo? and did you remove all compiled .pir files in your project?
takadonet quietfanatic: Well at the moment I have no idea where it came from. I commented some test to see how much farther I go could and got that message
moritz_: I have not 18:09
quietfanatic Hmm
takadonet moritz_ : I should do a clean rebuild
moritz_ takadonet: that would be my first try
18:10 mberends left 18:11 seanstickle joined
takadonet moritz_ : where are the compiled .pir files? 18:11
moritz_ takadonet: where you put them ;-)
they aren't generated by default
only if you do a perl6 --target=PIR somewhere 18:12
Woodi moritz_: --target=PIR is something like C .so files ?
'compiled .pm' ? 18:13
or it is .pbc ?
moritz_ it's a PIR file
so closer to assembler
Woodi --target=PBC works ? 18:14
moritz_ no idea; it did once 18:15
it also broke once
pmichaud only --target=pir currently works
moritz_ at one point --target=PBC wouldn't work, but compiling to a PBC in a second step would
pmichaud and the .pir file isn't necessarily able to run standalone yet
spinclad Woodi: 'tackle': take on, try to do
pmichaud (these are actively being fixed in ng)
Woodi i would like what .* should have compiled P6 module for faster loading etc.. 18:16
mean: what should do make install for P6 module except coping *.pm... 18:18
thanks spinclad++ :)
let someone tell me my questions are stupid :) 18:19
18:19 pdcawley_ joined
rindolf <oZ]> Why am I not averse to new languages or ways of using them? Because if I expect to stay relevant as a developer, I can't use the same thing for the rest of my life. :) - true. 18:19
Of course, C or Fortran or C++ or LISP or whatever today are very different than they've been when they started. 18:20
oZ] Some are closer to their core than others, but to be fair, the "core" of C is really, really simple.
moritz_ that's what I thought too 18:21
until I learned more about pointers than I cared to know ;-)
rindolf Fully Portable C is very hard.
oZ] Quite true.
rindolf Even making sure Perl 5 code will run on VMS is hard.
And in C it may be much worse. 18:22
Not sure about OpenVMS.
I think dcantrell wanted to get a VMS CPAN smoking machine and I told him "Over my dead body." 18:23
Because it will spam everything with failures.
18:26 pdcawley left, pdcawley_ is now known as pdcawley
takadonet moritz+ : still getting the same error message. I will debug it when I get some free time 18:34
18:37 hudnix joined, eternaleye left
pmichaud jnthn: ping 18:39
jnthn pmichaud: pong 18:40
18:40 REPLeffect_ joined
pmichaud we have a small issue. 18:40
jnthn Only a small one? :-) 18:41
pmichaud the only way I can find to add methods to a builtin Parrot class is by adding the method to its namespace
and then it only will add it as a method if the :method flag is present
jnthn Lovely. 18:43
pmichaud is there a way to get our Method objects to have that flag? 18:44
jnthn ooh...erm...epic ouch. 18:45
It's a sub flag I think.
18:46 _eMaX_ joined
pmichaud okay, let me poke around a bit, then. 18:47
jnthn Meaning the only way we might be able to get this to work at all is grabbing the .do and adding that.
But that means we need the :method flag adding.
Which might cause other issues.
Since it'll pull the methods in then we'll go and re-add them through the metaclass, if we're associating the class with the ns.
I'm pretty sure the dispatcher does go looking in the namespace's methods table though. 18:48
And there's no accessor for that.
Well, there is one, but it then nulls the namespace's pointer to it as it returns it. 18:49
takadonet YES! got more BioPerl6 testing working!
jnthn Hmm. 18:51
pmichaud: Not sure. What's the main reason we're poking stuff into Parrot namespaces anyway?
pmichaud jnthn: so that 3.abs will work 18:52
since 3 currently comes back as a Parrot Integer instead of a Rakudo Int
jnthn :-S
pmichaud last time I tried type mapping Integer to Int, we ended up with a ~3x slowdown
jnthn Oh. :-|
pmichaud (might not be so bad now... but still)
jnthn That's ridiculous.
pmichaud also, the values coming back from some of the libraries will often not be Rakudo data types
jnthn Yes, but if every HLL decides to solve that by poking methods into the Parrot core types...well... 18:53
pmichaud I agree, it's not a long term solution
but until hll mapping is reasonably fast, it's the only one we really have
jnthn Yeah
OK, so we'll have to fudge them in somehow. 18:54
18:54 pmurias left
jnthn .do and give those the method flag may do it. 18:54
Let me check.
moritz_ the thread about auto promotion to BigInt on parrot-dev might also interest you
jnthn If that causes a problem.
pmichaud I'd prefer not to use the .do, though
(yes, we may have to)
but it feels like the wrong approach. The methods really ought to be our Code objects 18:55
and our MultiSubs
spinclad re 3x slowdown: now that pir::foo can take and return INS values, could we be closer to 1) native int etc types 2) less frequent box/unbox overhead ?
pmichaud spinclad: it really doesn't reduce the overhead
spinclad: in many ways it increases it 18:56
jnthn pmichaud: Oh, the problem is because it's saying "isa Sub"
spinclad ouch
jnthn :-/
oh wtf, it gets worse
&& value->vtable->base_type != enum_class_Object)
Yes, it actually says "and it's not a high level object"
(namespace.pmc:104) 18:57
spinclad how does overhead increase? 18:58
jnthn oh heh
I already had to work around a bug in add_multi_to_namespace
moritz_ spinclad: I think lexicals can only PMCs, or so 18:59
jnthn pmichaud: I'm struggling to see how to add the methods without them being the Parrot sub. 19:01
pmichaud jnthn: actually, I'm thinking this might not be an issue
just a sec
jnthn ok
pmichaud i.e., I'm thinking we might be able to workaround a bit.
what implements find_method for non-Object types?
jnthn checking 19:02
I think it's in the default pmc
pmichaud Parrot_find_method_with_cache... 19:03
jnthn The wonderfully named find_method_direct_1 seems to be where we end up.
oh, why does it even matter if they're :method ? 19:04
We do
_class = VTABLE_get_pmc_keyed_int(interp, mro, i);
ns = VTABLE_get_namespace(interp, _class);
method = VTABLE_get_pmc_keyed_str(interp, ns, method_name);
So if it's this code, just dumping something into the namespace should do it. 19:05
pmichaud yeah, but I don't think that can be it.
Because.... hmmm
jnthn Because?
:-)
It didn't work? 19:06
pmichaud I'm writing a short test case.
jnthn ok
pmichaud okay, that seems to do it.
but it seems like register should be sticking the objects into the namespace already anyway
so for some reason they aren't getting there 19:07
(just putting a sub into the namespace makes it act like a method, no flag needed)
jnthn It's not a naming issue?
(&foo)
But I'd really guess not.
Check what keys they're going in under though. 19:08
colomon rakudo: "{ fdfd, fdf ,fdsgs,fdsg}" ~~ /\{ \s* (\w+) ** [\s*,\s*] \s* \}/; 19:12
p6eval rakudo 929998: perl6regex parse error: Error in repetition controller at offset 59, found '['␤in Main (file <unknown>, line <unknown>)␤
colomon rakudo: "{ fdfd, fdf ,fdsgs,fdsg}" ~~ /\{ \s* (\w+) ** [,\s*] \s* \}/;
p6eval rakudo 929998: perl6regex parse error: Error in repetition controller at offset 59, found '['␤in Main (file <unknown>, line <unknown>)␤ 19:13
pmichaud it's not a naming issue -- these are methods
and method names don't have the &'s
jnthn Sure
I know they *shouldn't*, I was suggesting checking for sure that they don't.
pmichaud right 19:14
TimToady std: "{ fdfd, fdf ,fdsgs,fdsg}" ~~ /\{ \s* (\w+) ** [\s*,\s*] \s* \}/;
jnthn It's a long shot though.
pmichaud (a bit distracted on #parrotsketch and nqp at the moment)
p6eval std 29049: ===SORRY!===␤Preceding context expects a term, but found infix , instead at /tmp/edjEAzfMgw line 1:␤------> "{ fdfd, fdf ,⏏fdsgs,fdsg}" ~~ /\{ \s* (\w+) ** [\s*,\s␤Undeclared routine:␤ fdfd used at line 1␤FAILED 00:02 109m␤
jnthn 'k
I need to do dinner now...will be distracted for the next while too while cooking.
pmichaud no problem
spinclad std: "{ fdfd, fdf ,fdsgs,fdsg}" ~~ /\{ \s* (\w+) ** [\s*\,\s*] \s* \}/; 19:15
p6eval std 29049: ===SORRY!===␤Preceding context expects a term, but found infix , instead at /tmp/PM6JvkHl2v line 1:␤------> "{ fdfd, fdf ,⏏fdsgs,fdsg}" ~~ /\{ \s* (\w+) ** [\s*\,\␤Undeclared routine:␤ fdfd used at line 1␤FAILED 00:02 107m␤
TimToady std: '{ fdfd, fdf ,fdsgs,fdsg}' ~~ /\{ \s* (\w+) ** [\s*,\s*] \s* \}/;
p6eval std 29049: ===SORRY!===␤Unable to parse regex; couldn't find right bracket at /tmp/2BnPMByeQ9 line 1:␤------> ,fdsgs,fdsg}' ~~ /\{ \s* (\w+) ** [\s*⏏,\s*] \s* \}/;␤ expecting any of:␤ quantmod␤ regex atom␤ regex_infix␤ standard stopper␤
..terminator␤ ws␤FAILED…
TimToady should be complaining about unrecognized metacharacter
colomon TimToady: which one did I get wrong? 19:16
TimToady std: /\s*,\s*/
p6eval std 29049: ===SORRY!===␤Unable to parse regex; couldn't find final '/' at /tmp/PdAQdnWJKK line 1:␤------> /\s*⏏,\s*/␤ expecting any of:␤ quantmod␤ regex atom␤ regex_infix␤ standard stopper␤ terminator␤ ws␤FAILED 00:01 103m␤
TimToady well, for one, you interpolated a closure unintentionally in double quotes
std: '{ fdfd, fdf ,fdsgs,fdsg}' ~~ /\{ \s* (\w+) ** [\s*\,\s*] \s* \}/; 19:17
p6eval std 29049: ok 00:01 107m␤
pmichaud jnthn: oh, I see the issue.
I'm using add_sub to put it in the namespace.
TimToady and the , has to be \'ed
pmichaud and since the thing to be added is not a Sub, nothing happens. 19:18
colomon TimToady: Drat, not only am I full of fail, but I can't see how.
TimToady std: /,/
p6eval std 29049: ===SORRY!===␤Unrecognized regex metacharacter (must be quoted to match literally) at /tmp/Ss6DYZtmhp line 1:␤------> /⏏,/␤ expecting any of:␤ regex atom␤ regex_infix␤ termish␤ ws␤FAILED 00:01 103m␤
TimToady std: /\s*,/
p6eval std 29049: ===SORRY!===␤Unable to parse regex; couldn't find final '/' at /tmp/Ksvz7aL5Q4 line 1:␤------> /\s*⏏,/␤ expecting any of:␤ quantmod␤ regex atom␤ regex_infix␤ standard stopper␤ terminator␤ ws␤FAILED 00:01 103m␤
TimToady strange
pmichaud nqp: token { \s*, }
p6eval nqp: Confused at line 1, near "token { \\s"␤current instr.: 'parrot;HLL;Grammar;panic' pc 448 (src/cheats/hll-grammar.pir:197)␤
pmichaud not much better :-( 19:19
nqp: token { , }
p6eval nqp: Confused at line 1, near "token { , "␤current instr.: 'parrot;HLL;Grammar;panic' pc 448 (src/cheats/hll-grammar.pir:197)␤
spinclad nqp: token { \s*\, }
p6eval nqp: Confused at line 1, near "token { \\s"␤current instr.: 'parrot;HLL;Grammar;panic' pc 448 (src/cheats/hll-grammar.pir:197)␤
pmichaud oh, need a name
nqp: token xyz { \s*, }
p6eval nqp: Confused at line 1, near "token xyz "␤current instr.: 'parrot;HLL;Grammar;panic' pc 448 (src/cheats/hll-grammar.pir:197)␤
pmichaud nqp: token xyz { , }
p6eval nqp: Confused at line 1, near "token xyz "␤current instr.: 'parrot;HLL;Grammar;panic' pc 448 (src/cheats/hll-grammar.pir:197)␤
pmichaud bah.
TimToady I suspect LTM is borrowing a bogus comma operator as an infix
colomon TimToady: Wondered about the , after you safk 19:20
TimToady std: /\s*-/
p6eval std 29049: ===SORRY!===␤Unable to parse regex; couldn't find final '/' at /tmp/ct712ZAwuq line 1:␤------> /\s*⏏-/␤ expecting any of:␤ quantmod␤ regex atom␤ regex_infix␤ standard stopper␤ terminator␤ ws␤FAILED 00:01 105m␤
diakopter nqp: token { \, } 19:21
p6eval nqp: Confused at line 1, near "token { \\,"␤current instr.: 'parrot;HLL;Grammar;panic' pc 448 (src/cheats/hll-grammar.pir:197)␤
pmichaud nqp essentially decided that <infixish> and <termish> needed to be parameterized in the operator precedence parser
spinclad nqp: token xyz { \s*\, }
p6eval nqp: ( no output )
TimToady it's quite possible that Regex should not be inheriting from STD
pmichaud instead of being hard-coded
diakopter nqp: token foo { , }
pmichaud and yes, Regex definitely does not inherit from STD
p6eval nqp: Confused at line 1, near "token foo "␤current instr.: 'parrot;HLL;Grammar;panic' pc 448 (src/cheats/hll-grammar.pir:197)␤
pmichaud (in nqp)
diakopter nqp: token foo { \\, } 19:22
p6eval nqp: Confused at line 1, near "token foo "␤current instr.: 'parrot;HLL;Grammar;panic' pc 448 (src/cheats/hll-grammar.pir:197)␤
pmichaud nqp: token foo { \, }
p6eval nqp: ( no output )
TimToady I guess that's a hangover from before I had language braids
pmichaud TimToady: I find it much cleaner if they're separate.
TimToady feels kinda like a hangover...
diakopter left hanging
pmichaud jnthn: okay, we can work around this little buglet 19:27
no :method flag needed ('phew!')
jnthn pmichaud: heh, add_sub silently fails?! 19:28
:-)
pmichaud yes, it silently fails
well, maybe not
jnthn Helpful. :-/
pmichaud actually, P6object puts a push_eh/pop_eh block around it
so it could be failing and we just never hear it
jnthn Ah, OK.
possibly.
Anyway, glad there's a solution.
pmichaud oh, and there's a bug there in p6object on the eh handling :)
thrilling.
jnthn Do we *need* the eh? 19:29
pmichaud we did at one time, yes.
jnthn I seem to recall there was some oddness there.
I can't recall what though.
pmichaud I don't know if that's still the case. I'd had to change much more than that without knowing how it might affect deprecation
s/had/hate
jnthn true.
19:30 NorwayGeek left 19:31 NorwayGeek joined
pmichaud okay, looks like I just need a p6object fix. easy-peasy. 19:31
19:34 desertm4x joined
jnthn Yay 19:34
pmichaud++
jnthn loves eating onions...but hates chopping them 19:35
19:35 NorwayGeek left 19:38 NorwayGeek joined 19:42 jaldhar left, zloyrusskiy joined 19:45 barney left
moritz_ you can cook them whole ;-) 19:49
TimToady or eat them raw whole 19:50
jnthn ...yes, but my mouth isn't quite big enough to take the whole cooked onion. :-P
TimToady get perl onions
moritz_ jnthn: well, cutting them isn't that bad once they're cooked 19:51
jnthn moritz_: oh, true. :-)
19:51 zloyrusskiy left, lisppaste3 left, lisppaste3 joined 19:53 stephenlb left
pmichaud now to make sure my change doesn't break existing rakudo master :) 19:53
(and that existing rakudo master isn't broken in general...) 19:54
jnthn :-) 19:55
pmichaud it's been a while since we bumped PARROT_REVISION 19:56
TimToady I'm getting one of those headaches you get when you realize you need a major refactor...
I need to move most of STD methods into STD::P6
and leave just the service routines in STD
pmichaud TimToady: just adopt rakudo's grammar as the new STD. :-)
(its new one, of course)
anyway, I'm joking of course at this point -- but I do see a lot of very nice convergence ahead for the two grammars :) 19:57
TimToady well there are things I *do* want to inherit in Regex and in P5, such as EXPR 19:58
pmichaud right
NQP has a base "HLL::Grammar" class that provides an EXPR suitable for many languages 19:59
and then the various grammars for regexes, nqp, perl6, etc. all inherit from it
(currently the EXPR is written in PIR, but I expect it to translate to NQP)
TimToady that's more or less what STD is supposed to do
20:00 jan_ left
pmichaud HLL::Grammar also provides basic number and quoting rules, since those are common to languages too 20:00
I haven't quite convinced myself that Quote deserves to be its own grammar/language yet. It might for Perl 6, but other languages probably want it to be part of MAIN 20:01
TimToady I can finesse it with any number of classes and roles, but not until I detangle STD from STD::P6
pmichaud Well, I shall watch the refactor closely :) 20:02
TimToady so I deserve my headache :)
pmichaud I'll also chime in if I have any helpful ideas
20:04 rgrau joined 20:10 seanstickle left 20:12 justatheory left
jnthn pmichaud: OK, I'm back and can hack on stuff some more. Any priorities? 20:20
20:20 justatheory joined
pmichaud jnthn: not that I can think of at the moment 20:22
I'm trying to get the builtin classes we have already done fixed up 20:23
jnthn pmichaud: OK, great. :-)
pmichaud (testing old rakudo == slow, though)
oZ] Off topic: Does anyone know of anything DBIx::Class-like in the works or working currently with perl6? 20:24
pmichaud in the works, yes.
haven't heard about "working currently"
oZ] OK/. 20:25
moritz_ it partially works
oZ] (Minus the /)
moritz_ oZ]: use.perl.org/~masak/journal/39686
20:25 masak joined
oZ] Huh. 20:26
moritz_ not quite DBIx::Class like
oZ] At least a look at how OO/ORM wrappers for SQL would look like.
pmichaud iirc, Tim Bunce is also heading up an effort for DBI-related stuff for Perl 6 20:29
I haven't kept up with progress there.
20:31 rindolf left
moritz_ it's been mostly sleeping the last few weeks 20:31
oZ] I think I'm just trying to figure out how to get my hands dirty with perl6 without it being so much of a hassle that I give up. ;) 20:32
pmichaud jnthn: my plan for the rest of today is to finish cleaning up some of the Test.pm stuff and getting the base classes in place. Tonight I'm going to write up a status report (also for my grant) and a plan for the upcoming week(s) 20:33
tomorrow I'll likely just start tackling spectests
jnthn pmichaud: OK, sounds great. 20:34
pmichaud I have to go do school pickup -- bbi30
jnthn pmichaud: So basically, within reason, whatever I feel like putting back?
OK. :-)
pmichaud yes
I plan to be playing with eval/repl/module import a bit more
jnthn OK, nice.
pmichaud but I'm not wanting to hold anyone back on working on things, so whatever feels "ripe" to you
jnthn :-) 20:35
pmichaud I still need a partial day to get hash and lazy list stuff all in place
IO might be a good LHF
jnthn *nod*
Oh, that's true.
I'll look at that.
I'll do parametric roles another day. That fruit hangs higher.
It's not an evening fruit. :-)
masak jnthn: by the way, did you ever do a full Konventa booking? 20:36
jnthn masak: oh noes, I didn't 20:37
masak jnthn: I'm about to do one now.
jnthn masak: did you?
Oh, OK.
:-)
masak: 3 + 1?
masak jnthn: well, first I'll see if there really is a bug.
jnthn By seeing if it actually lets you book it? ;-) 20:38
masak yes.
of course.
20:38 desertm4x left
masak I mean, I'm naturally curious. :) 20:38
jnthn Same. ;-)
masak: oh! The deal is not only cheaper, but includes some nom. 20:39
masak I know! it's weird.
I thought the 50 EUR/night deal was pretty good.
jnthn Konventa Seta - Single room, 4 nights, 19 Nov 2009 to 23 Nov 2009 20:40
Total price for booking: 111 EUR
*snicker*
masak
jnthn: I _did_ alert them to the problem...
jnthn Yes, I know!
20:41 jan_ joined
moritz_ masakbug! 20:41
jnthn Well, what to do.
masak my conscience is pure, mostly.
jnthn Impressively, it's managed to fill out the country code for Slovakia in the phone number box...but then completely failed to fill out the country box. :-) 20:42
LTA. 20:43
:-)
masak :)
"Thank you for your booking!" 20:46
jnthn lol
masak I've now, for all intents and purposes, used a 3-night deal to cover a 4-night stay. wtf.
moritz_ \o/ 20:47
masak I'm beginning to think that my use of software actually causes bugs.
jnthn Where's their RT tracker? :-)
masak nowhere to be seen.
jnthn: we'll be arriving at the same time. that feels good if they choose to complain when we arrive.
jnthn: I don't mind paying for that extra night, but it's not always funny to get into an argument with your hotel on arrival abroad. :P 20:48
jnthn Oh, I don't mind paying for it either (and expect to be)
masak nod. 20:49
jnthn It's still a saving.
masak my receipt contains a number of contradictions.
jnthn And includes nom. \o/
masak "3 night stay" "pay only for 2", "4 nights".
jnthn :-) 20:50
jnthn is amused
masak "offer includes: [...] VAT; Non-refundable" (hey, those are not offers)
jnthn :-)
masak "rich breakfast buffet every morning [...] 1x breakfast" 20:51
jnthn It's the same one. Every morning. 20:52
:-)
masak ewww.
jnthn lol
moritz_ you couldn't make good use of more than one breakfast each morning, could you?
masak moritz_: nono, it's clear from the table that it's 1 breakfast.
20:52 KyleHa joined
masak it's also clear that it's rich, and served every morning. 20:53
TimToady maybe it means you can eat there if you're rich 20:54
masak jnthn: allegedly, this is Czech: www.youtube.com/watch?v=y3oFc-phIBA...ature=fvwp 20:55
jnthn: they've subtitled it in Swedish, and it's occasionally funny. 20:56
20:56 justatheory left
masak jnthn: "Jag anger att du mår bra!", for example. ("I indicate that you feel good!") 20:56
jnthn Czechs it out 20:57
Does "hur" mean what I think it does? :-)
masak no. :) 20:58
means "how".
jnthn aww
:-)
masak the title, "Min man e kass!", means "My husband isn't any good!"
jnthn lol
jnthn is amused 21:00
jnthn wishes he understood Swedish more than a few words :-) 21:01
masak I'm done distracting you now. :)
that song may or may not be a good way to learn Swedish.
jnthn lol 21:02
My vocabularly can't get any worse.
oh noes...we fail to parse ternaries... 21:03
That's scary.
Patterner All I know I learned from www.slayradio.org/mastering_swedish.php
diakopter nqp: say(3 ?? 4 !! 5)
jnthn delegates to pmichaud++
p6eval nqp: 4␤
jnthn Yeah, apparently that didn't make it into Rakudo.
diakopter rakudo-ng? 21:04
masak Patterner: that course is awesome.
moritz_ ng is a refractoring branch in rakudo
diakopter sigh.
I meant, "jnthn: do you mean rakudo-ng or rakudo?" 21:05
jnthn diakopter: ng
Det är rena fasan att se en fasan!
diakopter cowers
masak jnthn: :) 21:07
jnthn: Swedish is broken. 21:08
jnthn masak: No more than any other natural language, surely. :-)
masak well, all natural languages have their specialties, it seems... 21:09
even constructed languages leave much to be desired. perfection is nowhere to be found.
pmichaud ternary isn't working in Rakudo? I wonder what's up with that...
I would've thought it'd come over from nqp-rx 21:10
Woodi masak: what about math ?
moritz_ rakudo: say((3 ?? 4 !! 5)
p6eval rakudo 929998: say requires an argument at line 2, near "((3 ?? 4 !"␤in Main (file src/gen_setting.pm, line 2593)␤
moritz_ rakudo: say(3 ?? 4 !! 5)
p6eval rakudo 929998: 4␤
moritz_ pmichaud: please don't make empty say() a parse error in rakudo-ng, it gives LTA error messages
masak Woodi: math is ok, I guess. musical notes are very nice, too.
pmichaud moritz_: it's spec.
std: say()
p6eval std 29049: ok 00:01 104m␤ 21:11
jnthn pmichaud: I figure you've more chance of working out quickly than I.
pmichaud std: say
p6eval std 29049: ok 00:01 102m␤
moritz_ pmichaud: last I asked TimToady he said it doesn't neet to be compile time
jnthn say what? :-)
pmichaud okay, it *used* to be spec.
jnthn :-)
moritz_ sometimes the spec does change ;-)
jnthn class Whatever is Failure { ... } 21:12
...really?
pmichaud jnthn: probably not any more
jnthn pmichaud: That's too bad, given how amusingly it reads. :-) 21:13
21:13 Su-Shee left
jnthn pmichaud: Can I just stick it in as class Whatever { } for now? 21:13
pmichaud jnthn: sure.
jnthn (Decided to put things in that'll let us parse IO.pm)
pmichaud something happened to unicode named parameters in master 21:14
S02-lexical-conventions/unicode.rakudo aborted 5 test(s)
moritz_ it did so since the pcc-reapply branch 21:15
or whatever it's called
pmichaud hmmm
that feels like a regression
jnthn Some issue with named params where the names have unicode.
pmichaud checking
jnthn pmichaud: I don't know that it was pcc_reapply
pmichaud: I think it may have been my doing in the sig work.
pmichaud it might not have been... but that would be an easy explanation :)
jnthn pmichaud: Note that I don't run that test (too lazy to install ICU...) 21:16
dalek kudo: 01c042f | pmichaud++ | build/PARROT_REVISION:
Bump PARROT_REVISION to get p6object and other fixes.
21:19
21:19 r0bby_ is now known as r0bby|android 21:20 r0bby|android is now known as r0bby
pmichaud yay, method xyz is export now works 21:28
> say (-3).abs
3
> say abs(-3)
3
lambdabot Not in scope: `say'
pmichaud afk for a bit 21:29
masak glares at lambdabot
jnthn
.oO( /kick lambdabot NOT IN CHANNEL: `lambdabot` )
21:29 r0bby is now known as r0bby|android, r0bby|android is now known as r0bby 21:31 dakkar left 21:36 __ash__ joined
japhb masak: now if only you had mutant powers and could shoot lasers or death rays from your eyes, then we'd be in business. Of course, you'd have to remember not to keep melting expensive laptops .... 21:39
21:39 justatheory joined
masak japhb: I can't help thinking there's a context in which what you just said makes sense. :P 21:40
japhb "* masak glares at lambdabot "
masak oh!
:)
yes.
I think I prefer it like this, actually. 21:41
question: under which circumstances does $/ get reset to undef?
japhb That's the problem with async communication -- by the time you get a response, you've switched tasks and swapped out all your context
21:41 sasykes joined
moritz_ masak: unsuccessful match 21:42
masak japhb: true. but there are things I really like about async communication as well.
moritz_: what about entering a new block? 21:43
moritz_ masak: then the outer is used, afaict
japhb efficient for carryon on multiple discussions at once, for one ... :-)
er carrying on
moritz_ rakudo: 'a' ~~ /./; { say $/ }
p6eval rakudo 01c042: a␤
moritz_ in an outer scope it's of course till undef 21:45
rakudo: { 'a' ~~ /./ }; say $/
p6eval rakudo 01c042: Use of uninitialized value␤␤
masak moritz_: I have what I think is a strange case of $/ getting re-set when entering a block. I'm trying to reproduce it with a small enough example. 21:47
rakudo: regex foo { foo }; my @a = /<foo>/ => { say $<foo> }; for @a -> $f { my ($r, &d) = $f.kv; if "foo" ~~ $r { d() } } 21:49
p6eval rakudo 01c042: Method 'postcircumfix:{ }' not found for invocant of class 'Failure'␤in Main (file src/gen_setting.pm, line 324)␤
masak note 'Failure', which means that it can't index $<foo>
jnthn pmichaud: The error I get for the ?? !! is "Method 'ternary' not found for invocant of class 'Perl6;Grammar'"
masak (because $/ is undef)
jnthn pmichaud: I don't see any good reason why yet, or anything missing from the NQP grammar, though.
masak rakudo: regex foo { foo }; my @a = /<foo>/ => { say $/.WHAT }; for @a -> $f { my ($r, &d) = $f.kv; if "foo" ~~ $r { d() } } 21:50
p6eval rakudo 01c042: Failure()␤
masak jnthn: maybe the error is in the OP parser?
moritz_ masak: it inherits $/ from the lexical scope, not from the dynamic one
masak: don't know if that's supposed to be the case 21:51
masak how does one find out whether that's supposed to be the case?
moritz_ by reading the spec
masak oh, allright :) 21:52
moritz_ S02 says 21:53
Any remaining special variables will be lexically scoped.
This includes C<$_> and C<@_>, as well as the new C<$/>,
dalek ok: 5b115b5 | chromatic++ | src/multi-dispatch.pod:
Edited multidispatch chapter, mostly for prose.

Left some editorial notes for authors.
moritz_ hrm
jnthn masak: Maybe, but we share that with NQP.
masak jnthn: oh, true.
jnthn masak: So I've no idea whoz OP.
masak moritz_: so the bug is in me, not in Rakudo? 21:54
moritz_ masak: not quite sure
masak why not?
moritz_ because I haven't found the explicit definition of the scoping rules for $/
if it's OUTER:: or CALLER::
masak moritz_: S05 says 'C<$/>, which is a contextual lexical declared in the outer subroutine' 21:55
does that help?
'contextual' seems to indicate CALLER::
moritz_ not quite 21:56
to me that implies that each routine has an implict '$/ is context' declaration
but your example doesn't have a routine
just blocks
masak aye. 21:57
I think that's why I expected it to work.
21:57 Wolfman2000 joined
masak but perhaps it's explanation enough that the block uses a different $/ than the ~~. 21:57
moritz_ this is all very confusing to me, and covered in far too many different places of the spec 21:58
let's just wait for pmichaud to clear it up, I'm sure he knows the scoping rules better
Wolfman2000 Afternoon. masak: I'll be starting on more of my pastebin work soon.
masak Wolfman2000: cool! I'm having a Temporal Tuesday, so I'll probably not work on the pastebin tonight. 21:59
Wolfman2000: but you go ahead.
Wolfman2000 ...it's Monday at your place?
pmichaud what's the question? 22:00
masak Wolfman2000: no. how did you arrive at that? :)
Wolfman2000 masak: I thought you were going to a Temporal on Tuesday. 22:01
masak pmichaud: in my evals above, why do I get Failure?
Wolfman2000 When today at my time is Tuesday
masak Wolfman2000: right. that's why I'm doing it today. :)
because today is Tuesday.
pmichaud masak: each block gets its own $/
Wolfman2000 ...then I may as well know. What IS a Temporal? 22:02
masak each block, even.
pmichaud currently rakudo treats match as being a rebind of lexical $/, not an assignment
masak Wolfman2000: it's a module with DateTime stuff in it.
pmichaud: makes sense, I think.
pmichaud so, in { 'a' ~~ /./ }; say $/;
the inner match isn't affecting the outer $/
I'm not sure if it should or not.
22:02 jaffa8 joined
Wolfman2000 ah. I'm using DateTime on the pastebin myself. I'd use DateTime::Format::MySQL, but it won't install on Feather due to hard coded man page installation. :( 22:03
pmichaud istr that matches rebind $/, not assign to them.
jaffa8 hi
how come do you have time for this
?
moritz_ jaffa8: we take the time for this
Wolfman2000 jaffa8: english?
masak jaffa8: time for what? IRC?
jaffa8 yes
being here
talking
thingking 22:04
discussing
masak jaffa8: that's the way we communicate with each other.
moritz_ pmichaud: but should a block default to the OUTER::$/ or the CALLER::$/?
masak jaffa8: I have time for it because I only work 50%, because I want to do Perl 6.
jaffa8 What do you work?
pmichaud blocks default to OUTER::$/
but a rebind breaks that, of course.
masak jaffa8: I don't know why, but I'd rather not discuss that right now. 22:05
jaffa8: I usually have no problem discussing personal details, but I think your question was kinda sudden.
jaffa8 you do know why.... well....
masak jaffa8: I'd rather stay on topic for now.
Wolfman2000 masak: Unsure what the topic is at this point. 22:07
masak Wolfman2000: $_
moritz_ Wolfman2000: Perl 6
masak: based on pmichaud++'s expectation I think rakudo behaves correctly 22:08
22:08 Whiteknight joined
masak moritz_: me too. 22:08
moritz_ masak: and the correct solution is to pass $/ as a formal parameter to the block
masak moritz_: that's what I eventually did.
jaffa8 Have you concentrated on compilation speed issues lately? 22:09
moritz_ no
pmichaud yes 22:10
masak jaffa8: if you're interested in what's on the agenda for Rakudo, have a look at docs/ROADMAP.
pmichaud has concentrated on compilation speed issues a bit. rewrote the regex engine to make it easier to do that, too :)
jaffa8 masak: I do not know why but I like to ask questions personally.
Wolfman2000 jaffa8: I ask questions a lot. Nothing to be ashamed of. 22:11
masak jaffa8: aye. :) and usually, that's ok with me.
moritz_ jaffa8: that's usually fine, if the number of personal question stays low compared to number of on-topic questions
masak jaffa8: but tonight I clammed up. sorry. :)
moritz_ just as it's fine by masak not to discuss some of them
jaffa8 you know it is suprising that compilation is that slow. 22:12
masak jaffa8: not really.
jaffa8: it's surprising that it is that fast. :)
pmichaud I'm certainly surprised at times :) 22:13
jaffa8 50 lines per second?
moritz_ if you know what's really going on under the hood, you'd be surprised that it ever finishes
spinclad jaffa8: we could add a couple more layers of overhead if you like
Wolfman2000 masak: We may be in friendly competition here, but...I'm not going to be stubborn and ignore your advice if you have a good idea. i37.tinypic.com/2nve4a1.png That's what my entry page looks like so far.
masak Wolfman2000: oh, friendly competition means sharing. 22:14
Wolfman2000: looks nice. Cayalyst, I see?
Wolfman2000 masak: Yes.
If this is going to be a perl pastebin, may as well use a perl program. 22:15
jaffa8 I have a theory... is the parson recursive descent based?
=parser.
pmichaud it's both recdescent and bottom-up
22:15 stephenlb joined
masak jaffa8: nice theory, though. it shows you know a bit about parsers. :) 22:15
justatheory is nice
masak pats justatheory 22:16
justatheory purrs
masak :)
22:16 solarion joined
jaffa8 you have not profiled the code yet I guess. 22:17
22:17 SmokeMachine left
moritz_ bad guess 22:17
pmichaud a small bit of profiling. the tools for profiling haven't been really available yet.
jaffa8 to figure what is responsible for the bulk of the ""spped"
pmichaud the bulk of the expense is likely the method call overhead that parrot imposes 22:18
the new regex design is able to inline a lot of that, though (as soon as I'm convinced that's where a big costs lies)
masak pmichaud++
jaffa8 so you do not know.
pmichaud right now our focus is on "runs correctly" more than "runs fast" 22:19
Wolfman2000 I also support making it run right first.
masak me too! 22:20
it's been quite a ride so far. :)
I care about speed, but I care more about seeing Perl 6 come alive.
pmichaud the next couple of weeks should be a nice ride, too. :)
masak I don't doubt it. :)
jaffa8 you mean bumpy
pmichaud bumpy, yes, but also fun 22:21
spinclad hugme: hug jaffa8
hugme hugs jaffa8
masak spinclad: you beat me to it! :)
hugme: hug jaffa8
hugme hugs jaffa8
22:22 KyleHa left
jnthn pmichaud: Added a few more little pieces. 22:24
pmichaud jnthn: do you have any idea what 07-ref.t was intended to test in the first place?
jnthn pmichaud: Nothing big, just little bits.
pmichaud: No idea.
pmichaud I'm thinking of taking it out.
jnthn pmichaud: And you know, after I fixed it, I realized two of the tests were todo'd!
pmichaud I'm thinking of taking out several tests that don't really seem to do much for us. 22:25
(at the 01-sanity level)
jnthn pmichaud: Feel free.
pmichaud: The more important point is that it led me to fix True and False.
pmichaud I removed 'for' from Test.pm, so we really don't need it at the moment.
yes, your fixes are awesome.
jnthn So it's served its purpose. ;-)
pmichaud I'm a little curious as to why you have one instance of $*IN_DECL := 0; when the rest of them are $*IN_DECL := ''
but that's a minor nit :) 22:26
jnthn s/you/STD/ and your question becomes mine. :-)
pmichaud heh
touche'
jnthn I don't know.
spinclad
.oO( but... but... if True and False were borken... how could anything wrok? )
jnthn spinclad: Boolean logic is overrated.
pmichaud spinclad: rakudo has a tradition of having True and False do whatever we feel like.
rakudo: True = 5; say True; 22:27
p6eval rakudo 01c042: 5␤
pmichaud :-D
jnthn looks ill, then realizes this is fixed in ng :-)
Wolfman2000 pmichaud: How were you able to set "True" to 5 instead of "$True"?
pmichaud Wolfman2000: True is a constant
well, "constant"
so the compiler recognizes it as a bareword constant
Wolfman2000 ...why are you changing a constant then?
pmichaud and then passes that as the lhs to &infix:<=> 22:28
22:28 pnate2 left
pmichaud and since the current master branch doesn't have good rw container handling, it happily does the assignment 22:28
i.e., rakudo (master) doesn't really understand constants all that well
it tends to want to treat everything as a variable.
as jnthn++ said, this is fixed at a fundamental level in ng
spinclad ... *how* are you changing a constant ... is answered
jnthn pmichaud: I'll change that decl to '' 22:29
pmichaud jnthn: +1
jnthn pmichaud: And hopefully STD adopts this. ;-)
pmichaud maybe change it in STD.pm, too :)
jnthn ooh...dare I? :)
Wolfman2000 jnthn: dare.
Far as I can tell, Perl 6 is still safe to be daring with. We have until April. 22:30
jnthn I haven't actually got it built locally. :-)
So I'd not know if I broked it. :-)
22:31 justatheory left
jnthn rakudo: my $foo; undefine $foo 22:32
p6eval rakudo 01c042: ( no output )
jnthn rakudo: my $foo = 42; undefine $foo; say $foo 22:33
p6eval rakudo 01c042: Use of uninitialized value␤␤
pmichaud jnthn: oh, it would be nice to have "my Int $a" working again, if you wanted to work on that :-)
jnthn pmichaud: Oh, even if we only parse that we'll get a win.
(in terms of being able to parse a bunch of the setting)
pmichaud right
and I'm not likely to get to it before tomorrow afternoon 22:34
so, if you wanted to start, feel free :)
jnthn Well, I can make it parse easy enough, I suspect. :-)
pmichaud: defined.t passes again. 22:40
dalek ok: 21fdcc7 | moritz++ | src/multi-dispatch.pod:
[mmd] fix grammaro, and further discussion on one "=for author" note
22:41
moritz_ rakudo: my Int $x = 5; undefine $x; say $x.WHAT
p6eval rakudo 01c042: Failure()␤
moritz_ that looks...wrong
shouldn't that still be an (undefined) Int?
22:42 fonzotic joined 22:43 payload left, payload joined
mathw moritz_: I would have thought so... 22:44
pmichaud right. In order to fix that we really need the type information on the variable...
jnthn: (undefined) ... ummmmm, interesting. :-) 22:45
jnthn ;-)
pmichaud although "is ref" feels better whenever dealing with variables.
jnthn pmichaud: Yeah, it won't stay like that. :-)
pmichaud: I doubt.
pmichaud: Given the type info needs. 22:46
pmichaud oh?
jnthn pmichaud: Well, I guess I could shoot for
pmichaud I don't understand
jnthn pmichaud: What moritz_ said about suggests that
my Int $x = 42; undefine $x; say $x.WHAT; # Int
22:46 Jim__ joined
pmichaud right 22:46
I believe that to be true
but I believe that needs to be implemented in &infix:<=> 22:47
jnthn pmichaud: Right, so the undefine impl I checked in won't handle that. :-)
pmichaud: Oh.
pmichaud because $x = undef should probably do something similar
jnthn In that case, my undefine impl is Mary Poppins then. :-)
pmichaud it is.
but I still think the $x param should be 'is ref'
moritz_ wonders why undefine() needs to be a function of its own when $thing = undef does the same
maybe a left-over from perl 5 and the undef() function 22:48
pmichaud I'm not certain about the $thing = undef semantic
jnthn pmichaud: It's only going to fail later on in infix:<=>
pmichaud jnthn: why?
jnthn Because that will also say "is it rw", no?
jnthn thinks he's missing something
pmichaud yes, but iiuc 'is rw' has a somewhat different meaning than 'is ref'
and whenever we're talking about modifying a container, I think 'is ref' is really what we want 22:49
but I could be wrong about that
anyway, I postpone that question to later for now
jnthn I was under the impression that "is rw" = "is ref" + container check.
pmichaud have to take daughter to fencing class
jnthn erm
rw check
OK. :-)
pmichaud I think "is rw" also coerces to a rw value if it can
gotta run
bbl
jnthn Oh.
jnthn changes it to is ref :-)
22:50 jaffa8 left
jnthn ...and tries to work out what a coercion to an rw value means. 22:50
> my Monkey $x; 22:52
In "my" declaration, typename Monkey must be predeclared
std++
(stealing from std)++
(no built-in Monkey)-- 22:53
22:53 alan___ joined
mathw hmm odd 22:53
22:53 Jim__ is now known as jweisgram
jnthn mathw: The lack of monkey? 22:54
22:54 alan___ left
moritz_ jnthn: to me "coercion to an rw value" sounds like what autovivification does 22:54
jnthn moritz_: Ah, OK...that would make some sense. 22:55
Presuming we're passing in something vivifiable.
masak jnthn: waitwait, STD.pm has a Monkey built-in? 23:00
zaslon lolmasakhazblogged! masak++ 'November 10 2009 -- think of the children!': use.perl.org/~masak/journal/39872?from=rss
jnthn masak: BTW, after listening a few more times, I think that "mi man e kass" is actually "nemame cas" = "we don't have time" or something like that. 23:01
masak jnthn: oh! makes sense. :)
jnthn masak: But I struggle to follow Czech anyway, let alone when it's sung in a throaty accent. :-)
23:01 iblechbot left
masak jnthn: I like the word 'nemame'. I think I could have figured that one out, given a few seconds. 'cas' is obviously from Russian. 23:02
jnthn *nod*
What's a boll-parti? (parti I can guess)
masak jnthn: a 'ball party'. and no, it doesn't make sense. and it's not inherently dirty either, just nonsensical. 23:03
jnthn ah, OK. :-)
I wondered if it was some special Swedish type of event. :-)
masak 'party' as in political party, not a party that one throws.
jnthn oh? 23:04
OK.
Then I couldn't guess. :-)
masak the other type of party is called 'fest', from the (I guess) Germanic word.
moritz_ masak++ # NOT WANTing Temporal::DateTime.new(:date(Temporal::Date.new(:year(2010), :month(4), :day(1))), :time(Temporal::Time.new(:hour(0), :minute(0), :second(0))), :timezone(Temporal::Timezone::Observance.new(:offset(0), :isdst(False), :abbreviation(''))))
jnthn omgwtfplzno
masak moritz_: tell me about it!
jnthn goes to read masak++'s most
moritz_ though of course :isdst(False) could be written as :!isdst
jnthn *post
masak jnthn: does 'most' mean 'bridge'? 23:05
moritz_: not in current Rakudo. :/
moritz_: there's an RT ticket about that.
moritz_ I know
jnthn masak: yes
moritz_ but in principle ;-)
jnthn masak: Damm! Now I know why I struggle to recognize rectangles...
masak :)
23:06 seanstickle joined
moritz_ German "Most" is actually must (the drink) 23:06
jnthn There's a drink called must?
masak oh yes. 23:07
moritz_ en.wikipedia.org/wiki/Must
masak jnthn: you'd like it. :)
jnthn masak: If I DateTime.new('omg srsly NOT a date'), what do I get?
moritz_ hopefully a fail()
23:07 payload left
masak jnthn: right now, a silent failure. I'm still mulling about that one. 23:07
yes, a fail().
see the source. github.com/masak/rakudo/blob/72fd37...emporal.pm 23:08
jnthn masak: a fail('something here') isn't really a silent failure. :-)
moritz_: I Must try that!
masak jnthn: no? what is it, then?
jnthn masak: A soft failure. 23:09
masak: If I try and use the Failure you give back, it'll explode unless I check it properly.
masak ah. soft.
jnthn: I'm not sure I like that behaviour, though.
moritz_ it's the default perl 6 failure behaviour 23:10
masak jnthn: because what I most often do (in the tests) is try to call methods on the returned object.
jnthn masak: I've found TimToady tends to encourage soft fail semantics over hard fail.
masak jnthn: and then the failure error isn't triggered.
moritz_ it should be.
jnthn masak: That may be a Rakudo bug.
Erm
That *is* a Rakudo bug.
masak jnthn: I also think it's partly bad because a .new method should either return a new object of the given type, or die. 23:11
jnthn I think trying to call a method on a Failure that isn't known is meant to throw the exception within it.
japhb jnthn, how much magic is there in making fail work? Is it a reasonable thing to add to NQP? (It's certainly something I *want*, but I'm trying to stay within the design parameters for NQP here)
jnthn masak: Hmm. That is an interesting argument.
masak jnthn: that's why I'm leaning towards death, at least as a conservative first approximation.
hm. that didn't come out right. :)
jnthn japhb: Thing is, it needs some kind of Failure object (= now we need a standard library) and to get the throw-exception-on-dispatch semantics may well need a custom dispatcher. 23:12
moritz_ ;-)
masak s/death/using die()/
jnthn masak: lol :-)
moritz_ it's pretty easy to s/ « die » /fail/ later on
masak exactly.
moritz_ but it does make a difference for testing
masak nod.
jnthn It's still easy to s/fail/die/ :-)
japhb jnthn, OK, fair enough. Too bad. I always liked fail's ability to effectively be a return value and an exception at the same time.
masak does that, for now
jnthn japhb: Yeah, it's a nice idea. 23:13
japhb: I think what it needs may go beyond what NQP can cleanly provide though.
japhb jnthn, yup ... 23:14
jnthn japhb: As always final call is pmichaud++'s though. :-)
japhb :-)
jnthn masak++ for working on Temporal :-) 23:15
masak it's fun work. and quite immediate, as opposed to other things I'm working on.
jnthn *nod* 23:17
.oO( phew, git commit --ammend saves my reputation again )
23:21
japhb masak: speaking of other things ... just a reminder that Plumage can make short term use of proto merging the installed_modules branch 23:22
jnthn Sheesh, we comitted so much today that github.com/rakudo/rakudo/commits/ng only has today's commits!
frettled masak++ keep on posting about stuff like that
jnthn (on the first page)
frettled jnthn: \o/
jnthn Alas, the next step is to put back variable trait decls, so I can do container types. 23:23
masak japhb: good to know. if it's only me working on the installed-modules branch, it'll take a while. if more hands decide to help, it'll go faster.
jnthn And that probably needs more branes than I can spare tonight. :-)
masak frettled: thanks. :)
frettled We almost nailed mst last week, I see. He was only about 16 hours from falling short of the absolute 10-day deadline, muahaha.
23:25 pmurias joined
masak frettled: I have a feeling (based on what he's written in some blog posts) that he is very well aware of such deadlines. 23:26
frettled m-hm :D
23:27 payload joined
moritz_ is there an easy way to see when I last missed some deadline for the ironman thing? 23:28
masak define 'easy' :)
23:28 __ash__ left
masak I sure wouldn't mind seeing a web app with everyone's status on it. 23:28
moritz_ without doing date arithmetic myself 23:29
masak preferably with a combination of progress bar and exact time left.
japhb masak: At the moment I'm too busy trying to replace proto to have the tuits to fix it. ;-)
moritz_ and somhow I get the impression that ironman doesn't like my feed, and throws up dates and so on
masak japhb: sounds like you're doing what you should. :)
frettled moritz_: I think the automatic thingybob for providing you with the correct Iron Man avatar works. 23:30
moritz_ frettled: you mean the image? 23:31
frettled: that doesn't tell me anything
frettled Though it appears that I haven't gotten my real Iron Man badge yet, even though I've been blogging for more than six months now.
moritz_: it should change to a Paper Man if you miss a deadline.
moritz_ I can't even tell my status from looking at the badge
because they are just in different colors, and I can't map color to material easily
23:32 hercynium joined
moritz_ maybe I'm just mentally impared 23:32
and it also doesn't tell me when I last missed a deadline
frettled aha
moritz_ or which one
frettled I don't think the badge thingybob tells you that, no.
masak moritz_: you're lucky to have a badge! I'm on use.perl, which sucks a bit more every day. :( 23:33
moritz_ I don't put that badge on my blog because it contains nearly 0 information
frettled Paper man: ironman.enlightenedperl.org/munger/...nekomu.png 23:34
masak but you could if you wanted.
frettled Iron Man: ironman.enlightenedperl.org/munger/...le/mst.png
Somethingelse Man: ironman.enlightenedperl.org/munger/.../masak.png
masak yay! I'm Somethingelse Man!
moritz_ i'm also paper man 23:35
though I'm pretty sure that I blogged regularly for the last six weeks or so
frettled masak: I think it's cute that our blogs are at the top of the list on the planet, though.
masak frettled: that's bronze, whatever that means.
moritz_ that's why I'd like to know what went wrong
frettled masak: it's the one before Iron
masak frettled: woot.
frettled masak: maybe I should complain, I haven't missed a day, I even started first :) 23:36
masak I think we could put together a graphical-ironman-status web app on feather pretty easily.
frettled hmm, yeah 23:37
masak frettled: in that case, I think you should complain.
and sooner rather than later.
moritz_ there seem to be some spam submissions on the feed list 23:39
23:39 payload left
frettled Argh, no, it appears that I may have missed a submission by 35 minutes between September 13 and 23, or the post dates were wrong. Hrm. 23:40
Ah, well. The main point is to be blogging about perlish things.
23:40 fonzotic left
frettled moritz_: oh? Hms, that's not nice. :( 23:40
23:41 pmurias left, wknight8111 joined 23:42 Whiteknight left 23:45 namenlos left
sjohnson 1heh 23:45
pmichaud back again 23:46
frettled On the Perl again 23:47
Just can't wait to get on the Perl again
The life I love is making Rakudo with friends 23:48
And I can't wait to get on the Perl again
(with apologies to Willie Nelson)
Good night!
jnthn night, frettled
masak night, frettled 23:49
jnthn pmichaud: I'm done for the day coding wise. 23:50
pmichaud jnthn: okay. around tomorrow?
jnthn pmichaud: The .once() thingy would be very cool to have for variable traits and so on.
pmichaud: Yeah, tomorrow should be good for me. 23:51
pmichaud jnthn: yes, it would. I'll bump it up on my list.
jnthn: hope you're getting some rakudo days in :)
jnthn pmichaud: Got some phone conf in the morning, about $new-work
pmichaud I suspect I'll grab some rakudo days as well, adding more new features into ng
tonight is writing a blog report about what's been done so far 23:52
masak \o/
pmichaud I'd like to start tweeting our progress, but much of it doesn't make sense without the background about what 'ng' is :-)
jnthn pmichaud: But afternoon and evening are probably totally free.
pmichaud jnthn: sounds excellent
jnthn pmichaud: I've counted the time between yesterday and today that I spent on Rakudo as a Rakudo day. 23:53
It was more than enough between them to add up to one. :-)
I'm blogging about my hacking at the moment. :-)
pmichaud jnthn: +1
I should probably count the .lineof work and stuff I did as a rakudo day. It doesn't fall under the other grants. 23:54
jnthn Yes, for sure. 23:55
It was a massive win.
It's made an epic difference to my productivity since you did it.
pmichaud I'm curious to see how it affects spectest timings in master 23:57
I should know tomorrow
(since I just bumped PARROT_REVISION today)
jnthn Yes, that would be nice.
Since if it helps there, it'll help in ng too. :-) 23:58
When we get to the spectests being usefuller.
masak 'night.
23:58 masak left
jnthn night masak 23:58