Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-10-14

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 jrtayloriv joined #perl6
00:01 ihrd left #perl6
00:06 frew joined #perl6
00:13 cognominal rakudo: say   "\c[LATIN CAPITAL LETTER A, COMBINING RING ABOVE]"
00:13 p6eval rakudo 54cfe4: OUTPUT«Å␤»
00:13 jnthn \o/
00:15 jnthn OK, sleep time...
00:16 jnthn o/
00:21 pmichaud Your score: 506 CPM (that is 101 WPM)
00:23 pmichaud Your score: 562 CPM (that is 112 WPM)
00:24 cognominal rakudo: say   ord \c@
00:24 p6eval rakudo 54cfe4: OUTPUT«Confused at line 2, near "@"␤in Main (file <unknown>, line <unknown>)␤»
00:24 pmichaud rakudo:  say ord "\c@"
00:24 p6eval rakudo 54cfe4: OUTPUT«0␤»
00:25 cognominal oops
00:25 shinobi-cl left #perl6
00:29 rhr joined #perl6
00:41 synth joined #perl6
00:49 payload joined #perl6
00:50 eternaleye joined #perl6
00:59 rhr_ joined #perl6
01:01 revdiablo joined #perl6
01:03 Confield left #perl6
01:08 * avuserow hugs hugme
01:22 athomason joined #perl6
01:32 * diakopter shuffles groggily around
01:33 dalek nqp-rx: 4d50dbc | pmichaud++ | src/PAST/Compiler-Regex.pir:
01:33 dalek nqp-rx: Adjust zerowidth handling slightly in enumcharlist.
01:33 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/4d50dbc55f18fbeba27bd4814d91d83bfee44f32
01:33 dalek nqp-rx: 8c37aa5 | pmichaud++ | src/Regex/P6Regex/ (2 files):
01:33 dalek nqp-rx: Refactor backtracking modifiers, add :ratchet modifier.
01:33 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/8c37aa545ca49e182589792004852abe1a1784bf
01:38 nihiliad joined #perl6
01:40 mikehh_ joined #perl6
01:45 rhr joined #perl6
01:50 Confield joined #perl6
02:12 hercynium joined #perl6
02:17 shinobi-cl joined #perl6
02:19 FOAD_ joined #perl6
02:20 PZt joined #perl6
02:23 rhr_ joined #perl6
02:27 nbrown joined #perl6
02:28 KyleHa joined #perl6
02:37 shinobi-cl left #perl6
03:04 rhr joined #perl6
03:17 s1n joined #perl6
03:17 ShaneC joined #perl6
03:28 aerio joined #perl6
03:32 pugs_svn r28783 | kyle++ | [t/spec] Test for RT 65658
03:33 envi^home joined #perl6
03:50 diakopter hi channel
03:51 avuserow hello diakopter
03:55 iblechbot joined #perl6
04:02 envi^office joined #perl6
04:17 FOAD_ joined #perl6
04:28 eternaleye_ joined #perl6
04:37 zloyrusskiy joined #perl6
04:44 dalek nqp-rx: b9ea370 | pmichaud++ | src/Regex/P6Regex/Actions.pm:
04:44 dalek nqp-rx: Factor out creation of regex sub for <nibbler> nodes.
04:44 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/b9ea37067e54c7f267c0193beda88f3a5e341625
04:44 dalek nqp-rx: 3af996e | pmichaud++ | src/Regex/P6Regex/ (2 files):
04:44 dalek nqp-rx: Add regex parameters to named assertions.
04:44 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/3af996ea11a2dd9187118927fd854e33474c1b15
04:44 dalek nqp-rx: 9ca78a9 | pmichaud++ |  (2 files):
04:44 dalek nqp-rx: Add <before> builtin subrule.
04:44 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/9ca78a9b70be24427ddde99ce5a4309ba339c3f5
04:44 schemer999iphone joined #perl6
04:49 schemer999ipho-1 joined #perl6
04:55 schemer999ipho-2 joined #perl6
04:55 dalek nqp-rx: a3bc5aa | pmichaud++ |  (2 files):
04:55 dalek nqp-rx: Add <?> (null) and <!> (fail) assertions.
04:55 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/a3bc5aa215b0878c89e6ee7b701bc11a2b53a900
05:00 schemer999iphone joined #perl6
05:05 schemer999ipho-1 joined #perl6
05:10 schemer999ipho-2 joined #perl6
05:16 schemer999iphone joined #perl6
05:19 sjohnson im in your channel, readin yer messages
05:21 schemer999ipho-1 joined #perl6
05:26 schemer999ipho-2 joined #perl6
05:31 schemer999iphone joined #perl6
05:33 eternaleye joined #perl6
05:33 colomon Juerd: I believe they've moved several Newfoundland towns in the last fifty years.
05:37 schemer999ipho-1 joined #perl6
05:37 * sjohnson is from Canada too
05:47 * colomon is not from Canada (unless you mean ancestrally) but grew up on Michigan/Ontario border.
05:50 FOAD_ joined #perl6
05:57 JimmyZ joined #perl6
06:01 agentzh joined #perl6
06:08 diakopter std: my (%, $, $)
06:08 p6eval std 28783: OUTPUT«ok 00:02 105m␤»
06:11 edgar joined #perl6
06:31 kst joined #perl6
06:40 rfordinal joined #perl6
06:40 NorwayGeek joined #perl6
06:44 FOAD_ joined #perl6
06:48 moritz_ japhb: feel free to commit your changes, I'll review them and update the server as soon as I have Calendar::Simple installed (have to wait for my admin)
06:48 phenny moritz_: 13 Oct 22:35Z <japhb> tell moritz_ I have a version of channel-index.pl that produces *much* cleaner output, but: 1) It requires Calendar::Simple (should be easy, it's even packaged on Debian), and 2) To make testing easier, I reorganized some of the code, so the diff is most of the file.  Should I commit, send you a patch, send you the file, ...?
06:53 japhb Oh drat, I've forgotten my pugs repo auth info
06:55 NorwayGeek joined #perl6
06:56 japhb a-ha!  Think I've found it!
06:57 japhb Double drat.  Appears to be old password
06:59 japhb Anyone here have the power to reset my Pugs repo password (or have the correct URL to do so myself, the URL seems to have rotted)
07:00 moritz_ http://commitbit.pugscode.org/admin/project/Pugs/people
07:00 moritz_ http://commitbit.pugscode.org/prefs actually
07:01 japhb Wow, crazy slow
07:02 japhb Can't log in here, and no obvious way to request a reset
07:02 JimmyZ yes
07:02 JimmyZ It's really slow.
07:03 moritz_ japhb: are you 'geoffb' in the pugs repo?
07:03 japhb moritz_, yup
07:03 moritz_ japhb: ok, passwort re-sent
07:04 japhb moritz_, thanks ... now waiting for it to arrive on my end.  :-)
07:09 iblechbot joined #perl6
07:15 pugs_svn r28784 | geoffb++ | [irclog] cgi/channel-index.pl: Redesign calendar HTML generation
07:15 japhb Wheee
07:15 japhb finally
07:15 japhb Thanks again, moritz_
07:17 sjohnson can i have a small perl 6 task that would contribute to the cause?
07:17 sjohnson i was thinking of reading the camel book from cover to cover, if that might help
07:17 sjohnson but don't want to waste time if the paradigm has shifted considerably
07:19 payload joined #perl6
07:20 sjohnson i work fulltime, do quality check on anime, learn japanese and play pool on my freetime, but would like to squeeze some perl 6 work in
07:23 rfordinal joined #perl6
07:24 moritz_ sjohnson: it depends on what kind of task you want
07:24 moritz_ sjohnson: I usually recommend writing tests as a start
07:24 moritz_ and learn Perl 6 along the way
07:24 donaldh joined #perl6
07:24 moritz_ other options include writing mailing list summaries
07:25 moritz_ or writing modules, and reporting/discussing bugs along the way
07:26 rfordinal left #perl6
07:33 bigpresh_ joined #perl6
07:40 donaldh left #perl6
07:47 sjohnson moritz_: will do
07:48 Matt-W Morning
07:50 sjohnson hi matt
07:58 mariuz joined #perl6
07:59 mathw That's better. I never liked that hyphen.
08:04 sjohnson they don't call you math for nothing
08:04 sjohnson ( `ー´)
08:04 mathw Umm
08:04 sjohnson mathw == good at math
08:04 mathw Some parts of it
08:04 mathw Like... what's 2+"
08:04 mathw (a type error)
08:05 szabgab joined #perl6
08:06 mathw (har har. I'm so amusing at 9am on a boring meeting day)
08:06 sjohnson it's okay mathw , i've been there for those boring meets
08:06 sjohnson i try to spice it up anyway i can
08:06 * sjohnson has been there
08:07 sjohnson i feel asleep when i was hired as a programmer for a provincial power company
08:07 sjohnson and i actually fell asleep during it
08:07 moritz_ japhb: http://irclog.perlgeek.de/perl6/ that's a wee bit empty now...
08:08 mathw It's not so much boring as frustrating. We're going to go in there and there'll be pointless bickering.
08:08 sjohnson and then someone directed the vonersation at me, and i tried my best to regain my composure
08:08 mathw I'm going to do my usual strategy and sit in the corner and doodle
08:12 sjohnson you need to fire the capgun off
08:12 sjohnson and pretend you didn't do it
08:12 rfordinal3643 joined #perl6
08:12 sjohnson i was working at a ski hill as a programmer, and when my buddy who knows a lot more than i do about electricity took apart an electrical panel to install a power surge
08:13 sjohnson i planned a week in advance to bring a capgun to work with the red circular ammo, and when the box was off, i pretended to meddle around with a screwdriver at the live wires
08:13 sjohnson and fired the capgun using a bit of sleight of hand
08:14 mathw That sounds like far too much effort
08:14 sjohnson probably, but i don't regret it
08:15 sjohnson ... probably not a good way to spice up the boring meetings though :(
08:15 mathw No
08:15 mathw We're already going to have to put up with a fire alarm test half an hour in
08:15 mathw Mumble mumble
08:16 sjohnson i hope this doesn't sound offending
08:16 sjohnson offensive*
08:16 JimmyZ oh irclog losts Calendar.
08:16 moritz_ japhb: in particular my $dates in the sub get_channel_index is an empty array
08:16 sjohnson but my brother worked as a java programmer in a really red-tape type place, and their hired a handicap... and during these kind of boring meetings that no one liked
08:16 sjohnson he yelled "BORRRRING"
08:17 sjohnson and i think they started to realize what a waste of time it was
08:17 sjohnson this is also a true story, as hard as it is to believe
08:17 mathw Maybe I should stop resisting the urge to shout 'get on with it'
08:17 Trinity94 everyone's so afraid to speak their mind :P
08:18 sjohnson pretty much
08:18 sjohnson a good friend of mine's dad is a retired successful businessman, but he insists on too many needless meetings where nothing is accomplished
08:18 sjohnson and we both believe it is a complete waste of time, in the name of formality
08:19 sjohnson .. now go get 'em, tiger.
08:19 sjohnson ( `ー´)
08:21 pugs_svn r28785 | moritz++ | [irclog] channel names begin with '#'
08:22 lumi joined #perl6
08:27 pugs_svn r28786 | moritz++ | [irclog] the link needs to include the full date, not just the day
08:27 moritz_ calendars are back.
08:28 mathw hurrah
08:30 pugs_svn r28787 | moritz++ | [irclog] a bit more space around calendars
08:31 pugs_svn r28788 | moritz++ | [irclog] whoa, that was way too much space, moritz--
08:33 JimmyZ It's a bit orderless.
08:34 moritz_ the problem is that the tables are of different heights
08:34 moritz_ which confuses the floating
08:34 moritz_ any idea how to fix that?
08:35 moritz_ any CSS hackers about? :-)
08:36 eMaX joined #perl6
08:49 dakkar joined #perl6
08:51 JimmyZ moritz_: add     height:210px;
08:52 moritz_ JimmyZ: that will work for some font sizes, and breaks horribly for all others
09:04 Trey joined #perl6
09:19 am0c joined #perl6
09:49 jnthn morning
09:54 JimmyZ inthn: morning
09:54 JimmyZ s/inthn/jhnthn/ ;)
09:56 NorwayGeek joined #perl6
09:57 am0c OH HAI
09:57 rfordinal3643 left #perl6
09:57 nbrown_ joined #perl6
09:59 mj41_ http://rakudo.de/  +16000 new tests?
10:00 jnthn mj41_: Ano. :-)
10:02 mj41_ Skvele.
10:03 JimmyZ oh, it is jnthn ;)
10:04 jnthn JimmyZ: There's always tab completion. ;-)
10:04 JimmyZ aha, good to know, thanks
10:11 orafu joined #perl6
10:15 moritz_ mj41_: yes
10:19 payload joined #perl6
10:28 pugs_svn r28789 | jimmy++ | [zh-cn/syn/S02-bits.pod] adde random translations, they need be read from cover to cover to give the correct one.
10:59 dalek rakudo: 3eceb87 | moritz++ | docs/ChangeLog:
10:59 dalek rakudo: [docs] update ChangeLog
10:59 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3eceb8732968f209584480588557cc63ff24761a
11:06 jnthn Test question.
11:06 jnthn In given.t
11:06 jnthn sub always_true { Bool::True }
11:06 jnthn given 1 {
11:06 jnthn when &always_true { $x++ }
11:06 jnthn }
11:06 jnthn We get away with this in Rakudo since...
11:06 jnthn rakudo: sub always_true { Bool::True }; always_true(1)
11:06 p6eval rakudo 54cfe4:  ( no output )
11:07 jnthn However, that now dies, saying there were too many params passed.
11:07 moritz_ that means that Code.ACCEPTS must be smarter
11:07 moritz_ and doesn't pass any argument when the closure doesn't accept one
11:07 jnthn OK, you've answer my question of where do we put the logic to fix this. :-)
11:08 jnthn ah yes
11:08 jnthn method ACCEPTS(Object $topic) {
11:08 jnthn self($topic);
11:08 jnthn }
11:09 jnthn self.arity == 0 ?? self() !! self($topic)
11:09 jnthn Is that probably smart enough?
11:09 moritz_ I'd think so
11:09 moritz_ spectest will tell :-)
11:09 jnthn Let's see how it does
11:09 jnthn Well, spectest tells lots of things at the moment. ;-)
11:10 jnthn Some of them are real issues in the new binder. A few things have just turned out to be that it has less, or at least different, bugs to the Parrot one.
11:11 jnthn And in places we relied on them.
11:11 jnthn I fear people are going to have relied on a few of them in their apps too. We'll find out.
11:13 jnthn oh youch!
11:13 jnthn Infinite recursion.
11:13 jnthn oh...arity uses grep, which uses code.ACCEPTS, which uses arity..
11:14 moritz_ heh :-)
11:14 jnthn I shoulda known to implement that less...interestingly. :-)
11:14 moritz_ I guess .arity could be more primitive
11:15 jnthn aye, doing that :-)
11:16 jnthn Let's see how this works out. :-)
11:16 jnthn It's not always good to be idiomatic.
11:18 carlin rakudo: class Foo { method bar { Quux.parse('OH HAI'); } }; grammar Quux { rule TOP { .* } }; Foo.bar;
11:19 p6eval rakudo 54cfe4: OUTPUT«invoke() not implemented in class 'Capture'␤in Main (file src/gen_setting.pm, line 206)␤»
11:19 envi^home joined #perl6
11:19 moritz_ that's a less-than-awesome error message, but you're not allowed to use Quux until it's declared
11:21 carlin Yeah, I thought that was the problem but the error didn't help much
11:21 zloyrusskiy joined #perl6
11:21 jnthn huh. given.t still fails tests (but at least doesn't explode now)
11:21 moritz_ carlin: feel free to ticket it
11:21 jnthn What would std do?
11:22 carlin moritz_: Okay
11:22 moritz_ std: class Foo { method bar { Quux.parse('OH HAI'); } }; grammar Quux { rule TOP { .* } }; Foo.bar;
11:22 p6eval std 28789: OUTPUT«Illegally post-declared type:␤ Quux used at line 1␤ok 00:02 109m␤»
11:23 moritz_ it would give an awesome error message, of course!
11:23 jnthn std++
11:30 masak joined #perl6
11:31 masak ahoj, #perl6 butterflies.
11:31 zloyrusskiy joined #perl6
11:31 masak er. ahojte, rather.
11:32 moritz_ lolitsmasak
11:33 frederico joined #perl6
11:33 masak \o/
11:33 masak nice to be back.
11:33 jnthn ahoj, masak
11:34 jnthn masak++ # knowing when to use ahoj and ahojte
11:34 masak jnthn! \o/
11:34 masak jnthn: it's -te when there are, like, several.
11:34 jnthn masak: *nod*
11:34 masak I've just seen you use it that way.
11:34 jnthn :-)
11:35 * jnthn is busily fixing stuff in resig
11:35 jnthn Actually I'm currently doing a refactor I put off before.
11:35 jnthn We'll get signature literals producing something non-explosive (though also not yet useful...) out of it too. :-)
11:36 masak found a bug this morning.
11:36 masak rakudo: sub foo {}; &foo !~~ Sub
11:36 moritz_ p6eval is currently a bit under stress of a fork bomb :(
11:36 masak :/
11:36 jnthn forking hell!
11:37 moritz_ it seems we loosened resource limits too much while trying to get sprixel to work
11:37 jnthn :-|
11:37 masak :/
11:37 masak it was definitely too small before.
11:37 masak but maybe that was on the old server.
11:40 am0c joined #perl6
11:43 masak Your score: 338 CPM (that is 68 WPM)
11:43 masak need to learn Dvorak and beat that score. :)
11:44 jnthn masak: ooh, I beat you...by a little. :-)
11:44 * masak is not surprised
11:44 moritz_ I did it twice, and had about 300 and 360 CPM
11:44 moritz_ so on average the same as masak :-)
11:45 masak we're like twins!
11:45 masak http://en.wikipedia.org/wiki/Max_and_Moritz
11:45 moritz_ surprisingly that's no news to me :-)
11:46 jnthn "highly inventive, blackly humorous tale" :-)
11:46 moritz_ when somebody asks "and where is Max?" I just tell them an integer, which is the count of how often I've been asked that before
11:46 moritz_ since I started counting, that is
11:46 masak well, now you know.
11:47 jnthn moritz_: Where is Max?
11:47 masak :)
11:47 moritz_ jnthn: 18
11:47 masak that's not too much.
11:47 jnthn No, it's not.
11:48 masak I thought it'd be like 214 or something.
11:48 moritz_ no, haven't started counting until after I left school
11:48 moritz_ otherwise it'd be much higher
11:48 moritz_ everybody in Germany knows about max and moritz
11:48 masak moritz_: if you'd started at school, I bet you'd have ended up in a near-infinite loop with someone at some point. then the number'd be -much- higher.
11:49 moritz_ masak: not being a bot like you, I have some filters against that kind of data skewing :-)
11:49 * masak boggles
11:50 jnthn masakbot is fine, just don't turn off safe mode.
11:51 * jnthn slurps his coffee while his changes compile, and hopes they won't be epic fail
11:52 masak I didn't see any forkbombs in the backlog.
11:52 moritz_ different channel, different server
11:53 masak oh.
11:54 jnthn ohnoes massive fail
11:55 masak it times like this, it might be a comfort to remember: it's not the tests' failt, it's your fault.
11:55 masak oh wait.
11:55 jnthn :-P
11:55 masak that's not comfort. that's the other thing.
11:55 jnthn I'm kinda looking at the PIR we're generating and thinking...huh wtf... :-)
11:57 zamolxes joined #perl6
11:57 masak I'm looking at a fun case of calling a routine stored in a hash, and the instruction pointer just... disappears. very odd.
12:00 masak the only clue I have is that the method no longer identifies itself as a Mathod, but as a Sub.
12:00 lumi joined #perl6
12:01 jnthn masak: oh, ouch
12:01 masak jnthn: interesting, huh?
12:02 moritz_ instruction pointer?
12:02 masak moritz_: the little spark that runs around and executes code. whatever.
12:02 moritz_ you mean on CPU level?
12:02 masak no.
12:02 masak I mean I put debug statements at lines of code, and at some point, they just stop being printed.
12:03 masak and I get no signs of life from any branch of possible execution.
12:04 moritz_ so it hangs somewhere
12:04 masak no.
12:04 masak it runs to completion.
12:04 masak it just does it with some weird sort of quantum tunneling.
12:04 moritz_ does it use a precompiled PIR thing instead of the real thing somewhere? :-)
12:04 masak no.
12:05 masak hm, false alarm on the Method --> Sub metamorphosis, it seems.
12:05 masak seems I'm indulging in wishful thinking here. :)
12:06 masak ah. tests started passing again. order is restored.
12:06 masak masak-- # false alarms
12:19 dukeleto joined #perl6
12:20 dukeleto seems like feather.perl6.nl is down, anybody heard anything?
12:21 moritz_ @seen Juerd
12:21 lambdabot Unknown command, try @list
12:21 moritz_ seen Juerd
12:21 moritz_ @list
12:21 lambdabot http://code.haskell.org/lambdabot/COMMANDS
12:21 NorwayGeek_ joined #perl6
12:21 masak lambdabot used to be able to do @seen.
12:21 moritz_ and that list also has 'seen'
12:21 masak lambdabot--
12:22 moritz_ lambdabot-- indeed
12:22 moritz_ @karam lambdabot
12:22 lambdabot Maybe you meant: karma karma+ karma-
12:22 dukeleto moritz: i just emailed juerd as well
12:22 moritz_ dukeleto++
12:22 moritz_ phenny: karma dukeleto
12:23 moritz_ @karma dukeleto
12:23 lambdabot dukeleto has a karma of 3
12:23 moritz_ @karma lambdabot
12:23 lambdabot lambdabot has a karma of 41
12:23 dukeleto @karma leto
12:23 lambdabot leto has a karma of 6
12:34 moritz_ rakudo: say 1
12:36 masak EFORKBOMB
12:36 JimmyZ joined #perl6
12:37 Trinity94 joined #perl6
12:37 huf_ joined #perl6
12:40 p6eval_ joined #perl6
12:40 moritz_ rakudo: say 1
12:40 p6eval_ rakudo 3eceb8:  ( no output )
12:40 moritz_ sh: fork: Resource temporarily unavailable
12:41 moritz_ rakudo: say 1
12:41 p6eval_ joined #perl6
12:41 moritz_ rakudo: say 1
12:41 p6eval_ rakudo 3eceb8: OUTPUT«1␤»
12:43 masak rakudo: sub foo {}; &foo !~~ Sub
12:43 p6eval_ rakudo 3eceb8: OUTPUT«Class P6protoobject already registered!␤in Main (file src/gen_setting.pm, line 206)␤»
12:43 * masak submits rakudobug
12:44 masak rakudo: class A { method foo {} }; &A::foo !~~ Method
12:44 p6eval_ rakudo 3eceb8: OUTPUT«Class P6protoobject already registered!␤in Main (file src/gen_setting.pm, line 206)␤»
12:44 moritz_ rakudo: say 2 !~~ Int
12:44 p6eval_ rakudo 3eceb8: OUTPUT«0␤»
12:44 mathw Weird
12:45 masak aye
12:45 masak rakudo: say 2 !~~ Sub
12:45 p6eval_ rakudo 3eceb8: OUTPUT«Class P6protoobject already registered!␤in Main (file src/gen_setting.pm, line 206)␤»
12:45 masak it's the RHS that causes the trouble
12:45 mathw Does it do it with other code-y classes?
12:46 masak please check. :)
12:46 moritz_ rakudo: say 2 !~~ Block
12:46 p6eval_ rakudo 3eceb8: OUTPUT«Class P6protoobject already registered!␤in Main (file src/gen_setting.pm, line 206)␤»
12:46 moritz_ rakudo: say 2 !~~ Code
12:46 p6eval_ rakudo 3eceb8: OUTPUT«Class P6protoobject already registered!␤in Main (file src/gen_setting.pm, line 206)␤»
12:46 moritz_ rakudo: say 2 !~~ Routine
12:46 p6eval_ rakudo 3eceb8: OUTPUT«Class P6protoobject already registered!␤in Main (file src/gen_setting.pm, line 206)␤»
12:46 mathw Yes then
12:46 moritz_ pretty much, yes :-)
12:46 mathw I would have checked, but I couldn't remember the class names
12:46 masak moritz_++ # remembers
12:46 * mathw looks at them, trying to burn them into his memory
12:47 moritz_ rakudo: say 2 !~~ Callable
12:47 p6eval_ rakudo 3eceb8: OUTPUT«1␤»
12:47 moritz_ heh
12:52 carlin Are $!private attributes automatically rw?
12:52 masak yes.
12:53 carlin Ah, okay
12:53 moritz_ std: 1
12:53 p6eval_ std 28789: OUTPUT«Cannot find /proc/version - is /proc mounted?␤ok␤»
12:54 moritz_ std: 1
12:54 p6eval_ std 28789: OUTPUT«ok 00:01 104m␤»
12:56 payload joined #perl6
13:04 ruoso joined #perl6
13:05 ruoso Hello!
13:06 masak o/
13:06 moritz_ \o
13:06 dukeleto ruoso: good localtime()
13:06 masak oh, is the pugs repo on feather as well?
13:07 moritz_ yes
13:07 masak huh. that would explain why it's down presently.
13:12 * ruoso is not being able to work in Perl 6 for almost a month already
13:12 ruoso $work--
13:12 ruoso and I'm not even programming, I'm just working on planning and budgets and stuff like that
13:13 moritz_ poor guy
13:13 masak work should be abolished.
13:17 SmokeMachine joined #perl6
13:22 iblechbot joined #perl6
13:22 mst joined #perl6
13:23 mst does the - in identifiers mean whitespace matters there?
13:23 mst i.e. $game.make-move($move); and $game.make - move($move); mean different hings?
13:23 moritz_ they do
13:23 moritz_ in general whitespace disambiguations in Perl 6
13:24 moritz_ for example anything that's immediately followed by (, { or < is parsed as a postcircumfix
13:24 moritz_ $foo<bar> # same as $foo{'bar'}
13:25 mst mmm
13:25 mst ok.
13:25 mst left #perl6
13:25 masak and he's gone.
13:25 masak like a whirlwind, he came and went.
13:25 moritz_ $foo <bar> $thing # -> ($foo < bar) && bar < $thing
13:25 masak rakudo: class A { has %o; method foo() { my $fn = %o<bar>; $fn("OH HAI") } }; class B { has $!a; method new() { self.bless(*, :a(A.new(:o((foo => &B::talk).hash)))) }; method bar { $!a.foo }; sub talk($phrase) { say $phrase } }; B.new.bar
13:25 p6eval_ rakudo 3eceb8: OUTPUT«invoke() not implemented in class 'Undef'␤in Main (file src/gen_setting.pm, line 206)␤»
13:26 masak could someone tell me what I'm doing wrong here?
13:26 masak I'll be more specific:
13:26 masak is there anyway I can pass a reference to an in-class sub to another class, and call it from there?
13:26 moritz_ there's no B::talk anywhere
13:26 masak s/anyway/any way/
13:27 masak moritz_: what about 'sub talk' in 'class B'?
13:27 moritz_ oh, I mis-counted braces, sorry
13:27 masak np
13:28 moritz_ rakudo: class A { sub talk($x) { say $x } }; class B { method doit { A::talk(3) } }; B.doit
13:28 p6eval_ rakudo 3eceb8: OUTPUT«3␤»
13:28 moritz_ rakudo: class A { sub talk($x) { say $x } }; class B { method doit(&x) { x(3) } }; B.doit(&A::talk)
13:28 p6eval_ rakudo 3eceb8: OUTPUT«3␤»
13:30 moritz_ what's the enhanced difficulty in your case?
13:30 masak the hash, maybe.
13:31 dalek joined #perl6
13:31 moritz_ isn't the difficulty foo vs. bar?
13:32 moritz_ my $fn = %o<bar>;
13:32 moritz_ vs
13:32 moritz_ o((foo => &B::talk)
13:32 moritz_ :o((foo => &B::talk).hash)
13:32 masak oh, uh.
13:32 masak rakudo: class A { has %o; method foo() { my $fn = %o<bar>; $fn("OH HAI") } }; class B { has $!a; method new() { self.bless(*, :a(A.new(:o((bar => &B::talk).hash)))) }; method bar { $!a.foo }; sub talk($phrase) { say $phrase } }; B.new.bar
13:32 p6eval_ rakudo 3eceb8: OUTPUT«OH HAI␤»
13:32 Juerd joined #perl6
13:33 masak no further questions, you honour.
13:33 Juerd ...and we're back.
13:33 Confield left #perl6
13:33 pmichaud joined #perl6
13:33 masak Juerd++
13:33 jnthn joined #perl6
13:34 Juerd Damn safety features breaking our circuits! :)
13:34 jnthn \o/
13:34 * jnthn back too
13:34 Confield joined #perl6
13:34 * masak does a 'whoz op' hip-hop move
13:34 pmichaud good morning, #perl6
13:34 masak pmichaud: mornin', pmichaud++
13:35 jnthn moritz_: BTW, turns out that .arity is not the thingy to check in Code::ACCEPTS. Since $_ is optional in a lot of blocks, so we should really check .count :-)
13:35 * jnthn suspects half of his current spectest failures may be thanks to that one.
13:35 jnthn pmichaud: oh morning
13:36 moritz_ jnthn: I thought about that some weeks ago, and discarded it. And didn't remember it when you mentioned .count...
13:36 * moritz_ feels stupid
13:37 jnthn moritz_: Heh, I made the exact same mistake
13:37 jnthn Thing is, now I need to do a clean spectest run, as so many failures in the last one were due to that.
13:37 jnthn I was like...I fixed loads of stuff, how can we still fail so hard...
13:38 masak if the most involved Rakudo programmers misremember .arity and .count, maybe they are mis-named? it certainly doesn't sound like intuitive names to me. and which one does what?
13:39 jnthn .arity = number of requireds, .count = number of required + optional
13:39 moritz_ masak: I didn't misremember them
13:39 moritz_ masak: I just failed to properly think about them
13:39 jnthn masak: I knew that full well, the consequences of the one I'd pi9cked were just lost on me. :-)
13:39 KyleHa joined #perl6
13:40 moritz_ masak: but you are right that they are not ideal... a binding test to the signature would be
13:40 masak moritz_, jnthn: fair enough.
13:40 masak I think that '.arity' and '.count' look like design smells. a bit like '.length' did.
13:40 jnthn Whee. So now we get down to S02-literals/radix.t before seeing a failure.
13:40 jnthn I'm rather bemused exactly why on earth we have failures in there though.
13:40 moritz_ so Code.ACCEPTS should really be written as :(topic) ~~ $.signature ?? self($topic) !! self()
13:41 moritz_ s/topic/$topic/
13:41 moritz_ I see one failure iin t/spec/S02-builtin_data_types/array_extending.rakudo
13:41 jnthn moritz_: Where?
13:41 jnthn In resig?
13:41 moritz_ yes
13:42 dukelet0 joined #perl6
13:42 jnthn moritz_: You'll see LOADS of others too.
13:42 jnthn moritz_: I just pushed the .count fix
13:42 jnthn Which resolves that.
13:42 jnthn And also many, many othes.
13:42 jnthn *others
13:42 jnthn Suggest you pull it.
13:43 jnthn The results seem to be coming out much better with that correct. :-)
13:43 moritz_ ah, I thought you already did, but didn't bother to read `git log`
13:43 jnthn We pass assign.t again, which is a relief.
13:44 moritz_ that test file is ... well... not my favourite
13:44 moritz_ Missing test file: t/spec/S06-signature/slurpy-and-interplation.t
13:45 jnthn I really didn't want to have to hunt down an issue in it.
13:45 jnthn moritz_: Yeah, I suspect I need to rebase.
13:45 moritz_ ah right, i think it was fixed in master
13:45 moritz_ jnthn: or when you're near to the merge, just merge locally
13:45 moritz_ and spectest
13:45 moritz_ and if it works, push
13:45 moritz_ if not git reset --hard $last_branch_sha1
13:46 jnthn I'll probably rebase nearer to the merge.
13:46 jnthn For now there's still enough to fix that's obviously not just due to being behind.
13:47 jnthn That said, I am much, much happier about the current spectest.
13:47 moritz_ S02-lexical-conventions/unicode.rakudo Failed 5/31 subtests
13:47 moritz_ that's my first failure
13:47 moritz_ then radix.t
13:47 jnthn Yeah, the radix.t one is odd...
13:48 jnthn S03-junctions/autothreading.t will fail
13:48 jnthn But that's because I didn't put auto-threading in single dispatch back yet.
13:49 moritz_ aye, it does fail
13:50 moritz_ just a quick reminder: #perl6book meeting at 1800 UTC
13:51 jnthn Ah, I'll try and remember that.
13:51 moritz_ reduce-metaop.t fails three tests
13:52 jnthn moritz_: Yeah.
13:52 jnthn moritz_: Loads of fails in S06 too.
13:52 masak moritz_: I won't be able to make it to the meeting tonight. though I hope to sneak in a chapter commit by then.
13:52 jnthn Oh
13:53 jnthn I know why we fail some of these.
13:53 moritz_ masak: you mean, sneak past dalek? :-)
13:53 jnthn When we check signature bindability in the multi-dispatcher, we didn't capture_lex any of the blocks yet.
13:53 masak moritz_: not necessarily, no. :)
13:53 jnthn oh, which I didn't fix because Parrot wasn't exporting Parrot_capture_lex, iirc. :-/
13:54 jnthn Oh, hmm. That could be quite a pain to fix. :-S
13:54 moritz_ make parrot export it? :-)
13:55 jnthn Well
13:55 jnthn I just realized...what do we call it *on*. :-S
13:55 jnthn pmichaud: ping # pm knows lexicals :-)
13:57 PerlJam joined #perl6
13:57 PerlJam feather rebooteD?
13:58 moritz_ yes
13:58 mwm joined #perl6
13:59 PerlJam well, that's one way to clear out the cruft :)
14:00 masak oh, uh. november-wiki.org is down now, of course.
14:00 masak viklund: ping
14:01 PacoLinux joined #perl6
14:01 masak rakudo: sub bar {}; class A { method foo { say &bar.WHAT } }; A.new.foo
14:01 pmichaud jnthn: pong
14:01 p6eval_ rakudo 3eceb8: OUTPUT«Failure()␤»
14:01 masak known one?
14:03 moritz_ yes, outer lexicals aren't know in classes
14:03 pmichaud sub bar {};  isn't currently putting &bar into the lexical scope, either.
14:03 pmichaud so two bugs :)
14:03 pmichaud both are known
14:04 japhb moritz_, sorry for the calendar fail -- since I don't have your DB connection, I couldn't do a live test -- wherein I would have caught the problems you saw.  :-(  japhb--
14:04 moritz_ what's blocking outer lexicals? contextual vars?
14:04 pmichaud lexical initialization
14:04 pmichaud the class block executes before the lexical is initialized
14:04 jnthn pmichaud: I've run into a slight snag.
14:04 moritz_ japhb: that's OK, I fixed them... maybe I should provide a small sample DB for testing in the future
14:05 jnthn pmichaud: Take sub foo($a, $b where { $a == $b }) { ... }
14:05 japhb moritz_, that would be an excellent idea.  :-)
14:05 JimmyZ good evening, #perl6 ;)
14:05 jnthn pmichaud: In the single dispatch case, we'd invoke the sub, it'd do its capture_lex calls, and all is well when we invoke the where block
14:06 jnthn pmichaud: However, in multiple dispatch, while we do create a lexical context right up front, we don't run anything
14:06 jnthn pmichaud: So don't get around to running the capture_lex's.
14:06 japhb moritz_, at least now I can get back to the CSS task.  When I tried to do the CSS against the old HTML, I was lost in a sea of child relationships ....
14:06 jnthn pmichaud: So in theory, I would just want to call capture_lex, I guess.
14:06 jnthn pmichaud: Well, as in, Parrot_capture_lex
14:06 masak JimmyZ: o/
14:07 pmichaud yeah, but you don't have any way of knowing what blocks need capturing
14:07 jnthn pmichaud: But then it occurs to me...I guess that today the blocks that are the constraints have the load init as their outer, and the subs only capture_lex thir load init.
14:07 zloyrusskiy joined #perl6
14:07 jnthn *their
14:08 jnthn So that may solve the issue (since I guess it must work transitively, or something...)
14:08 * jnthn checks
14:08 pmichaud if you know the where clause blocks, you can capture_lex those
14:09 jnthn Is there a way to have p6eval paste PIR code somewhere?
14:09 lumi joined #perl6
14:09 moritz_ no
14:09 * jnthn is curious what PIR is generated for the example he pasted above...
14:09 moritz_ I can do that locally though
14:09 pmichaud "the subs only capture_lex their load_init" sounds like an incorrect statement
14:09 jnthn Could anyone check on master what sub foo($a, $b where { $a == $b }) { ... } generates in PIR?
14:09 pmichaud we don't ever need to capture_lex a load_init
14:10 pmichaud *loadinit
14:10 jnthn pmichaud: OK, thus why I want to see what's going on in master.
14:10 jnthn and what the constraitn blocks have as their outer sub today.
14:10 pmichaud can't just do --target=pir ?
14:10 pmichaud oh, just a sec
14:10 pmichaud I'll do it
14:11 jnthn pmichaud: I have local diffs and a different branch built...
14:11 jnthn :-)
14:11 jnthn I couod do it, but laziness is a virtue and all that.
14:11 pmichaud http://gist.github.com/210101
14:12 pmichaud (my master is a bit old at the moment, but should be sufficient for what we're looking for)
14:12 moritz_ it gives me... segmentation fault :/
14:15 pmichaud lines 126-129 attach the where clause to the $b parameter
14:15 jnthn pmichaud: Ah, yes
14:15 jnthn pmichaud: But it does in the sub capture_lex 13_1255529479
14:15 pmichaud so, when performing the bind, at some point after the lexpad has been created, need to run Parrot_capture_lex on that block attached to the parameter
14:16 pmichaud the capture_lex that is in the loadinit sub is way too soon
14:16 pmichaud capture_lex has to be performed after the outer sub has been called, but before the inner sub gets called
14:16 jnthn Right, it's the one in foo that matters though.
14:16 jnthn foo does a cpature_lex of 13_1255529479
14:16 Psyche^ joined #perl6
14:16 pmichaud that one is too late :)
14:16 jnthn Which is the block in the where clause.
14:16 jnthn Well
14:17 jnthn It doesn't happen if we never run the sub, yes.
14:17 pmichaud no, wait, I'm confusing things for you.
14:17 jnthn Hm.
14:17 pmichaud In master, the capture_lex happens before !SIGNATURE_BIND, which means all is well
14:17 jnthn pmichaud: Yes, if we actually invoke the sub that is fine.
14:17 pmichaud in your branch, if !SIGNATURE_BIND is now happening as part of VTABLE_invoke, then the capture_lex is too late
14:17 jnthn The thing is, in the branch, the multi-dispatcher doesn't invoke the sub to do a bindability check.
14:18 jnthn It sometimes is.
14:18 jnthn It isn't for normal calls.
14:18 jnthn It is in a multi-dispatch if it wants to know "can I bind"
14:18 slavik is there a parrot channel?
14:18 pmichaud slavik: irc.parrot.org/#parrot
14:18 PerlJam slavik: #parrot on irc.perl.org
14:18 jnthn slavik: yes, on irc.parrot.org though
14:18 moritz_ :-)
14:18 slavik I wonder if it's possible to limit the amount of memory parrot will take up
14:18 jnthn (which maps to non-freenode)
14:18 slavik ty ^^
14:19 pmichaud jnthn: this is another reason for having binding and checking be an opcode, I guess.
14:19 jnthn pmichaud: If I could know what those blocks where though, in theory there's no reason why, if the lexical scope for the sub was created and was the current one, I'd not be able to call capture_lex on the subs and have it work?
14:20 jnthn erm
14:20 pmichaud ETOOMANYNEGATIONS
14:20 jnthn Call Parrot_capture_lex
14:20 jnthn hehe
14:20 jnthn pmichaud: I'll try again.
14:20 pmichaud I think I know what you're asking.
14:21 pmichaud once the context is created for the called sub, you can do capture_lex on any of its inner blocks
14:21 jnthn OK, good.
14:21 pmichaud you need to do that capture_lex before those inner blocks are invoked.
14:21 jnthn Ah, all the op does anyway is call Parrot_capture_lex.
14:21 pmichaud you may recall last year that I was asking about a way for a sub to know all of its inner blocks -- now you know why.  :)
14:21 jnthn pmichaud: I'm pondering changing the way we store those blocks to just be an array of them rather than a junction.
14:22 jnthn Sure, for introspection we'll hand back a junction.
14:22 jnthn But then at least the signature contains an array of blocks.
14:22 jnthn And we can capture_lex them.
14:22 andreasg_ joined #perl6
14:23 pmichaud I _really_ wish there was a way to generate compile-time properties on things in imcc/Parrot
14:23 jnthn Plus it saves building all of the junctions at startup, which could be a minor win.
14:23 pmichaud what would be really nice would be to attach an array of inner subs as a property on a Sub PMC
14:23 jnthn Hmm...that would be nice.
14:24 jnthn Anyway, I think I have a workable solution.
14:24 jnthn And it's OK if I get Parrot to export Parrot_capture_lex?
14:24 jnthn So a dynop/dynpmc can call it?
14:25 pmichaud something about that approach bugs me, but I don't see an issue with it.
14:25 pmichaud it doesn't feel as though Parrot_capture_lex should be part of the api
14:25 jnthn Hmm
14:25 jnthn What thingy that I can call should be?
14:26 jnthn We don't have to document it as API. ;-)
14:26 pmichaud if we don't, then Parrot can remove it whenever they feel like it.
14:26 jnthn Hmm. True.
14:26 pmichaud not that they will, but they could.
14:26 Juerd http://juerd.nl/i/d7eec5e2c2a341b057fd10ba07a2f24c.png  # Apparently lots of processes on feather are not started automatically at boot time.
14:27 jnthn I struggle to see anybody else taking on another re-write of lexicals. ;-)
14:27 jnthn The world can't have that many masochists. :-)
14:28 jnthn Anyway, I'll give that approach a try and see where it gets us.
14:29 NorwayGeek joined #perl6
14:29 jnthn ...after I've put back junction auto-threading, which is also a task. :-)
14:35 snearch joined #perl6
14:36 nihiliad joined #perl6
14:36 KyleHa jnthn: On the contrary, there's one (masochist) born every minute.
14:37 p6eval joined #perl6
14:39 moritz_ rakudo: say 'back'
14:39 p6eval rakudo 3eceb8: OUTPUT«back␤»
14:39 moritz_ KyleHa: now we just have to make them parrot hackers :-)
14:56 araujo joined #perl6
14:58 moritz_ Infinoid: how hard would it be to make dalek report all commits to a github repo, not just to a particular branch?
15:00 arthur-- joined #perl6
15:02 jnthn @karma arthur
15:02 lambdabot arthur has a karma of 0
15:02 jnthn Heh, lambdabot evidently doesn't match joins/quits for karma. :-)
15:03 spinclad bikeshed paintcolor: .arity, .count => .minarity, .maxarity ?
15:03 spinclad .min-arity, .max-arity
15:03 moritz_ minarity sounds... like a minarette or something :-)
15:03 masak rakudo: class A { has &!f; method new(&f) { self.bless(*, :&f) } }
15:03 p6eval rakudo 3eceb8: OUTPUT«Symbol '&f' not predeclared in new␤in Main (file <unknown>, line <unknown>)␤»
15:03 masak known, right?
15:04 lumi_ joined #perl6
15:04 moritz_ sub a(&f) { &f }
15:04 moritz_ rakudo: sub a(&f) { &f }
15:04 p6eval rakudo 3eceb8:  ( no output )
15:04 moritz_ masak: I didn't know about it
15:05 * masak reports, just in case
15:05 sjohnson morning all
15:05 masak sjohnson! \o/
15:06 jnthn masak: That's an...odd one.
15:06 masak jnthn: workaroundable, though.
15:06 jnthn masak: aye
15:06 masak I (re-)discovered it when writing up my little chapter example.
15:06 sjohnson masak o/
15:06 * jnthn is hurting his branes re-doing junction auto-threading.
15:07 payload joined #perl6
15:14 jnthn ooh...nearly there...
15:14 jnthn .oO( I can resolve another masakbug by re-implementing it this way too )
15:15 brunov joined #perl6
15:27 Infinoid moritz_: is there an atom feed for that?
15:29 cognominal rakudo:  say  [+]  (1, 1/2, 1/4,  { */2 } )[0..20]
15:29 p6eval rakudo 3eceb8: OUTPUT«get_number() not implemented in class 'Sub'␤in Main (file src/gen_setting.pm, line 206)␤»
15:31 cognominal rakudo:  say  [+]  (1, 1/2, 1/4 ... { */2 } )[0..20]
15:31 p6eval rakudo 3eceb8: TIMED_OUT
15:31 cognominal hum, probably not lazy enough
15:31 ejs joined #perl6
15:32 masak spectests finished. it took another 2h 24m. seems to be the time it takes nowadays.
15:32 masak it's a PASS on master. \o/
15:33 jnthn oh hey, I think I fixed auto-threading...
15:33 takadonet !!!
15:34 masak \o/
15:34 pmichaud masak: 2h24m seems awfully long.  On my box running the spectests (non-parallel) takes 29m35
15:34 jnthn aww, but not for methods.
15:34 jnthn But that'll be not so bad to fix up.
15:34 masak pmichaud: I'm running three parallel threads.
15:34 pmichaud yes, it's normally faster for me when I run parallel
15:34 pmichaud how much memory on your system?
15:34 masak maybe I need to reboot the laptop. it's been up for 109 days now.
15:35 lanny joined #perl6
15:35 mspaulding joined #perl6
15:35 masak pmichaud: 4GB.
15:35 pmichaud anyway, 2h24m isn't at all what I'm experiencing on my (admittedly speedy) notebook.
15:35 jnthn masak: Any interest in dredging up the RT ticket with the auto-threading bug related to auto-threading happening on something that is not a Routine?
15:35 jnthn masak: Or can you remember what it might have been called? :-)
15:36 lanny speaking of PIR (above ~1409h) is it a parrot bug or rakudo one that the pir generated by --target can't be run by parrot?
15:36 * jnthn is curious to know what the code example was, since he suspects his re-impl resolves the issue...
15:36 masak jnthn: no idea, sadly.
15:36 pmichaud lanny: bit of both
15:36 jnthn masak: aww. OK.
15:36 pmichaud lanny: iirc, it's a parrot bug that we can't get the libraries loaded
15:37 jnthn rakudo: for 1|2 -> Any $x { say $x }
15:37 p6eval rakudo 3eceb8: OUTPUT«1␤2␤Can't return outside a routine␤in Main (file <unknown>, line <unknown>)␤»
15:37 lanny Ok.  I had a suspicion that might be involved when I bumped into the rakudo arch document.
15:37 jnthn masak: Ah, that was the one.
15:37 jnthn masak: Locally:
15:37 jnthn > for 1|2 -> Any $x { say $x }
15:37 jnthn 1
15:37 jnthn 2
15:37 masak \o/
15:37 masak jnthn++
15:38 jnthn masak: Was a tad tricky to fix...
15:39 masak :)
15:39 jnthn Anyway, when resig is finally mergable, that'll be one bug it own't have. :-)
15:40 cognominal jnthn, you merge John resig? javascript will be a dialect of Perl 6?  :)
15:41 jnthn cognominal: Well, every language is a dialect of Perl 6...
15:42 dalek book: d5b2970 | masak++ | src/classes-and-objexts.pod:
15:42 dalek book: [src/classes-and-objects.pod] Task class example
15:42 dalek book: review: http://github.com/perl6/book/commit/d5b2970968c20b9d1ef7c6baa02d721fff0854bb
15:42 jnthn Apart from Visual Basic, though. That just hasn't got enough street cred.
15:43 jnthn "Sorry, you're just not cool enough to be a dialect of Perl 6."
15:43 masak jnthn: you obviously haven't heard audreyt's defense of VB :)
15:43 cognominal masak beats me by answering faster...
15:44 jnthn masak: Oh, I heard it.
15:44 arthur-- joined #perl6
15:44 jnthn I just had to work with VBScript since then.
15:44 cognominal :)
15:45 masak I did too, long ago.
15:45 jnthn I did too, a month or two ago, and I've got email telling me I need to sometime in the next week or so too. :-/
15:46 jnthn Aww. We only make it to test 38 in autothreading.t before exploding.
15:46 jnthn But hey, at least we don't explode on test 1 now.
15:46 KyleHa objeXts?
15:47 NorwayGeek joined #perl6
15:48 dalek book: fce99a1 | masak++ | src/classes-and-obje (2 files):
15:48 dalek book: renamed mis-spelled file
15:48 dalek book: review: http://github.com/perl6/book/commit/fce99a1f2f2665b8026d4af27c17feaaabc118ce
15:49 jnthn They're so cool in Perl 6 we had to change the name of them to include an x, since everything cool has an x in its name.
15:50 masak KyleHa: fixed now.
15:53 diakopter rakudo: sub a(&f) { &f }; a(&a)
15:53 p6eval rakudo 3eceb8:  ( no output )
15:54 moritz_ &f doesn't call the function
15:54 diakopter rakudo: sub a(&f=&a) { }; a()
15:54 p6eval rakudo 3eceb8:  ( no output )
15:57 diakopter rakudo: sub a(&a=&a) { }; a
15:57 p6eval rakudo 3eceb8: OUTPUT«Null PMC access in isa()␤in Main (file src/gen_setting.pm, line 206)␤»
15:57 jnthn rakudo: sub argcount { return +@_ }; argcount( try { 17 }, 23, 99 )
15:57 p6eval rakudo 3eceb8:  ( no output )
15:57 diakopter std: sub a(&a=&a) { }; a
15:58 p6eval std 28789: OUTPUT«ok 00:02 125m␤»
15:58 jnthn rakudo: sub argcount { return +@_ }; say argcount( try { 17 }, 23, 99 )
15:58 p6eval rakudo 3eceb8: OUTPUT«3␤»
15:58 masak fail.
15:58 moritz_ rakudo++
15:58 diakopter TimToady: should std catch that last   sub a(&a=&a) { };
15:58 masak oh wait. that one was right.
15:58 moritz_ ;-)
15:58 moritz_ fail fail
15:59 masak diakopter: why? what's wrong with it?
15:59 jnthn masak: If only I could say so much for that one in my branch...
15:59 masak :)
16:00 mikehh joined #perl6
16:00 diakopter masak: I don't know.
16:00 moritz_ it redeclares a lexical (&a)
16:00 moritz_ but probably not in the same scope
16:01 masak std: &foo
16:01 p6eval std 28789: OUTPUT«ok 00:02 126m␤»
16:01 masak but mentioning an outer &a is no parse error/warning.
16:02 cdarroch joined #perl6
16:04 diakopter TimToady: infinite loop in std: sub a { my &a = &a; a }; a
16:04 diakopter std: sub a { my &a = &a; a }; a
16:05 p6eval std 28789: TIMED_OUT
16:06 jnthn rakudo: sub argcount($x) { say $x }; argcount( try { 17 }, 23, 99 )
16:06 cognominal masak,  what is an nom?
16:06 p6eval rakudo 3eceb8: TIMED_OUT
16:06 jnthn rakudo: sub argcount($x) { say $x }; argcount( try { 17 }, 23, 99 )
16:06 p6eval rakudo 3eceb8: TIMED_OUT
16:06 jnthn timed out?!
16:06 jnthn *sigh*
16:06 jnthn rakudo: say "alive"
16:07 p6eval rakudo 3eceb8: TIMED_OUT
16:07 jnthn ah
16:07 p6eval joined #perl6
16:07 jnthn oops, I upset it.
16:07 jnthn rakudo: say "alive"
16:07 moritz_ rakudo: say 'foo'
16:07 p6eval rakudo 3eceb8: TIMED_OUT
16:07 p6eval rakudo 3eceb8: TIMED_OUT
16:08 diakopter hm
16:09 * diakopter suspects the timed-out processes aren't being reaped
16:10 diakopter rakudo: say &say
16:10 p6eval rakudo 3eceb8:  ( no output )
16:11 diakopter rakudo: say 5
16:11 p6eval rakudo 3eceb8:  ( no output )
16:11 diakopter std: 4
16:11 p6eval std 28789: TIMED_OUT
16:11 cognominal masak, your new chapter  could be named after a good french movie :  http://www.imdb.com/title/tt0106632/  Cuisine et dépendances
16:12 masak cognominal: :)
16:14 cognominal masak: what is a nom, btw?
16:17 jnthn omnomnom
16:17 cognominal ??
16:18 jnthn http://icanhascheezburger.files.wordpress.com/2007/05/funny-pictures-cat-wants-his-birthday-cake.jpg
16:18 cognominal au nom de Dieu, dites moi!
16:19 jnthn Heh. This branch is shaking out a few longer-standing bugs too.
16:20 jnthn rakudo: sub foo(Int $x) { }; my $pub = &foo.clone; $pub("lol")
16:20 p6eval rakudo 3eceb8:  ( no output )
16:20 jnthn rakudo: sub foo(Int $x) { }; my $pub = &foo.clone; foo("lol")
16:20 p6eval rakudo 3eceb8:  ( no output )
16:20 jnthn oh, br0ken
16:20 cognominal they are running to the nearest VB
16:20 jnthn rakudo: say "hi"
16:20 p6eval rakudo 3eceb8:  ( no output )
16:20 jnthn heh, yes
16:21 moritz_ seems the fork resource limit is too tight
16:21 p6eval joined #perl6
16:21 moritz_ rakudo: say 'OH HAI'
16:21 p6eval rakudo 3eceb8: OUTPUT«OH HAI␤»
16:21 jnthn rakudo: sub foo(Int $x) { }; my $pub = &foo.clone; foo("lol")
16:21 p6eval rakudo 3eceb8: OUTPUT«Parameter type check failed; expected Int, but got Str for $x in call to foo␤in sub foo (file <unknown>, line <unknown>)␤called from Main (file /tmp/Tw0gZ7ACxn, line 0)␤»
16:21 jnthn rakudo: sub foo(Int $x) { }; my $pub = &foo.clone; $pub("lol")
16:21 p6eval rakudo 3eceb8:  ( no output )
16:22 jnthn rakudo: sub foo(Int $x) { }; my $pub = &foo.clone; $pub("lol"); say "lived"£
16:22 jnthn rakudo: sub foo(Int $x) { }; my $pub = &foo.clone; $pub("lol"); say "lived"
16:22 p6eval rakudo 3eceb8: OUTPUT«Confused at line 2, near "\x{a3}"␤in Main (file <unknown>, line <unknown>)␤»
16:22 p6eval rakudo 3eceb8: OUTPUT«lived␤»
16:22 jnthn LOL BUG
16:22 moritz_ seems I can only limit number of processes per user, not per process+childs
16:23 lanny Why is Order (Order:Increase, Order::Same, Order::Decrease) so verbose?  Also it probably needs a Order::SameButMore for testing partially cached infinite datatypes.
16:24 jnthn In rx.t, there is a sub matchcheck { 1 }
16:24 jnthn However, it's called like matchcheck($/, q/mob: <abcdef @ 3>/)
16:25 jnthn Surely it wants to be sub matchcheck(*@pos) { 1 } or similar...
16:25 diakopter std: 4
16:25 p6eval std 28789: OUTPUT«ok 00:01 104m␤»
16:25 diakopter std: sub a { my &a = &a; a }; a
16:25 p6eval std 28789: OUTPUT«ok 00:02 130m␤»
16:26 diakopter rakudo: sub a { my &a = &a; a }; a
16:26 p6eval rakudo 3eceb8: OUTPUT«invoke() not implemented in class 'Undef'␤in Main (file src/gen_setting.pm, line 206)␤»
16:35 slavik diakopter: wtf?
16:37 diakopter slavik: sorry
16:37 slavik are you invoking a class which you are defining within the definition?
16:38 jnthn diakopter: Rakudo is corret there.
16:38 jnthn diakopter: You've already introduced a lexical &a
16:39 jnthn Immediately after saying "my &a"
16:45 stephenlb joined #perl6
16:49 pmurias joined #perl6
16:52 pmurias hi all
16:52 ejs joined #perl6
16:57 pmichaud jnthn: under the old definition, subs w/o a signature automatically received @_
16:58 pmichaud yes, the matchcheck sub is a problem under the newer spec
17:05 moritz_ perl6.ops emits lots of cast warnings
17:06 moritz_ Juerd: feather2 and 3 seem to be still down
17:07 jnthn pmichaud: Well, it was two things. First the old semantics, and second that Parrot didn't check when 0 params were passed in a 0-param sub, so you could pass as many as you wanted.
17:07 jnthn So we implicitly carried the old semantics for a while too.
17:07 jnthn Anyways, gave it a signature *@
17:08 pmichaud wfm
17:08 moritz_ I expect a few such errors in the test suite
17:08 pmichaud ugh, 2028 emails in my inbox
17:09 pmichaud 1793 "new/unread"
17:09 moritz_ the test suite can only be as good as the best implementation (or maybe a tad better, but not much)
17:10 jnthn Anyway, current spectets of resig show still quite a lot to do, but much improved from yesterday.
17:14 takadonet wow pmichaud
17:14 jnthn pmichaud: Ouch. Really ouch.
17:14 jnthn pmichaud: I hope for your sake most of those are easily deleted spam...
17:14 pmichaud most of it isn't spam... I've been so busy working on nqp/regex/other stuff that I've fallen behind in email
17:15 jnthn Ouch.
17:15 jnthn But nice work on nqp-rx ;-)
17:16 * jnthn wonders how long between his signature branch landing, and when we start to re-build the grammar and actions on top of nqp-rx.
17:16 pmichaud depends on when your branch lands :)
17:17 jnthn pmichaud: *maybe* weekend-ish.
17:17 pmichaud I'm thinking that rebuild-the-grammar won't start before october release, or at least not in earnest
17:17 jnthn OK, good.
17:17 * jnthn would like a break from bug triage between the two. ;-)
17:17 pmichaud well, I'm sure we'll do rebuild-the-grammar in a branch
17:18 pmichaud but my best estimate for rebuild-the-grammar is middle of next week
17:18 pmichaud because I still need to create the nqp stuff
17:18 pmichaud otoh, I expect to be moving beyond regexes into nqp stuff today.
17:18 pmichaud I think the new regex engine has nearly everything I need from it to begin parsing grammars
17:20 jnthn Cool.
17:21 jnthn Oh, I'm sure we will do.
17:21 jnthn I'm doing signatures in a branch too. ;-)
17:21 jnthn Still lots of bug hunting. :-)
17:21 pmichaud anyway, I think I'm going to wait for your branch to land before starting the new grammar branch
17:21 jnthn On the upside, there'll be at least two of us fixing stuff.
17:21 jnthn Yes, advisable.
17:21 pmichaud unless that starts to look like it'll be a long time
17:21 jnthn Actually though
17:21 jnthn It won't be
17:21 jnthn And I won't bother tidying up grammar.pg and actions.pm much either.
17:21 pmichaud that's fine
17:22 pmichaud we can tidy during the migration to the new grammar stuff
17:22 jnthn I was going to do so, but frankly, it's just going to be easier to not.
17:22 jnthn And instead do it right in the new one.
17:22 pmichaud agreed.
17:22 jnthn I suspect the signature action really should not be creating a PAST::Block.
17:23 pmichaud correct.
17:23 pmichaud STD.pm's block rules have completely changed since the version that Rakudo was based on
17:23 pmichaud so block creation in general is likely to be completely redone.
17:24 pmichaud especially since we'll also be switching things to be context-variable based
17:25 jnthn Right.
17:26 jnthn So I'll go with "good enough to keep on working" and then we'll re-do it neatly.
17:26 jnthn And since we now have Perl6::Compiler::Signature to hand, it actually should be neat.
17:26 PerlJam sounds like it's masak's release that's going to have all of the cool new features
17:26 pmichaud PerlJam: I'm thinking jnthn's cool new features will be in the october release
17:26 pmichaud then we'll have more grammar-related cool new features in the november release
17:26 * PerlJam keeps his fingers crossed
17:27 pmurias ruoso: hi
17:27 ruoso hi pmurias
17:27 pmurias ruoso: you have seen that we now have TESTS-js?
17:28 Su-Shee joined #perl6
17:28 Su-Shee good evening.
17:28 ruoso unfortunally no... I'm inside the $job hole, in a non-programming set of weeks
17:29 pmurias :(
17:29 moritz_ oh hai
17:29 jnthn PerlJam: We'll have binding nameds to positionals for one.
17:29 ruoso :( indeed
17:29 pmurias ruoso: what do you do at the $job when you're not programming?
17:29 jnthn PerlJam: And signature literals work.
17:29 ruoso pmurias, planning budgets
17:29 jnthn PerlJam: And lots of bug fixes.
17:29 moritz_ Su-Shee: @people finally convinced me to write a Perl 6 book. Not alone, though ;-)
17:30 pmurias :(
17:30 Su-Shee moritz_: YES! *STRIKE* :)
17:30 Su-Shee moritz_: may I say "I told you so!" :))
17:30 PerlJam jnthn: yes, we always seem to have lots of bugs fixes  (jnthn++, pmichaud++)
17:30 moritz_ Su-Shee: you may when it's out
17:31 Su-Shee moritz_: mouse already hovering over the buy button at amazon.. hurry up. ;)
17:31 moritz_ Su-Shee: we plan to get it ready at the time when Rakudo * is released
17:31 Su-Shee moritz_: ambitious.
17:32 moritz_ aye
17:32 japhb moritz_, I just committed the original simple irclog channel index stylesheet change I wanted to do in the first place.
17:32 Su-Shee moritz_: some specific subject or direction? or just plain "perl 6"?
17:32 jnthn PerlJam: The other win is some performance gains.
17:33 moritz_ Su-Shee: Perl 6, by example, for the not-complete-novice
17:33 moritz_ see #perl6book and the topic there
17:34 Su-Shee ah, very nice.
17:34 PerlJam "Perl 6 By Example" as a title makes me go "ick" though.
17:34 PerlJam (just sayin')
17:34 moritz_ PerlJam: it's not a title
17:35 moritz_ japhb++ # it does look a *lot* nicer than before
17:35 japhb :-)
17:35 PerlJam I'm registering my distaste for it ever becoming a title just in case :)
17:36 japhb Perl6, if it's possible for a line of books to have a trademarked format (chromatic would probably know), that one's already taken, so you're safe.  :-)
17:36 japhb erg,
17:36 japhb I meant PerlJam of course
17:39 moritz_ the perl 6 community rocks. That's the second time within half a year that somebody just stepped forward and contributed a cool design for a site I started :-)
17:40 japhb You keep starting useful sites, we'll keep stepping up.  ;-)
17:41 synth joined #perl6
17:41 nihiliad joined #perl6
17:41 moritz_ deal ;-)
17:50 moritz_ #perl6book in 10min
17:54 NorwayGeek joined #perl6
17:56 jnthn oh, damm
17:56 jnthn I've timed #perl6book and dinner cooking perfectly wrong.
17:58 Su-Shee can I read along?
17:58 moritz_ sure
18:06 PerlJam no, no, not Su-Shee!  ;)
18:07 PerlJam (one of the great things about the Perl 6 community is how inclusive it is)
18:09 rgrau joined #perl6
18:11 NorwayGeek joined #perl6
18:11 Su-Shee :)
18:11 KatrinaTheLamia joined #perl6
18:15 NorwayGeek joined #perl6
18:18 msmatsko joined #perl6
18:24 lumi joined #perl6
18:24 Su-Shee is there a reason why perl6.org/perl6-projects.org is unreachable? I've also tried with downforeveryoneorjustme.com ..
18:26 lichtkind joined #perl6
18:27 jnthn Su-Shee: I can't get to it either.
18:27 moritz_ Su-Shee: the VM on which the server lives (feather2) is down
18:27 lanny Su-Shee: perl6.org has been down for a bit from what I can see
18:29 zamolxes joined #perl6
18:34 NorwayGeek joined #perl6
18:36 lanny For rakudo src/classes/Order.pir has a comment that it will/might eventually be moved to the setting as an enum.  What would an enum setting up sub-classes look like?
18:37 lanny That is, how would an enum become Order::Increase, Order::Same, Order::Decrease?
18:38 moritz_ enum Order (Decrease => -1, Same => 0, Increase => 1);
18:38 moritz_ but definging enums in the setting makes the thing blow up
18:38 lanny Right.  I figured it must or it would be there.
18:38 lanny So accessing enums will be doable via ::
18:39 lanny What I'm thinking of is if I don't like the names I could then: enum Order is also enum << :LT(-1) EQ GT >> ?
18:40 lanny and get Order::EQ, etc.
18:41 lanny I don't see enums accessed via :: specced anywhere is what I'm really bringing up.
18:42 moritz_ grep for Bool::True ;-)
18:44 moritz_ but you're right, there's no explicit mention in the section on Enums
18:44 lanny Section on Enums in S09?
18:44 moritz_ in S12
18:44 lanny Not sure what section you are trying to draw my attention to.
18:44 lanny Thanks
18:45 lanny Hmm.  Darn.  The google search for Enum does not spell out there is an entire section on them.  :/
18:46 moritz_ I have a checkout of the pugs repo here which also contains the specs. Then I use ack or grep to do the rest ;-)
18:47 lanny Damn this web thing!
18:48 arthur-- joined #perl6
18:53 lanny std: my enum cronDays of Junction << :Sun(0|7) :Mon(1) Tue Wed Thu Fri Sat >>;
18:53 p6eval std 28791: OUTPUT«ok 00:03 112m␤»
18:55 * sjohnson passes a frisbee to Su-shee
18:57 * Su-Shee passes chocolate to everyone.
18:57 * moritz_ eats the chocolate. Thanks!
18:59 jnthn \o/ chocolate!
19:01 sjohnson hehe
19:01 sjohnson yum yum
19:02 justatheory Is there a Perl 6 syntax for decorating method *calls*?
19:02 jnthn decorating?
19:02 justatheory Yeah
19:02 moritz_ what do you mean by that? what effect could it have?
19:02 justatheory Something like:
19:02 justatheory $conn.run(@args)~>[:ping, :retry];
19:02 jnthn No, I don't understand by the term "decorating" in this context :-)
19:03 justatheory moritz_: To potentially change the behavior of the method call.
19:03 justatheory It's like a second way of passing arguments.
19:03 moritz_ uhm
19:03 moritz_ $conn.run(@args, :ping, :retry) ?
19:03 justatheory So I'm saying, call `run` on `$conn` but decorate it with :ping and :retry
19:03 justatheory Oh, right, signatures might do the trick.
19:03 jnthn Named parameters are often used for that kinda thing.
19:04 jnthn I'm not sure what else you could do...well, in default Perl 6, anyway. :-)
19:05 jnthn I guess you could want to pass adverbs to a dispatcher or something.
19:05 jnthn But there's no sugar for that.
19:05 moritz_ named arguments are some kind of half-way-out-of-bound way to pass arguments
19:05 justatheory jnthn: Yes, exactly
19:05 justatheory adverbs
19:06 moritz_ are you referring to the example on your blog and on perlmonks?
19:06 justatheory moritz_ Yeah
19:06 moritz_ justatheory: yes, that's something that could be multi dispatched to
19:06 justatheory moritz_: Right, of course.
19:06 * jnthn didn't see the original post
19:07 justatheory love the idea of calling them adverbs, though.
19:07 justatheory jnthn: http://justatheory.com/computers/programming/perl/modules/dbix-connector-methods.html
19:08 moritz_ multi method run(&code, :txn!, :retry!) { ... }
19:08 jnthn *nod*
19:08 moritz_ for dispatching the name arguments need to be mandatory though
19:08 moritz_ *named
19:08 jnthn Yes, that's what comes to my mind from reading the post too.
19:08 jnthn It's the same mechanism we use for traits, fwiw.
19:12 justatheory great, tahnks.
19:12 justatheory *thanks*
19:25 * sjohnson hands justatheory a chocolate
19:25 justatheory Mmm, delicious
19:29 pmichaud TimToady: error and/or fossil at S05:3759
19:30 KyleHa rakudo: sub infix:<,> { 42 }; say 5, 5;
19:30 p6eval rakudo 3eceb8: OUTPUT«55␤»
19:31 pmichaud assuming it's not an error -- i.e.,    /<STD::prog>/  works in that example, what is the type of the cursor being used inside STD::prog? Does the use of the STD:: prefix automatically cause the cursor for the C<prog> rule to be a STD cursor?
19:33 KyleHa rakudo: sub infix:<#> { 42 }; say 5 # 5
19:33 p6eval rakudo 3eceb8: OUTPUT«5␤»
19:34 SmokeMachine joined #perl6
19:38 simcop238 joined #perl6
19:40 NorwayGeek For anyone on LocalCoast that does not have any other way to contact me: http://ialex.info/pages/contact-me.php
19:53 lichtkind joined #perl6
19:54 arthur-- joined #perl6
19:57 NorwayGeek joined #perl6
19:59 zamolxes joined #perl6
20:04 meppl joined #perl6
20:06 pmichaud phone
20:08 sjohnson ... they hung up!
20:10 KyleHa Redefinition of infix:<+>($a, $b) causes Test.pm to miscount tests.  Go figure.
20:12 jnthn Well, it probably uses infix:<+> :-)
20:13 Su-Shee left #perl6
20:27 sdvsdvsdv joined #perl6
20:34 jnthn joined #perl6
20:34 cosimo joined #perl6
20:34 nsh joined #perl6
20:34 Grrrr joined #perl6
20:34 sjohnson joined #perl6
20:34 shachaf joined #perl6
20:34 carlin joined #perl6
20:34 colomon joined #perl6
20:34 slavik joined #perl6
20:34 drbean joined #perl6
20:34 alester joined #perl6
20:34 frederico joined #perl6
20:34 dalek joined #perl6
20:34 PacoLinux joined #perl6
20:34 mikehh joined #perl6
20:34 cdarroch joined #perl6
20:34 p6eval joined #perl6
20:34 rgrau joined #perl6
20:38 jnthn Well that was noisy.
20:49 zamolxes joined #perl6
21:00 NorwayGeek joined #perl6
21:09 mathw Evening
21:09 moritz_ \o/
21:09 jnthn mathw: oh hai
21:10 arthur-- joined #perl6
21:10 mathw About time I checked Form for bitrot...
21:12 jnthn uh-oh :-)
21:13 mathw waiting for parrot to compile...
21:14 mathw and rakudo...
21:14 jnthn oooh, the anticipation :-)
21:14 * jnthn has spent plenty of time for the latter of those of late.
21:14 payload joined #perl6
21:15 jnthn It'd be good if we had something that parsed the actions and setting faster...oh, wait... :-)
21:15 mathw I believe someone's working on that :)
21:15 moritz_ it would also help to compile the setting files separately
21:15 moritz_ there's a branch for that too ;-)
21:16 moritz_ but it blocks on proper type stubbing
21:16 mathw yeah
21:16 mathw that would be very nice
21:16 mathw especially since we get those error message sfrom gen_setting, which isn't much fun
21:16 Tene or just distribute every copy of rakudo with 1G extra ram
21:16 moritz_ it would allow parallelization of compiling the setting
21:18 mathw okay it's rotted
21:18 mathw hmm
21:18 mathw it's not being very helpful
21:18 mathw giving me an error from gen_setting.pm
21:18 jnthn :-(
21:18 jnthn details?
21:19 mathw Method '!set_default_param_type' not found for invocant of class 'Signature'
21:19 mathw in Main (file src/gen_setting.pm, line 206)
21:20 jnthn mathw: oh
21:20 jnthn mathw: That almost certainly means you have some pre-compiled PIR files lying around.
21:20 jnthn That need to be re-generated.
21:20 mathw but I cleaned
21:21 * mathw tries again
21:21 jnthn mathw: cleaned what, specifically?
21:21 mathw cleaned form
21:21 mathw maybe I should clean rakudo
21:21 jnthn Ah.
21:21 mathw hmm
21:21 jnthn Maybe.
21:21 mathw it got further this time
21:21 mathw maybe form's makefile needs some work
21:21 mathw it build all the modules!
21:21 moritz_ if you use Test.p{m,ir}, you should clean rakudo too
21:22 jnthn But everytime somebody has hit this one before, it's been because of leftover .pir files from .pm modules that needed re-generating.
21:22 mathw okay first test failure is .int -> .Int
21:22 mathw loads of other mess
21:23 mathw infix:<div> is the new integer division isn't it?
21:24 moritz_ it is
21:24 mathw excellent
21:24 moritz_ rakudo: say 7 div 3
21:24 p6eval rakudo 3eceb8: OUTPUT«2␤»
21:24 mathw okay
21:25 mathw I'm getting typecheck failures because /= is producing Rat, I think
21:25 moritz_ Int / Int gives Rat, yes
21:25 mathw rakudo: my $a = 2; $a div= 2; say $a;
21:25 p6eval rakudo 3eceb8: OUTPUT«1␤»
21:25 mathw woooo
21:27 tak11 joined #perl6
21:32 zerhash joined #perl6
21:32 mathw yay
21:32 mathw all bitrot fixed
21:33 moritz_ mathw++
21:33 Whiteknight joined #perl6
21:33 mathw Unfortunately I don't have time tonight to write any new code
21:33 mathw but at least I've polished it up a little
21:34 jnthn mathw: Not too painful?
21:34 mathw no
21:34 jnthn Ah, good.
21:34 mathw just had to swap most use of / and /= for div and div=
21:34 mathw in the process, losing some calls to explicit int coercion
21:34 mathw and one test was wrong anyway!
21:34 jnthn Sounds like the rational things to change.
21:34 jnthn ;-)
21:34 mathw not sure how that got committed
21:34 mathw har har
21:35 moritz_ I'm sure it was masakbot in unsafe mode ;-)
21:35 mathw rakudo's messages about .int and int() were very useful
21:35 moritz_ the deprecation notice about int() was also in two (!) release announcements
21:36 moritz_ but nobody reads those anyway ;-)
21:36 mathw yes
21:36 mathw I do read those
21:36 mathw but it reminded me of it instantly
21:36 jnthn Another place to store my passwords!
21:36 jnthn Like the docs folder
21:36 jnthn :-)
21:36 mathw rather than having me say 'errrr'
21:36 mathw and then you saying but didn't you know .int is gone
21:36 moritz_ jnthn: and README
21:36 mathw and I'd say oh yes, of course it is
21:36 mathw how stupid of me
21:37 jnthn moritz_: wow, so many places!
21:38 mathw written backwards on your forehead so you can read it in a mirror
21:38 mathw but nobody else can understand it
21:40 jnthn ...until they see you stood in front of a mirror?
21:40 mathw nah
21:40 mathw avoid them
21:40 mathw if they ask why, tell them you're a vampire but you don't wnat anybody to notice that you don't have a reflection
21:40 jnthn Or worse, since of course my password is the name of the girl I have a mad crush on, what if *she* sees me in front of a mirror? Then I've lost a password AND a secret.
21:41 eiro joined #perl6
21:41 jnthn README is *so* much safter.
21:41 jnthn Or docs/mmdguts.pod
21:41 jnthn ;-)
21:42 moritz_ jnthn: somebody might read the initial version, so you'd have to sneak it in by a commit labeled as "copyright update" or so ;-)
21:43 jnthn lol. IE's JavaScript engine seems to not support for each style loops!
21:44 moritz_ it also barks at trailing commas in lists, even though that's perfectly legal javascript syntax
21:46 BinGOs joined #perl6
21:52 moritz_ English question: tests pass, checks... prevail? what's a better word for that?
21:52 moritz_ prevail seems wrong
21:52 Tene pass
21:53 Tene or succeed, maybe
21:53 Tene validate, maybe, depending on context
21:53 moritz_ thanks
21:53 moritz_ succeed is good
21:59 moritz_ rakudo: my $c = 0; multi a($) { }; multi a($ where { ++$c }) { }; a([]]; say $c
21:59 p6eval rakudo 3eceb8: OUTPUT«Confused at line 2, near "([]]; say "␤in Main (file <unknown>, line <unknown>)␤»
21:59 moritz_ rakudo: my $c = 0; multi a($) { }; multi a($ where { ++$c }) { }; a([]); say $c
21:59 p6eval rakudo 3eceb8: OUTPUT«2␤»
21:59 moritz_ I guess it does one type check for the multi dispatch, and one for the binding?
22:01 jnthn moritz_: Indeed.
22:02 jnthn moritz_: I've just about got what we need to fix that in place.
22:02 moritz_ jnthn: I just encountered that while writing a small, evil example for the $book ;-)
22:02 jnthn moritz_: Though may do that slightly after resig as it needs me to juggle some code around.
22:02 arthur-- joined #perl6
22:03 jnthn It's hardly efficeint to run 'em twice though, and probably borderline wrong. :-)
22:03 moritz_ and it's a good reminder that the spec doesn't make any assertions on how often type checks are performed
22:03 jnthn No, it doesn't.
22:03 jnthn And type checks with side-effects are kinda evil anyway.
22:03 jnthn Though my auto-increment example used that. ;-)
22:05 Limbic_Region joined #perl6
22:07 moritz_ rakudo: multi a($ where { (0, 1).pick }) { 1 }; multi a($) { 0 }; priint a(1) for ^20
22:07 p6eval rakudo 3eceb8: OUTPUT«Could not find non-existent sub priint␤in Main (file src/gen_setting.pm, line 206)␤»
22:07 moritz_ rakudo: multi a($ where { (0, 1).pick }) { 1 }; multi a($) { 0 }; print a(1) for ^20
22:07 p6eval rakudo 3eceb8: OUTPUT«11Parameter type check failed; expected Any, but got Int for $ in call to a␤in sub a (file <unknown>, line <unknown>)␤called from Main (file /tmp/zPKt598dJh, line 1)␤»
22:07 moritz_ rakudo: multi a($ where { (0, 1).pick }) { 1 }; multi a($) { 0 }; print a($_) for ^20
22:07 p6eval rakudo 3eceb8: OUTPUT«0Parameter type check failed; expected Any, but got Int for $ in call to a␤in sub a (file <unknown>, line <unknown>)␤called from Main (file /tmp/ziEAByP2o7, line 1)␤»
22:07 * jnthn has done probabalistic type checking in a talk before ;-)
22:08 moritz_ anyway, that's LTA
22:08 jnthn lol
22:08 moritz_ expected Any, but got Int
22:08 jnthn Yeah
22:08 moritz_ but Int ~~ Any
22:08 jnthn The new binder actually has awful errors at the moment (just stub ones), but actually wins here.
22:09 jnthn Because it knows the difference between a nominal type check error and a constraint type check error.
22:09 jnthn So we can improve that one soon.
22:09 jnthn Or in fact, it probably just will be improved by resig.
22:10 jnthn ('cus I already have two places to fill out with good error generation for the two cases)
22:10 dalek book: 07ac8c4 | moritz++ | src/multi-dispatch.pod:
22:10 dalek book: more on multi dispatch
22:10 dalek book: review: http://github.com/perl6/book/commit/07ac8c406ae830064bdb94653cd05903cc553502
22:13 lumi joined #perl6
22:13 Chillance joined #perl6
22:16 Juerd moritz_: Oh, darn. I forgot to check feather[23]
22:17 colomon I just had a terrible thought.
22:17 colomon rakudo: my @a = (1, 2, 3); @a >>*<<= (2, 5, 6); say @a.perl;
22:17 p6eval rakudo 3eceb8: OUTPUT«No applicable methods.␤in Main (file src/gen_setting.pm, line 206)␤»
22:18 moritz_ std: my @a = (1, 2, 3); @a >>*<<= (2, 5, 6); say @a.perl;
22:18 p6eval std 28792: OUTPUT«[31m===[0mSORRY![31m===[0m␤Preceding context expects a term, but found infix = instead at /tmp/3aLBqmZRf9 line 1:␤------> [32mmy @a = (1, 2, 3); @a >>*<<=[33m⏏[31m (2, 5, 6); say @a.perl;[0m␤FAILED 00:02 119m␤»
22:19 jrtayloriv joined #perl6
22:19 colomon rakudo: my @a = (1, 2, 3); @a «*»= (2, 5, 6); say @a.perl;
22:19 p6eval rakudo 3eceb8: OUTPUT«No applicable methods.␤in Main (file src/gen_setting.pm, line 206)␤»
22:20 colomon Any thoughts on whether or not that should work, o wise ones?
22:20 moritz_ std: my @a = (1, 2, 3); @a «*»= (2, 5, 6); say @a.perl;
22:20 p6eval std 28792: OUTPUT«[31m===[0mSORRY![31m===[0m␤Preceding context expects a term, but found infix = instead at /tmp/btjnLSR2c0 line 1:␤------> [32mmy @a = (1, 2, 3); @a «*»=[33m⏏[31m (2, 5, 6); say @a.perl;[0m␤FAILED 00:02 119m␤»
22:20 jnthn *= inside the meta
22:20 moritz_ STD.pm seems to be determined that it doesn't work that way
22:20 moritz_ std: my @a = (1, 2, 3); @a «*=» (2, 5, 6); say @a.perl;
22:20 p6eval std 28792: OUTPUT«ok 00:02 113m␤»
22:21 moritz_ woah.
22:21 moritz_ rakudo: my @a = (1, 2, 3); @a «*=» (2, 5, 6); say @a.perl;
22:21 colomon no freaking way.
22:21 p6eval rakudo 3eceb8: OUTPUT«Confused at line 2, near "\x{ab}*=\x{bb} (2, 5"␤in Main (file <unknown>, line <unknown>)␤»
22:21 colomon jnthn: is that solid?  (inside the meta, I mean)
22:22 jnthn colomon: Yeah, I think the synopses even have an example like that.
22:22 colomon sweeeeeeeeet!
22:23 colomon also, must add appropriate tests to workout.t after orchestra.  :)
22:23 moritz_ ;-)
22:24 jnthn Yes, here
22:24 jnthn @array »+=» 42;                 # add 42 to each element
22:24 jnthn Straight from S03. :-)
22:24 colomon jnthn++
22:25 jnthn Rakudo doesn't do it yet though.
22:26 colomon TODO or SKIP tests, then.
22:26 jnthn (But I think with pmichaud++'s current work, we'll soon start to parse those.)
22:26 jnthn SKIP, we don't parse 'em yet, iirc.
22:28 wknight8111 joined #perl6
22:33 dalek book: 6f17379 | moritz++ | src/multi-dispatch.pod:
22:33 dalek book: [MMD] tightness
22:33 dalek book: review: http://github.com/perl6/book/commit/6f173799610d9d1928e254a39a39b57100887be5
22:33 dalek book: 4562d10 | moritz++ | src/multi-dispatch.pod:
22:33 dalek book: [MMD] add a =head1 so that perldoc will actually display something
22:34 dalek book: review: http://github.com/perl6/book/commit/4562d107c9417d6b9331eff224b2bb0e02067955
23:05 Exodist joined #perl6
23:07 quietfanatic joined #perl6
23:14 dolmen joined #perl6
23:25 lumi joined #perl6
23:47 Mr_Orange joined #perl6
23:47 Mr_Orange i want to use the logging bot
23:47 Mr_Orange is the site that is referenced in the readme accurate still?
23:49 Exodist joined #perl6
23:52 lumi joined #perl6

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

Perl 6 | Reference Documentation | Rakudo