»ö« | 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 diakopter on 25 January 2010.
lue o/ 00:00
arlinius rakudo: my::foo 00:02
p6eval rakudo 1f2bd0: OUTPUT«Malformed my at line 11, near "::foo"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
arlinius rakudo: my ::x
p6eval rakudo 1f2bd0: OUTPUT«Malformed my at line 11, near "::x"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
lue is currently a azombie 00:05
lue needs to drink caffeine, aaaaandc fast
00:24 daemon left, daemon joined 00:33 airbase joined
lue I'll be here for the nightshift :D 00:41
00:48 nihiliad left 00:55 nihiliad joined 01:11 ascent_ left 01:12 ascent_ joined 01:18 lestrrat is now known as lest_away 01:23 yinyin joined 02:11 lest_away is now known as lestrrat 02:16 astrojp left 02:25 nihiliad left 02:27 Chillance left 02:34 quester joined 02:47 rgrau left 02:49 f00li5h[HireMe] joined 02:50 wknight8111 left 03:01 nihiliad joined 03:24 nihiliad left 03:26 am0c left
colomon 25085 passing tests, and then to bed. 03:29
03:34 agentzh joined 03:40 nihiliad joined 03:41 am0c joined 03:43 mikehh left 03:47 alester joined 03:51 eternaleye left 04:39 xinming_ joined 04:43 xinming left, nihiliad left 05:12 Sarten-X2 left
lue anybody here? Or all you all off watching the olympics :) 05:18
Tene I'm here, for a bit. 05:20
Sleeping shortly.
lue good. It's been quiet for hours here. Good thing I wasn't here the whole time :) 05:23
05:27 xomas joined, xomas left, xomas joined 05:31 yinyin left 05:34 mssm left 05:56 am0c is now known as am0c_away 06:13 Trashlord left 06:33 eternaleye joined 06:49 eternaleye left 06:50 kaare joined, kaare is now known as Guest73108 06:52 uniejo joined 06:53 justatheory left 07:01 quester left 07:08 masak joined
masak a very good morning to you, #perl6. happy new week! 07:08
phenny masak: 28 Feb 20:46Z <Tene> tell masak "For a given grammatical category, a default parsing rule or set of rules is used". The spec doesn't discuss where this "default parsing rule" is defined.
masak: 28 Feb 20:53Z <Tene> tell masak That was the big omission, at least. Search the logs for mention of that quote to find my discussion with TimToady about it. 07:09
masak: 28 Feb 20:55Z <Tene> tell masak I hear you're going to get a lot of messages. Good luck with that.
masak: 28 Feb 21:00Z <Tene> tell masak Ah, nevermind, I was misinformed. Looks like it's only me in your messages so far.
masak Tene: well, if I'm getting a lot of messages, I know whom to blame. :P anyway, thanks for the information. 07:10
07:13 eternaleye joined
Tene masak: morning 07:21
07:22 Su-Shee joined
Su-Shee good morning 07:23
masak Tene, Su-Shee: good morning. 07:24
07:29 alester left
Tene up way too late, sleeps. 07:32
masak Tene: 'night
hejki good morning to you masak :) 07:33
masak found the macro discussion at irclog.perlgeek.de/perl6/2009-12-22#i_1862388
hejki: \o
hejki :>
Tene masak: I'll be interested to see any comments you have on macros.
looking at it again, there are several cases that it looks like I could handle just fine.
masak sounds great. 07:34
Tene anything with an "is parsed" is do-able.
masak I'll see if I have any comments.
Tene I guess that many macros are parsed just as the name of the macro. The 'macro moose' example, for example.
I need to finish with exceptions refactor in parrot first, though, I think. 07:35
(not related, just want to get it finished)
masak nod.
07:36 agentzh left 07:59 quester joined 08:05 jonasbn joined
masak any Japanese readers online? what does the person say? twitter.com/osa9/status/9787029741 08:05
something about 'no sign of it'. 08:06
lestrrat "there's no sign of Perl6 arriving"
masak thanks.
lestrrat "there's no sign of Perl6 arriving (any time soon)" -- is probably more accurate. 08:07
08:10 iblechbot joined
masak I replied this: twitter.com/carlmasak/status/9815984415 08:10
I would use Google Translate to reply in Japanese, but I don't trust it not to botch my English into something unintelligible, insulting, or both. 08:11
jonasbn masak: just to clarify, you need accomodation for Friday, Saturday, Sunday and Monday - right 08:12
08:12 am0c_away left
jonasbn ? 08:12
masak jonasbn: right. sorry for being so unclear before.
jonasbn masak: no problem, writing the OSD ppl now, have not hear a THING from them about the hotels 08:13
I do not know whether to be concerned or not
masak huh.
jonasbn: I'm working on my presentation as we speak. it makes me really look forward to giving the talk. :) 08:14
jonasbn great :)
masak jonasbn: before I forget: thank you for pulling this together. it's a great opportunity to meet, hack, talk and generally push Perl 6 and Rakudo forward in time for the Rakudo * release. 08:16
jonasbn no problem, I got my Copenhagen release ;-) 08:17
masak :-)
jonasbn one thing I have learned over the years with open source community is that it is often easier to do things yourself 08:18
I need coffee 08:19
masak [backlogging] fwiw, I'd expect that an optimizer would turn '@a ?? ... !! ...' and '+@a ?? ... !! ...' and '?@a ?? ... !! ...' into the same bytecode.
jonasbn: yes. but there's a distinction between doing things yourself, and doing things in isolation. I certainly wouldn't be as active with Perl 6 if I were working in a vacuum. 08:20
(cue "no, you would be asphyxiating" jokes)
jonasbn agreed
well apart from the "asphyxiating" part, I have to look that up 08:21
ah, hehehe
masak rakudo: my @a=0..*; @a[Inf]=3; say @a[Inf]; # found by lue 08:24
I mean lue++
p6eval rakudo 588a34: OUTPUT«Cannot use negative index on arrays␤current instr.: '&die' pc 16676 (src/builtins/Junction.pir:347)␤»
masak rakudo: my @a; say @a[Inf];
p6eval rakudo 588a34: OUTPUT«Cannot use negative index on arrays␤current instr.: '&die' pc 16676 (src/builtins/Junction.pir:347)␤»
masak submits rakudobug
jonasbn masak: shouldn't you submit a test? 08:25
masak jonasbn: I'm sorry?
jonasbn masak: nothing, I was just wondering
08:26 xomas left
moritz_ good morning 08:26
masak moritz_: \o
jonasbn masak: I have so much to learn at the hackathon :)
masak jonasbn: it's been proposed before. the conclusion of that discussion was that I'll happily leave it to more competent people to submit tests, and not be encumbered by a complicated bug submitting process.
moritz_ jonasbn: did you organize the accommodation? 08:27
masak moritz_: we talked about that in the backlog. :)
08:27 am0c_away joined
masak moritz_: seems the hotel is ping-timeouting or something. 08:27
jonasbn moritz_: I have mailed the information to the OSD ppl, but I have not heard anything back
masak oh, the OSD people.
jonasbn yeah, hence the comment about open source community :-/ 08:28
masak ah. :)
jonasbn :)
masak maybe you accidentally emailed the OCD people, and they've been meticulously working on a reply ever since. :P
jonasbn now for that coffee
hejki coffee is bad, drink tea :)
jonasbn hejki: no
masak is more of a rooibos kinda guy
hejki i quitted coffee and it actually did increase my productivity :) 08:29
rooiboses (or how the heck you make a plural out of it) are nice, but tend to be too sweet for my likings 08:31
and those aren't actually tea afaik, someone to back me up on this one? :) 08:32
masak hejki: then the unflavoured one just might be for you.
hejki :o
masak hejki: no, it's not tea. that's consistent with what I've said so far. :)
hejki i have only seen 2 flavors here in finland
jonasbn hejki: I appreciate what you are saying, but I am adicted
hejki ye. it's some shrubbery they're making it from?
jonasbn: i was too, the physical symptoms stop after 5-7 days
after that your body normalizes and you should see increase in productivity as well as in common alertness :) 08:33
masak I'm not so sure the flavoured rooibos types are so good for the environment. many are transported through Germany just to be flavoured.
hejki and it's a scientific fact that caffeine doesn't make you any more awake
Su-Shee jonasbn: ignore it, coffee has many advantages. as usal it depends on the dosage.
hejki masak: well my GF drinks some "organic rooibos" stuff, not sure how good that is for the env :P 08:34
Su-Shee masak: by driving through germany you get flavour? cool. :)
jonasbn my only problems is, if drink too much, it ruins my concentration
masak hejki: rooibos is made from some shrubbery, yes. it's also transported by African swallows.
hejki Su-Shee: yup, the land most often makes everyone taste and smell like sausages and beer ;>
masak Su-Shee: causation/correlation :P
Su-Shee I would have called it semantics.. :)
hejki jonasbn: yup, caffeine is totally unbeneficial for human beings when addicted
masak hejki: 'organic', misnomer as it is, usually means 'good for the environment' :) 08:35
Su-Shee we have like 20 variations of rooibos in the office.
hejki masak: yeh, usually :)
masak: the stuff is still made in africa and then transported :P
can't see how that's good for the environment tho :P
masak hejki: in my family, it means 'not dissolvable in water'.
jonasbn hejki, I am also addicted to the Internet and cake
hejki heh :)
Su-Shee jonasbn: let's have cake and a cup of coffee. :)
hejki jonasbn: internet addiction is not curable, cake is a lie so you can't be addicted to that
jonasbn a lie? 08:36
masak you can be addicted to a lie.
jonasbn: that's a "Portal" reference.
jonasbn portal?
jonasbn is lost and addicted
hejki someone doesn't know "the cake is a lie"-meme? :o
08:36 riffraff joined
hejki you should google and sophisticate yourself a bit 08:37
masak jonasbn: www.youtube.com/watch?v=nd6RhzsO5js
here at #perl6, we welcome people from all segments of the meme path. :) 08:38
hejki tbh i'd pay good money in order to forget some of the internet memes i've seen 08:39
like tubgirl/typicalmacintoshuser
masak perhaps this video better explains the meme, actually: www.youtube.com/watch?v=0pig3PbHyJY
jonasbn okay, my coffee and cake issues seem very insignificant compared to the "portal" thing you lot got going 08:40
hejki :> 08:41
masak now, ain't that the truth. 08:43
hejki i haven't played portal tbh
i just know the meme and i think the idea behind it is wonderful 08:44
and reflects how modern world works
your boss praises your good job without giving the words any meaning
08:56 payload joined 08:57 mssm joined 09:01 pmurias joined 09:06 dakkar joined 09:07 IllvilJa left
pugssvn r29896 | moritz++ | test for RT #73136, stripping of leading and trailing ws in angle brackets 09:09
09:36 jonasbn left 09:38 eternaleye left 09:40 Trashlord joined 09:43 eternaleye joined 09:44 quester left 09:45 Trashlord left
masak so, class Child is Parent; both have a .foo method, each with a PRE block. we call $child.foo, the PRE block in Child.foo fails, but the PRE block in Parent.foo succeeds, so no exception is thrown. did I get that right? 09:47
the followup question to that is: why does it work like that, rather than, say, the PRE blocks of the methods in the class and its ancestors being &&-ed together, like the POST blocks. 09:48
s/\.$/?/
09:53 JimmyZ joined 09:54 JimmyZ left 09:55 JimmyZ joined 09:56 JimmyZ left, lestrrat is now known as lest_away 10:07 Trashlord joined 10:14 snarkyboojum left 10:18 mikehh joined 10:26 orafu left, orafu joined 10:33 pmurias left 10:40 ruoso left
moritz_ masak: substitution principle 10:46
masak I'm listening.
moritz_ masak: the child method substitutes the parent method, so it has to accept at least what the parent method accepts
it can only weaken the precondition
masak ah.
so the PRE in Child is interpreted as a weaker alternative? 10:47
that does make sense.
Liskov strikes again! :)
10:47 IllvilJa joined 10:51 hanekomu left 11:09 lest_away is now known as lestrrat 11:27 lichtkind joined
lichtkind cognominal: hi 11:31
11:40 mikehh left, mikehh joined 11:43 payload left 11:50 kfo joined
cognominal lichtkind, hi 11:52
lichtkind cognominal: :)
11:57 iblechbot left
jnthn o/ 11:59
lichtkind jnthn: hai 12:04
12:13 IllvilJa left
colomon \o 12:13
lichtkind jnthn: ping 12:20
12:21 cognominal left
lichtkind masak: ping 12:23
jnthn lichtkind: pong 12:26
12:29 snearch joined 12:30 b_jonas joined 12:34 ruoso joined 12:37 synth left
masak lichtkind: pong 12:38
12:40 synth joined 12:41 [synth] joined 12:42 mikehh left, mikehh joined 12:44 ruoso left 12:49 takadonet joined
takadonet morning all 12:49
12:49 cognominal joined
masak takadonet: \o 12:49
12:59 ruoso joined 13:01 payload joined 13:05 am0c_away is now known as am0c 13:06 ignacio_ joined 13:12 ruoso left 13:15 jaldhar left 13:19 iblechbot joined, jaldhar joined
colomon rakudo: my sub abc (:$äöü) { 1000 + $äöü }; say abc(äöü => 42) 13:20
p6eval rakudo 588a34: OUTPUT«Malformed UTF-8 string␤␤current instr.: 'perl6;PCT;HLLCompiler;evalpmc' pc 972 (compilers/pct/src/PCT/HLLCompiler.pir:538)␤»
masak rakudo: $ä 13:21
p6eval rakudo 588a34: OUTPUT«Symbol '$\xE4' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
masak rakudo: my $ä
p6eval rakudo 588a34: ( no output )
pugssvn r29897 | colomon++ | [t/spec] Add single fudge so Rakudo parses this.
jnthn There's something about unicode and named params. :-/
It's odd because the code gen looks sane.
masak rakudo: my $äöü
p6eval rakudo 588a34: ( no output )
13:22 [synth] left
jnthn rakudo: my $łöł 13:22
p6eval rakudo 588a34: ( no output ) 13:23
masak LOL: The Polish-German edition. 13:24
pmichaud I'm guessing parrotbug.
(good morning, #perl6)
colomon That was the only test (well, pair of tests) failing in S02-lexical-conventions/unicode.t. I've fudged and will push the test as soon as my spectest finishes.
m-locks gm pm
colomon o/ 13:25
jnthn hi pmichaud
masak hi pmichaud++ 13:26
colomon hmmm.... we need something like a thousand tests back a week to get back to alpha's passing level in time for R*? 13:30
dalek kudo: 1bd66da | (Solomon Foster)++ | t/spectest.data:
Turn on S02-lexical-conventions/unicode.t.
13:31
jnthn colomon: Yes, but S05-* has LOADS.
That can probably be won back relatively quickly-ish.
colomon oooo, 4000+, I see...
13:34 mikehh left
colomon rakudo: say "\x[6211" 13:34
p6eval rakudo 588a34: OUTPUT«\x[6211␤»
colomon S02-literals/char-by-number.t has that in a eval_dies_ok test.... master just seems to shrug and get on with life instead of dying. 13:35
13:35 cognominal left 13:37 mikehh joined
colomon rakudo: say "\123" 13:37
p6eval rakudo 588a34: OUTPUT«\123␤»
m-locks oh noes 13:38
masak alpha: "\123"
p6eval alpha 30e0ed: OUTPUT«\123 form deprecated, use \o123 instead at line 10, near "\\123\""␤in Main (file <unknown>, line <unknown>)␤» 13:39
masak submits rakudobug
lichtkind masak++ 13:42
masak ;)
pugssvn r29898 | colomon++ | [t/spec] Fudge to work around masak's latest bug. 13:44
13:46 mikehh left 13:47 snearch left, mikehh joined, EXAAFZJ9 joined
colomon rakudo: say qw/$foo $bar/ 13:49
p6eval rakudo 588a34: OUTPUT«Confused at line 11, near "say qw/$fo"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
13:49 jaldhar left, jaldhar joined 13:50 jaldhar left 13:51 jaldhar joined 13:54 mikehh_ joined 13:55 mikehh left 13:56 SmokeMachine joined 13:58 alester joined 14:00 payload1 joined 14:02 payload left
masak anyone else get just an empty page on npw2010.fsfi.is/ ? 14:05
colomon masak: me
masak hokay. thanks.
jnthn Oh no, masak breaks another thing
;-)
masak it wasn't me, I promise!
jnthn hehe :-)
yay iceland :-) 14:06
jnthn expects it to be a really cool conference.
m-locks yes, its empty
masak jnthn: I'm seriously considering going there. :)
jnthn laik srsly?
colomon rakudo: say Mu eq Mu
p6eval rakudo 588a34: OUTPUT«No applicable candidates found to dispatch to for 'infix:<eq>'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
jnthn ng: Object eq Object 14:07
oops
alpha: Object eq Object
p6eval alpha 30e0ed: ( no output )
jnthn ...
D'oh.
Wonder if master had eq written in PIR
m-locks rakudo: say Mu ~~ Mu
p6eval rakudo 588a34: OUTPUT«1␤»
colomon rakudo: say Int eq Int 14:08
p6eval rakudo 588a34: OUTPUT«1␤»
jnthn colomon: The siggy of infix:<eq> is (Any, Any) or so.
So Mu won't bind.
colomon ah.
easy fix?
jnthn Not meant to be fixed.
That's why my $a; defaults to Any rather than Mu now :-)
14:08 alester left
colomon hmmmm... guess this test is broken, then. 14:09
jnthn Maybe Any eq Any is a more sensible test now.
14:11 IllvilJa joined
colomon rakudo: say sqrt(2).[perl 14:12
p6eval rakudo 588a34: OUTPUT«Confused at line 11, near "say sqrt(2"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
colomon rakudo: say sqrt(2).perl
p6eval rakudo 588a34: OUTPUT«1.4142135623731␤»
14:12 mikehh_ left
colomon rakudo: say sqrt(2).perl.eval 14:12
p6eval rakudo 588a34: OUTPUT«␤»
colomon rakudo: say 1.4142135623731
p6eval rakudo 588a34: OUTPUT«No applicable candidates found to dispatch to for 'infix:<div>'␤current instr.: 'perl6;Rat;new' pc 317124 (src/gen/core.pir:37411)␤»
colomon arrrgh.
m-locks lol 14:13
colomon rakudo: say "}".perl 14:16
p6eval rakudo 1bd66d: OUTPUT«"}"␤»
colomon rakudo: say "\}".perl
p6eval rakudo 1bd66d: OUTPUT«"\\}"␤»
colomon rakudo: say "\{".perl
p6eval rakudo 1bd66d: OUTPUT«Unable to parse blockoid, couldn't find final '}' at line 11␤current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1664 (ext/nqp-rx/src/stage0/Regex-s0.pir:907)␤»
colomon rakudo: say '{'.perl
p6eval rakudo 1bd66d: OUTPUT«"\{"␤» 14:17
14:17 ignacio_ left
colomon rakudo: say '{'.perl.eval 14:17
p6eval rakudo 1bd66d: OUTPUT«␤»
colomon rakudo: say "hello".perl.eval 14:19
p6eval rakudo 1bd66d: OUTPUT«hello␤»
colomon rakudo: say '$a @string %with &sigils()'.perl
p6eval rakudo 1bd66d: OUTPUT«"\$a \@string \%with \&sigils()"␤»
14:19 jonasbn joined
colomon rakudo: say True.perl 14:22
p6eval rakudo 1bd66d: OUTPUT«1␤»
colomon suspects he can fix this one easily. 14:23
yup. 14:29
pugssvn r29899 | colomon++ | [t/spec] Fudge for Rakudo.
14:34 cognominal joined 14:36 jaldhar left, jonasbn left, JimmyZ joined
lichtkind colomon++ 14:39
colomon: are you interested in hackin on november?
colomon lichtkind: in vague theory, but in practice I'm pretty sure I don't have the time. :) 14:40
masak I know the feeling. :)
lichtkind :)
we all here :)
jnthn ETOOMUCHTOHACKON 14:41
colomon rakudo: sub rt69516( :f($foo) ) { "You passed '$foo' as 'f'" }; &rt69516.signature.perl ~~ m/ ':f(' \s* '$foo' \s* ')' / 14:42
p6eval rakudo 1bd66d: ( no output )
colomon rakudo: sub rt69516( :f($foo) ) { "You passed '$foo' as 'f'" }; say &rt69516.signature.perl ~~ m/ ':f(' \s* '$foo' \s* ')' /
p6eval rakudo 1bd66d: OUTPUT«:f($foo)␤»
colomon Huh. I've broken that someone locally. 14:43
> sub rt69516( :f($foo) ) { "You passed '$foo' as 'f'" }; say &rt69516.signature.perl ~~ m/ ':f(' \s* '$foo' \s* ')'
Confused at line 1, near "say &rt695"
any notions? I think all I've done is define Bool.perl.... 14:44
crazy, removing Bool.perl fixes it... 14:53
rakudo: sub rt69516( :f($foo) ) { "You passed '$foo' as 'f'" }; say &rt69516.signature.perl 14:55
p6eval rakudo 1bd66d: OUTPUT«:(Any :f($foo)␤»
14:56 b_jonas left
colomon > sub rt69516( :f($foo) ) { "You passed '$foo' as 'f'" }; say &rt69516.signature.perl 14:57
:(Any :f($foo where Bool::True)
jnthn: help? 14:58
14:58 Guest73108 left 14:59 bacek joined
bacek o hai 15:00
colomon o/
bacek rakudo: foo(/\b/, "{}")
p6eval rakudo 1bd66d: OUTPUT«Null PMC access in get_string()␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
bacek rakudo: foo(/\b/, "{$1}")
p6eval rakudo 1bd66d: OUTPUT«Method 'postcircumfix:<[ ]>' not found for invocant of class ''␤current instr.: '!postcircumfix:<[ ]>' pc 10518 (src/builtins/Role.pir:45)␤»
bacek interesting... 15:01
15:04 JimmyZ left
jnthn colomon: Oh, may be some hack in Signature.perl. 15:05
colomon jnthn: finally found the code.... no idea what's the problem, though
jnthn colomon: let me look
15:05 eternaleye left
jnthn (sorry, packing is rather consuming me atm) 15:05
colomon: line 61 of Signature.pm is RONG. 15:06
15:06 ruoso joined
jnthn s/'1'/'Bool::True'/ should do it. 15:07
15:07 mikehh_ joined
colomon trying. 15:08
15:09 zostay joined
colomon \o/ 15:10
15:11 stepnem joined, abra joined
colomon will push as soon as spectest passes (he said, fingers crossed) 15:13
lichtkind hacking should only be fun !! 15:14
15:14 nihiliad joined 15:15 uniejo left, bacek left 15:18 wasy left
jnthn Wow. While packing I just found tokens for the Minsk and Moscow metros! 15:20
15:21 Salada345 joined 15:23 wasy joined
colomon okay, changes pushed 15:29
afk
15:30 hanekomu joined
dalek kudo: 9efead6 | (Solomon Foster)++ | src/core/Bool.pm:
Add Bool.perl.
15:33
kudo: bbe9441 | (Solomon Foster)++ | t/spectest.data:
Turn on S02-literals/char-by-number.t and S02-names_and_variables/perl.t.
kudo: af0424a | (Solomon Foster)++ | src/core/Signature.pm:
"Bool::True" instead of "1", as per jnthn.
15:46 Patterner left 15:47 Psyche^ joined, Psyche^ is now known as Patterner 15:52 pmurias joined
pmurias hello 15:52
lichtkind pmurias: hai
15:54 lichtkind left, ignacio_ joined 16:03 riffraff left 16:04 justatheory joined, riffraff joined 16:05 alester joined 16:10 f00li5h[HireMe] left 16:12 abra left 16:13 uniejo joined 16:15 jaldhar joined 16:25 f00li5h[HireMe] joined
masak slow business today. :) 16:40
can someone give me a really juicy use case for Perl 6 macros? 16:41
Su-Shee can't you take a famous lisp macro use case and translate it?
masak good idea. 16:42
can someone give me a really juicy LISP macro use case? :P
Su-Shee *haha* :))
16:42 am0c left
masak outsourcing ftw. :) 16:42
jnthn Only if it produces results. :-) 16:43
Su-Shee I have to prepare perl 6 developer lessons.
16:45 xomas joined, xomas left, xomas joined
masak there actually seems to be a classic LISP use case. something called with-transaction, that makes sure to always do either commit or proper rollback. 16:50
actually, there's seemingly a whole family of those with-* macros: with-open-file, with-output-to-string, with-timeout, etc. weitz.de/macros.lisp 16:51
TimToady obviously we need metamacros... 16:52
16:53 payload1 left
TimToady we could call them, oh, monads, or something 16:54
masak hides
Tene weitz.de/macros.lisp details with-transaction 16:55
I don't see what the advantage of with-transaction as a macro is over with-transaction as a function
masak I suppose the same could be done with phasers in Perl 6. 16:56
TimToady when all you have is a macro, everything starts looking like an AST
masak could be worse :)
colomon heh. 16:57
16:57 pmurias left
colomon one thing I've been wondering... an awful lot of the trig functions are exactly identical modulo a string change. 16:57
so Any.sin is
multi method sin($x) { $x.Num.sin; } 16:58
Any.cos is
multi method cos($x) { $x.Num.cos; }
etc.
(actually, that leaves out the $base argument, but the end result is exactly the same.)
It would be pretty awesome if Perl 6 had a way to say
masak can that be made into a macro?
that would be kinda neat? 16:59
s/\?/./
colomon for <sin cos tan etc> -> $function multi method $function($x) { $x.Num.$function }
Yeah, I don't know if that's a macro thing or not.
but thought it might be worth mentioning. :)
TimToady problem is getting a run-time statement to poke the right thing into the right lexical scope 17:00
jnthn Macro would be desirable.
Because...what TimToady sai.d
TimToady a BEGIN can make it run at the right time, but we don't have indirection in declarative names 17:01
masak macro add_trig($name) { multi method {{{$name}}}($x) { $x.Num.{{{$name}}} } }
TimToady multi method ::($function)() or some such
masak would that work?
TimToady no
masak suspected that :)
I'm kind of a Perl 6 macro n00b. 17:02
TimToady you're using quasi unquoting gwithout a quasi quote
masak oh.
masak reads up
macro add_trig($name) { quasi { multi method {{{$name}}}($x) { $x.Num.{{{$name}}} } } } 17:03
how about now?
TimToady but it looks like you're trying to do an unhygienic macro anyway with text substitution
masak that sounds uncomfortably accurate :) 17:04
TimToady I think quasi unquotes only work where certain grammatical things are expected, and a name may not be one of them
masak so, is there no good way to do this, or have I just not stumbled upon it yet?
TimToady at a minimum, you might have to convert $name into something different for the one spot than the other
deflongname vs methodname, or some such 17:05
whatever it is that the parser expects at that point 17:06
Tene macro statement_control:sym<when>($cond, $body) { quasi { if $_ ~~ {{{ $cond }}} { {{{ $body }}} } } } 17:07
TimToady otoh, if we did have the ::() syntax as a declarative name, then you could just use the macro as a fancy BEGIN
Tene Look, it has a lot of trailing close symbols! It *must* be lisp!
Oh, I remember my traditional example now. 17:08
masak satisfied that I've created an interesting discussion, I now take my leave. :) I'm going swimming.
Tene debug(get_expensive_but_unnecessary($arg))
17:09 masak left
Tene if debug is a macro that expands to a conditionally-evaluated block, you don't need to stick the function call in a closure. 17:09
TimToady macro add_trig($name) { quasi { multi method ::({{{$name}}}) ($x) { $x.Num."{{{$name}}}" } } } or some such
not that unquote would work in a ""
macro add_trig($name) { quasi { multi method ::({{{$name}}}) ($x) { $x.Num."{ {{{$name}}} }" } } } or some such 17:10
Tene macro debug($arg) { quasi { if $*DEBUG { log('debug',{{{$arg}}}) } } }
TimToady no problem in CS that can't be solved by another layer of curlies...
colomon except the problem of too many curlies! ;)
TimToady yes, well, we'll change 'em all to parens
that should make it readable... :/ 17:11
Tene macro open($n) { '{' x $n }
etc.
colomon Ugh. If I wanted that, I'd just program in LISP.
TimToady speaking of FP, I think the FP view is what will be the sane approach to the array/list/iterator thing 17:13
in the FP view, @foo is just a pointer into a list that you want to keep around so you can [$n] it 17:14
and whether or not @foo keeps values is entirely a GC issue
and @foo.grep can throw away @foo if static analysis says that we don't need @foo afterwards, and then the GC cleans it 17:15
and iterators are always just pointers into an existing list, so in a sense are always cloned 17:16
diakopter rakudo: {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ 17:18
p6eval rakudo af0424: OUTPUT«maximum recursion depth exceeded␤current instr.: 'perl6;PAST;Op;pirop' pc 804 (compilers/pct/src/PAST/Node.pir:385)␤»
colomon you had me nodding up until that last one.
TimToady so both shift and get are basically just following CDR in the FP mentality
colomon right now iterators are very definitely NOT always pointers into an existing list. 17:19
and a whole lot of the current concepts are broken if that is the case.
TimToady it only exists in the abstract :)
and the difference in this view between @ and $ in this view is not in the binding, but in whether you clone when you ask for an iterator 17:20
$ doesn't, and @ does.
more generally, Iterable clones whenever you pull and Interator from it 17:21
s/Int/It 17:22
colomon "whenever you pull an Iterator" ?
(ie s/and/an/ too?) 17:23
TimToady nod
Iterable.List if we lump all iterators as List 17:24
colomon Hmmm.... I like the cleanness of the idea, but I'm not convinced it's the right thing to do in a non-FP environment.
TimToady but we already tell people they can't change an array while iterating it, or undefined things happen
colomon or rather, it seems doable, but might be a terrible can of worms for an implementation.
TimToady so the array is effectively immutable while iterating
colomon I'm thinking of the lines("hugefile") case. 17:25
seems like your idea suggests we are likely to cache the lines read in, unless we can somehow prove we won't need them again.
TimToady that's what @ promises, I think, in which case don't use @ 17:26
colomon but $ wouldn't promise that?
TimToady or we spec when the static analysis can throw undef @
let's say, that's what Positional promises 17:27
and @ requires a Positional by binding or coercing
so an Array is still intrinsically Positional, even if passed as $
but binding a list to @ needs a Positional upgrade/delegation of some sort 17:28
which is sort of where we started, with binding @
colomon That sounds like a reasonable approach to me. 17:29
TimToady but that upgrade is probably not automatic in binding, but the Any/Cool sort of upgrade
a non-positional just fails to bind to @ 17:30
seems pretty clean
will think more about this, of course... 17:31
but I rather like the notion of information destruction staying in the domain of GC, to the extent we can make that automatic
and multiple iterators pointing into the same overall data (likely with some sops thrown in here and there for mutability) 17:32
possibly some COW semantics if we know we're iterating through something mutable 17:33
colomon I presume a raw iterator would have to be upgraded to an "iterator with memory" to handle multiple iterators (just like it would need to handle Positional).
TimToady for now we can just say, if you iterate and mutate, it's erroneous 17:34
that's the Coolish @ upgrade; you poke the iterator in as the imaginary part of the @
rather, a clone of that iterator, i think 17:35
colomon has to be the original iterator I think.
TimToady cloning iterators becomes a non-problem with immutable data
colomon many iterators aren't clonable.
TimToady the ones that aren't have to be used carefully
colomon like gather loop { take rand; } 17:36
TimToady it will always be possible to break iterator cloning with non-idempotent iterators
17:36 payload joined
TimToady but the clean thing is to require people to eager/batch those to the extent that cloning would break things 17:37
colomon that's why I was suggesting the @ upgrade, as you call it -- it essentially provides the memory you need to clone the iterator.
TimToady but I think that can be explicit in the Anyish upgrade
doesn't have to be magical binding, except to fail to bind the non-Positional to @ 17:38
diakopter should I consider it a bad thing that I don't understand any of the last few hundred msgs here?
TimToady we can think about making binding more magical if we find we're writing too many upgrade methods
diakopter tries to lower my obtuse dial .oO( which way does it turn again? )
TimToady diakopter: you need to have read several days of backlog 17:39
and know all of OO and FP :)
diakopter hm.
TimToady helps to be omnicient too
*omniscient
diakopter speaking of.
17:40 payload left, payload joined
diakopter all these newfangled terms 17:40
TimToady so basically, in this view, @foo := 1..1000 simply fails to bind 17:43
@foo := [1..1000] would be fine though 17:46
colomon oooooo, TimToady++
diakopter does "fails to bind" mean run-time error or other-time error? 17:47
TimToady run-time, primarily, though the compiler is always allowed to carp about things it knows will fail
(see type theory :)
and Haskell, for an extreme example :) 17:48
diakopter rakudo: [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ 17:50
p6eval rakudo af0424: OUTPUT«maximum recursion depth exceeded␤current instr.: 'parrot;P6object;HOW' pc 54 (runtime/parrot/library/P6object.pir:98)␤»
diakopter man is but beast
17:52 jaldhar left 17:53 szabgabx joined, lichtkind joined 17:54 PerlJam joined
TimToady std: [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ 18:00
p6eval std 29899: OUTPUT«===SORRY!===␤Unable to parse array composer; couldn't find final ']' at /tmp/olFPus3TCM line 1 (EOF):␤------> [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[⏏<EOL>␤ expecting any of:␤ prefix or term␤ semicolon list␤ statement list␤FAILED
..00:01 115m␤»
18:00 dakkar left
TimToady ah, yes, it limits context to 40 chars on either side 18:02
18:06 b_jonas joined 18:07 ShaneC joined
diakopter rakudo: say "d" ~~ m{{{::booyah}}d} 18:07
p6eval rakudo af0424: OUTPUT«d␤»
diakopter std: say "d" ~~ m{{{::booyah}}d} 18:08
p6eval std 29899: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter (must be quoted to match literally) at /tmp/jRPrEPEi4b line 1:␤------> say "d" ~~ m{{{::booyah⏏}}d}␤ expecting any of:␤ quantifier␤ regex atom␤FAILED 00:01 106m␤»
diakopter I don't know which to believe 18:09
18:09 f00li5h[HireMe] left, Chillance joined
colomon rakudo: my $a; $a += 1; say $a 18:10
p6eval rakudo af0424: OUTPUT«Use of type object as value␤current instr.: 'perl6;Perl6Exception;throw' pc 14359 (src/builtins/Seq.pir:52)␤»
colomon That's a new one on me.
rakudo: my $a;say $a + 1; say $a 18:11
p6eval rakudo af0424: OUTPUT«Use of type object as value␤current instr.: 'perl6;Perl6Exception;throw' pc 14359 (src/builtins/Seq.pir:52)␤»
diakopter rakudo: my Int $a; $a += 1; say $a
p6eval rakudo af0424: OUTPUT«Use of type object as value␤current instr.: 'perl6;Perl6Exception;throw' pc 14359 (src/builtins/Seq.pir:52)␤»
diakopter hm
colomon I'm betting there's a check for Mu in there which now should be a check for Any. 18:12
rakudo: my $a = Mu; say $a + 1
p6eval rakudo af0424: OUTPUT«No applicable candidates found to dispatch to for 'infix:<+>'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
colomon rakudo: my $a; say +$a; 18:13
p6eval rakudo af0424: OUTPUT«Use of type object as value␤current instr.: 'perl6;Perl6Exception;throw' pc 14359 (src/builtins/Seq.pir:52)␤»
18:15 jaffa4 joined 18:16 jaldhar joined, cosimo joined 18:17 Trashlord left 18:19 f00li5h[HireMe] joined
colomon rakudo: my My $a; say $a + 1 18:19
p6eval rakudo af0424: OUTPUT«In "my" declaration, typename My must be predeclared (or marked as declarative with :: prefix) at line 11, near " $a; say $"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
colomon rakudo: my Mu $a; say $a + 1 18:20
p6eval rakudo af0424: OUTPUT«No applicable candidates found to dispatch to for 'infix:<+>'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
colomon rakudo: my Any $a; say $a + 1
p6eval rakudo af0424: OUTPUT«Use of type object as value␤current instr.: 'perl6;Perl6Exception;throw' pc 14359 (src/builtins/Seq.pir:52)␤»
colomon rakudo: my Mu $a; say +$a 18:22
p6eval rakudo af0424: OUTPUT«Use of type object as value␤current instr.: 'perl6;Perl6Exception;throw' pc 14359 (src/builtins/Seq.pir:52)␤»
colomon rakudo: my Any $a; say +$a
p6eval rakudo af0424: OUTPUT«Use of type object as value␤current instr.: 'perl6;Perl6Exception;throw' pc 14359 (src/builtins/Seq.pir:52)␤»
18:24 parrot joined 18:28 ruoso left 18:36 somekool joined 18:37 cognominal left 18:38 cosimo left 18:40 payload left 18:43 ruoso joined 18:53 colomon left 18:56 parrot left, _Jedai_ joined 18:57 bkeeler_ joined 19:01 jaffa4 left, jaffa4 joined 19:02 f00li5h[HireMe] left, cosimo joined 19:05 f00li5h[HireMe] joined 19:06 uniejo left 19:07 parrot joined, stephenlb joined 19:13 colomon joined 19:14 ignacio_ left
pugssvn r29900 | colomon++ | [t/spec] Convert a couple of Rats to the Nums they were intended to be. 19:21
19:21 hercynium joined
colomon rakudo: my @foo; say @foo[0].WHAT 19:22
p6eval rakudo af0424: OUTPUT«Proxy()␤» 19:23
colomon rakudo: my $foo; say $foo.WHAT
p6eval rakudo af0424: OUTPUT«Any()␤»
19:25 pyrimidine joined
pugssvn r29901 | colomon++ | [t/spec] Refudge for Rakudo, and change Mu to Any in descriptions according to latest spec change. 19:26
19:27 meppl joined
pugssvn r29902 | colomon++ | [t/spec] Add fudge, change to reflect 2.0's new status as Rat, add two new tests which do what that test was originally intended to do. 19:29
colomon rakudo: my @a = 1, 3, 2; @a .= sort; say @a 19:31
19:31 riffraff left
p6eval rakudo af0424: OUTPUT«123␤» 19:31
colomon rakudo: $_ = -42; .=abs; 19:32
p6eval rakudo af0424: OUTPUT«Cannot assign to readonly value␤current instr.: '&die' pc 16676 (src/builtins/Junction.pir:347)␤»
colomon rakudo: say ~(1, 2, 3) 19:33
p6eval rakudo af0424: OUTPUT«3␤»
colomon rakudo: my @b = <foo 123 bar 456 baz>; @b.grep({/<[a..z]>/})}.eager.perl.say 19:34
p6eval rakudo af0424: OUTPUT«Confused at line 11, near "}.eager.pe"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
colomon my @b = <foo 123 bar 456 baz>; @b.grep({/<[a..z]>/}).eager.perl.say
rakudo: my @b = <foo 123 bar 456 baz>; @b.grep({/<[a..z]>/}).eager.perl.say 19:35
p6eval rakudo af0424: OUTPUT«("foo", "123", "bar", "456", "baz")␤»
colomon rakudo: say "123" ~~ /<[a..z]>/
p6eval rakudo af0424: OUTPUT«␤»
19:35 rgrau joined 19:40 ignacio_ joined
pugssvn r29903 | colomon++ | [t/spec] Unfudge a bunch of tests, fudge a bunch more. 19:41
19:52 masak joined
masak o/ 19:52
dalek kudo: 64e4d36 | (Solomon Foster)++ | t/spectest.data:
Turn on bit.t, equality.t, increment.t, and inplace.t, all in S03-operators.
diakopter masak: 19:54
masak diakopter: 19:55
pugssvn r29904 | colomon++ | [t/spec] Unfudge a couple of passing tests. 19:56
20:00 pochi joined
diakopter rakudo: say (^Inf).WHAT 20:01
p6eval rakudo af0424: OUTPUT«Range()␤»
diakopter rakudo: say (^Inf).iterator
p6eval rakudo af0424: ( no output )
masak what should that produce?
diakopter dunno 20:02
std: say (^^0) 20:04
p6eval std 29903: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix ^^ instead at /tmp/4TycNZNoIV line 1:␤------> say (^^⏏0)␤FAILED 00:01 105m␤»
diakopter rakudo: say (^^0)
p6eval rakudo af0424: OUTPUT«␤»
masak submits rakudobug
diakopter :)
did that get a [WEIRD] marker? 20:05
masak hm... good question.
diakopter ltm fail, it seems
masak I think it gets a [WEIRD] marker. it doesn't directly affect any sensible user. :) 20:06
colomon rakudo: say (^Inf).batch(10).perl
p6eval rakudo af0424: OUTPUT«Method 'batch' not found for invocant of class 'Range'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
colomon rakudo: say (^Inf).iterator.batch(10).perl
TimToady there's a specific rule disallowing prefix:<^^>
p6eval rakudo af0424: OUTPUT«(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)␤»
diakopter colomon: ah
TimToady token prefix:sym<^^>
{ <sym> <.badinfix> <O(|%symbolic_unary)> }
20:07 riffraff joined
colomon diakopter: I guess an iterator doesn't properly stringify, fails or somesuch? 20:07
25276 passing tests now. 20:09
masak \o/
colomon++ 20:10
colomon That's today's share of the deathmarch to 35000 done. ;) 20:11
20:11 ruoso left
jnthn
.oO( But I don't want to die in April! That means I miss the Perl Workshop in Iceland! )
20:12
20:12 masak left 20:16 jaldhar left 20:17 colomon left, colomon joined
pugssvn r29905 | lwall++ | [STD] make indirect methods not complain like they used to didn't 20:19
TimToady std: foo 42:
p6eval std 29903: OUTPUT«Undeclared routine:␤ 'foo' used at line 1␤ok 00:01 106m␤»
TimToady that should fix itself now
20:22 payload joined
colomon jnthn: Any thoughts on the +Mu / +Any issue? 20:23
alpha: my $a; say +$a 20:25
p6eval alpha 30e0ed: OUTPUT«Use of uninitialized value␤0␤»
colomon rakudo: my $a; say +$a
p6eval rakudo 64e4d3: OUTPUT«Use of type object as value␤current instr.: 'perl6;Perl6Exception;throw' pc 14359 (src/builtins/Seq.pir:52)␤»
PerlJam That "Use of type object..." message is our new "Null PMC access" message :) 20:29
20:35 payload left 20:37 riffraff left
jnthn colomon: not immediately, but I kinda have a sizable distraction at the moment, so I don't have any ideas about much... :-/ 20:39
colomon PerlJam: It's a perfectly sensible message here -- it is a type object, and we're trying to use it as a value.
20:40 SmokeMachine left 20:41 jonasbn joined, SmokeMachine joined 20:43 jaldhar joined 20:44 jaldhar left, jaldhar joined 20:45 ash_ joined
ash_ hmmm, i just found an odd bug 20:48
TimToady do tell 20:50
ash_ i typed: say (1.8.Num + 0.1).fmt("%.20f") in to the command line perl6, after doing it 2 or 3 times it would give me: Unable to coerce value for '$str' from Str to signature; no coercion method defined instead of the answer
it worked 2 or 3 times (kinda inconsistent) then it died, i can't seem to repeat it without the command line perl6 20:51
jnthn huh, I thought I fixed that bug yesterday.
ash_ oh
maybe i haven't updated
jnthn ash_: Are you running latest?
Ah, ok
ash_ let me check
nome, i was not, nevermind then
jnthn If you're older than 4d8935ee8218862a611fbd09e2da8980aa88b9e7 then it's probably just that. 20:52
ash_ rakudo: say (1.8.Num + 0.1).fmt("%.20f"); say (1.8 + 0.1).fmt("%.20f"); # is the difference because 1.3 is normally a Rat not a Num?
p6eval rakudo 64e4d3: OUTPUT«1.90000000000000013323␤1.89999999999999991118␤»
ash_ s/1.3/any decimal/ 20:53
TimToady yes, presumably 20:54
ash_ gotcha, just curious 20:55
TimToady rakudo: say 1.9.WHAT
p6eval rakudo 64e4d3: OUTPUT«Rat()␤»
TimToady rakudo: 1.9.fmt("%.20f").say
p6eval rakudo 64e4d3: OUTPUT«1.89999999999999991118␤»
TimToady rakudo: 1.9.Num.say 20:56
p6eval rakudo 64e4d3: OUTPUT«1.9␤»
TimToady uses a smaller %f
ash_ ah, i guess i could of been more direct about it, i thought it had to do with casting internally, but i guess not
rakudo: 1.9.Num.fmt("%.20f").say;
p6eval rakudo 64e4d3: OUTPUT«1.89999999999999991118␤»
ash_ hmm 20:57
TimToady fmt is already converting to float, so the Num is redundant
well, other order, but you know what I mean
ash_ yeah
%f eventually converts to a float/double in C somewhere under the hood 20:58
and thats when it gets inaccurate (probably) when compared to a rat i'd imagine
20:58 jaffa4 left
ash_ rakudo: (1.8 + 0.1.Num).fmt("%.20f").say; 20:59
p6eval rakudo 64e4d3: OUTPUT«1.90000000000000013323␤»
21:00 ignacio_ left
pugssvn r29906 | colomon++ | [t/spec] Fudge failing function. 21:09
21:11 SandroToronto joined 21:17 tjc joined 21:19 jonasbn left 21:20 tlb joined
colomon so.... is there really supposed to be a so method? 21:20
alpha: say 10.so 21:22
p6eval alpha 30e0ed: OUTPUT«Method 'so' not found for invocant of class 'Int'␤in Main (file src/gen_setting.pm, line 324)␤»
21:22 snarkyboojum joined
TimToady std: foo 42: 21:24
p6eval std 29905: OUTPUT«ok 00:01 108m␤»
TimToady that's better
ash_ whats that supposed to mean? is that method foo where self is 42? (kinda guessing...) 21:25
TimToady yes, the colon makes 42 the invocant
b_jonas foo is a real method or what?
21:25 jaldhar left
ash_ i suppose you could do foo 42: $a, $b; so $a and $b are extra params, right? 21:26
TimToady yes, it's entirely equivalent to 42.foo:
correct
21:26 iblechbot left
TimToady push @x: 1,2,3 for instance, is just @x.push(1,2,3) 21:26
b_jonas I mean, why did it say "ok" instead of "can't find method foo in class Integer" or similar 21:27
TimToady the test that failed was saying exists %h2: 'a' or some such
pugssvn r29907 | colomon++ | [t/spec] Refudge for Rakudo.
TimToady not that an exists method is spec
ash_ b_jonas: std: is for validating syntax according to the spec, its not actually running the program 21:28
TimToady mildew: 42.foo
p6eval mildew: OUTPUT«Can't open perl script "mildew": No such file or directory␤»
TimToady sprixel: 42.foo
p6eval sprixel 29906: ( no output ) 21:29
ash_ perl6: say 5;
b_jonas ash_: ah, I see
ash_ i think perl6 still does all of them, i think...
p6eval elf 29907, pugs, rakudo 64e4d3: OUTPUT«5␤»
ash_ or tries to 21:30
TimToady pugs: foo 42:
p6eval pugs: OUTPUT«*** No such method in class Int: "&foo"␤ at /tmp/NcJp2r6kIN line 1, column 1 - line 2, column 1␤»
21:30 tjc left
TimToady vill: foo 42: 21:30
guess it's not evalbotified 21:31
anyway, mildew would in theory be running STD's parser
$geezer-state .= nap(); 21:35
21:36 eternaleye joined
diakopter std: foo 42 21:38
p6eval std 29906: OUTPUT«Undeclared routine:␤ 'foo' used at line 1␤ok 00:01 105m␤»
dalek kudo: 5e5969d | (Solomon Foster)++ | t/spectest.data:
Turn on S04-statements/ given.t and if.t.
21:39
ash_ does === use a function kinda how ~~ uses X.ACCEPTS($_) 21:43
21:46 supernovus joined 21:52 jaldhar joined 21:57 b_jonas left
supernovus Hmm, no masak. I was going to ask about the state of the "temporal flux" project. It seems it hasn't seen any commits since November. Was thinking that some of my CMS stuff needs some nice date/time formatting abilities. Instead of "fudgng" it with an app-specific library, I could help out by contributing to the temporal flux project. But I'd want to ask masak first before I just "jumped in". 21:59
PerlJam ash_: do you think that it should? 22:00
supernovus Oh, and in case anyone is interested, running a web app using SCGI instead of "normal" CGI, decreases page access time from around 30 seconds to about 2 seconds. Tested with Apache 2.2 and mod_scgi, on my home PC (Ubuntu 9.10, Intel Core 2 Quad 2.33 Ghz, 4GB RAM). github.com/supernovus/SCGI 22:04
22:04 SmokeMachine left 22:06 somekool left, somekool joined
m-locks supernovus: got any web apps written on that? 22:11
supernovus m-locks: None that are usable yet. I'm rewriting my custom Perl 5 CMS into Perl 6 though. It was during testing of that when I got annoyed with the 30-40 second page load time and decided to look at a way to speed it up. mod_perl6 doesn't work with January's Rakudo, FastCGI's API looked like a nightmare to implement, so when I found SCGI, I figured it sounded like a good match for what I was doing. Hopefully others will find it 22:16
22:18 Salada345 left
m-locks so that one works with rakudo? 22:19
supernovus m-locks: It works with the January release of Rakudo. None of my projects currently work with the new master, as some of the features I depend upon have not been re-implemented yet. 22:20
PerlJam supernovus: such as?
m-locks oh ok, i think i have the new master
i was actually unable to build the alpha release, for reasons unknown to me
supernovus PerlJam: Well, last time I checked, BEGIN { @*INC: './lib' }; use Some::Library::Name; was dying miserably. However, that was last week, so by now it may be fixed :-) 22:21
pyrimidine PerlJam: I have the same problem as supernovus, features NYI
and the same issue with @*INC 22:22
colomon supernovus: I believe @*INC came on-line in Rakudo master two days ago. :)
supernovus colomon: I'm going to go and update my copy of master! :-) 22:23
m-locks git pull
supernovus The SCGI library should actually work in the new master anyway (as long as IO::Socket::INET is working.) 22:24
snarkyboojum mberends++ re @*INC in master :)
22:30 Su-Shee left
supernovus Okay, my non-scientific times were a bit off. I was exagerating at 30 seconds (it felt like it though...) here's the times after I actually measured it. 22:32
22:32 tlb left
supernovus Running cgi script from command line: 12.5 seconds. Calling Apache 2.2 with mod_cgi: 13.6 seconds. Calling Apache 2.2 with mod_scgi: 2.755 seconds. Not as HUGe of a speedup as I had made out, but it's still nearly 5 times faster! 22:37
m-locks i'm looking for some info on getting those separate apache instances working side by side, snow leopard has one builtin version that conflicts with the one built with macports 22:42
colomon m-locks: do you have current rakudo running on snow leopard? 22:43
m-locks aye, its building right now 22:44
has worked since that february release
colomon \o/
m-locks :) 22:45
colomon I've been putting off upgrading to snow leopard... if rakudo works, that's a big step forward for me. :)
m-locks rakudo works, not sure about all the other software
bkeeler_ I use snow leopard + rakudo with no problems
22:46 pyrimidine left
m-locks i mean i had this 3g mobile internet access and it didn't work on snow leopard, but the same unit did work with tiger 22:47
22:47 somekool left
ash_ PerlJam: i think having some function associated with === might make things easier... instead of overloading the multi-method infix:<===> for your object, but i duno, i am not exactly sure how comparision semantics between custom objects "should" work 22:47
m-locks bkeeler_: do you use apache2 with modules also? hows that configured on your system? 22:50
supernovus I'm still having the problem with: "load_bytecode" couldn't find file 'SCGI.pir' on any "use Module" even if it's in the same directory and not using @*INC.
bkeeler_ I haven't messed with apache on snow leopard at all, sorry
m-locks aye, ok 22:51
ash_ i have a bit, whats working/not working/should be working? 22:52
i am on 10.6, i rather like 10.6, i haven't had any issues with rakudo or parrot
m-locks not with rakudo, rather with apache 22:53
arnsholt Anyone going to Copenhagen around?
ash_ whats wrong with apache m-locks? 22:54
m-locks i mean the system has got an apache instance of its own (used thru System Preferences) and then i've got this another one installed with macports, but i seem to be unable to get the macports instance working 22:55
supernovus There is definitely something not right with my Rakudo master. I'm going to throw away the directory and start over. Even "use Test" fails with "load_bytecode" couldn't find file 'Test.pir'
m-locks i think i need to add some aliases
ash_ how are you starting the macports one? 22:56
22:56 quietfanatic left
m-locks sudo apachectl start 22:57
22:57 spinclad left
ash_ do a which on apachectl, which one is it? macports or system 22:57
22:58 spinclad joined
ash_ eh, i'll message you, no need to flood #perl6 with os x junk 22:58
m-locks aye
22:59 cosimo left, cosimo joined
m-locks newest rakudo fails lots of tests, btw 23:00
i think i'm gonna paste this bit somewhere when it's done 23:01
23:02 bkeeler joined
colomon m-locks: fails a lot of what tests? 23:05
supernovus So, I've deleted my whole rakudo folder, git cloned a new copy, and am rebuilding with --gen-parrot. Hopefully that resolves the load_bytecode error. 23:06
m-locks colomon: well its a long list, but just to inform that none of those errors messages appeared when i ran those tests last time 23:10
colomon m-locks: I'm just looking for context here. On my machine currently make spectest tests clean. I don't know if you're talking about that or some entirely different set of tests. 23:11
m-locks make spectest 23:12
23:12 hercynium left
m-locks Failed 29/238 test programs. 418/25745 subtests failed. 23:12
ash_ which test failed? 23:13
i just ran spec test, i am not done, but i haven't seen any failures yet..
pmichaud good afternoon, #perl6 23:14
m-locks S03-operators/basic-types
bkeeler_ afternoon, pmichaud 23:15
m-locks gm pm
its almost morning here ;P
colomon o/
ash_ pmichaud: how does one go about making comparison for custom objects? 23:17
23:17 wknight8111 joined 23:18 daemon left
m-locks probly have to make a new clone 23:18
paste too large :( 23:19
23:19 daemon joined, snarkyboojum left
pmichaud ash_: what sort of comparison? 23:19
ash_: but ultimately, I suspect overloading infix:<cmp>
ash_ equality?
pmichaud yes, likely overload infix:<cmp> for the type 23:20
anyway, that's a good question to put into pm.txt, or ask p6l
ash_ does cmp have an associated function it calls? i know ~~ uses .ACCEPTS
pmichaud no, I'm not aware of one.
ash_ i guess i am weary of overloading common operators 23:21
23:21 snarkyboojum joined, snarkyboojum left
pmichaud right, I understand. Thus perhaps a post to p6l might be worthwhile :) 23:21
I have to rush off -- bbl.
ash_ someone who's not in a rush, whats p6l?
diakopter the perl6-language mailing list
bkeeler_ And what's pm.txt? 23:22
ash_ ah, kk, thanks, i can do that
pm.txt a list of questions pm had for TimToady
s/a/is a/
m-locks well imma hit the sack now, but for those who are interested users.tkk.fi/~tisaari/rakudo_build_fails_tests
ash_ its in the pugs repo 23:23
diakopter perlcabal.org/svn/pugs/browse/misc
colomon m-locks: at a quick glance, it looks like those tests are ones I re-fudged with in the last couple of days. Is it possible you don't have an up-to-date copy of t/spec for the spectests? 23:26
supernovus Well, looks like even with a fresh build, it still won't load files using "use". Does anyone see a problem with this line of code (which works in the January release): 23:27
colomon Does tools/test_summary (which I assume is what ran this) actually do svn up t/spec before running?
supernovus return self.err("malformed netstring, expecting terminating comma, found \"$comma\"") if $comma ne ',';
m-locks colomon: might be, does the git pull / make spectest update those tests?
colomon make spectest should. 23:28
m-locks well i ran that
but now i'm on to building a new clone to see if its ok
colomon can you do
svn info t/spec
m-locks umm no :D
cos i kinda deleted it
colomon aye, that does make it harder. :) 23:29
ash_ so, do you just email perl6-language at perl.org to mail the mailing list? 23:35
m-locks you can use it thru google groups
23:41 parrot left
supernovus I'm working around a few issues, but now I've found this: 23:44
In "has" declaration, typename IO::Socket must be predeclared (or marked as declarative with :: prefix) at line 84, near " $.socket "
Coming from a line: has IO::Socket $.socket = IO::Socket::INET.socket(2, 1, 6).bind($!addr, $!port).listen(); 23:46
I worked around it by removing the type constraint for now, but it seems that there may be something up with that. 23:47
23:55 nihiliad left