Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-10-15

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:12 kst joined #perl6
00:26 arthur-- joined #perl6
00:31 xinming_ joined #perl6
00:32 lumi joined #perl6
00:41 rhr joined #perl6
00:42 vmbrasseur joined #perl6
00:42 rdice joined #perl6
00:47 vmbrasseur_ joined #perl6
00:49 vmbrasseur_ left #perl6
00:51 vmbrasseur Hey, all.  I'm considering starting in on some "how to contribute" info for perl6.org.
00:52 vmbrasseur Goal is to explain as much as possible and dispel a lot of fog from newbie heads.
00:53 vmbrasseur Because right now?  It ain't so clear even what's what, let alone where someone could start on lending a hand.
00:53 vmbrasseur Feedback on the general idea?
00:53 Tene sounds great to me.
00:54 vmbrasseur Do you have anything in particular which you'd like to see covered?
00:55 vmbrasseur perl6.org/about says I should check here for consensus before larger changes (assuming that means additions as well).
00:57 sjohnson hi Tene
00:58 Tene hi sjohnson
00:59 rhr_ joined #perl6
01:06 Eevee joined #perl6
01:06 Mr_Orange left #perl6
01:11 rhr joined #perl6
01:19 rhr_ joined #perl6
01:19 SmokeMachine joined #perl6
01:19 jaldhar joined #perl6
01:21 rml_ joined #perl6
01:26 eternaleye joined #perl6
01:30 lumi joined #perl6
01:36 orafu joined #perl6
01:45 rdice joined #perl6
01:47 brunov joined #perl6
01:52 vmbrasseur There's no formal issue tracking (aside from TASKS in svn) for Perl6?
01:54 quietfanatic Do you mean like http://rt.perl.org/rt3/Public/?nossl=true or something different?
01:56 vmbrasseur Like that, but for development-type things.
01:56 vmbrasseur I hadn't noticed the RT for perl6 before though, so thanks for that.
01:58 vmbrasseur Looks like dev.pugscode.org is a morass of spam tickets.
02:00 vmbrasseur Ah, OK.  Default view of the timeline included closed tickets.  Disabling that removed the spam.  That's a more encouraging picture.
02:05 rhr joined #perl6
02:27 xenoterracide joined #perl6
02:28 rhr_ joined #perl6
02:30 jaldhar joined #perl6
02:34 JimmyZ joined #perl6
02:36 agentzh joined #perl6
02:38 lumi joined #perl6
02:41 nbrown_ joined #perl6
02:48 NorwayGeek joined #perl6
02:55 JimmyZ joined #perl6
02:55 am0c joined #perl6
03:04 quietfanatic rakudo: my $x = "x"; say |$x
03:04 p6eval rakudo 3eceb8: OUTPUT«argument doesn't array␤in Main (file src/gen_setting.pm, line 206)␤»
03:04 quietfanatic rakudo: my @x = "x"; say |@x
03:04 p6eval rakudo 3eceb8: OUTPUT«x␤»
03:05 quietfanatic I think prefix:<|> should work on scalars, right
03:05 quietfanatic ?
03:06 quietfanatic std: my $x = "x"; say |$x
03:06 p6eval std 28792: OUTPUT«ok 00:02 114m␤»
03:08 sjohnson rakudo: my @x = "x"; say '' |@x
03:08 p6eval rakudo 3eceb8: OUTPUT«any("", ["x"])␤»
03:09 synth joined #perl6
03:11 nihiliad joined #perl6
03:16 NorwayGeek joined #perl6
03:30 envi^office joined #perl6
03:34 PZt joined #perl6
03:37 eternaleye_ joined #perl6
03:56 kst joined #perl6
03:57 xinming joined #perl6
04:02 lumi joined #perl6
04:30 bpetering joined #perl6
04:32 zloyrusskiy joined #perl6
04:46 Confield left #perl6
04:52 synth joined #perl6
05:08 JimmyZ joined #perl6
05:08 _jaldhar joined #perl6
05:14 lumi joined #perl6
05:30 ShaneC joined #perl6
05:31 dalek nqp-rx: c5a7893 | pmichaud++ |  (4 files):
05:31 dalek nqp-rx: Add Regex::P6Grammar as temporary scaffolding for bootstrapping the parser.
05:31 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/c5a7893698f3cded030feb6ae6800e596501b33e
05:31 dalek nqp-rx: 2bb5b72 | pmichaud++ | .gitignore:
05:31 dalek nqp-rx: Update .gitignore.
05:31 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/2bb5b727780aa137302423717aef8871847bf889
05:31 dalek nqp-rx: f80ba14 | pmichaud++ |  (2 files):
05:31 dalek nqp-rx: Change "make test" target to specify $(PARROT) executable (suggested
05:31 dalek nqp-rx: by moritz++).
05:31 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/f80ba149a3119ab3367b42a74c61bf4554f08e3b
05:38 ShaneC joined #perl6
05:42 jaldhar_ joined #perl6
05:43 synth joined #perl6
05:59 Su-Shee joined #perl6
05:59 Su-Shee good morning.
05:59 colomon o/
06:10 bpetering perceived problem: http://svn.pugscode.org/pugs/docs/BootstrappingContributors.pod
06:11 bpetering proposed solution: http://svn.pugscode.org/pugs/docs/IRCchannelLexicon.pod
06:11 dalek nqp-rx: e7e5924 | pmichaud++ | src/Regex/P6 (2 files):
06:11 dalek nqp-rx: Add the ability to parse arglists after colons in subrule calls.
06:11 dalek nqp-rx: Add parsing of {*} tokens.
06:11 dalek nqp-rx: Bootstrap progress: The "p6grammar" executable is now able to
06:11 dalek nqp-rx: parse its own grammar definition; test via
06:11 dalek nqp-rx:     ./p6grammar --target=parse src/Regex/P6Grammar/Grammar.pm
06:11 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/e7e592477d377d282b20e29a9fd6966233566a4d
06:17 lumi joined #perl6
06:23 dalek joined #perl6
06:33 JimmyZ joined #perl6
06:40 NorwayGeek joined #perl6
06:43 Kid joined #perl6
06:43 Kid Hi All
06:44 Kid I am New to This Plateform and Perl 6
06:44 Kid Could Any body point out about perl 6
06:45 moritz_ good morning
06:46 moritz_ there are lots of good links on http://perl6.org/
06:46 moritz_ is there anything more specific you want to know?
06:48 Kid I know python / ruby / php
06:48 Kid and Perl (Just Aware of)
06:48 Kid I am planning to shift Perl 6
06:49 lumi joined #perl6
06:49 moritz_ great
06:49 Kid So Could you tell me How can Perl 6 can help me w.r.t Web Projects
06:50 [synth] joined #perl6
06:51 zamolxes joined #perl6
06:51 moritz_ we have a nice project that wants to simplify web development
06:52 flip214 joined #perl6
06:52 moritz_ masak has been developing much of it, and he's been blogging about it also
06:52 Kid Could you please Give the URL
06:52 moritz_ blog: http://use.perl.org/~masak/journal/ source: http://github.com/masak/web/
06:53 Kid Are you from Perl  6 Team
06:53 barney joined #perl6
06:53 moritz_ yes
06:55 Kid I will check them
06:56 Kid Is Their any Django Kinda Framework Perl 6 is Providing
06:56 zamolxes joined #perl6
06:56 moritz_ I no of no other web framwork for Perl 6 than Web.pm
06:57 Kid Sorry I don't get you
06:59 moritz_ I know of no other web framwork for Perl 6 than Web.pm # next attempt :-)
06:59 moritz_ sorry, not quite awake yet
07:01 Kid Okey One more Question How it is different from Haskell
07:01 moritz_ very much so
07:02 Kid I think I need to know Perl 6
07:02 moritz_ haskell is a pure, functional language with lazy evaluation
07:02 Kid Some Features are impressive
07:02 moritz_ Perl 6 is a more "traditional" language where you have variables you can assign to, and only lists are lazy
07:03 moritz_ you can still do functional programming with Perl 6, though
07:03 Kid Okey
07:03 Kid Thanks for your advice
07:04 moritz_ you're welcome
07:05 Kid I am using IRC after 8 Years. Impressive IRC culture has not changed yet. Salute to IRC and Specially @moritz_
07:06 * moritz_ bows
07:08 hugme joined #perl6
07:08 Kid Is This Your URl Mortiz
07:08 Kid http://moritz.faui2k3.org/en/
07:09 moritz_ that's one of them yes
07:09 moritz_ though most of my up-to-date stuff is on http://perlgeek.de/
07:09 moritz_ including a Perl 6 blog :-)
07:10 Kid I am still kid in terms of Perl
07:10 Kid Please Share
07:10 pugs_svn joined #perl6
07:10 pugs_svn r28790 | jnthn++ | [t/spec] Correct incorrect signature.
07:10 pugs_svn r28791 | geoffb++ | [irclog] cgi/style.css: Improve look and layout of calendars
07:10 pugs_svn r28792 | kyle++ | [t/spec] Test for RT 65638
07:10 pugs_svn r28793 | bpetering++ | A problem and a solution - contributors and #perl6
07:10 moritz_ http://perlgeek.de/blog-en/
07:13 Kid Nice to meat you.
07:14 Kid I had book marked the URl.and will contact you if stuck somewhere between.
07:14 pugs_svn r28794 | moritz++ | [docs] some updates to IRCchannelLexicon.pod
07:15 Kid Wishing you Happly Diwali (Indian Fastival)
07:15 Kid Bye
07:15 moritz_ same to you
07:15 moritz_ bye
07:18 moritz_ phenny: tell vmbrasseur re contribution info, you might be interested in <http://www.perlmonks.org/?node_id=771635> and <http://www.perlmonks.org/?node_id=780001>. Also feel free to ask on #perl6 if you need a pugs commit bit to change perl6.org
07:18 phenny moritz_: I'll pass that on when vmbrasseur is around.
07:18 kst joined #perl6
07:21 sjohnson nice to meat :)
07:21 * moritz_ feels so tasty
07:21 sjohnson just kidding.  i am not teasing
07:21 sjohnson a perl fan, is a perl fan
07:23 moritz_ not teasing? what's wrong with you? ;-)
07:23 sjohnson hehe
07:23 sjohnson ahh was worried for political reasons tbh
07:23 sjohnson didn't want to seem like a bastard
07:23 * sjohnson played the PC card
07:23 sjohnson ... and is ashamed of having to lie
07:24 sjohnson haven't seen wayland76 around for a while
07:24 moritz_ aye
07:24 moritz_ @seen wayland76
07:24 lambdabot Unknown command, try @list
07:24 moritz_ that bot is getting more and more useless every day
07:27 NorwayGeek_ joined #perl6
07:27 mathw Morning
07:28 mathw Maybe we should evict lambdabot
07:28 moritz_ \o/
07:28 moritz_ mathw: only if we have another karma tracking bot ;-)
07:28 Bzek joined #perl6
07:33 mathw moritz_: so the plan should be to replace lambdabot with a karmabot written in Perl 6
07:35 sjohnson moritz_: might be because it was programmed in python ;)
07:36 sjohnson .. or a warning that p6 could replace drone-like human activity
07:36 sjohnson ... and the only one
07:36 sjohnson i've seen the Terminator movies... i know what might happen
07:37 Su-Shee .oO(I get Christian Bale covered in dirt? ;)
07:37 sjohnson i've always wondered what .oO
07:37 sjohnson means
07:37 Tene sjohnson: "thought bubble"
07:37 Su-Shee thinking :)
07:37 * sjohnson needs to keep up with the times
07:38 sjohnson .oO(would also like that)
07:38 sjohnson you guys can't read that... right?
07:38 * sjohnson feels save
07:38 sjohnson safe
07:39 Tene support for select()and then a POE-alike is on my TODO list.
07:52 rfordinal joined #perl6
07:53 pmichaud time for sleep here... got a very late start on nqp-rx today, but managed to get a lot done anyway.  :)
07:54 mathw yay! \o/
07:56 dalek nqp-rx: bbbca64 | pmichaud++ | src/Regex/P6Regex/Actions.pm:
07:56 dalek nqp-rx: Refactor named assertions slightly for better argument handling later.
07:56 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/bbbca641af587ddb296c5439c89ae5d4f24f83cd
07:56 dalek nqp-rx: 2b0f1ad | pmichaud++ |  (3 files):
07:56 dalek nqp-rx: More updates to P6Grammar bootstrapping.
07:56 dalek nqp-rx: P6Grammar is now able to parse and produce a partial past tree
07:56 dalek nqp-rx: for its own grammar definition (in src/Regex/P6Grammar/Grammar.pm).
07:56 dalek nqp-rx: Still need a metachar:<{*}> action method to produce action methods.  :-)
07:56 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/2b0f1adfaed33d50d4ee0b932b527a33efc2e42a
07:58 moritz_ pmichaud++
08:01 mariuz joined #perl6
08:05 iblechbot joined #perl6
08:18 ejs joined #perl6
08:25 KatrinaTheLamia joined #perl6
08:42 ihrd joined #perl6
08:43 flip214 rakudo: say ((5/6) + (612/742)).perl
08:43 p6eval rakudo 3eceb8: OUTPUT«3691/2226␤»
08:43 flip214 rakudo: say ((5/6) + (612512351/7422)).perl
08:43 p6eval rakudo 3eceb8: OUTPUT«too many arguments passed (3) - 1 param expected␤in Main (file src/gen_setting.pm, line 206)␤»
08:43 flip214 help, please?
08:43 moritz_ that's an integer overflow internally
08:44 flip214 bad error message, I think
08:44 moritz_ you can convert to Num and calculate with that approximately
08:44 moritz_ yes
08:44 moritz_ there's already a bug ticket for taht
08:44 flip214 although Larry said at YAPC that he wants better messages
08:44 flip214 ok, fine
08:44 flip214 thanks
08:44 flip214 But I'm on a 64bit machine ... shouldn't that use at least 64bit? And S02 says "arbitrary precision", IIRC
08:45 flip214 So that's more an implementation bug?
08:45 moritz_ yes, it's a bug
08:45 moritz_ it's supposed to work with bigints
08:45 flip214 moritz_: you can restart the bots?
08:45 moritz_ flip214: which bots?
08:45 flip214 just asking because I'd like to test something
08:45 flip214 rakudo
08:46 moritz_ rakudo: say "I'm here, what's up?"
08:46 p6eval rakudo 3eceb8: OUTPUT«I'm here, what's up?␤»
08:46 flip214 rakudo: my $b='rakudo: my $b=%c%s%c;say sprintf $b,39,$b,39;';say sprintf $b,39,$b,39;
08:46 p6eval rakudo 3eceb8: OUTPUT«rakudo: my $b='rakudo: my $b=%c%s%c;say sprintf $b,39,$b,39;';say sprintf $b,39,$b,39;␤»
08:46 moritz_ heh :-)
08:46 flip214 hmmm, sadly the "rakudo xxxx" part messes up.
08:46 flip214 sorry.
08:46 moritz_ that's intentional
08:46 flip214 had to try
08:46 moritz_ :-)
08:47 moritz_ I took care that all but output starts with something that the user can't control
08:47 moritz_ in order not to control other bots, or itself
08:47 flip214 hmmmm ... I'll think of something
08:48 flip214 where are the sources of the bot?
08:48 moritz_ in the pugs repo in misc/evalbot/
08:50 moritz_ rakudo: multi a ($x where 1 where *) { 1 }; say a(1)
08:50 p6eval rakudo 3eceb8: OUTPUT«1␤»
08:50 moritz_ rakudo: multi a ($x where 1 where *) { 1 }; multi a($x where 1) { 2 }; say a(1)
08:51 p6eval rakudo 3eceb8: OUTPUT«Ambiguous dispatch to multi 'a'. Ambiguous candidates had signatures:␤:(Any $x where all({ ... }, { ... }))␤:(Any $x where { ... })␤in Main (file src/gen_setting.pm, line 206)␤»
08:52 flip214 morith: thanks
09:01 dakkar joined #perl6
09:08 pmurias joined #perl6
09:23 JimmyZ rakudo: sub postfix:<!>($n) { [*] 1..$n }; 10!.say;
09:23 p6eval rakudo 3eceb8: OUTPUT«Confused at line 2, near ".say;"␤in Main (file <unknown>, line <unknown>)␤»
09:23 JimmyZ rakudo: sub postfix:<!>($n) { [*] 1..$n }; (10!).say;
09:23 p6eval rakudo 3eceb8: OUTPUT«3628800␤»
09:25 bpetering pmichaud++ # refactors
09:26 dalek book: 97b41dc | moritz++ | src/multi-dispatch.pod:
09:26 dalek book: [MMD] headings, narrowness
09:26 dalek book: review: http://github.com/perl6/book/commit/97b41dcdcd005cdc1bcd0228de401c8c24d0c0a2
09:27 bpetering moritz++
09:28 ihrd left #perl6
09:28 donaldh joined #perl6
09:30 mariuz joined #perl6
09:40 dalek nqp-rx: 468b4eb | pmichaud++ | src/ (3 files):
09:40 dalek nqp-rx: Add keyed reductions / action triggers.
09:40 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/468b4eb7c8b4db7b0243bf64e88d5899833cd1fe
09:40 dalek nqp-rx: 0c574ea | pmichaud++ | src/ (2 files):
09:40 dalek nqp-rx: Determine regex name to be used for action methods.
09:40 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/0c574ea861c51a84d78892d829cc4d1bb5f7c2f4
09:40 dalek nqp-rx: 672674d | pmichaud++ | src/Regex/P6Grammar/ (2 files):
09:40 dalek nqp-rx: Update P6Grammar to attach names to regexes, set modifiers for
09:40 dalek nqp-rx: token/rule.
09:40 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/672674d143b1783ecfd2e0f7cde33b09f6c7a838
09:41 masak joined #perl6
09:41 masak good mid-day, #perl6.
09:44 payload1 joined #perl6
09:52 jnthn oh morning
09:52 masak :)
09:53 masak I had a fun debugging session last night.
09:53 masak I should write a whole blog post about debugging in Rakudo.
09:53 masak I have at least two solid techniques that I use nowadays.
09:53 jnthn Nice.
09:53 jnthn I spent last night doing the things I should have done in the day when I was doing Rakudo things...
09:54 masak :)
09:54 masak the debugging session ended in a very clear conclusion: I can't spell, and Rakudo punishes me mightily for it.
09:55 masak so the lexicals model is safe, for now.
09:56 jnthn Well, punishment is a method of teaching, no? ;-)
09:56 masak I feel thoroughly taught.
09:57 masak it's definitely a lesson in humility. in less than one second, I go from "hah, wait until I catch this bug!" to "oh, ouch. it says Foo.Blahr.new()?!"
09:58 jnthn masak: I hope it didn't actually say that, or I'll go fetch my +2 multi-headed whip of variable name choice learning.
09:58 jnthn ;-)
09:58 masak no, I'm anonymizing. :)
09:58 jnthn oh phew
09:58 masak it's a habit I picked up from working with November.
09:59 mwm joined #perl6
10:01 * jnthn needs to make time to follow the roles discussion on p6l
10:01 jnthn It's actually looks like a worthwhile thread to follow.
10:05 masak nod.
10:08 sjohnson bed :)
10:08 eMaX joined #perl6
10:09 * jnthn only got out of that recently...
10:09 jnthn My sleep times are kinda fail, but I don't see much need to fix 'em.
10:09 sjohnson same
10:09 sjohnson it's 3am here
10:09 sjohnson and i have to call in sick to work tomorrow
10:09 sjohnson ugh
10:10 sjohnson just cause i got into an argument over irc yet again
10:10 sjohnson ... end of rant
10:10 masak same here.
10:10 masak but I'm at work, as usual.
10:10 masak I only work half-time, so when I wake late, I work afternoons.
10:13 sjohnson yeah
10:13 * sjohnson pat pats masak
10:13 * masak purrs
10:14 sjohnson :)
10:14 sjohnson there might be some Perl6 chocolate around here that Su-Shee offered
10:14 * sjohnson scrounges the carpet like a crack victim
10:14 masak oh wow! I see I need to backlog :)
10:18 ShekarKCB joined #perl6
10:18 masak (now calendar look on irclog.perlgeek.de)++
10:18 masak I -think- it's better. the previous one had slightly better contrast, but this has less clutter.
10:19 lumi joined #perl6
10:26 masak /usr/local/bin/parrot  perl6_s1.pbc --target=pir src/gen_setting.pm > src/gen_setting.pir
10:26 masak Null PMC access in find_method()
10:27 jnthn ouch.
10:27 * jnthn looks innocently at masak
10:27 jnthn "But I didn't push to master for days!"
10:27 masak heh.
10:27 masak it worked when I pulled yesterday.
10:28 mathw It wasn't me, I don't have a rakudo commit bit
10:28 mathw And all I did yesterday was de-bitrot Form.pm
10:29 masak mathw++
10:29 jnthn masak: realclean help at all?
10:29 masak trying now.
10:30 masak no, didn't work.
10:30 jnthn meh, fail
10:31 jnthn Do you have the version of Parrot matching the requested on in PARROT_REVISION?
10:31 masak no.
10:32 jnthn That may well be your problem. ;-)
10:32 masak aye.
10:39 JimmyZ joined #perl6
10:46 masak I downdated Parrot and rebuilt everything. still getting the Null PMC access.
10:47 moritz_ rm -rf parrot_install; make realclean; perl Configure --gen-parrot
10:48 masak I'm running Rakudo-in-Parrot, so the first step does not apply.
10:48 masak but apart from that, that's what I just did.
10:48 masak oh, and minus the --gen-parrot
10:52 moritz_ anyway, you should clear the location to which you intalled parrot
10:54 masak bpetering++ # lingo mismatch solution suggestion
10:56 masak bpetering: long time no see, by the way. haven't talked since we collaborated wonderfully on Text::CVS together, and you promised 'something really cool'...
10:56 mathw Wow
10:56 mathw Link::C is impressive
10:57 masak quietfanatic++
11:00 jnthn masak: About BPW, do you know what dates you'll be around there?
11:00 mathw another perl workshop?
11:00 masak jnthn: haven't planned that far yet. open for suggestions.
11:00 masak lunch &
11:01 jnthn masak: I can fly there Friday afternoon, back on Monday mid day.
11:01 jnthn For decent-ish prices.
11:01 jnthn mathw: Baltic...
11:02 jnthn It's in Latvia.
11:02 jnthn So er, how to put this nicely...it might be quite cheap for hotel/beer given the current economic conditions there.
11:05 mathw ahah
11:05 Su-Shee jnthn: "the currency is very favorable these days.."
11:05 mathw latvia here has a reputation for being cheap and good for going to for raucous stag nights
11:06 mathw but that basically sums up the english pubgoer's attitude to all of that part of europe
11:06 Su-Shee oh yes. we have one or two of those in berlin "sometimes". ;)
11:07 jnthn Meh. I hate discovering Brit stag parties.
11:07 mathw Me too
11:07 jnthn Those are the times when I normally deny being British.
11:07 mathw Nottingham also has a reputation as a good place for stag parties
11:07 mathw And hen nights
11:07 mathw They're infuriating
11:08 mathw Although at the moment it's all the new students at the universities who are busily drinking every drop of alcohol they didn't drink in their first 18 years
11:08 Su-Shee luckily, tourists go in one place and all others somewhere else. ;)
11:08 moritz_ rakudo: multi a($, $?) { 1}; multi b($, $) { 2 }; say a(1), a(1, 1)
11:08 mathw making the can-buy-alcohol age the same as the go-to-university age may not be a good idea...
11:08 p6eval rakudo 3eceb8: OUTPUT«11␤»
11:08 jnthn It's fine to go out for some drinks when abroad...but pissing on national monuments is rather less so.
11:08 mathw because suddenly they can buy it, and then they move away from their parents
11:08 mathw and lo! Drinking ensues
11:08 mathw jnthn: I agree with you entirely.
11:09 jnthn Sadly, such incidents have happened enough here that a lot of locals have quite negative attitude now towards foreigners. :-(
11:09 Su-Shee isn't university where binge drinking has already stopped?
11:09 mathw But then, I tend to avoid countries where I don't speak the native language because I feel too embarrassed to try and find someone who speaks English
11:09 mathw Su-Shee: no
11:09 moritz_ so binding to an optional parameter is just as narrow as a required one?
11:09 mathw For a lot of people it starts at sixth form and continues until they get run over by an ambulance
11:09 moritz_ *as to a*
11:10 moritz_ (sorry for the off-topic question :)
11:10 jnthn moritz_: The way optionals influence narrowness is kinda...interesting.
11:10 moritz_ jnthn: do tell
11:10 NorwayGeek joined #perl6
11:10 jnthn moritz_: I'd love to, but I think the spec isn't so clear on it, and the code that takes care of that is decidedly hairy.
11:10 Su-Shee mathw: uhm.. you travel only to english spoken countries? :)
11:11 jnthn moritz_: ihrd++ has brought this up a bit, and I've discussed it some with him.
11:11 mathw Su-Shee: Most of the time I stay in the UK, there's still a great deal to explore here. But I go to Germany happily, because I speak enough German to deal with all the likely situations.
11:11 jnthn moritz_: But we're kinda lacking an easily explainable set of rules for arity based multi-dispatch in regards to optionals and slurpies.
11:12 jnthn moritz_: In general, more positionals is narrower than less positionals and a slurpy.
11:12 jnthn At one time we had it so that optionals didn't count into the type sorting.
11:13 jnthn Now we essentially take min($a.count, $b.count)
11:13 jnthn To decide how many parameters to consider in the type sort.
11:13 jnthn moritz_: So that's about the current state. I'm far from attached to it though.
11:14 moritz_ I think I leave out that part for now :-)
11:14 jnthn Who'd of thought that arity based multi-dispatch would end up more complex than type-based... :-)
11:14 moritz_ jnthn: anyway, thanks for the explanation
11:14 mathw It wouldn't be if we didn't have optional parameters
11:14 mathw But they make arities... uncertain
11:15 jnthn mathw: aye
11:15 jnthn well, it's two things. It's the fact that arity is non-trivial, but also how those things interact with the type based narrowness analysis.
11:16 mathw yes, not only do you have a complicated set of rules, they have to interact with a different set of complicated rules
11:16 jnthn Well, the type rules are dead easy for the most part.
11:16 mathw who came up with this multiple dispatch idea anyway
11:16 jnthn "Well it blend^Wsmart-match?"
11:16 mathw it's far too much effort
11:16 mathw let's drop it
11:16 jnthn Yeah, let's rip it out of the spec!
11:16 jnthn :-P
11:17 mathw :)
11:19 moritz_ and the presence of a required named parameter is counted like a constraint, right?
11:21 jnthn moritz_: ye
11:22 jnthn s
11:22 jnthn moritz_: that causes a full bindability check.
11:22 jnthn Just as constraints do.
11:22 jnthn Like constraints, they also do not contribute to type narrowness considerations, other than by their existence.
11:23 jnthn :(Int $x) is wider than :(Int $x, :$beer!)
11:23 jnthn However, if you had three sigs, like
11:24 jnthn :(Int $x), :(Int $x, Any :$beer!), :(Int $x, Weiss :$beer!)
11:24 jnthn Then the last two would be equally narrow.
11:24 jnthn And whichever one matched first would be teh winner
11:24 moritz_ that's how I understood it, yes
11:24 moritz_ wait...
11:24 jnthn OK, good. :-)
11:24 jnthn aww, damm :-)
11:24 moritz_ no ambiguous dispatch if both match?
11:25 jnthn Not any more.
11:25 moritz_ ok
11:25 jnthn The spec changed on that.
11:25 jnthn I'm not sure it's a change I agree with, but it changed.
11:25 mathw But... Weiss is narrower than Any
11:25 moritz_ mathw: but it's just a name :-)
11:26 mathw Then isn't Int just a name?
11:26 jnthn mathw: It's tastier too, but that doesn't affect the type ordering.
11:26 mathw Umm
11:26 moritz_ mathw: that's the difference between positional and named
11:26 jnthn mathw: Only the types of positionals are involved in type ordering.
11:26 mathw I'm missing something
11:27 mathw And I think it might be the idea that I might want to use named parameters
11:27 mathw I guess most multidispatch is going to happen on compulsory parameters
11:27 mathw And most nameds are optional
11:27 moritz_ aye
11:27 zamolxes joined #perl6
11:27 mathw But it still seems odd
11:28 mathw that the Any might match instead of the Weiss when you give it something which ~~ Weiss
11:29 moritz_ I think the dispatcher is sufficiently non-trivial already
11:29 mathw I'm not saying it's easy
11:30 mathw But it is going to bite people
11:30 moritz_ aye
11:31 jnthn That, and other reasons, are why I think it's wrong that the spec changed to "pick the first one".
11:32 mathw because 'what's "first"'
11:32 mathw it's effectively ambiguous
11:32 jnthn The other big problem is that "first one" is kinda hard to keep in your head when you're doing a "use" and importing stuff.
11:32 mathw as far as most programmers are concerned, which one they get is a matter of pot luck (and possibly the order of their use statements)
11:32 jnthn He wants to go sightseeing, but the weather is crap.
11:32 jnthn oh, wrong window
11:33 mathw I was about to try and interpret that as an astonishingly wise metaphor
11:33 jnthn mathw: yes, my leaning too :-)
11:33 jnthn lol!
11:33 jnthn No, I'm not TimToady. :-)
11:33 jan_ joined #perl6
11:33 egypt joined #perl6
11:36 mathw no
11:36 mathw you're jnthn
11:36 mathw two TimToadys would be an extravagance
11:36 mathw We'd have to lend one to another language
11:39 michaelr joined #perl6
11:40 solarion joined #perl6
11:40 tylerni7 joined #perl6
11:40 buubot joined #perl6
11:40 cxreg joined #perl6
11:40 solarion joined #perl6
11:40 allbery_b joined #perl6
11:40 michaelr_ joined #perl6
11:40 solarion_ joined #perl6
11:40 jnthn I'd love to hear the two TimToadys debate the merits of their relative languages. :-)
11:41 cxreg joined #perl6
11:41 masak jnthn: they wouldn't debate. they would just trump each other's witticisms. :)
11:43 masak oh, and Joyous Diwali, people.
11:43 zloyrusskiy joined #perl6
12:02 takadonet morning all
12:03 masak o/
12:08 envi^home joined #perl6
12:10 jnthn joined #perl6
12:10 barney joined #perl6
12:10 jaldhar_ joined #perl6
12:10 xinming joined #perl6
12:10 BinGOs joined #perl6
12:10 zerhash joined #perl6
12:10 rgrau joined #perl6
12:10 p6eval joined #perl6
12:10 PacoLinux joined #perl6
12:10 alester joined #perl6
12:10 drbean joined #perl6
12:10 slavik joined #perl6
12:10 colomon joined #perl6
12:10 carlin joined #perl6
12:10 shachaf joined #perl6
12:10 sjohnson joined #perl6
12:10 Grrrr joined #perl6
12:10 nsh joined #perl6
12:10 cosimo joined #perl6
12:35 meppl joined #perl6
12:39 takadonet how do you create a directory in perl6?
12:39 masak mkdir
12:40 takadonet thanks masak
12:40 * masak bows
12:40 colomon is that implemented already?
12:40 masak in Rakudo?
12:40 moritz_ rakudo: mkdir '/tmp/blah/'
12:40 p6eval rakudo 3eceb8: OUTPUT«Could not find non-existent sub mkdir␤in Main (file src/gen_setting.pm, line 206)␤»
12:41 takadonet hmmmm
12:41 masak it isn't.
12:41 takadonet so currently there is no way to create a directory in rakudo then?
12:42 moritz_ there's run()
12:42 moritz_ rakudo: run('mkdir', '/tmp/foo')
12:42 p6eval rakudo 3eceb8: OUTPUT«operation not permitted in safe mode␤in Main (file /home/p6eval//p2/lib/parrot/1.6.0-devel/languages/perl6/lib/Safe.pm, line 24)␤»
12:43 takadonet thanks
12:44 masak rakudo: sub foo() { our $already_called and die "Already called"; $already_called = 1; say "OH HAI" }; foo; foo
12:44 p6eval rakudo 3eceb8: OUTPUT«OH HAI␤Already called␤in sub foo (file /tmp/oxEof9vGMi, line 1)␤called from Main (file /tmp/oxEof9vGMi, line 0)␤»
12:44 masak rakudo: sub foo() { state $already_called++ and die "Already called"; say "OH HAI" }; foo; foo
12:44 p6eval rakudo 3eceb8: OUTPUT«OH HAI␤Already called␤in sub foo (file /tmp/5AZCNJORgm, line 1)␤called from Main (file /tmp/5AZCNJORgm, line 0)␤»
12:45 masak quietfanatic: I think using 'state' is more idiomatic. at least if you don't plan to use $already_called outside of the routine.
12:51 bpetering_ masak: stuff for you soon
12:52 masak bpetering_: oh yay! I thought you had forgotten, been kidnapped, or both. :)
12:52 bpetering_ forgotten? how could i forgot you and all the wonderful people here? ;)
12:53 masak I even toyed with the idea to write a blog post about our successful collaboration and your subsequent mysterious disappearance.
12:53 NorwayGeek joined #perl6
12:53 masak but now I'd much prefer to wait a bit and see how the story continues. :)
12:53 bpetering_ gah, ppl asleep, etc etc :)
12:53 masak bah, rules.
12:54 moritz_ contributors beware - you might get kidnapped by an evil, secret PHP deployment organization
12:54 bpetering_ moritz_: s/PHP/ASP/ and you'd be close
12:54 moritz_ bpetering_: ok :-)
12:54 moritz_ anything with a trailing capital P :-)
12:59 bpetering_ so, masak: you've been ridiculously patient. thank you :)
13:03 masak no problem. this world runs on voluntary contributions, after all.
13:04 payload joined #perl6
13:04 bpetering_ *right* now i need to not fail a course for uni, and complete an evil .*P project, but after that: csv goodness
13:05 masak good luck on the former two.
13:06 masak moritz_: what do you have against LISP?
13:06 moritz_ good luck with all three :-)
13:06 moritz_ masak: lc
13:06 masak moritz_: opinions differ on that.
13:06 moritz_ :-)
13:06 * bpetering_ sides with moritz_
13:07 masak very well. what do you have against ROOP?
13:07 * masak is going through http://en.wikipedia.org/wiki/List_of_programming_languages
13:08 bpetering_ masak is way below the obscurity threshold
13:08 masak ROOP sounds cool. "ROOP is a multiparadigm programming language targeted at AI applications created at the Chengdu University of China. It combines rule-based, procedural, logical and object-oriented programming techniques."
13:08 masak the application domain is ridiculously narrow, though. most AI applications were not created at the Chengdu University of China.
13:08 masak :P
13:09 bpetering_ moritz_: thank you
13:10 bpetering_ masak: stop goofing off plz! before i beat you with the back-on-topic stick! ;)
13:10 * masak laughs and climbs the drapes
13:10 bpetering_ you're lucky i've finished my cocoa!
13:11 moritz_ bpetering_: that's masakbot in safe mode. You don't even want to imagine him in safe mode switched off
13:11 masak me neither.
13:11 bpetering_ does safe mode involve caffeine deprivation?
13:12 moritz_ it mostly involves not throwing around rude Swedish words
13:13 masak moritz_: mind you, those first ones aren't rude in Swedish, and the second one is only a word in the sense that it's a compound of two existing words, one of them rude.
13:13 * bpetering_ off to fetch said stick
13:13 moritz_ masak: so you say
13:14 masak bpetering_: you'll have to catch me first. I'm now halfway to the ceiling, and it's a high ceiling.
13:14 * bpetering_ shakes the drapes
13:15 * moritz_ fires off a well-aimed body binding curse at masak
13:15 bpetering_ haha
13:15 * masak becomes stiff, and gets caught in the drapes, unable to move
13:16 moritz_ now let's just set the drapes on fire... :-)
13:16 bpetering_ we have discovered a new mode for masakbot
13:16 masak hey, friends.
13:16 masak suddenly this doesn't feel like such a good idea after all.
13:16 masak let's negotiate, shall we?
13:16 moritz_ sure
13:17 * mathw Vanishes the drapes
13:17 * masak falls
13:17 moritz_ you find some bug, I write some more book stuff
13:17 * moritz_ applies the "feather light fall" spell
13:17 masak oof.
13:17 masak too little, too late.
13:17 bpetering_ moritz speaks softly...
13:17 masak lucky someone put that sacco bag there.
13:17 bpetering_ masak: i still have the big stick.
13:18 masak bpetering_: I'm on topic! we're talking about bugs, and the Perl 6 book, and... stuff.
13:18 mathw book book book
13:18 masak bugs bugs bugs
13:18 bpetering_ svedish chef chef chef?
13:19 mathw I said book, not bork
13:19 masak .oO( mmm... chocolate Moose )
13:19 mathw life size?
13:19 moritz_ post modern meta-chocolate system?
13:20 masak I never meta chocolate I didn't like.
13:20 * moritz_ did
13:20 masak tried the ginger variety, did you?
13:20 bpetering_ moritz_: was it number 214 or so?
13:20 moritz_ bpetering_: my chocolates aren't numbered :)
13:21 mathw I did
13:21 bpetering_ indeed, better if you don't keep track :)
13:21 mathw it had coconut in it
13:21 moritz_ but >80% cocoa just doesn't take like chocolate anymore
13:21 mathw no it's something else
13:21 mathw but it's still nice
13:21 mathw particularly if you mix it with other things
13:21 mathw more of an ingredient, really
13:21 moritz_ s/take/taste/
13:23 masak I don't care if my testing framework gets stuck in an infinite loop, because sooner or later Parrot dies anyway. ;P
13:23 mathw umm
13:24 mathw with an attitude like that, you could work here!
13:24 bpetering_ haha
13:24 masak :)
13:25 schaf joined #perl6
13:25 bpetering_ well, friends...
13:25 bpetering_ TTFN
13:26 bpetering_ evil chocolate^W ASP jobs with which to content :)
13:26 bpetering_ err, contend.
13:26 moritz_ have the appropriate amount of fun :-)
13:27 bpetering_ "With Perl 6 we shall be content."
13:27 bpetering_ </yeahright>
13:28 bpetering_ moritz_: even if that's negatively numbered?
13:28 masak "I'd rather cry in a Rakudo than laugh in PHP."
13:31 bpetering_ "I'd rather cry at (the comparitive beauty of) Rakudo than laugh at PHP"
13:32 bpetering_ On that note: Create Beauty.
13:32 bpetering_ Good night.
13:33 masak we will. g'night.
13:33 bpetering_ ninight masakbot
13:33 * masak bots happily
13:33 bpetering_ night moritz, plz keep your curse gun aimed at masak :)
13:34 bpetering_ night mathw
13:34 moritz_ it's 3:30pm here, no chance of sleeping any time soon :-)
13:38 krunen rakudo: Q:PIR{%r=new'OS'}.mkdir("/tmp",1)
13:38 p6eval rakudo 3eceb8: OUTPUT«File exists␤in Main (file src/gen_setting.pm, line 206)␤»
13:41 krunen hmm... that form of mkdir worked! shouldn't Q:PIR be stopped in the eval bot?
13:41 masak conceivably.
13:41 moritz_ krunen: if you tell me how... gladly :-)
13:42 moritz_ also eval(..., :lang<perl5>) is a considerable security risk
13:42 moritz_ (and the reason p6eval was unavailable for a few hours yesterday)
13:42 krunen moritz_: ok :/
13:44 Nasser joined #perl6
13:45 krunen Anyway, that's a _slightly_ better mkdir than using run...
13:46 moritz_ krunen: you could turn that into a patch that adds it to the setting...
13:46 moritz_ krunen: then anbody could use it
13:46 Nasser left #perl6
13:49 colomon ooo, Parrot has mkdir already?
13:49 SmokeMachine joined #perl6
13:49 colomon if so, adding mkdir to the setting would rock.
13:49 krunen moritz_: Good idea, I'll look at the specs and see if I can find a _right_ way :)
13:50 mathw Parrot's got a lot of stuff
13:50 mathw I implemented getting mtime
13:50 mathw but then I stalled on trying to figure out where to put it
13:50 mathw so I've got it stashed away in my local rakudo
13:51 KyleHa joined #perl6
13:56 colomon Are there spectests for mkdir?
13:56 moritz_ ack will tell you
13:56 colomon was already typing that in another window.
13:56 colomon no.
13:57 Tene moritz_: what was the HUGE JUMP in the rakudo spectests recently?
13:57 colomon trig tests, mostly, Tene.
13:57 moritz_ colomon++, mostly :-)
13:58 Tene Ah.
13:59 takadonet indeed colomon++
13:59 * colomon blushes.
14:00 moritz_ hugme: hug colomon
14:00 * hugme hugs colomon
14:01 masak colomon++
14:01 zloyrusskiy joined #perl6
14:01 moritz_ @karma colomon
14:01 lambdabot colomon has a karma of 28
14:01 colomon woah, when did that happen?  last time I checked I had a karma of 0...
14:02 krunen S32/IO seems to say that something like p{/path}.create is the new mkdir
14:02 moritz_ urm
14:03 moritz_ I'd ignore that and implement mkdir as a normal function :-)
14:03 masak me too.
14:03 masak S32/IO is so full of it sometimes...
14:03 moritz_ colomon: well, you comitted to pugs and rakudo - that gives karma
14:03 krunen yeah :/
14:03 takadonet @karma  takadonet
14:03 lambdabot You have a karma of 0
14:03 takadonet hehe
14:04 masak takadonet++ # welcome!
14:04 moritz_ takadonet: you ned to send more patches
14:04 colomon moritz_: Yeah, but last time I checked I'd been committing to pugs and rakudo for about a month.  :)
14:04 takadonet @karma  takadonet
14:04 lambdabot You have a karma of 1
14:04 takadonet !!!
14:04 masak hugme: hug takadonet
14:04 * hugme hugs takadonet
14:04 colomon Also, I think my rakudo commits are giving karma to "Solomon Foster"
14:04 moritz_ @karma Foster
14:04 lambdabot Foster has a karma of 0
14:04 moritz_ @karma Foster)
14:04 lambdabot Foster) has a karma of 14
14:04 moritz_ there you go :/
14:04 masak :)
14:04 colomon \o/
14:05 takadonet moritz_ : I know, been busy working on bioperl stuff
14:05 moritz_ Infinoid: it seems dalek considers only parrot's CREDIT file for nick translation - could you also add rakudo's CREDITS file?
14:08 kst joined #perl6
14:09 rfordinal left #perl6
14:10 Psyche^ joined #perl6
14:12 pmurias joined #perl6
14:13 dalek rakudo: d5a2ee9 | moritz++ | CREDITS:
14:13 dalek rakudo: restore alphabetical order in CREDITS
14:13 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d5a2ee9d1447b47612de6359280bf876dc90f34f
14:14 kidd` joined #perl6
14:15 xenoterracide joined #perl6
14:18 xenoterracide joined #perl6
14:19 schmalbe joined #perl6
14:20 xenoterracide joined #perl6
14:23 zloyrusskiy joined #perl6
14:28 pugs_svn r28795 | jimmy++ | [zh-cn/syn/S02-bits.pod] added a bit more translations.
14:29 * jnthn back
14:29 jnthn @karma Fosters
14:29 lambdabot Fosters has a karma of 0
14:30 jnthn Fosters-- # meh, they call it beer, but really it's flavored water with a tiny bit of alcohol
14:35 mathw It's amusingly marketed
14:35 justatheory joined #perl6
14:35 mathw In the UK, it's promoted as being Australian, and therefore apparently inherently good
14:35 mathw Due to the idea that Australians do nothing but sit around on the beach, have barbecues and drink beer
14:35 mathw and then it says in the corner
14:35 mathw 'Brewed in the UK'
14:36 jnthn Well, I know that at least a couple of Australians show up here, and it seems they make breaks from those activities to write Perl 6. :-)
14:36 mathw yes, it's total nonsense
14:37 mathw it's also advertised with things like 'you wouldn't want a warm beer, would you?'
14:37 jnthn Maybe that's why so many Britts choose to emmigrate there...thinking the life really is all that. :-)
14:37 jnthn Well no, I wouldn't...good job pubs tend to serve beers cold.
14:37 mathw no I think they just do it because the prime minister of australia isn't as ugly as ours
14:38 mathw Of course, the problem it has appealing to me is that all the adverts start on the assumption that I might want some beer
14:38 jnthn Natural beauty of leader doesn't always imply country in awesome state.
14:38 jnthn ;-)
14:38 jnthn Otherwise Ukraine would be the most awesome country in the whole world. :-)
14:38 moritz_ sadly absence of natural beauty doesn't imply it either (see: Germany)
14:38 mathw :)
14:38 mathw see: the UK
14:39 mathw various parts of the UK are completely mad, but I'm not planning on going anywhere
14:39 mathw I firmly believe nowhere else is likely to be any better in the long term
14:39 jnthn I think it's mostly trade-offs.
14:40 jnthn I didn't move to Slovakia because everything about it is better than in the UK.
14:40 jnthn I just fancied a change, a new language...and trains that weren't late. :-)
14:42 Limbic_Region joined #perl6
14:42 JimmyZ joined #perl6
14:42 Exodist joined #perl6
14:44 nihiliad joined #perl6
14:47 Su-Shee I like to work in Istanbul for a time.
14:52 pmichaud good morning, #perl6
14:53 moritz_ pmich\o/ or so :-)
14:54 jnthn oh hai pmichaud
14:54 * jnthn is having unproductive day
14:55 masak pmichaud: oh hai
14:55 JimmyZ oh, good evening, #per6 ;)
14:55 jnthn (planned unproductive...got visitor from Russia, plus Slovak class, plus pm group and beer tonight)
14:56 pmichaud jnthn: no problem, my overnight was productive.  I have P6grammar so that it can (almost) compile itself.
14:56 pmichaud s/compile itself/compile its own parser/
14:56 jnthn pmichaud: Nice work!
14:56 jnthn :-)
14:57 jnthn Go parse yourself!
14:57 jnthn ;-)
14:57 jnthn So next step is parse NQP?
14:57 masak parsi seauton.
14:57 pmichaud want to finish the bootstrap first -- next step is eliminate PGE from the process
14:57 jnthn aha, ok
14:57 masak \o/
14:58 masak pmichaud++
14:58 JimmyZ It's really nice work!
14:59 masak it is indeed.
15:03 kst joined #perl6
15:04 pugs_svn r28796 | kyle++ | [t/spec] A # in a test description fools the harness
15:06 lanny joined #perl6
15:07 NorwayGeek joined #perl6
15:09 lanny rakudo: my $x=[1,2,3]; my @y = $x; @y.elems.say;
15:09 p6eval rakudo d5a2ee: OUTPUT«1␤»
15:09 lanny How would I flatten that array instead of assigning it as the first element?
15:09 Tene put a | in front of it.
15:09 pmichaud rakudo:  my $x = [1,2,3];  my @y = @($x);  @y.elems.say
15:09 p6eval rakudo d5a2ee: OUTPUT«3␤»
15:10 Tene that works too.
15:10 lanny Tene: my first guess but it didn't work.
15:10 lanny pmichaud: thanks
15:10 pmichaud the | is for flattening in argument lists
15:10 moritz_ | in front is for interpolation into signatures
15:10 pmichaud I'm not sure it applies to bare terms
15:10 moritz_ erm, yes, argument lists, not signatures
15:10 Tene But this doesn't count.  Okay.
15:10 Tene rakudo: my $x=[1,2,3]; my @y = (|$x); @y.elems.say;
15:10 p6eval rakudo d5a2ee: OUTPUT«1␤»
15:11 hercynium joined #perl6
15:11 pmichaud can also use .list
15:11 pmichaud rakudo:  my $x = [1,2,3];  my @y = $x.list;  @y.elems.say
15:11 p6eval rakudo d5a2ee: OUTPUT«3␤»
15:11 moritz_ or binding
15:11 moritz_ rakudo:  my $x = [1,2,3];  my @y := $x; say @y.elems
15:11 p6eval rakudo d5a2ee: OUTPUT«3␤»
15:12 moritz_ rakudo:  my $x = [1,2,3];  my @y := $x; say @y.push: 4; say $x.elems
15:12 p6eval rakudo d5a2ee: OUTPUT«1234␤4␤»
15:12 moritz_ however binding keeps a relation between the variables
15:13 lanny Hmm.  I had tried my @y = list $x; trying to put it in list context but of course it already was in list context.
15:16 lanny rakudo: sub foo(@xs) { @xs.elems.say; }; my $x = [1,2,3]; foo($x);
15:16 p6eval rakudo d5a2ee: OUTPUT«3␤»
15:17 dalek book: 7264634 | moritz++ | src/multi-dispatch.pod:
15:17 dalek book: [MMD] Paper, Scissors, Stone
15:17 dalek book: review: http://github.com/perl6/book/commit/72646347ef6a81dfad08fb910fcb0a6ed74b3b1a
15:19 lanny moritz: so if I then call wins(Dog.new(), Dog.new()) I also get a draw?
15:19 moritz_ lanny: right
15:21 PerlJam lanny: and wins(Dog.new,Cat.new) means that the cat wins :)
15:22 lanny Would it without a definition that matched for the multi dispatch?
15:22 moritz_ first come, last serve
15:22 lanny (I'm looking at the code review)
15:22 moritz_ lanny: the (Any, Any) version matches any two object
15:22 moritz_ (though written as ($, $) in the example)
15:23 lanny hmm.  ah.  The '$'s snuggled up against the ',' had me missing that
15:24 dalek nqp-rx: ec4637c | pmichaud++ |  (6 files):
15:24 dalek nqp-rx: Change src/parrot/ to more correctly named src/cheats/ .
15:24 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/ec4637c1a1360aaf9c808b7c475b3e11082a3240
15:24 moritz_ lanny: I hope that in a rendered version it's not so easy to miss
15:24 lanny So you'd need something like:  multi wins( Rock|Paper|Stone ::T $, T $) { 1 } to get around that?
15:25 moritz_ right
15:25 lanny ok
15:25 moritz_ std: multi wins( Rock|Paper|Stone ::T $, T $) { 1 }
15:25 p6eval std 28796: OUTPUT«[31m===[0mSORRY![31m===[0m␤Invalid typename Rock at /tmp/YZdQG15AtO line 1:␤------> [32mmulti wins( Rock[33m⏏[31m|Paper|Stone ::T $, T $) { 1 }[0m␤FAILED 00:02 111m␤»
15:25 moritz_ std: multi wins( Int|Num|Str ::T $, T $) { 1 }
15:25 p6eval std 28796: OUTPUT«[31m===[0mSORRY![31m===[0m␤Unable to parse signature; couldn't find final ')' at /tmp/6s3nerMRGm line 1:␤------> [32mmulti wins( Int[33m⏏[31m|Num|Str ::T $, T $) { 1 }[0m␤    expecting any of:␤      constraint␤       param_sep␤       parameter␤       trait␤
15:25 p6eval ..type_constraint␤   whitespace␤FAILED 00:0…
15:25 moritz_ lanny: I think junctive types aren't supported in Perl 6
15:26 PerlJam Hmm.  should constraints on ::T work?
15:26 lanny Odd.  I thought I saw something on those.
15:26 moritz_ but you can of course say subset MyGame of Any where { Rock|Paper|Scissors };
15:26 moritz_ lanny: yes, but they were removed
15:26 lanny true
15:26 lanny ah
15:26 moritz_ std: multi a(Int ::T $x) { }
15:26 p6eval std 28796: OUTPUT«ok 00:01 108m␤»
15:27 lanny My last really solid read of the specs was when I was working on pugs.  :/  It's a lot like coming back to the town you grew up in and wondering what happened to the burger place and where that Walmart came from.
15:27 moritz_ from the US, probably :-)
15:27 lanny well, yeah.  :)
15:28 lanny std: subset MyGame of Any where { Rock|Paper|Scissors }; multi wins( MyGame ::T $, T $) { 1 };
15:28 p6eval std 28796: OUTPUT«Undeclared names:␤     Paper used at line 1␤     Rock used at line 1␤      Scissors used at line 1␤ok 00:02 112m␤»
15:28 PerlJam std: multi foo(::T where { $_ ~~ Int } $x) { }
15:28 PerlJam I was thinking something more like that.
15:28 p6eval std 28796: OUTPUT«ok 00:02 111m␤»
15:28 dalek book: 12e0ec5 | moritz++ | src/multi-dispatch.pod:
15:28 dalek book: [MMD]  actually call multi wins()
15:28 dalek book: review: http://github.com/perl6/book/commit/12e0ec5de58435b6740f0a3e644a89fe65798a48
15:29 lanny std: class Rock {}; class Paper {}; class Scissors {}; subset MyGame of Any where { Rock|Paper|Scissors }; multi wins( MyGame ::T $, T $) { 1 };
15:29 p6eval std 28796: OUTPUT«ok 00:02 112m␤»
15:33 lanny So is it correct that arrays of item context expand to arrays of list context into subs but not by assignment?  That seems unexpected.
15:33 moritz_ that's because argument passing is really a form of binding, not of assignment
15:34 lanny rakudo: sub foo(@xs, @ys) { @xs.elems.say; }; my $x = [1,2,3]; my @y = [4,5,6]; foo($x, @y);
15:34 p6eval rakudo d5a2ee: OUTPUT«3␤»
15:34 lanny Ah.  That makes sense.
15:34 lanny rakudo: sub foo(@xs, @ys) { @xs.elems.say; }; my $x = [1,2,3]; my @y = [4,5,6]; foo(($x,), @y);
15:34 lanny And easy enough to work around.
15:34 p6eval rakudo d5a2ee: OUTPUT«1␤»
15:35 lanny rakudo: sub foo(@xs is copy, @ys) { @xs.elems.say; }; my $x = [1,2,3]; my @y = [4,5,6]; foo($x, @y);
15:36 p6eval rakudo d5a2ee: OUTPUT«3␤»
15:40 masak rakudo: class Scissors {}; class Paper {}; multi wins(Scissors $, Paper $) {}; multi wins($, $) {}; wins(Scissors, Paper)
15:40 p6eval rakudo d5a2ee: OUTPUT«Parameter type check failed; expected Scissors, but got Paper for $ in call to wins␤in sub wins (file <unknown>, line <unknown>)␤called from Main (file /tmp/xFj0WmgXLS, line 0)␤»
15:40 masak rakudo: class Scissors {}; class Paper {}; multi wins(Scissors $a, Paper $a) {}; multi wins($, $) {}; wins(Scissors, Paper)
15:40 p6eval rakudo d5a2ee: OUTPUT«Parameter type check failed; expected Scissors, but got Paper for $a in call to wins␤in sub wins (file <unknown>, line <unknown>)␤called from Main (file /tmp/pcVjjJ7ARu, line 0)␤»
15:41 Infinoid moritz_: Not a bad idea.  Please keep bugging me until I do it :)
15:41 p6eval joined #perl6
15:41 moritz_ Infinoid: feel bugged then :-)
15:44 infrared joined #perl6
15:50 masak swimming &
15:56 lanny std: class FCF {}; our Order multi sub cmp (Ordering $by = &infix:<cmp>, FCF $a, FCF $b) { 1 }; # from spec (optional pre positional)
15:56 p6eval std 28796: OUTPUT«[31m===[0mSORRY![31m===[0m␤Can't put required parameter after optional parameters at /tmp/otb4hBq7Sw line 1:␤------> [32mcmp (Ordering $by = &infix:<cmp>, FCF $a[33m⏏[31m, FCF $b) { 1 }; # from spec (optional p[0m␤    expecting any of:␤   constraint␤       parameter␤
15:56 p6eval ..trait␤   whitesp…
15:56 lanny std: class FCF {}; our Order multi sub cmp (FCF $a, FCF $b, Ordering $by = &infix:<cmp>) { 1 }; # broked
15:56 p6eval std 28796: OUTPUT«ok 00:03 135m␤»
15:57 lanny ooh.  or not.  self-face
15:57 lanny rakudo: class FCF {}; our Order multi sub cmp (FCF $a, FCF $b, Ordering $by = &infix:<cmp>) { 1 }; # broked
15:57 p6eval rakudo d5a2ee: OUTPUT«Unable to parse multisig; couldn't find final ')' at line 2, near ", Ordering"␤in Main (file <unknown>, line <unknown>)␤»
15:57 dalek book: d610b86 | moritz++ | src/multi-dispatch.pod:
15:57 dalek book: [MMD] reference RT #69798
15:57 dalek book: review: http://github.com/perl6/book/commit/d610b869dbb5458c1f8947c71a84eda8a0f921fe
15:57 moritz_ it doesn't know about type Ordering, I suppose
15:57 moritz_ rakudo: Ordering
15:57 p6eval rakudo d5a2ee: OUTPUT«Could not find non-existent sub Ordering␤in Main (file src/gen_setting.pm, line 206)␤»
15:58 meppl joined #perl6
15:59 moritz_ std: sub a(::T, T) { }
15:59 p6eval std 28796: OUTPUT«ok 00:02 107m␤»
15:59 moritz_ rakudo: sub a(::T, T) { }
15:59 p6eval rakudo d5a2ee:  ( no output )
15:59 moritz_ rakudo: sub a(::T, T) { }; a(3, 5); say 'alive';
15:59 p6eval rakudo d5a2ee: OUTPUT«alive␤»
16:00 moritz_ rakudo: sub a(::T, T) { }; a(3, '5'); say 'alive';
16:00 p6eval rakudo d5a2ee: OUTPUT«Parameter type check failed; expected Object, but got Str for ::TYPE_CAPTURE19 in call to a␤in sub a (file <unknown>, line <unknown>)␤called from Main (file /tmp/ccqXoeu2wr, line 0)␤»
16:00 moritz_ that's LTA
16:00 moritz_ rakudo: sub a(::T $x, T $y) { }; a(3, '5'); say 'alive';
16:00 p6eval rakudo d5a2ee: OUTPUT«Parameter type check failed; expected Any, but got Str for $y in call to a␤in sub a (file <unknown>, line <unknown>)␤called from Main (file /tmp/IFpOuXzCso, line 0)␤»
16:08 lanny std: class A {}; multi sub cmp(A $a, A $b) of Order { Order::Same }; (A.new() cmp A.new()).say;
16:08 p6eval std 28796: OUTPUT«ok 00:02 114m␤»
16:08 lanny rakudo: class A {}; multi sub cmp(A $a, A $b) of Order { Order::Same }; (A.new() cmp A.new()).say;
16:08 p6eval rakudo d5a2ee: OUTPUT«Multiple Dispatch: No suitable candidate found for 'cmp', with signature 'PP->I'␤in Main (file src/gen_setting.pm, line 206)␤»
16:08 lanny What does PP->I mean?
16:11 quietfanatic lanny: I believe that's a Parrot signature, that takes two PMCs and returns an Int.
16:11 lanny Thanks.
16:12 quietfanatic masak: yes state does make more sense.  I guess I was still in p5 mode.
16:14 quietfanatic Oh deah.
16:14 quietfanatic I didn't check sample-libcrypt.pl for runningness
16:18 Woodi do tie is implemented in p6 now ?
16:18 lanny ugh.  Just too many missing parts to do a continued fraction implementation.
16:19 Woodi many many ?
16:22 moritz_ there's no tie in Perl 6
16:24 Woodi so it will be module/package ?
16:25 moritz_ there'll probably be container types
16:27 Confield joined #perl6
16:27 Woodi k, will read about. thank you
16:27 moritz_ if you find any good documentation, please let me know
16:27 pmichaud look for Tieable, STORE, and FETCH
16:28 pmichaud that part of the spec is still a little fuzzy, though.
16:30 quietfanatic Container types will be necessary to write assignment-style mutator methods like $obj.attr = 4
16:32 moritz_ interesting... in the resig branch RT #69798 is fixed, but it gives a wrong answer for a different example
16:35 Woodi thanx pmichaud
16:37 * Woodi decided to writr dictionary/jargon file for p6. just for education :)
16:37 Woodi vivifications, postcircomfixes, junctions....
16:38 moritz_ Woodi: see docs/BootstrappingContributors.pod and docs/IRCchannelLexicon.pod in the pugs repo for a start
16:38 Woodi oops :)
16:38 moritz_ well, it's only a start, and needs your contribution rather badly
16:39 Woodi let me learn something first pls...
16:40 moritz_ Woodi: you can also write a list of terms you'd like explained in that file, and maybe somebody will do add these terms
16:41 Woodi k, I will look into pugs
16:43 dalek nqp-rx: fbb15ef | pmichaud++ | src/Regex/Cursor.pir:
16:43 dalek nqp-rx: Add lang argument to Cursor.!cursor_start.
16:43 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/fbb15effa8a7484a31cade19052124efcb76cf43
16:43 dalek nqp-rx: fb80e2d | pmichaud++ | src/Regex/P6Grammar (2 files):
16:43 dalek nqp-rx: [p6grammar]:  Action methods to automatically create grammar object.
16:43 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/fb80e2d9beb049544c0fc873849f499f34dc7fbe
16:43 dalek nqp-rx: 8cd492a | pmichaud++ | src/Regex/P6Grammar/Actions.pm:
16:44 dalek nqp-rx: [p6grammar]:  Add ability to declare a parent grammar.
16:44 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/8cd492a94a8f3d494cad4e4a73fecc6010345ad9
16:46 pugs_svn r28797 | moritz++ | [docs] SVN props, line endings
16:47 cdarroch joined #perl6
16:47 stephenlb joined #perl6
16:49 justatheory joined #perl6
17:11 kst joined #perl6
17:20 pugs_svn r28798 | moritz++ | [t/spec] tests for RT #69798
17:22 NorwayGeek joined #perl6
17:23 pmurias joined #perl6
17:26 pugs_svn r28799 | colomon++ | [spec/t] Add tests for overloaded operators and = forms.
17:35 am0c joined #perl6
17:41 dalek nqp-rx: 07b5fef | pmichaud++ | src/Regex/P6 (2 files):
17:41 dalek nqp-rx: Add node (line+file) annotations to P6Regex generation.
17:41 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/07b5fef34c0b9248266b1c721d91fe2e2ac9c7b0
17:50 NorwayGeek joined #perl6
18:00 Bucciarati joined #perl6
18:06 kst joined #perl6
18:07 rfordinal joined #perl6
18:15 hercynium joined #perl6
18:54 synth joined #perl6
18:54 Jedai joined #perl6
19:03 kst joined #perl6
19:05 ShaneC joined #perl6
19:08 desertm4x joined #perl6
19:13 dalek nqp-rx: 40101f8 | pmichaud++ | src/PAST/Compiler-Regex.pir:
19:13 dalek nqp-rx: Optimize quantification of common character classes like \s, \d, \w, etc.
19:13 dalek nqp-rx: Add infrastructure for optimized quantification of other regex node types.
19:13 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/40101f877e37a362f4cb1b4d6e669bd80ab1dc04
19:31 eMaX joined #perl6
19:48 lichtkind joined #perl6
19:51 zamolxes joined #perl6
19:58 SmokeMachine joined #perl6
20:05 nihiliad joined #perl6
20:09 Limbic_Region joined #perl6
20:10 lichtkind the rss feed of rakudo.org seems broken
20:12 moritz_ it is
20:16 Su-Shee left #perl6
20:25 linguini joined #perl6
20:45 mspaulding joined #perl6
20:53 kst joined #perl6
20:56 zloyrusskiy joined #perl6
20:57 pmichaud I'm thinking of using ¶ in NQP as a metachar to indicate PIR opcodes
20:57 pmichaud i.e.
20:57 pmichaud my $i := ¶index "abcd", $x
20:57 PerlJam pmichaud: how do you type that?  :)
20:57 pmichaud on my keyboard, it's  right-alt+P-P
20:57 pmichaud er
20:57 pmichaud right-alt+P+P
20:58 pmichaud in vi, it's ctrl-k+P+I
20:58 * PerlJam wonders if he's going to have to learn how to conifgure his keys so that he can do that in padre.
20:58 pmichaud well, I'm open for other suggestions.
20:59 pmichaud It needs to be something that isn't likely to conflict with Perl 6.
20:59 moritz_ ¥
20:59 moritz_ don't know if that's easier to type, though ;-)
20:59 PerlJam It fine by me, I just want to be able to type it :)
20:59 PerlJam s/It/It's/
20:59 moritz_ compose = Y
21:00 pmichaud well, perhaps I should just go with "PIR_*"
21:00 pmichaud as in PIR_index
21:00 moritz_ that might be easier for the Unicode challenged
21:00 PerlJam but that's 5 keystrokes.
21:00 moritz_ BTW I CAN HAZ BLOGGED: http://perlgeek.de/blog-en/perl-6/an-entry-point-for-newcomers.html
21:01 pmichaud I'm not worried too much about keystrokes or challenge to type.  Its use should be rare.
21:01 pmichaud I'm more interested in making sure that it remains valid Perl 6 syntax.
21:01 pmichaud so the PIR_ form seems to like that
21:01 pmichaud or perhaps I just grab a valid Unicode letter
21:02 moritz_ if you use a word characters it's a valid identifier
21:03 pmichaud right
21:03 pmichaud thus "valid Unicode letter"  :-)
21:04 pmichaud maybe thorn ?
21:04 moritz_ I was about to suggest that
21:04 moritz_ it looks a bit like a P
21:04 Tene pmichaud: I like ¶
21:04 PerlJam I think I preferred ¶
21:05 pmichaud yes, but then it's not a valid identifier :-|
21:05 moritz_ but sufficiently distinct
21:05 moritz_ and it's Latin-1
21:06 rfordinal left #perl6
21:06 pmichaud thorn is latin-1 also :)
21:06 nihiliad joined #perl6
21:06 pmichaud my $i := þindex "abcd", $x
21:07 moritz_ I was talking about thorn ;-)
21:07 PerlJam How do you pronounce "þindex"?
21:07 moritz_ PIR index
21:08 Tene PerlJam: "thindex" of course
21:08 PerlJam Tene: clearly you and I think alike :)
21:08 pmichaud my $i := Þindex "abcd", $x   # capital thorn
21:08 Tene ITYM þink alike
21:09 pmichaud oh, another possibility might be to create a pseudo-namespace
21:09 PerlJam heh
21:09 pmichaud my $i := PIR::index "abcd", $x
21:09 PerlJam pmichaud: that's the one I'd go with!
21:09 moritz_ +1
21:09 PerlJam (If I had thought of it)
21:09 Tene pmichaud: what was wrong with pir: ?
21:10 pmichaud it ends up conflicting with Perl 6 syntactic categories such as infix:, circumfix:, etc.
21:10 moritz_ std: pir:index 3, 5
21:10 p6eval std 28799: OUTPUT«[31m===[0mSORRY![31m===[0m␤Two terms in a row at /tmp/yqLD0FgDvM line 1:␤------> [32mpir:index [33m⏏[31m3, 5[0m␤    expecting any of:␤ bracketed infix␤  infix stopper␤    standard stopper␤ statement modifier loop␤  terminator␤Undeclared routine:␤     pir used at line
21:10 p6eval ..1␤FAILED 00:01 …
21:10 Tene ah, I think I get it.
21:10 pmichaud for the price of an extra colon, we get something that parses as very straightforward Perl 6.
21:11 Tene can it be pir:: instead?
21:11 pmichaud I'd be fine with pir::, but I kind of like the analogue to  Q:PIR  (uppercased PIR)
21:11 moritz_ I think capitcal PIR:: would be consistent with Q:PIR
21:11 pmichaud in some sense I want it to stand out as being "whoa!  this isn't really Perl 6 here!"
21:11 PerlJam Perl has a history of grabbing ALLCAPS things for itself
21:11 Tene Sure, okay. I can live with that.
21:12 pmichaud that's why I went with Q:PIR instead of Q:pir, also
21:12 pmichaud uppercase meaning the compiler is doing something a bit special there.
21:12 quietfanatic joined #perl6
21:12 Tene hi quietfanatic
21:12 pmichaud PIR:: it is, thanks everyone for suggestions.
21:13 pmichaud I'm much happier with that choice than anything else I've managed to come up with.
21:13 quietfanatic hi Tene
21:13 patrickas joined #perl6
21:14 patrickas hello, i just checked rakudo.de and there is a HUGE upward spike in the specktest progress! Is that a glitch in the stats ? or did somethign huge happen ?
21:14 pmichaud lots of trig spectests were added
21:15 pmichaud I need to write a blog post.  Maybe I'll steal some time away from nqp-rx this evening and write that
21:16 patrickas Oh ok .. so no new features ... just new test :-)
21:16 pmichaud some new features, but mostly new tests
21:17 patrickas Cause I did not see any blog posts / info about it on the planet(s) so I was surprized!
21:17 patrickas anyways, thank pmichaud and keep up the great work.
21:17 Tene Why are there SO MANY trig tests, btw?
21:17 PerlJam Tene: trig is *hard*  ;)
21:17 pmichaud I think they're mostly generated tests
21:18 pmichaud so they test every trig function against all of the different types (int/num/rat/complex) and with variations on calling arguments
21:18 Tene Okay, sounds reasonable.
21:18 moritz_ because it's a lot of functions with a lot of inverse functions and a lot of ways to call it with a lot of types
21:18 pmichaud but that's a guess, I haven't looked at the tests themselves.
21:18 * PerlJam idly wonders about rakudo's code coverage
21:19 * moritz_ would love to see code coverage reports
21:19 PerlJam we don't have a good way to measure that yet, do we?
21:19 Tene I wonder if we could get parrot to report the HLL annotations for everything it executes...
21:20 Tene then just aggregate them, and see what's covered and what's missing.
21:28 yahooooo joined #perl6
21:37 colomon pmichaud: you've got it on the trig tests.  every function is tested against int / num / rat / complex and degrees / radians / gradians / revolutions, etc.
21:39 moritz_ and in every quadrant
21:40 colomon and there are 25 trig functions
21:40 charsbar_ joined #perl6
21:40 colomon and the worse part is, I need to add some more tests once we get the proper trig base specification system running.
21:41 colomon I'm thinking I may drop a couple of the different angles tested from the list to compensate.
21:41 moritz_ why more tests? can't we just use the old ones, but replace the strings by the Enum values?
21:42 colomon you can set the base value in your scope instead of per function.
21:42 colomon once that functionality is in, I mean.
21:42 colomon $!TRIGBASE = Radians;
21:42 moritz_ ok, so one more test per trig function
21:43 moritz_ => 25 more tests - that we can handle ;-)
21:43 colomon we will certainly replace the strings by the Enum values when they are ready!  it's an easy change for the tests.
21:43 moritz_ or maybe 2 per function, if we want to be sure that it's reset in the outer scope
21:45 colomon we can let it fall into the next default case to test the reset in outer scope bit.
21:45 kst joined #perl6
21:45 colomon but I think we might want more than one test per trig function.
21:50 moritz_ that's fine; I just don't think we need 20 per trig function for this matter
21:51 Tene colomon: better might be to have the test check that *all* of the angles pass.
21:51 Tene so one test per 20 angles.
21:56 colomon Tene: do you mean one test per 20 degrees?
21:58 colomon moritz_: so really, I wanted to talk about your blog post...
21:58 moritz_ \o/
21:58 snearch joined #perl6
21:59 Tene colomon: I mean, instead of having one test for each angle, just put all the angles for a given set of (trig function, base, method, etc) into one test, if people want to reduce the number of trig tests.
21:59 colomon ah, I see, I think.
22:00 Tene instead of ok(sin(1)), ok(sin(2)), ...; do ok(sin(1) & sin(2) & ...)
22:00 Tene not literally like that, of course.
22:00 Tene I don't know if reducing the number of trig tests is anyone's priority.
22:01 moritz_ certainly not mine
22:01 moritz_ considering that if do put them together, you have to take special care to get good diagnostics
22:01 Tene Sure.
22:01 Tene It looks a little bit weird for half of our tests to be trig, maybe.
22:02 colomon That means we just need to write more non-trig tests!
22:02 Tene I don't mind it.
22:02 Tene hehe
22:02 moritz_ what colomon said ;-)
22:02 colomon (which is what I've been working on rather than cleaning up the trig tests.)
22:02 colomon it's why every other day or so I post here going, "Do we have tests for X?"
22:03 moritz_ then then I answer with "ask ack" ;-)
22:03 colomon though my progress at getting said tests actually written has been slow.
22:03 colomon (eight more today so far, I think.)
22:04 colomon moritz_: on the blog post thing:
22:05 colomon seems like maybe perl6.org needs an overview section?
22:06 moritz_ the front page is supposed to be the overview
22:07 moritz_ and from my analysis it seemed to fullfill that function in 3 of 5 categories
22:07 colomon front page gives lots of useful links, but there's no direction to it.
22:07 moritz_ right
22:07 moritz_ so maybe a "getting started" page?
22:09 colomon maybe?
22:09 colomon it's hard to imagine what it would look like arriving there with no clear idea what is going on.
22:09 colomon (for me, anyway.)
22:09 moritz_ or do you have a good idea how to give the front page direciton?
22:09 lichtkind moritz_: when the november pages are in shape we could link there from perl6.org to
22:09 colomon nope.
22:10 lichtkind moritz_: its supposed to be an beginners intro into world of perl 6
22:11 moritz_ lichtkind: that's a nice idea
22:11 lichtkind moritz_: good i give you a sign when im done there
22:12 colomon moritz_: If I had a brilliant idea for how perl6.org should look, I'd just change it myself.  :)
22:12 lichtkind moritz_: november has the advantage to say btw all you read was served to you by perl 6
22:13 lichtkind moritz_: i geban some moth ago but had do stall but talked with masak in november we will make more effort for november :)
22:13 lichtkind s/geban/began/
22:13 quietfanatic joined #perl6
22:16 cognominal lichtkind, some moth ago? the camelia bug went there apparently :)
22:17 lichtkind cognominal: i speak about november-wiki.org
22:18 cognominal that was just a stupid joke
22:20 lichtkind cognominal: so i was too sleepy to get it
22:21 goksie joined #perl6
22:22 justatheory joined #perl6
22:29 KyleHa joined #perl6
22:30 lichtkind night folks
22:30 mikehh joined #perl6
22:34 gbarr joined #perl6
22:41 goksie left #perl6
22:51 jnthn Mmmmm....nice relaxing evening off with sufficient pivo. :-)
22:55 wknight8111 joined #perl6
23:01 kst joined #perl6
23:04 s1n_mini joined #perl6
23:06 meppl joined #perl6
23:07 colomon moritz_: son now asleep in lap, can type again (slowly)
23:08 __ash__ joined #perl6
23:09 __ash__ is there a place in the spec where they talk about how use lib works
23:10 colomon I'd guess S10 or S11?
23:12 jnthn If it's gonna be in the spec, those are the places I'd look too.
23:12 __ash__ should i be using use or import to se the folder my library stuff is in?
23:13 __ash__ okay, that didn't make sense
23:13 __ash__ i set the path with use lib('path'); then do i actually import with use or import?
23:13 colomon use
23:15 colomon (admittedly don't know what import does.  but for instance "use Test;" to get Test.pm)
23:16 __ash__ yeah, thats what I am trying to do, I have a set of library functions (Heap.pm), trying to write some tests in a separate file so its not 1 huge file, sadly this is the first time i have had to do this and don't know the right way to
23:16 s1n_mini does rakudo support use lib yet?
23:17 jnthn Not as far as I know.
23:18 jnthn __ash__: You probably wnat use.
23:18 __ash__ i thought it did, but maybe not, i thought i saw someone elses example doing use lib('./lib');
23:19 colomon do you want to make it a proper proto module?
23:19 colomon there is some boilerplate you can use...
23:19 __ash__ i guess i should do BEGIN { @*INC.push: 'lib', '../lib' }; ? (stealing that from moritz's svg-plot stuff
23:20 colomon http://lastofthecarelessmen.blogspot.com/2009/08/vector-proper-file-layout-and-makefile.html
23:20 s1n_mini could just put that in the setting?
23:20 __ash__ *shamefully doesn't know any of the advanced things about makefiles*
23:21 __ash__ i can get the gcc to compile my C homework but you ask me to do much else and i say, ummm well here is a ruby script that does that...
23:21 * s1n_mini painfully does
23:21 colomon pretty sure that post doesn't involve anything advanced
23:22 colomon or at least the magic is all hidden away in masak's files
23:23 __ash__ who's blog is that? just curious (book marking all the perl6 ones i have been finding)
23:23 s1n_mini colomon: masak wrote a Makefile filter, which is the Configure script
23:24 colomon __ash__: it's anonymous
23:24 __ash__ ah, k
23:27 __ash__ ah, one last question, whats everyones favorite part of perl6, i am giving a little presentation on Perl 6 for my ACM group, just wanted to touch on all the key parts
23:27 s1n_mini it cures cancer :)
23:27 __ash__ lol
23:29 * s1n_mini takes bets for quickest answer of "junctions"
23:29 colomon I've been loving the hyper-operators lately.  Being able to say something like @angles>>.sin to generate a new array of the sines of @angles is really nice....
23:29 s1n_mini seriously, the grammar engine is my favorite
23:30 jnthn Multi-dispatch is kinda powerful.
23:30 colomon I remember being all excited about junctions back before pugs, but have only used the the tiniest bit so far
23:31 __ash__ yeah, i was going to be sure to talk about grammars, i don't know them that well yet, but i am trying to go over at least S2-14 and learn the key parts of each, they seem to cover the main just of things
23:31 s1n_mini jnthn is biased :)
23:31 jnthn :P
23:31 __ash__ multi-dispatch is great too, now that i started using it more every time i go back to other languages  i am like, man, so many optional paramters that i need to check,
23:32 s1n_mini real method signatures are nice
23:32 s1n_mini (slurpy, named parameters, etc)
23:33 jnthn s1n_mini: Again, I'm biased 'cus it's what I'm hacking on at the moment, but I'm also really looking forward to seeing what people can use nested signatures for.
23:33 jnthn Both for unpacking data structures and also when combined with multi-dispatch.
23:33 colomon nested?
23:34 s1n_mini i'm looking forward to just abusing every feature to its logical conclusion
23:34 FOAD_ joined #perl6
23:34 colomon s1n_mini: :)
23:34 jnthn colomon: If you take a parameter in a signature, you can then bind it against another signature.
23:34 __ash__ multi-methods are cool for the fact that you can manage each verison of the function independantly without changing everything else, its either multi-methods or double-dispatch, then you have to make sure every object has its own version of whatever it needs to do, and that just seems like more work
23:36 jnthn colomon: Once it's implemented, I'll be sure to blog some examples :-)
23:36 colomon jnthn: great.  :)
23:37 s1n_mini first class object model is nice, no more wheel reinvention :)
23:37 quietfanatic Is there a way in Rakudo to access arbitrary memory locations via pointers?
23:37 jnthn s1n_mini: Aye. Also, custom meta-classes (not in Rakudo yet) will be also cool. Even less wheel reinvention. :-)
23:38 s1n_mini best feature about perl6, hands down: rakudo
23:39 jnthn Oh, Rakudo has much way to go yet. :-)
23:39 s1n_mini but the perfect is the enemy of the good :)
23:39 quietfanatic Actually, most of what I like the best in Perl 6 is the small things, like not having to put parens around conditions.
23:40 quietfanatic and using . instead of ->
23:41 quietfanatic Oh yes: named arguments.  I love named arguments.
23:41 __ash__ i'll be sure to talk about things to come (Like lazy lists that aren't in rakudo) and things that are working, like the new regex stuff, and object system
23:41 justatheory joined #perl6
23:41 __ash__ lazy lists still aren't in rakudo right? i am not just making that on up?
23:41 cognominal quietfanatic, yes, perl 6 can be seen as a better perl 5. That's ok
23:42 colomon __ash__: right, still no lazy
23:42 quietfanatic cognominal: your tone suggests disappointment. :)
23:42 s1n_mini cognominal: i'd hope so, that was the original goal anyways
23:42 __ash__ so, fundumentally whats the difference between a package and a module, i still am a bit fuzy on that one...
23:42 cognominal quietfanatic, not at all, it is important for acceptance by the perl 5 crowd.
23:43 jnthn s1n_mini: Oh, I think there's a nice balance to be had between recognizing what's possible some day and also delivering something good enough in the meantime.
23:43 s1n_mini __ash__: sugar
23:43 __ash__ and in ranges, why don't you just say 1 ..^ 3 = 1, 2 ? i remember there being a big discussion on the mailing list about that, it simplyfies things a lot if you look at it from that perspective, IMO...
23:44 quietfanatic __ash__: you can say 1.5 ~~ 1..^3 and it'll return True; not so for 1, 2
23:45 __ash__ well, i should clarify, 1..^3.max = 2
23:46 jnthn __ash__: What is it about "1..^3 = 1,2" that you feel doesn't work that way now?
23:46 jnthn rakudo: for 1..^3 { .say }
23:46 p6eval rakudo d5a2ee: OUTPUT«1␤2␤»
23:46 s1n_mini rakudo: 1..^3 ~~ 1..2
23:46 p6eval rakudo d5a2ee:  ( no output )
23:46 s1n_mini rakudo say 1..^3 ~~ 1..2
23:46 s1n_mini err
23:47 __ash__ rakudo: say (1..^3).max
23:47 p6eval rakudo d5a2ee: OUTPUT«3␤»
23:47 __ash__ that surprized me
23:47 s1n_mini rakudo: say 1..^3 ~~ 1..2
23:47 p6eval rakudo d5a2ee: OUTPUT«0␤»
23:47 __ash__ its the min, max stuff that confused me
23:47 jnthn __ash__: Hmm. It surprises me a bit too.
23:47 __ash__ you'd think if you say not to include it (hence the ^ ) it wouldn't be the max...
23:48 __ash__ just caught me off guard, thats all, i can deal with it though, just confused me
23:48 colomon I thought 1..3 was now the range of numbers fr
23:48 jnthn rakudo: say ?Range.^can('max')
23:48 colomon om 1 ti 3
23:48 colomon sorry, son interfering with typing.
23:48 p6eval rakudo d5a2ee: OUTPUT«1␤»
23:48 jnthn rakudo: say (1..^3).list.max
23:48 colomon rakudo: say 2.9 ~~ (1..^3)
23:49 p6eval rakudo d5a2ee: OUTPUT«2␤»
23:49 p6eval rakudo d5a2ee: OUTPUT«1␤»
23:49 colomon rakudo: say 2.9 ~~ (1..2);
23:49 p6eval rakudo d5a2ee: OUTPUT«0␤»
23:49 jnthn __ash__: OK, so Range defines a max method of its own, that behaves differently than if you flatten the range out into a list and call .max on that.
23:50 * s1n_mini out, class over
23:50 __ash__ jnthn: yeah, it does, they talked about it in the mailing list a bit a few weeks ago
23:50 __ash__ Range has it's own max and min
23:50 jnthn __ash__: Ah, OK. I was probably wondering around some Japanese city and admiring the pretty lanterns rather than reading p6l a few weeks ago. :-)
23:51 jnthn I suspect I could justify it both ways.
23:51 __ash__ also it defines a exclude_min/max i think, to see if it should be included
23:51 jnthn Trouble is that there probaly isn't a way to represent the max of an exclusive range...
23:52 __ash__ or maybe they renamed those
23:52 jnthn Since it's 2.99999999999999999999999999999999999999999<more> in this case. :-)
23:52 __ash__ rakudo: say (1..^3).from_exclusive;
23:52 p6eval rakudo d5a2ee: OUTPUT«0␤»
23:52 tak11 joined #perl6
23:52 __ash__ rakudo: say (1..^3).to_exclusive;
23:52 p6eval rakudo d5a2ee: OUTPUT«1␤»
23:53 __ash__ thats it, its from/to_excclusive to check if it should include min/max
23:54 jnthn Hmm.
23:54 jnthn I think we're running into people's desire for ranges to both act in a discrete and a continuous way.
23:55 lumi joined #perl6
23:56 quietfanatic rakudo: say max (2..^4, 3)
23:56 p6eval rakudo d5a2ee: OUTPUT«No applicable candidates found to dispatch to for 'max'␤in Main (file src/gen_setting.pm, line 206)␤»
23:56 __ash__ http://www.mail-archive.com/perl6-all@perl.org/msg86754.html is the one where they talked about it, and i think added the to_exclusive/from_exclusive
23:56 quietfanatic rakudo: say 2..^4 max 3
23:56 p6eval rakudo d5a2ee: OUTPUT«3␤»
23:56 quietfanatic ...
23:57 quietfanatic rakudo: say +(2..^4)
23:57 quietfanatic That
23:57 p6eval rakudo d5a2ee: OUTPUT«2␤»
23:57 quietfanatic 's why
23:57 __ash__ rakudo: say [+] 2..^5;
23:57 p6eval rakudo d5a2ee: OUTPUT«9␤»
23:57 __ash__ is that what you mean to do?
23:57 quietfanatic no
23:58 quietfanatic + converts to a number, and the number in this case is the number of elements in (2, 3)
23:58 cognominal hum, unlie physics Larry has an arrow of time :  Insofar as Lists are lazy, they're really only partially immutable, in the sense that the past is fixed but the future is not.
23:58 quietfanatic which is smaller than 3, hence 2..^4 max 3 returning 3
23:58 cognominal probably phycisians did not get that God is lazy
23:59 cognominal or physicists?
23:59 cognominal I a always confused
23:59 quietfanatic It's the latter
23:59 quietfanatic A physician is a doctor.
23:59 cognominal indeed

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

Perl 6 | Reference Documentation | Rakudo