Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-03-01

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 lue o/
00:02 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)␤»
00:02 arlinius rakudo: my ::x
00:02 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)␤»
00:05 * lue is currently a azombie
00:05 * lue needs to drink caffeine, aaaaandc fast
00:24 daemon joined #perl6
00:33 airbase joined #perl6
00:41 lue I'll be here for the nightshift :D
00:55 nihiliad joined #perl6
01:12 ascent_ joined #perl6
01:23 yinyin joined #perl6
02:16 astrojp left #perl6
02:34 quester joined #perl6
02:49 f00li5h[HireMe] joined #perl6
03:01 nihiliad joined #perl6
03:29 colomon 25085 passing tests, and then to bed.
03:34 agentzh joined #perl6
03:40 nihiliad joined #perl6
03:41 am0c joined #perl6
03:47 alester joined #perl6
04:39 xinming_ joined #perl6
05:18 lue anybody here? Or all you all off watching the olympics :)
05:20 Tene I'm here, for a bit.
05:20 Tene Sleeping shortly.
05:23 lue good. It's been quiet for hours here. Good thing I wasn't here the whole time :)
05:27 xomas joined #perl6
05:27 xomas joined #perl6
06:33 eternaleye joined #perl6
06:50 kaare joined #perl6
06:52 uniejo joined #perl6
07:08 masak joined #perl6
07:08 masak a very good morning to you, #perl6. happy new week!
07:09 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.
07:09 phenny 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 phenny masak: 28 Feb 20:55Z <Tene> tell masak I hear you're going to get a lot of messages.  Good luck with that.
07:09 phenny masak: 28 Feb 21:00Z <Tene> tell masak Ah, nevermind, I was misinformed.  Looks like it's only me in your messages so far.
07:10 masak Tene: well, if I'm getting a lot of messages, I know whom to blame. :P anyway, thanks for the information.
07:13 eternaleye joined #perl6
07:21 Tene masak: morning
07:22 Su-Shee joined #perl6
07:23 Su-Shee good morning
07:24 masak Tene, Su-Shee: good morning.
07:32 * Tene up way too late, sleeps.
07:32 masak Tene: 'night
07:33 hejki good morning to you masak :)
07:33 * masak found the macro discussion at http://irclog.perlgeek.de/​perl6/2009-12-22#i_1862388
07:33 masak hejki: \o
07:33 hejki :>
07:33 Tene masak: I'll be interested to see any comments you have on macros.
07:33 Tene looking at it again, there are several cases that it looks like I could handle just fine.
07:34 masak sounds great.
07:34 Tene anything with an "is parsed" is do-able.
07:34 masak I'll see if I have any comments.
07:34 Tene I guess that many macros are parsed just as the name of the macro.  The 'macro moose' example, for example.
07:35 Tene I need to finish with exceptions refactor in parrot first, though, I think.
07:35 Tene (not related, just want to get it finished)
07:35 masak nod.
07:59 quester joined #perl6
08:05 jonasbn joined #perl6
08:05 masak any Japanese readers online? what does the person say? http://twitter.com/osa9/status/9787029741
08:06 masak something about 'no sign of it'.
08:06 lestrrat "there's no sign of Perl6 arriving"
08:06 masak thanks.
08:07 lestrrat "there's no sign of Perl6 arriving (any time soon)"  -- is probably more accurate.
08:10 iblechbot joined #perl6
08:10 masak I replied this: http://twitter.com/carlmasak/status/9815984415
08:11 masak 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:12 jonasbn masak: just to clarify, you need accomodation for Friday, Saturday, Sunday and Monday - right
08:12 jonasbn ?
08:12 masak jonasbn: right. sorry for being so unclear before.
08:13 jonasbn masak: no problem, writing the OSD ppl now, have not hear a THING from them about the hotels
08:13 jonasbn I do not know whether to be concerned or not
08:13 masak huh.
08:14 masak jonasbn: I'm working on my presentation as we speak. it makes me really look forward to giving the talk. :)
08:14 jonasbn great :)
08:16 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:17 jonasbn no problem, I got my Copenhagen release ;-)
08:17 masak :-)
08:18 jonasbn one thing I have learned over the years with open source community is that it is often easier to do things yourself
08:19 jonasbn 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.
08:20 masak 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 masak (cue "no, you would be asphyxiating" jokes)
08:20 jonasbn agreed
08:21 jonasbn well apart from the "asphyxiating" part, I have to look that up
08:21 jonasbn ah, hehehe
08:24 masak rakudo: my @a=0..*; @a[Inf]=3; say @a[Inf]; # found by lue
08:24 masak I mean lue++
08:24 p6eval rakudo 588a34: OUTPUT«Cannot use negative index on arrays␤current instr.: '&die' pc 16676 (src/builtins/Junction.pir:347)␤»
08:24 masak rakudo: my @a; say @a[Inf];
08:24 p6eval rakudo 588a34: OUTPUT«Cannot use negative index on arrays␤current instr.: '&die' pc 16676 (src/builtins/Junction.pir:347)␤»
08:24 * masak submits rakudobug
08:25 jonasbn masak: shouldn't you submit a test?
08:25 masak jonasbn: I'm sorry?
08:25 jonasbn masak: nothing, I was just wondering
08:26 moritz_ good morning
08:26 masak moritz_: \o
08:26 jonasbn masak: I have so much to learn at the hackathon :)
08:26 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.
08:27 moritz_ jonasbn: did you organize the accommodation?
08:27 masak moritz_: we talked about that in the backlog. :)
08:27 am0c_away joined #perl6
08:27 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
08:27 masak oh, the OSD people.
08:28 jonasbn yeah, hence the comment about open source community :-/
08:28 masak ah. :)
08:28 jonasbn :)
08:28 masak maybe you accidentally emailed the OCD people, and they've been meticulously working on a reply ever since. :P
08:28 jonasbn now for that coffee
08:28 hejki coffee is bad, drink tea :)
08:28 jonasbn hejki: no
08:28 * masak is more of a rooibos kinda guy
08:29 hejki i quitted coffee and it actually did increase my productivity :)
08:31 hejki rooiboses (or how the heck you make a plural out of it) are nice, but tend to be too sweet for my likings
08:32 hejki 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.
08:32 hejki :o
08:32 masak hejki: no, it's not tea. that's consistent with what I've said so far. :)
08:32 hejki i have only seen 2 flavors here in finland
08:32 jonasbn hejki: I appreciate what you are saying, but I am adicted
08:32 hejki ye. it's some shrubbery they're making it from?
08:32 hejki jonasbn: i was too, the physical symptoms stop after 5-7 days
08:33 hejki 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.
08:33 hejki and it's a scientific fact that caffeine doesn't make you any more awake
08:33 Su-Shee jonasbn: ignore it, coffee has many advantages. as usal it depends on the dosage.
08:34 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. :)
08:34 jonasbn my only problems is, if drink too much, it ruins my concentration
08:34 masak hejki: rooibos is made from some shrubbery, yes. it's also transported by African swallows.
08:34 hejki Su-Shee: yup, the land most often makes everyone taste and smell like sausages and beer ;>
08:34 masak Su-Shee: causation/correlation :P
08:34 Su-Shee I would have called it semantics.. :)
08:34 hejki jonasbn: yup, caffeine is totally unbeneficial for human beings when addicted
08:35 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.
08:35 hejki masak: yeh, usually :)
08:35 hejki masak: the stuff is still made in africa and then transported :P
08:35 hejki can't see how that's good for the environment tho :P
08:35 masak hejki: in my family, it means 'not dissolvable in water'.
08:35 jonasbn hejki, I am also addicted to the Internet and cake
08:35 hejki heh :)
08:35 Su-Shee jonasbn: let's have cake and a cup of coffee. :)
08:35 hejki jonasbn: internet addiction is not curable, cake is a lie so you can't be addicted to that
08:36 jonasbn a lie?
08:36 masak you can be addicted to a lie.
08:36 masak jonasbn: that's a "Portal" reference.
08:36 jonasbn portal?
08:36 * jonasbn is lost and addicted
08:36 riffraff joined #perl6
08:36 hejki someone doesn't know "the cake is a lie"-meme? :o
08:37 hejki you should google and sophisticate yourself a bit
08:37 masak jonasbn: http://www.youtube.com/watch?v=nd6RhzsO5js
08:38 masak here at #perl6, we welcome people from all segments of the meme path. :)
08:39 hejki tbh i'd pay good money in order to forget some of the internet memes i've seen
08:39 hejki like tubgirl/typicalmacintoshuser
08:39 masak perhaps this video better explains the meme, actually: http://www.youtube.com/watch?v=0pig3PbHyJY
08:40 jonasbn okay, my coffee and cake issues seem very insignificant compared to the "portal" thing you lot got going
08:41 hejki :>
08:43 masak now, ain't that the truth.
08:43 hejki i haven't played portal tbh
08:44 hejki i just know the meme and i think the idea behind it is wonderful
08:44 hejki and reflects how modern world works
08:44 hejki your boss praises your good job without giving the words any meaning
08:56 payload joined #perl6
08:57 mssm joined #perl6
09:01 pmurias joined #perl6
09:06 dakkar joined #perl6
09:09 pugssvn r29896 | moritz++ | test for RT #73136, stripping of leading and trailing ws in angle brackets
09:40 Trashlord joined #perl6
09:43 eternaleye joined #perl6
09:44 quester left #perl6
09:47 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:48 masak 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 masak s/\.$/?/
09:53 JimmyZ joined #perl6
09:55 JimmyZ joined #perl6
10:07 Trashlord joined #perl6
10:18 mikehh joined #perl6
10:26 orafu joined #perl6
10:46 moritz_ masak: substitution principle
10:46 masak I'm listening.
10:46 moritz_ masak: the child method substitutes the parent method, so it has to accept at least what the parent method accepts
10:46 moritz_ it can only weaken the precondition
10:46 masak ah.
10:47 masak so the PRE in Child is interpreted as a weaker alternative?
10:47 masak that does make sense.
10:47 masak Liskov strikes again! :)
10:47 IllvilJa joined #perl6
11:27 lichtkind joined #perl6
11:31 lichtkind cognominal: hi
11:40 mikehh joined #perl6
11:50 kfo joined #perl6
11:52 cognominal lichtkind, hi
11:52 lichtkind cognominal: :)
11:59 jnthn o/
12:04 lichtkind jnthn: hai
12:13 colomon \o
12:20 lichtkind jnthn: ping
12:23 lichtkind masak: ping
12:26 jnthn lichtkind: pong
12:29 snearch joined #perl6
12:30 b_jonas joined #perl6
12:34 ruoso joined #perl6
12:38 masak lichtkind: pong
12:40 synth joined #perl6
12:41 [synth] joined #perl6
12:42 mikehh joined #perl6
12:49 takadonet joined #perl6
12:49 takadonet morning all
12:49 cognominal joined #perl6
12:49 masak takadonet: \o
12:59 ruoso joined #perl6
13:01 payload joined #perl6
13:06 ignacio_ joined #perl6
13:19 iblechbot joined #perl6
13:19 jaldhar joined #perl6
13:20 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)␤»
13:21 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)␤»
13:21 masak rakudo: my $ä
13:21 p6eval rakudo 588a34:  ( no output )
13:21 pugssvn r29897 | colomon++ | [t/spec] Add single fudge so Rakudo parses this.
13:21 jnthn There's something about unicode and named params. :-/
13:21 jnthn It's odd because the code gen looks sane.
13:21 masak rakudo: my $äöü
13:21 p6eval rakudo 588a34:  ( no output )
13:22 jnthn rakudo: my $łöł
13:23 p6eval rakudo 588a34:  ( no output )
13:24 masak LOL: The Polish-German edition.
13:24 pmichaud I'm guessing parrotbug.
13:24 pmichaud (good morning, #perl6)
13:24 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.
13:24 m-locks gm pm
13:25 colomon o/
13:25 jnthn hi pmichaud
13:26 masak hi pmichaud++
13:30 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:31 dalek rakudo: 1bd66da | (Solomon Foster)++ | t/spectest.data:
13:31 dalek rakudo: Turn on S02-lexical-conventions/unicode.t.
13:31 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​bd66da1412ff2a3b17c550d62ea618237ae5f7b
13:31 jnthn colomon: Yes, but S05-* has LOADS.
13:31 jnthn That can probably be won back relatively quickly-ish.
13:31 colomon oooo, 4000+, I see...
13:34 colomon rakudo: say "\x[6211"
13:34 p6eval rakudo 588a34: OUTPUT«\x[6211␤»
13:35 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:37 mikehh joined #perl6
13:37 colomon rakudo: say "\123"
13:37 p6eval rakudo 588a34: OUTPUT«\123␤»
13:38 m-locks oh noes
13:38 masak alpha: "\123"
13:39 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
13:42 lichtkind masak++
13:42 masak ;)
13:44 pugssvn r29898 | colomon++ | [t/spec] Fudge to work around masak's latest bug.
13:47 mikehh joined #perl6
13:47 5EXAAFZJ9 joined #perl6
13:49 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 joined #perl6
13:51 jaldhar joined #perl6
13:54 mikehh_ joined #perl6
13:56 SmokeMachine joined #perl6
13:58 alester joined #perl6
14:00 payload1 joined #perl6
14:05 masak anyone else get just an empty page on http://npw2010.fsfi.is/ ?
14:05 colomon masak: me
14:05 masak hokay. thanks.
14:05 jnthn Oh no, masak breaks another thing
14:05 jnthn ;-)
14:05 masak it wasn't me, I promise!
14:05 jnthn hehe :-)
14:06 jnthn yay iceland :-)
14:06 * jnthn expects it to be a really cool conference.
14:06 m-locks yes, its empty
14:06 masak jnthn: I'm seriously considering going there. :)
14:06 jnthn laik srsly?
14:06 colomon rakudo: say Mu eq Mu
14:06 p6eval rakudo 588a34: OUTPUT«No applicable candidates found to dispatch to for 'infix:<eq>'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
14:07 jnthn ng: Object eq Object
14:07 jnthn oops
14:07 jnthn alpha: Object eq Object
14:07 p6eval alpha 30e0ed:  ( no output )
14:07 jnthn ...
14:07 jnthn D'oh.
14:07 jnthn Wonder if master had eq written in PIR
14:07 m-locks rakudo: say Mu ~~ Mu
14:07 p6eval rakudo 588a34: OUTPUT«1␤»
14:08 colomon rakudo: say Int eq Int
14:08 p6eval rakudo 588a34: OUTPUT«1␤»
14:08 jnthn colomon: The siggy of infix:<eq> is (Any, Any) or so.
14:08 jnthn So Mu won't bind.
14:08 colomon ah.
14:08 colomon easy fix?
14:08 jnthn Not meant to be fixed.
14:08 jnthn That's why my $a; defaults to Any rather than Mu now :-)
14:09 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 #perl6
14:12 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)␤»
14:12 colomon rakudo: say sqrt(2).perl
14:12 p6eval rakudo 588a34: OUTPUT«1.4142135623731␤»
14:12 colomon rakudo: say sqrt(2).perl.eval
14:12 p6eval rakudo 588a34: OUTPUT«␤»
14:12 colomon rakudo: say 1.4142135623731
14:12 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)␤»
14:12 colomon arrrgh.
14:13 m-locks lol
14:16 colomon rakudo: say "}".perl
14:16 p6eval rakudo 1bd66d: OUTPUT«"}"␤»
14:16 colomon rakudo: say "\}".perl
14:16 p6eval rakudo 1bd66d: OUTPUT«"\\}"␤»
14:16 colomon rakudo: say "\{".perl
14:16 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)␤»
14:16 colomon rakudo: say '{'.perl
14:17 p6eval rakudo 1bd66d: OUTPUT«"\{"␤»
14:17 colomon rakudo: say '{'.perl.eval
14:17 p6eval rakudo 1bd66d: OUTPUT«␤»
14:19 colomon rakudo: say "hello".perl.eval
14:19 p6eval rakudo 1bd66d: OUTPUT«hello␤»
14:19 colomon rakudo: say '$a @string %with &sigils()'.perl
14:19 p6eval rakudo 1bd66d: OUTPUT«"\$a \@string \%with \&sigils()"␤»
14:19 jonasbn joined #perl6
14:22 colomon rakudo: say True.perl
14:22 p6eval rakudo 1bd66d: OUTPUT«1␤»
14:23 * colomon suspects he can fix this one easily.
14:29 colomon yup.
14:29 pugssvn r29899 | colomon++ | [t/spec] Fudge for Rakudo.
14:34 cognominal joined #perl6
14:37 JimmyZ joined #perl6
14:39 lichtkind colomon++
14:39 lichtkind colomon: are you interested in hackin on november?
14:40 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. :)
14:40 lichtkind :)
14:40 lichtkind we all here :)
14:41 jnthn ETOOMUCHTOHACKON
14:42 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 )
14:42 colomon rakudo: sub rt69516( :f($foo) ) { "You passed '$foo' as 'f'" }; say &rt69516.signature.perl ~~ m/ ':f(' \s* '$foo' \s* ')' /
14:42 p6eval rakudo 1bd66d: OUTPUT«:f($foo)␤»
14:43 colomon Huh.  I've broken that someone locally.
14:43 colomon > sub rt69516( :f($foo) ) { "You passed '$foo' as 'f'" }; say &rt69516.signature.perl ~~ m/ ':f(' \s* '$foo' \s* ')'
14:43 colomon Confused at line 1, near "say &rt695"
14:44 colomon any notions?  I think all I've done is define Bool.perl....
14:53 colomon crazy, removing Bool.perl fixes it...
14:55 colomon rakudo: sub rt69516( :f($foo) ) { "You passed '$foo' as 'f'" }; say &rt69516.signature.perl
14:55 p6eval rakudo 1bd66d: OUTPUT«:(Any :f($foo)␤»
14:57 colomon > sub rt69516( :f($foo) ) { "You passed '$foo' as 'f'" }; say &rt69516.signature.perl
14:57 colomon :(Any :f($foo where Bool::True)
14:58 colomon jnthn: help?
14:59 bacek joined #perl6
15:00 bacek o hai
15:00 colomon o/
15:00 bacek rakudo: foo(/\b/, "{}")
15:00 p6eval rakudo 1bd66d: OUTPUT«Null PMC access in get_string()␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
15:00 bacek rakudo: foo(/\b/, "{$1}")
15:00 p6eval rakudo 1bd66d: OUTPUT«Method 'postcircumfix:<[ ]>' not found for invocant of class ''␤current instr.: '!postcircumfix:<[ ]>' pc 10518 (src/builtins/Role.pir:45)␤»
15:01 bacek interesting...
15:05 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
15:05 jnthn colomon: let me look
15:05 jnthn (sorry, packing is rather consuming me atm)
15:06 jnthn colomon: line 61 of Signature.pm is RONG.
15:06 ruoso joined #perl6
15:07 jnthn s/'1'/'Bool::True'/ should do it.
15:07 mikehh_ joined #perl6
15:08 colomon trying.
15:09 zostay joined #perl6
15:10 colomon \o/
15:11 stepnem joined #perl6
15:11 abra joined #perl6
15:13 colomon will push as soon as spectest passes (he said, fingers crossed)
15:14 lichtkind hacking should only be fun !!
15:14 nihiliad joined #perl6
15:20 jnthn Wow. While packing I just found tokens for the Minsk and Moscow metros!
15:21 Salada345 joined #perl6
15:23 wasy joined #perl6
15:29 colomon okay, changes pushed
15:29 colomon afk
15:30 hanekomu joined #perl6
15:33 dalek rakudo: 9efead6 | (Solomon Foster)++ | src/core/Bool.pm:
15:33 dalek rakudo: Add Bool.perl.
15:33 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​efead678a73291fba2614d6cc2ccabf4c73473d
15:33 dalek rakudo: bbe9441 | (Solomon Foster)++ | t/spectest.data:
15:33 dalek rakudo: Turn on S02-literals/char-by-number.t and S02-names_and_variables/perl.t.
15:33 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​be944180664d163d03e01f183fe510ea349e365
15:33 dalek rakudo: af0424a | (Solomon Foster)++ | src/core/Signature.pm:
15:33 dalek rakudo: "Bool::True" instead of "1", as per jnthn.
15:33 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​f0424a732d60ee7262b0ae49dd06fa34d434366
15:47 Psyche^ joined #perl6
15:52 pmurias joined #perl6
15:52 pmurias hello
15:52 lichtkind pmurias: hai
15:54 ignacio_ joined #perl6
16:04 justatheory joined #perl6
16:04 riffraff joined #perl6
16:05 alester joined #perl6
16:13 uniejo joined #perl6
16:15 jaldhar joined #perl6
16:25 f00li5h[HireMe] joined #perl6
16:40 masak slow business today. :)
16:41 masak can someone give me a really juicy use case for Perl 6 macros?
16:42 Su-Shee can't you take a famous lisp macro use case and translate it?
16:42 masak good idea.
16:42 masak can someone give me a really juicy LISP macro use case? :P
16:42 Su-Shee *haha* :))
16:42 masak outsourcing ftw. :)
16:43 jnthn Only if it produces results. :-)
16:43 Su-Shee I have to prepare perl 6 developer lessons.
16:45 xomas joined #perl6
16:50 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:51 masak actually, there's seemingly a whole family of those with-* macros: with-open-file, with-output-to-string, with-timeout, etc. http://weitz.de/macros.lisp
16:52 TimToady obviously we need metamacros...
16:53 payload1 left #perl6
16:54 TimToady we could call them, oh, monads, or something
16:54 * masak hides
16:55 Tene http://weitz.de/macros.lisp details with-transaction
16:55 Tene I don't see what the advantage of with-transaction as a macro is over with-transaction as a function
16:56 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
16:56 masak could be worse :)
16:57 colomon heh.
16:57 colomon one thing I've been wondering... an awful lot of the trig functions are exactly identical modulo a string change.
16:57 colomon so Any.sin is
16:58 colomon multi method sin($x) { $x.Num.sin; }
16:58 colomon Any.cos is
16:58 colomon multi method cos($x) { $x.Num.cos; }
16:58 colomon etc.
16:58 colomon (actually, that leaves out the $base argument, but the end result is exactly the same.)
16:58 colomon It would be pretty awesome if Perl 6 had a way to say
16:58 masak can that be made into a macro?
16:59 masak that would be kinda neat?
16:59 masak s/\?/./
16:59 colomon for <sin cos tan etc> -> $function multi method $function($x) { $x.Num.$function }
16:59 colomon Yeah, I don't know if that's a macro thing or not.
16:59 colomon but thought it might be worth mentioning.  :)
17:00 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.
17:00 jnthn Because...what TimToady sai.d
17:01 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}}} } }
17:01 TimToady multi method ::($function)() or some such
17:01 masak would that work?
17:01 TimToady no
17:01 * masak suspected that :)
17:02 masak I'm kind of a Perl 6 macro n00b.
17:02 TimToady you're using quasi unquoting gwithout a quasi quote
17:02 masak oh.
17:02 * masak reads up
17:03 masak macro add_trig($name) { quasi { multi method {{{$name}}}($x) { $x.Num.{{{$name}}} } } }
17:03 masak how about now?
17:03 TimToady but it looks like you're trying to do an unhygienic macro anyway with text substitution
17:04 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
17:04 masak so, is there no good way to do this, or have I just not stumbled upon it yet?
17:04 TimToady at a minimum, you might have to convert $name into something different for the one spot than the other
17:05 TimToady deflongname vs methodname, or some such
17:06 TimToady whatever it is that the parser expects at that point
17:07 Tene macro statement_control:sym<when>($cond, $body) { quasi { if $_ ~~ {{{ $cond }}} { {{{ $body }}} } } }
17:07 Tene Look, it has a lot of trailing close symbols!  It *must* be lisp!
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
17:08 Tene 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.
17:08 Tene debug(get_expensive_but_unnecessary($arg))
17:09 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
17:09 TimToady not that unquote would work in a ""
17:10 TimToady 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}}}) } } }
17:10 TimToady no problem in CS that can't be solved by another layer of curlies...
17:10 colomon except the problem of too many curlies!  ;)
17:10 TimToady yes, well, we'll change 'em all to parens
17:11 TimToady that should make it readable... :/
17:11 Tene macro open($n) { '{' x $n }
17:11 Tene etc.
17:11 colomon Ugh.  If I wanted that, I'd just program in LISP.
17:13 TimToady speaking of FP, I think the FP view is what will be the sane approach to the array/list/iterator thing
17:14 TimToady 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 TimToady and whether or not @foo keeps values is entirely a GC issue
17:15 TimToady 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:16 TimToady and iterators are always just pointers into an existing list, so in a sense are always cloned
17:18 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)␤»
17:18 colomon you had me nodding up until that last one.
17:18 TimToady so both shift and get are basically just following CDR in the FP mentality
17:19 colomon right now iterators are very definitely NOT always pointers into an existing list.
17:19 colomon and a whole lot of the current concepts are broken if that is the case.
17:19 TimToady it only exists in the abstract :)
17:20 TimToady 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 TimToady $ doesn't, and @ does.
17:21 TimToady more generally, Iterable clones whenever you pull and Interator from it
17:22 TimToady s/Int/It
17:22 colomon "whenever you pull an Iterator"  ?
17:23 colomon (ie s/and/an/ too?)
17:23 TimToady nod
17:24 TimToady 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.
17:24 TimToady but we already tell people they can't change an array while iterating it, or undefined things happen
17:24 colomon or rather, it seems doable, but might be a terrible can of worms for an implementation.
17:24 TimToady so the array is effectively immutable while iterating
17:25 colomon I'm thinking of the lines("hugefile") case.
17:25 colomon 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.
17:26 TimToady that's what @ promises, I think, in which case don't use @
17:26 colomon but $ wouldn't promise that?
17:26 TimToady or we spec when the static analysis can throw undef @
17:27 TimToady let's say, that's what Positional promises
17:27 TimToady and @ requires a Positional by binding or coercing
17:27 TimToady so an Array is still intrinsically Positional, even if passed as $
17:28 TimToady but binding a list to @ needs a Positional upgrade/delegation of some sort
17:28 TimToady which is sort of where we started, with binding @
17:29 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
17:30 TimToady a non-positional just fails to bind to @
17:30 TimToady seems pretty clean
17:31 TimToady will think more about this, of course...
17:31 TimToady but I rather like the notion of information destruction staying in the domain of GC, to the extent we can make that automatic
17:32 TimToady and multiple iterators pointing into the same overall data (likely with some sops thrown in here and there for mutability)
17:33 TimToady 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).
17:34 TimToady for now we can just say, if you iterate and mutate, it's erroneous
17:34 TimToady that's the Coolish @ upgrade; you poke the iterator in as the imaginary part of the @
17:35 TimToady rather, a clone of that iterator, i think
17:35 colomon has to be the original iterator I think.
17:35 TimToady cloning iterators becomes a non-problem with immutable data
17:35 colomon many iterators aren't clonable.
17:35 TimToady the ones that aren't have to be used carefully
17:36 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 #perl6
17:37 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.
17:37 TimToady but I think that can be explicit in the Anyish upgrade
17:38 TimToady 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?
17:38 TimToady we can think about making binding more magical if we find we're writing too many upgrade methods
17:38 * diakopter tries to lower my obtuse dial .oO( which way does it turn again? )
17:39 TimToady diakopter: you need to have read several days of backlog
17:39 TimToady and know all of OO and FP :)
17:39 diakopter hm.
17:39 TimToady helps to be omnicient too
17:39 diakopter speaking of.
17:39 TimToady *omniscient
17:40 payload joined #perl6
17:40 diakopter all these newfangled terms
17:43 TimToady so basically, in this view, @foo := 1..1000 simply fails to bind
17:46 TimToady @foo := [1..1000] would be fine though
17:46 colomon oooooo, TimToady++
17:47 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
17:47 TimToady (see type theory :)
17:48 TimToady and Haskell, for an extreme example :)
17:50 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)␤»
17:50 diakopter man is but beast
17:53 szabgabx joined #perl6
17:53 lichtkind joined #perl6
17:54 PerlJam joined #perl6
18:00 TimToady std: [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[​[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
18:00 p6eval std 29899: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unable to parse array composer; couldn't find final ']' at /tmp/olFPus3TCM line 1 (EOF):␤------> [32m[[[[[[[[[[[[[[[[[[[[[[[[[[[​[[[[[[[[[[[[[[33m⏏[31m<EOL>[0m␤    expecting any of:␤       prefix or term␤   semicolon list␤   statement list␤FAILED
18:00 p6eval ..00:01 115m␤»
18:02 TimToady ah, yes, it limits context to 40 chars on either side
18:06 b_jonas joined #perl6
18:07 ShaneC joined #perl6
18:07 diakopter rakudo: say "d" ~~ m{{{::booyah}}d}
18:07 p6eval rakudo af0424: OUTPUT«d␤»
18:08 diakopter std: say "d" ~~ m{{{::booyah}}d}
18:08 p6eval std 29899: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unrecognized regex metacharacter (must be quoted to match literally) at /tmp/jRPrEPEi4b line 1:␤------> [32msay "d" ~~ m{{{::booyah[33m⏏[31m}}d}[0m␤    expecting any of:␤  quantifier␤       regex atom␤FAILED 00:01 106m␤»
18:09 diakopter I don't know which to believe
18:09 Chillance joined #perl6
18:10 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)␤»
18:10 colomon That's a new one on me.
18:11 colomon 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)␤»
18:11 diakopter rakudo: my Int $a; $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)␤»
18:11 diakopter hm
18:12 colomon I'm betting there's a check for Mu in there which now should be a check for Any.
18:12 colomon rakudo: my $a = Mu; say $a + 1
18:12 p6eval rakudo af0424: OUTPUT«No applicable candidates found to dispatch to for 'infix:<+>'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
18:13 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 #perl6
18:16 jaldhar joined #perl6
18:16 cosimo joined #perl6
18:19 f00li5h[HireMe] joined #perl6
18:19 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)␤»
18:20 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)␤»
18:20 colomon rakudo: my Any $a; say $a + 1
18:20 p6eval rakudo af0424: OUTPUT«Use of type object as value␤current instr.: 'perl6;Perl6Exception;throw' pc 14359 (src/builtins/Seq.pir:52)␤»
18:22 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)␤»
18:22 colomon rakudo: my Any $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)␤»
18:24 parrot joined #perl6
18:36 somekool joined #perl6
18:43 ruoso joined #perl6
18:56 _Jedai_ joined #perl6
18:57 bkeeler_ joined #perl6
19:01 jaffa4 joined #perl6
19:02 cosimo joined #perl6
19:05 f00li5h[HireMe] joined #perl6
19:07 parrot joined #perl6
19:07 stephenlb joined #perl6
19:13 colomon joined #perl6
19:21 pugssvn r29900 | colomon++ | [t/spec] Convert a couple of Rats to the Nums they were intended to be.
19:21 hercynium joined #perl6
19:22 colomon rakudo: my @foo; say @foo[0].WHAT
19:23 p6eval rakudo af0424: OUTPUT«Proxy()␤»
19:23 colomon rakudo: my $foo; say $foo.WHAT
19:23 p6eval rakudo af0424: OUTPUT«Any()␤»
19:25 pyrimidine joined #perl6
19:26 pugssvn r29901 | colomon++ | [t/spec] Refudge for Rakudo, and change Mu to Any in descriptions according to latest spec change.
19:27 meppl joined #perl6
19:29 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:31 colomon rakudo: my @a = 1, 3, 2; @a .= sort; say @a
19:31 p6eval rakudo af0424: OUTPUT«123␤»
19:32 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)␤»
19:33 colomon rakudo: say ~(1, 2, 3)
19:33 p6eval rakudo af0424: OUTPUT«3␤»
19:34 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)␤»
19:34 colomon my @b = <foo 123 bar 456 baz>; @b.grep({/<[a..z]>/}).eager.perl.say
19:35 colomon 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")␤»
19:35 colomon rakudo: say "123" ~~ /<[a..z]>/
19:35 p6eval rakudo af0424: OUTPUT«␤»
19:35 rgrau joined #perl6
19:40 ignacio_ joined #perl6
19:41 pugssvn r29903 | colomon++ | [t/spec] Unfudge a bunch of tests, fudge a bunch more.
19:52 masak joined #perl6
19:52 masak o/
19:52 dalek rakudo: 64e4d36 | (Solomon Foster)++ | t/spectest.data:
19:52 dalek rakudo: Turn on bit.t, equality.t, increment.t, and inplace.t, all in S03-operators.
19:52 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​4e4d3654e0ead6cfe02ad42bbed6873690c9783
19:54 diakopter masak:
19:55 masak diakopter:
19:56 pugssvn r29904 | colomon++ | [t/spec] Unfudge a couple of passing tests.
20:00 pochi joined #perl6
20:01 diakopter rakudo: say (^Inf).WHAT
20:01 p6eval rakudo af0424: OUTPUT«Range()␤»
20:01 diakopter rakudo: say (^Inf).iterator
20:01 p6eval rakudo af0424:  ( no output )
20:01 masak what should that produce?
20:02 diakopter dunno
20:04 diakopter std: say (^^0)
20:04 p6eval std 29903: OUTPUT«[31m===[0mSORRY![31m===[0m␤Preceding context expects a term, but found infix ^^ instead at /tmp/4TycNZNoIV line 1:␤------> [32msay (^^[33m⏏[31m0)[0m␤FAILED 00:01 105m␤»
20:04 diakopter rakudo: say (^^0)
20:04 p6eval rakudo af0424: OUTPUT«␤»
20:04 * masak submits rakudobug
20:04 diakopter :)
20:05 diakopter did that get a [WEIRD] marker?
20:05 masak hm... good question.
20:05 diakopter ltm fail, it seems
20:06 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
20:06 p6eval rakudo af0424: OUTPUT«Method 'batch' not found for invocant of class 'Range'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
20:06 colomon rakudo: say (^Inf).iterator.batch(10).perl
20:06 TimToady there's a specific rule disallowing prefix:<^^>
20:06 p6eval rakudo af0424: OUTPUT«(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)␤»
20:06 diakopter colomon: ah
20:06 TimToady token prefix:sym<^^>
20:06 TimToady { <sym> <.badinfix> <O(|%symbolic_unary)> }
20:07 riffraff joined #perl6
20:07 colomon diakopter: I guess an iterator doesn't properly stringify, fails or somesuch?
20:09 colomon 25276 passing tests now.
20:10 masak \o/
20:10 masak colomon++
20:11 colomon That's today's share of the deathmarch to 35000 done.  ;)
20:12 jnthn .oO( But I don't want to die in April! That means I miss the Perl Workshop in Iceland! )
20:17 colomon joined #perl6
20:19 pugssvn r29905 | lwall++ | [STD] make indirect methods not complain like they used to didn't
20:19 TimToady std: foo 42:
20:19 p6eval std 29903: OUTPUT«Undeclared routine:␤   'foo' used at line 1␤ok 00:01 106m␤»
20:19 TimToady that should fix itself now
20:22 payload joined #perl6
20:23 colomon jnthn: Any thoughts on the +Mu / +Any issue?
20:25 colomon alpha: my $a; say +$a
20:25 p6eval alpha 30e0ed: OUTPUT«Use of uninitialized value␤0␤»
20:25 colomon rakudo: my $a; say +$a
20:25 p6eval rakudo 64e4d3: OUTPUT«Use of type object as value␤current instr.: 'perl6;Perl6Exception;throw' pc 14359 (src/builtins/Seq.pir:52)␤»
20:29 PerlJam That "Use of type object..." message is our new "Null PMC access" message  :)
20:35 payload left #perl6
20:39 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:41 jonasbn joined #perl6
20:41 SmokeMachine joined #perl6
20:43 jaldhar joined #perl6
20:44 jaldhar joined #perl6
20:45 ash_ joined #perl6
20:48 ash_ hmmm, i just found an odd bug
20:50 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
20:51 ash_ 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.
20:51 ash_ oh
20:51 ash_ maybe i haven't updated
20:51 jnthn ash_: Are you running latest?
20:51 jnthn Ah, ok
20:51 ash_ let me check
20:51 ash_ nome,  i was not, nevermind then
20:52 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?
20:52 p6eval rakudo 64e4d3: OUTPUT«1.900000000000000133​23␤1.89999999999999991118␤»
20:53 ash_ s/1.3/any decimal/
20:54 TimToady yes, presumably
20:55 ash_ gotcha, just curious
20:55 TimToady rakudo: say 1.9.WHAT
20:55 p6eval rakudo 64e4d3: OUTPUT«Rat()␤»
20:55 TimToady rakudo: 1.9.fmt("%.20f").say
20:55 p6eval rakudo 64e4d3: OUTPUT«1.89999999999999991118␤»
20:56 TimToady rakudo: 1.9.Num.say
20:56 p6eval rakudo 64e4d3: OUTPUT«1.9␤»
20:56 TimToady uses a smaller %f
20:56 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
20:56 ash_ rakudo: 1.9.Num.fmt("%.20f").say;
20:56 p6eval rakudo 64e4d3: OUTPUT«1.89999999999999991118␤»
20:57 ash_ hmm
20:57 TimToady fmt is already converting to float, so the Num is redundant
20:57 TimToady well, other order, but you know what I mean
20:57 ash_ yeah
20:58 ash_ %f eventually converts to a float/double in C somewhere under the hood
20:58 ash_ and thats when it gets inaccurate (probably) when compared to a rat i'd imagine
20:59 ash_ rakudo: (1.8 + 0.1.Num).fmt("%.20f").say;
20:59 p6eval rakudo 64e4d3: OUTPUT«1.90000000000000013323␤»
21:09 pugssvn r29906 | colomon++ | [t/spec] Fudge failing function.
21:11 SandroToronto joined #perl6
21:17 tjc joined #perl6
21:20 tlb joined #perl6
21:20 colomon so.... is there really supposed to be a so method?
21:22 colomon 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 #perl6
21:24 TimToady std: foo 42:
21:24 p6eval std 29905: OUTPUT«ok 00:01 108m␤»
21:24 TimToady that's better
21:25 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
21:25 b_jonas foo is a real method or what?
21:26 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:
21:26 TimToady correct
21:26 TimToady push @x: 1,2,3  for instance, is just @x.push(1,2,3)
21:27 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
21:27 pugssvn r29907 | colomon++ | [t/spec] Refudge for Rakudo.
21:27 TimToady not that an exists method is spec
21:28 ash_ b_jonas: std: is for validating syntax according to the spec, its not actually running the program
21:28 TimToady mildew: 42.foo
21:28 p6eval mildew: OUTPUT«Can't open perl script "mildew": No such file or directory␤»
21:29 TimToady sprixel: 42.foo
21:29 p6eval sprixel 29906:  ( no output )
21:29 ash_ perl6: say 5;
21:29 b_jonas ash_: ah, I see
21:29 ash_ i think perl6 still does all of them, i think...
21:29 p6eval elf 29907, pugs, rakudo 64e4d3: OUTPUT«5␤»
21:30 ash_ or tries to
21:30 TimToady pugs: foo 42:
21:30 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 #perl6
21:30 TimToady vill: foo 42:
21:31 TimToady guess it's not evalbotified
21:31 TimToady anyway, mildew would in theory be running STD's parser
21:35 TimToady $geezer-state .= nap();
21:36 eternaleye joined #perl6
21:38 diakopter std: foo 42
21:38 p6eval std 29906: OUTPUT«Undeclared routine:␤   'foo' used at line 1␤ok 00:01 105m␤»
21:39 dalek rakudo: 5e5969d | (Solomon Foster)++ | t/spectest.data:
21:39 dalek rakudo: Turn on S04-statements/ given.t and if.t.
21:39 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​e5969dc1cda0f01dab42cd75aae962ca3a271c3
21:43 ash_ does === use a function kinda how ~~ uses X.ACCEPTS($_)
21:46 supernovus joined #perl6
21:52 jaldhar joined #perl6
21:59 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".
22:00 PerlJam ash_: do you think that it should?
22:04 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). http://github.com/supernovus/SCGI
22:06 somekool joined #perl6
22:12 m-locks supernovus: got any web apps written on that?
22:16 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:19 m-locks so that one works with rakudo?
22:20 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?
22:20 m-locks oh ok, i think i have the new master
22:20 m-locks i was actually unable to build the alpha release, for reasons unknown to me
22:21 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
22:22 pyrimidine and the same issue with @*INC
22:22 colomon supernovus: I believe @*INC came on-line in Rakudo master two days ago.  :)
22:23 supernovus colomon: I'm going to go and update my copy of master! :-)
22:23 m-locks git pull
22:24 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:32 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:37 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:42 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:43 colomon m-locks: do you have current rakudo running on snow leopard?
22:44 m-locks aye, its building right now
22:44 m-locks has worked since that february release
22:44 colomon \o/
22:45 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.  :)
22:45 m-locks rakudo works, not sure about all the other software
22:45 bkeeler_ I use snow leopard + rakudo with no problems
22:46 pyrimidine left #perl6
22:47 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 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:50 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.
22:50 bkeeler_ I haven't messed with apache on snow  leopard at all, sorry
22:51 m-locks aye, ok
22:52 ash_ i have a bit, whats working/not working/should be working?
22:52 ash_ i am on 10.6, i rather like 10.6, i haven't had any issues with rakudo or parrot
22:53 m-locks not with rakudo, rather with apache
22:53 arnsholt Anyone going to Copenhagen around?
22:54 ash_ whats wrong with apache m-locks?
22:55 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'
22:55 m-locks i think i need to add some aliases
22:56 ash_ how are you starting the macports one?
22:57 m-locks sudo apachectl start
22:57 ash_ do a which on apachectl, which one is it? macports or system
22:58 spinclad joined #perl6
22:58 ash_ eh, i'll message you, no need to flood #perl6 with os x junk
22:58 m-locks aye
22:59 cosimo joined #perl6
23:01 m-locks newest rakudo fails lots of tests, btw
23:01 m-locks i think i'm gonna paste this bit somewhere when it's done
23:02 bkeeler joined #perl6
23:05 colomon m-locks: fails a lot of what tests?
23:06 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:10 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:11 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:12 m-locks make spectest
23:12 m-locks Failed 29/238 test programs. 418/25745 subtests failed.
23:13 ash_ which test failed?
23:13 ash_ i just ran spec test, i am not done, but i haven't seen any failures yet..
23:14 pmichaud good afternoon, #perl6
23:14 m-locks S03-operators/basic-types
23:15 bkeeler_ afternoon, pmichaud
23:15 m-locks gm pm
23:15 m-locks its almost morning here ;P
23:15 colomon o/
23:17 ash_ pmichaud: how does one go about making comparison for custom objects?
23:17 wknight8111 joined #perl6
23:18 m-locks probly have to make a new clone
23:19 m-locks paste too large :(
23:19 daemon joined #perl6
23:19 pmichaud ash_: what sort of comparison?
23:19 pmichaud ash_: but ultimately, I suspect overloading infix:<cmp>
23:19 ash_ equality?
23:20 pmichaud yes, likely overload infix:<cmp> for the type
23:20 pmichaud anyway, that's a good question to put into pm.txt, or ask p6l
23:20 ash_ does cmp have an associated function it calls? i know ~~ uses .ACCEPTS
23:20 pmichaud no, I'm not aware of one.
23:21 ash_ i guess i am weary of overloading common operators
23:21 snarkyboojum joined #perl6
23:21 pmichaud right, I understand.  Thus perhaps a post to p6l might be worthwhile :)
23:21 pmichaud I have to rush off -- bbl.
23:21 ash_ someone who's not in a rush, whats p6l?
23:21 diakopter the perl6-language mailing list
23:22 bkeeler_ And what's pm.txt?
23:22 ash_ ah, kk, thanks, i can do that
23:22 ash_ pm.txt a list of questions pm had for TimToady
23:22 ash_ s/a/is a/
23:22 m-locks well imma hit the sack now, but for those who are interested http://users.tkk.fi/~tisaar​i/rakudo_build_fails_tests
23:22 ash_ its in the pugs repo
23:23 diakopter http://perlcabal.org/svn/pugs/browse/misc
23:26 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:27 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?
23:27 supernovus return self.err("malformed netstring, expecting terminating comma, found \"$comma\"") if $comma ne ',';
23:28 m-locks colomon: might be, does the git pull / make spectest update those tests?
23:28 colomon make spectest should.
23:28 m-locks well i ran that
23:28 m-locks but now i'm on to building a new clone to see if its ok
23:28 colomon can you do
23:28 colomon svn info t/spec
23:28 m-locks umm no :D
23:28 m-locks cos i kinda deleted it
23:29 colomon aye, that does make it harder.  :)
23:35 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:44 supernovus I'm working around a few issues, but now I've found this:
23:44 supernovus In "has" declaration, typename IO::Socket must be predeclared (or marked as declarative with :: prefix) at line 84, near " $.socket "
23:46 supernovus Coming from a line: has IO::Socket $.socket = IO::Socket::INET.socket(2, 1, 6).bind($!addr, $!port).listen();
23:47 supernovus I worked around it by removing the type constraint for now, but it seems that there may be something up with that.

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo