Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-03-25

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:05 bkeeler jnthn: TimToady: Do you think there would be any problem adding an optional named parameter to eval to specify the rule to start at, in case TOP is not desired?
00:05 * lue wants to see his computer compile rakudo without needing to cause a complete system crash first.
00:05 sorear jnthn: Is there any particular reason Blizkost is not MULTIPLICITY-clean?
00:07 jnthn Nope
00:07 snarkyboojum joined #perl6
00:07 jnthn Well, there is in the sense that I don't know that MULTIPLICITY-clean means. :-)
00:07 sorear What's the difference between pmc_new and Parrot_pmc_new?
00:07 jnthn pmc_new is the Old Deprecated Way. Parrot_pmc_new is what replaced it.
00:07 jnthn I think it was just a rename.
00:08 sorear jnthn: Perl 5 can be build in two ways - either Perl uses actual global variables, or Perl uses a big struct Perl_Interpreter and passes pointers to it around
00:08 sorear Most distribution Perls are built in the second way, because it allows threading to work
00:09 sorear Most user-built Perls are the first way, because it's 15% faster
00:09 sorear there are a set of macros which abstract over the difference
00:09 jnthn Ah, OK.
00:09 sorear Blizkost doesn't use them but instead explicitly passes Perl_Interpreter around, so it depends on MULTIPLICITY
00:11 jnthn Aha.
00:11 * jnthn was just following embedding docs.
00:11 sorear generally speaking embedding uses MULTIPLICITY
00:12 kborer joined #perl6
00:12 sorear since it's also more modular - there's no 1 interpreter per process limit
00:14 lue afk
00:14 dalek rakudo: dfbd1d5 | jonathan++ | src/Perl6/Grammar.pm:
00:14 dalek rakudo: While %tight_or is indeed list associative, because of the way we compile short-circuit || and //, we need to have them marked as left associative. Fixes RT#73774.
00:14 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​fbd1d5e707765c5d853710592b98e724e828193
00:16 jnthn After reviewing the Rakudo C parts for memory leaks, I managed to find 1.
00:16 jnthn Bad news is that it's on a code-path we almost certainly don't touch in the build, and not particularly often anywhere else either.
00:17 jnthn (This is just reviewing anywhere we call mem_allocate directly, not just using PMCs. Checked the destroys etc too.)
00:17 diakopter rakudo: say (1 && 0 || 1)
00:17 p6eval rakudo db0f85: OUTPUT«1␤»
00:19 sorear jnthn: a memory leak is not just when you allocate memory and lose the pointer
00:20 sorear it can also be when you free the memory, but too late
00:20 sorear [+] [2..10000000] # this leaks memory in a non-lazy language
00:21 jnthn Well, if it's the defined semantics of the langauge it's not exactly a leak. ;)
00:21 jnthn But yes, point taken.
00:21 sorear it's not a bug in the language, it would be a bug in the program
00:21 jrockway joined #perl6
00:21 sorear Rakudo is a language, but it is also a program which implements that language
00:22 jnthn Sure.
00:24 riffraff joined #perl6
00:26 dalek rakudo: e673638 | jonathan++ | src/pmc/perl6multisub.pmc:
00:26 dalek rakudo: Reviewed Rakudo C bits for memory leaks due to missing frees in the few places we mem_allocate. Found one missing mem_sys_free, though 'sadly' on a rarely followed code path (only affected code using junctions).
00:26 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/e​673638b9ac925586ffd2e5c569febc07b551d2d
00:31 [hudnix] joined #perl6
00:32 gfldex joined #perl6
00:32 jrockway joined #perl6
00:32 kborer joined #perl6
00:32 colomon joined #perl6
00:32 wknight8111 joined #perl6
00:32 rgrau` joined #perl6
00:32 kst joined #perl6
00:32 eternaleye joined #perl6
00:32 solarion joined #perl6
00:32 PerlJam joined #perl6
00:32 dalek joined #perl6
00:32 rv2733 joined #perl6
00:32 Sarten-X joined #perl6
00:32 doublec joined #perl6
00:32 hicx174 joined #perl6
00:32 cosimo joined #perl6
00:32 astrojp joined #perl6
00:32 meteorjay joined #perl6
00:32 frodwith joined #perl6
00:32 cotto_work joined #perl6
00:32 bbkr joined #perl6
00:32 christine joined #perl6
00:32 Lorn joined #perl6
00:32 kfo joined #perl6
00:32 avuserow joined #perl6
00:32 borup joined #perl6
00:32 akl joined #perl6
00:32 hejki joined #perl6
00:32 nsh joined #perl6
00:32 obra joined #perl6
00:32 japhb joined #perl6
00:32 betterworld joined #perl6
00:32 simcop2387 joined #perl6
00:32 baest_ joined #perl6
00:32 allbery_b joined #perl6
00:32 alester joined #perl6
00:32 cotto joined #perl6
00:32 tylerni7 joined #perl6
00:32 tylerni7 joined #perl6
00:32 pnu joined #perl6
00:32 ingy joined #perl6
00:32 jhuni joined #perl6
00:32 pmichaud joined #perl6
00:32 wolf2k_ubuntu joined #perl6
00:32 stephenlb joined #perl6
00:32 jjore joined #perl6
00:32 hanekomu joined #perl6
00:32 diakopter joined #perl6
00:32 Exodist joined #perl6
00:32 Khisanth joined #perl6
00:32 wasy joined #perl6
00:33 breinbaas joined #perl6
00:33 |Jedai| joined #perl6
00:34 stepnem joined #perl6
00:43 jnthn With latest Parrot we peak at 776 MB during the build on my machine.
00:43 jnthn We also fail autothreading.t and some fallout things from that.
00:51 buubot joined #perl6
00:56 yinyin joined #perl6
00:59 justatheory joined #perl6
01:05 jnthn Grrr! I *said* that patch the other day was bogus.
01:08 hercynium joined #perl6
01:09 bkeeler breaktime... laterz
01:26 maerlinian joined #perl6
01:29 jnthn OK, we use latest Parrot now.
01:30 jnthn Which has the memory leak fixes.
01:30 jnthn Hopefully this makes some people's life easier on the build.
01:31 dalek rakudo: 99c4bcf | jonathan++ | src/ops/perl6.ops:
01:31 dalek rakudo: Fix up the bind_signature op patch from a couple of days ago. I said it looked very dubious at the time and we wre just getting lucky. Seems I was right. Hopefully this is the proper fix.
01:31 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​9c4bcf9eb8fcdf42da5a100c750fe6ec2998921
01:31 dalek rakudo: 626ee20 | jonathan++ | build/PARROT_REVISION:
01:31 dalek rakudo: Bump us up to the latest Parrot version to get memory leak fixes by (Parrot team)++.
01:31 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​26ee2080dfe571e6492384ca7510af6542925ce
01:31 jnthn Oh wow. I write an arrogant commit message and typo it. That'll teach me. :-)
01:33 chromatic joined #perl6
01:34 chromatic jnthn, do you think 99c4bcf has anything to do with the set_outer patch bacek reverted in Parrot earlier?
01:34 jnthn chromatic: I'm not sure. I was very sure the original patch was wrong though.
01:34 jnthn chromatic: We got a return value from calling something
01:35 jnthn And then it just magically leaked into being the return value from the current (calling) context.
01:35 aesop joined #perl6
01:36 jnthn (The original patch being, the one that got us building again after the PCC branch merge.)
01:36 jnthn Basically it just threw away the code that handled junc_result
01:37 jnthn I didn't quite understand what the patch that got reverted was trying to do.
01:37 chromatic It's a fix for thawing inner subs
01:38 jnthn Ah, yes.
01:38 sjohnson moritz_: can i have github axs for hugme bot?  my github id == smujohnson
01:38 jnthn The thing is, it broke NQP
01:38 jnthn We didn't even get as far as seeing the effect on Rakudo.
01:39 chromatic Okay, if it broke NQP then the commit you just pushed won't have any effect.
01:39 jnthn And while Rakudo does weird magic here and there, NQP is rather simpler in that sense.
01:39 jnthn The commit I just pushed fixed fails in autothreading.t.
01:39 jnthn Let me show you the two I mean...I think we might not be quite on the same page. :-)
01:40 sjohnson moritz_: or do you need a/my public key... i am not sure how it works
01:40 chromatic I thought I remembered someone saying "That broke autothreading!"  I didn't realize it broke NQP.
01:40 jnthn No, no, there's two different things going on here.
01:41 jnthn One is the patch bacek wrote. It broke NQP. It got reverted.
01:41 chromatic Right.  I want to get that bug fixed somehow.
01:41 jnthn Unrelated to that was this patch that got applied to Rakudo so we could build after the recent PCC changes: http://github.com/rakudo/rakudo/commit/5​886ef7991d29bb9d4bee2d321261a00f9a70ea3
01:41 jnthn Note what got removed beneath the comment "/* Save the Junctional result as the return value. */"
01:41 chromatic Right.  I thought they were connected, but I understand now that they aren't.
01:42 jnthn Yes, I'm fairly sure they're not.
01:42 jnthn So the patch I did just now was to re-instate what was removed, using what I think is the correct way to do that now.
01:42 jnthn I'm still rather surprised it did work fro a while. :-/
01:43 chromatic Yes, it looked dodgy to me too.
01:43 jnthn BTW, I confirm with latest Parrot leak fixes we're building in 700 MB or so now.
01:43 jnthn Checkd it here too.
01:44 jnthn *checked
01:44 jnthn That's still a lot. I'd like to look at the various compile stages and try and understand the memory usage a bit more when I get chance.
01:44 chromatic Rakudo (or NQP, more likely) allocates a handful of multi-megabyte STRINGs.
01:45 jnthn Is there any good way of working out exactly what's doing that?
01:45 jnthn Even a hack to check each string size allocation and print a backtrace when it's over a threshold?
01:45 chromatic I can probably trace it down.  I suspect it's CodeString.
01:45 jnthn Hmm
01:45 jnthn So maybe it's happening in the POST => PIR phase the.
01:45 jnthn *then.
01:46 chromatic That's my best guess right now, but I'm not *certain*.
01:46 jnthn One of the things I noticed in the memory usage is that it seemed to hit peaks suddenly, and then just as suddenly back off by some hundred or couple of hundred megs again.
01:47 chromatic Right, that's the buffer compactor.
01:47 jnthn Ah, OK. That makes sense.
01:47 chromatic It's not as aggressive as it should be, but it does release memory back to the OS.
01:47 jnthn OK. Seems it's working in that sense.
01:48 chromatic Sort of.  There's definitely a bug there that would make it use less memory, if fixed.
01:48 jnthn One other thing that may be worth exploring is Object's attribute storage.
01:48 chromatic How so?
01:48 jnthn It allocates an RPA to store attributes.
01:48 jnthn Thus every Object PMC actually is two PMCs.
01:48 chromatic If not more (it's more).
01:49 jnthn If it inherits from another PMC, then yes, for sure.
01:49 jnthn Allocate a C array there though...
01:49 jnthn Little more fiddling but could save a _lot_ of PMCs.
01:50 jnthn Especially when you consdier every node in the parse/past/post tree is an Object.
01:50 jnthn *consider
01:50 chromatic Ultimately we'll probably do something along those lines.
01:51 jnthn In theory it may not be much work. In practice...things that should be simple sometimes aren't.
01:51 * justatheory is simple
01:51 justatheory elegant, even
01:51 jnthn :-)
01:52 chromatic It'd be a nice way to unify C-based PMC attribute storage with PIR-based attribute storage.
01:55 jnthn Yeah. I kinda fear that's going to be the end of the line for the representation polymorphism stuff I'd tried to achieve way back though.
01:55 chromatic Depends how far we get with Lorito at that point.
01:56 jnthn *nod*
01:56 jnthn Is that still very much planning phase at the moment?
01:58 chromatic Yes, but we're making some implementation progress.
01:58 chromatic PCT can parse and emit C code from .ops files.
01:58 jnthn Ooh, OK. :-)
02:00 jnthn oops...3am!
02:00 jnthn :-/
02:00 jnthn How'd that happen...
02:00 jnthn OK, sleep time. Night o/
02:04 _Jedai_ joined #perl6
02:06 ingy joined #perl6
02:06 jhuni joined #perl6
02:06 pmichaud joined #perl6
02:06 wolf2k_ubuntu joined #perl6
02:06 stephenlb joined #perl6
02:06 jjore joined #perl6
02:06 hanekomu joined #perl6
02:06 diakopter joined #perl6
02:06 Exodist joined #perl6
02:06 Khisanth joined #perl6
02:06 wasy joined #perl6
02:10 drakej joined #perl6
02:12 dalek joined #perl6
02:18 REPLeffect joined #perl6
02:30 eternaleye joined #perl6
02:30 cotto joined #perl6
02:35 sorear maybe I should dust off Arena::Compact and see what I can make of it in a Parrot context
02:36 mtve joined #perl6
02:38 silug joined #perl6
02:43 dalek joined #perl6
02:52 sorear (Somebody should do rakudo nightlies)
03:02 molaf joined #perl6
03:17 colomon Huh.  S02-magicals/pid.t appears to be getting a serious error, but is marked pass.
03:18 * colomon -> bed
03:39 sorear colomon: fudging?
03:44 astrojp left #perl6
03:48 petdance joined #perl6
03:49 lue hello! anybody here?
03:49 sorear no
03:51 lue darn! :)
03:52 lue Can anyone direct me to 'How to make your own protocol (like HTTP)' and 'How to make your own character encoding' ?
03:52 sorear 1. Don't
03:52 sorear 2. Really don't
03:52 sorear 3. Read lots of RFCs
03:53 sorear there's no real reason to perpetuate the insanity that is non-UTF8 text
03:54 sorear for protocols, you should study existing well designed protocols
03:54 sorear DO NOT STUDY IRC, IT SUCKS
03:54 sorear IMAP is a pretty good one
03:55 lue The Fair Intergalactic Encoding Standard (FIES) and the SubEtha-Net Protocol (senp://...)
03:55 lue I'm considering incorporating DNS as only a subset of SENP :)
03:59 sorear anyone who plans to create an incompatible character encoding is a danger to the free world and needs to be removed
03:59 sorear boys, get him
03:59 lue well, either I come up with my own character encoding with Larry Wall as Chief Advisor, or I bludgeon the Unicode Consortium until they stop being so frugal with codepoints and let languages like Tengwar and Klingon get an official spot.
03:59 jaldhar joined #perl6
04:00 lue I could make the NSISJTPPO standard :) (Non-Standard and Irregular Standard Just To Piss People Off)
04:01 wolf2k_ubuntu lue: you allow klingon, you allow every made up language in the universe.
04:01 wolf2k_ubuntu Are you sure there's enough characters to go around?
04:01 sorear IN THE UNIVERSE.
04:04 pyrimidine joined #perl6
04:05 lue Yes.
04:05 lue Yes I do.
04:05 pyrimidine phenny: tell jnthn thanks for the bug fix (RT#73774). Poked around and found the same spot you did in Grammar.pm, but didn't know what to do
04:05 phenny pyrimidine: I'll pass that on when jnthn is around.
04:10 Chillance joined #perl6
04:13 PerlJam away
04:13 TimToady o/
04:14 lue o hi timtoady!
04:14 lue hugme: hug p6eval
04:14 * hugme hugs p6eval
04:14 TimToady std: v1.2.3;
04:14 p6eval std 30194: OUTPUT«ok 00:01 107m␤»
04:14 TimToady no svnbot though
04:17 lue :(
04:18 lue wait, was ilogger2 out of commision for a while?
04:20 TimToady I think it just lost its + for a while, but was still logging
04:21 lue oh. It would've been fun to know it wasn't logging :)
04:21 lue oops
04:59 lue rakudo: role A[::T] { state $foo; say ++$foo }; A[Int]; A[Str]
04:59 p6eval rakudo db0f85: OUTPUT«Symbol '$foo' not predeclared in !class_init_12␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
05:00 lue std: role A[::T] { state $foo; say ++$foo }; A[Int]; A[Str]
05:00 p6eval std 30194: OUTPUT«ok 00:01 111m␤»
05:00 lue pugs: role A[::T] { state $foo; say ++$foo }; A[Int]; A[Str]
05:00 p6eval pugs: OUTPUT«*** ␤    Unexpected "[::"␤    expecting "::", "-" or trait␤    at /tmp/kdV7ONdlFz line 1, column 7␤»
05:00 sorear joined #perl6
05:00 lue aw, only STD can parse it :( (good project for me though; I'll take the ticket)
05:01 rv2733 joined #perl6
05:02 agentzh joined #perl6
05:05 jrockway joined #perl6
05:08 jrockway joined #perl6
05:08 lue good night
05:13 rekhajos joined #perl6
05:17 mberends joined #perl6
05:22 mberends with ulimit -m 700000, current Rakudo build stops on src/gen/core.pir with Failed allocation of 224241572 bytes etc. The process memory size rises and falls, indicating some working memory management. The Parrot developers are working on the problem, but have not nailed it yet :-(
05:29 * mberends tries slightly higher ulimits, On a 1GB ram ubuntu, an 800MB parrot freezes up almost everything
05:31 * bkeeler is thankful his machine has 16G
05:33 mberends my other machines have 2GB, but commute time development is useful
05:33 xinming joined #perl6
05:35 bkeeler you're on a train or something?
05:35 mberends shall be in about 30 minutes :)
05:37 synth joined #perl6
05:41 quietfanatic joined #perl6
05:52 rv2733 joined #perl6
05:52 jaldhar joined #perl6
05:52 hercynium joined #perl6
05:52 p6eval joined #perl6
05:52 mantovani joined #perl6
05:52 Helios- joined #perl6
05:52 lestrrat joined #perl6
05:52 szabgab joined #perl6
05:52 rgrau joined #perl6
05:52 wolverian joined #perl6
05:52 IRSeekBot joined #perl6
06:38 Su-Shee joined #perl6
06:38 Su-Shee good morning
06:46 moritz_ good morning
06:46 sorear hello
06:46 moritz_ hugme: add smujohnson to hugme
06:46 moritz_ where is that stuptid bot?
06:47 hugme joined #perl6
06:48 moritz_ hugme: add smujohnson to hugme
06:48 hugme joined #perl6
06:48 moritz_ hugme: add smujohnson to hugme
06:48 * hugme hugs smujohnson. Welcome to hugme!
06:48 moritz_ sjohnson: there you go
06:53 kaare joined #perl6
06:55 mathw morning
07:10 uniejo joined #perl6
07:11 mberends joined #perl6
07:13 quietfanatic joined #perl6
07:16 mberends rakudo's split-gen-setting-2 branch now has master merged into it, to have another go at separate compilation of core modules. Updates will have to wait until this evening, because the @work firewall is not git-happy.
07:17 moritz_ let me guess... it's also not ssh-happy :-)
07:17 mberends jnthn: the reason you can build Rakudo in about 700MB, and Linux cannot, is because the M$ toolchain is more memory efficient than GNU :-(
07:18 mberends moritz_: I managed to arrange an ssh -p 443 to home ;)  This is webchat though.
07:18 Chillance joined #perl6
07:18 * Su-Shee offers mberends a couple of cute smileys. ;)
07:18 mberends :D :) :-)
07:19 Su-Shee hm. I need to get my own server again. hmhm.
07:21 dalek rakudo: 633c096 | moritz++ | t/spectest.data:
07:21 dalek rakudo: run the new S12-class/stubs.t
07:21 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​33c0963e6651cb06521c0e5f1ba4019bc345739
07:25 sorear mberends: er, the toolchain shouldn't affect this nearly at all
07:25 sorear mberends: the memory hog here isn't gcc, it's parrot-nqp
07:25 sorear which uses its own allocator, so you can't even blame this on a more efficient malloc
07:25 mberends sorear: I've compiled Parrot with different C compilers and got significant differences in memory footprint
07:26 sorear I, personally, blame any significant differences in RSS on ILP32 vs LP64
07:26 sorear on an ILP32 system here Rakudo only needed 450MB before the PCC merge
07:26 sorear I wonder how much it'll need now
07:27 moritz_ sorear: at least with newest parrot it builds again with a ulimit of 1G virtual mem
07:32 sjohnson moritz_: thanks!
07:33 moritz_ sjohnson: what do you plan to do to it? :-)
07:33 sjohnson maybe add some more cute features as far as hugging-related triggers
07:34 moritz_ if you do, please make sure they don't appear often, so hugme doesn't become annoying
07:34 moritz_ it should mostly follow the "nice bot pattern": Don't speak unless you're spoken to
07:35 sjohnson oh yeah, i will try not to interfere with anything
07:35 moritz_ great
07:36 sjohnson or do anything that is inappropriate or annoying to others, or distracting, etc
07:38 dalek rakudo: 5ab33a1 | chromatic++ | src/pmc/p6lowlevelsig.pmc:
07:38 dalek rakudo: [PMC] Fixed a memory leak in P6LowLevelSig PMC's destroy.  Note that the
07:38 dalek rakudo: allocation in the allocate_signature dynop should move into the init_int
07:38 dalek rakudo: VTABLE, to make such leaks easier to track.
07:38 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​ab33a198b50798ed4a4a4f5026a880b93110316
07:38 dalek rakudo: 1828116 | chromatic++ | t/spectest.data:
07:38 dalek rakudo: Merge branch 'master' of git@github.com:rakudo/rakudo
07:38 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/1​82811610abd7b1a5e87b9b8e1450e4b6a0a4874
07:44 Su-Shee uhm, how do I change make install from parrot_install to something else? it doesn't understand DESTDIR
07:47 moritz_ Su-Shee: if you want to install rakudo to /foo/bar, you first have to configure parrot with --prefix=/foo/bar
07:47 moritz_ Su-Shee: the compile and install parrot
07:47 moritz_ Su-Shee: then configure rakudo with --parrot-config=/foo/bar/bin/parrot_config
07:47 moritz_ Su-Shee: then make and make install rakudo
07:47 moritz_ Su-Shee: yes, it's a major PITA.
07:49 Su-Shee ah
07:49 iblechbot joined #perl6
07:50 Su-Shee I have vacation as of today, I can do another run :)
07:51 sorear I wonder if Perl6 uses sufficiently little memory to be installable now.
07:51 sorear One way to find out.
07:52 moritz_ sorear: be sure to use parrot HEAD
07:53 moritz_ and the latest rakudo too
07:53 sorear of course
07:53 sorear realcleaning too
07:55 dalek rakudo: 0afbf11 | moritz++ | build/PARROT_REVISION:
07:55 dalek rakudo: bump PARROT_REVISION again to get more memory fixes in parrot, chromatic++
07:55 dalek rakudo: Now rakudo compiles again with a ulimit -v of 1G.
07:55 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​afbf1105c6252e8797cc8b6e8b67241cbd88f21
07:58 moritz_ rakudo: my @a = (1, 2, 3); @a[0,1] = (7, 8); say @a.perl
07:58 p6eval rakudo db0f85: OUTPUT«Cannot assign to readonly value␤current instr.: '&die' pc 17257 (src/builtins/Junction.pir:399)␤»
07:59 moritz_ now this is going to kill lots of tests in assign.t
08:00 snarkyboojum joined #perl6
08:06 chromatic Speaking of killing lots of tests, it'd be nice to get the status graphs updating again.
08:07 riffraff joined #perl6
08:13 espadrine left #perl6
08:15 sorear I love this sawtooth memory allocation thing.
08:15 espadrin` joined #perl6
08:15 sorear parrot-nqp is currently bouncing between 40% and 80% MEM
08:16 sorear on Actions.pm
08:16 mberends sorear: :) seen that locally a few times... too many
08:17 sorear aaand it breaks 100% after 2:45 of runtime
08:18 mberends is that 100% of physical or virtual memory?
08:18 moritz_ sorear: did you install a ulimit?
08:21 cotto joined #perl6
08:22 sorear moritz_: I have a secondary goal of being able to run 'perl6' afterward
08:23 sorear mberends: physical
08:23 moritz_ sorear: that doesn't quite answer my quesiton
08:23 sorear "no"
08:23 moritz_ try it with one.
08:24 silug joined #perl6
08:26 moritz_ we've had reports from cases where the build only worked with a ulimit
08:26 * sorear tries 300MB
08:26 mberends parrot peaked at 1008MB on amd64 with the latest updates
08:27 sorear Relatedly, I think Rakudo nightlies would be awesome.  Do we have the technology?
08:27 moritz_ wow, feather1 has a load of 5.15
08:27 moritz_ sorear: nightly builds or source snapshots?
08:28 sorear nightly builds
08:28 moritz_ all of the builds are from third parties
08:29 sorear just perl6.pbc (that's arch independant right?) if necessary
08:29 sorear building rakudo_group.so doesn't take much ram anyway
08:32 moritz_ does anybody know why we have an apache running on feather3?
08:34 sundar joined #perl6
08:34 * moritz_ just stopped it
08:35 sjohnson wq!
08:35 pugssvn joined #perl6
08:35 pugssvn r30191 | moritz++ | [t/spec] tests for class/role/module stubs
08:35 pugssvn r30192 | moritz++ | [t/spec] test for RT #69308, segfault on "say $!:WHAT" in a CATCH block
08:35 pugssvn r30193 | jnthn++ | [t/spec] Test for RT#73774.
08:35 pugssvn r30194 | lwall++ | [gimme5] set the correct xact on || alternations
08:35 pugssvn r30194 | [LazyMap] always accept the first result regardless of xact state
08:36 pugssvn r30195 | moritz++ | [t/spec] test that you can refer to &infix:<cmp>, just for the lulz
08:36 pugssvn r30196 | moritz++ | [t/spec] re-fudge assign.t for rakudo
08:37 sorear Failed allocation of 115451036 bytes
08:37 sorear Parrot VM: PANIC: Out of mem!
08:37 sorear make: *** [src/gen/perl6-actions.pir] Quit (core dumped)
08:38 sorear note to all runtime implementors: in an out of memory condition, dumping core is the LAST thing you want to do
08:40 sjohnson hugme: hug moritz_
08:40 * hugme hugs moritz_
08:40 sjohnson cute bot
08:43 dalek rakudo: a93b9a5 | moritz++ | t/spectest.data:
08:43 dalek rakudo: we now pass assign.t again, including some tests for different precdence of item and list assignment
08:43 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​93b9a5e9d00509357ae37025253114f21f1d694
08:54 moritz_ http://lumberjaph.net/blog/index​.php/2010/03/25/github-explorer/
08:57 hanekomu joined #perl6
09:00 dakkar joined #perl6
09:01 snarkyboojum joined #perl6
09:14 moritz_ std: sub a{say 3}
09:14 p6eval std 30196: OUTPUT«ok 00:01 107m␤»
09:14 moritz_ rakudo: sub a{say 3}
09:14 p6eval rakudo db0f85:  ( no output )
09:15 moritz_ rakudo: my @b= 5, 1, 2;
09:15 p6eval rakudo db0f85:  ( no output )
09:15 moritz_ rakudo: my @b= 5, 1, 2; if(@b>2) {say 'yes';}
09:15 p6eval rakudo db0f85: OUTPUT«yes␤»
09:15 moritz_ WOAH THERE
09:16 moritz_ std: my @b= 5, 1, 2; if(@b>2) {say 'yes';}
09:16 p6eval std 30196: OUTPUT«[31m===[0mSORRY![31m===[0m␤if() interpreted as function call at line 1; please use whitespace instead of parens␤Unexpected block in infix position (two terms in a row) at /tmp/k2Uj3vzit0 line 1:␤------> [32mmy @b= 5, 1, 2; if(@b>2) [33m⏏[31m{say 'yes';}[0m␤    expecting
09:16 p6eval ..any…
09:22 pmurias joined #perl6
09:22 pmurias hi
09:22 moritz_ hi pmurias
09:22 moritz_ what's up?
09:25 * pmurias has always trouble answering that question ;)
09:25 moritz_ I often have, too
09:26 sorear "the sky" is my usual response
09:26 moritz_ any Perl 6 hacking lately?
09:26 pmurias unfortunatly not
09:27 moritz_ too busy with $education?
09:28 pmurias that's an annoying distraction latly
09:33 moritz_ rakudo: class A { has ($!a, $!b) }
09:33 p6eval rakudo db0f85: OUTPUT«error:imcc:syntax error, unexpected ')' (')')␤     in file 'EVAL_1' line 167␤»
09:38 payload joined #perl6
09:39 moritz_ rakudo: @_.=[3]
09:39 p6eval rakudo db0f85: OUTPUT«Can not use .= on a non-identifier method call at line 11, near ""␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
09:39 moritz_ std:  @_.=[3]
09:39 p6eval std 30196: OUTPUT«[31m===[0mSORRY![31m===[0m␤Placeholder variable @_ cannot be used in this kind of block at /tmp/ezHqKvO1IC line 1:␤------> [32m@_.=[3][33m⏏[31m<EOL>[0m␤    expecting any of:␤ POST␤   postfix␤  postfix_prefix_meta_operator␤FAILED 00:01 108m␤»
09:40 moritz_ std: sub a { @_.=[3] }
09:40 p6eval std 30196: OUTPUT«ok 00:01 106m␤»
09:44 pmurias rakudo: my $a = 3;{say $a;my $a=7;say $a};
09:44 p6eval rakudo db0f85: OUTPUT«Any()␤7␤»
09:45 pmurias is that correct?
09:45 moritz_ std: my $a = 3;{say $a;my $a=7;say $a};
09:45 p6eval std 30196: OUTPUT«[31m===[0mSORRY![31m===[0m␤Lexical symbol '$a' is already bound to an outer symbol (see line 1);␤  the implicit outer binding at line 1 must be rewritten as OUTER::<$a>␤  before you can unambiguously declare a new '$a' in this scope at /tmp/qnwP7Fu74I line 1:␤------> [32mmy
09:45 p6eval ..$a…
09:45 jnthn morning
09:45 phenny jnthn: 04:05Z <pyrimidine> tell jnthn thanks for the bug fix (RT#73774). Poked around and found the same spot you did in Grammar.pm, but didn't know what to do
09:45 moritz_ pmurias: it is not :-)
09:45 jnthn No, we don't detect that case yet.
09:46 moritz_ jnthn: we can haz run assign.t :-)
09:46 pugssvn r30197 | moritz++ | [t/spec] some unfudges for rakudo
09:46 moritz_ that commit also unfudge a precedence test for item assignment
09:47 jnthn moritz_++
09:47 jnthn \o/
09:47 jnthn Yay!
09:47 moritz_ jnthn: rakudo parses hash slices on the LHS of an assignment as an item, though
09:47 jnthn :/
09:47 moritz_ so %a<b c> = foo  uses item assignment
09:47 jnthn OTOH, hash slices don't work in Rakudo yet.
09:47 moritz_ aye
09:48 jnthn Though still a bit surprised about the parsing bug...
09:48 moritz_ oh
09:48 moritz_ maybe it's not a parsing bug
09:48 jnthn Oh, OK
09:48 jnthn Well, the parse tree would probably reveal all. :-)
09:48 moritz_ I just noticed that all tests involving the hash slice on LHS failed
09:48 moritz_ but of course that can be for other reasons :-)
09:48 moritz_ on, and array slices are read-only
09:50 jnthn Yes, the parsing looks correct, it has the operator down as list assignment. Phew. :-)
09:51 moritz_ sorry for the false positive
09:51 moritz_ s/positive/warning/
09:51 moritz_ whatever
09:51 broquaint joined #perl6
09:53 jnthn :-)
09:55 jnthn "just for the lulz" :-D
09:55 jnthn moritz_++ # testing! :-)
09:56 moritz_ :-)
09:56 moritz_ there was no good reason to infix:<cmp> to the operators bein tested, except that this was the example used in a specific ticket
09:57 jnthn Aha :-)
09:58 jnthn Wow, assign.t being turned back on must have won us a 3-figure number of extra passes. :-)
09:59 moritz_ it has 240 test in there
09:59 pugssvn r30198 | pmurias++ | [mildew] variables used in a scope are infered
10:02 meow joined #perl6
10:02 meow new to this
10:02 Guest92788 new to this..
10:03 jnthn Oh yay. Finally, while 1 { 42 } doesn't leak. :-)
10:04 xalbo_ joined #perl6
10:05 Guest92788 need some help in reading line based on seek position in perl
10:07 holli joined #perl6
10:07 pausenclown hi
10:07 pausenclown i think i found a bug
10:08 pausenclown rakudo: class X { method x { } }; say X.new.x;
10:08 p6eval rakudo db0f85: OUTPUT«Null PMC access in type()␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
10:08 pausenclown rakudo: class X { method x { 1 } }; say X.new.x;
10:08 p6eval rakudo db0f85: OUTPUT«1␤»
10:08 jnthn pausenclown: File RT; probably a missing prevent_null_return in method_def though.
10:12 Guest92788 left #perl6
10:13 Trashlord joined #perl6
10:18 moritz_ jnthn: how would I write a constructor in PIR for a parrot class that uses P6metaclass?
10:19 moritz_ jnthn: just an ordinary method that calls new [ 'This';'Class']; and does setatttribute on the result?
10:20 jnthn moritz_: That would do it, but you can also call bless and create too provided you inherit from Object/Any/something else in the Perl 6 hierarchy.
10:20 moritz_ I'm not
10:20 moritz_ jnthn: my current idea is to refactor the MATCH method in Regex::Cursor (nqp-rx)
10:21 moritz_ to not call new ['Regex';'Match']
10:21 jnthn bbiab
10:21 moritz_ and then setattribute on the result
10:21 moritz_ but instead does a $some_object.new( all info here )
10:22 moritz_ because then all you'd have to do is to write your own Match object with an appropriate .new method
10:22 moritz_ and hook that in somehow
10:25 pausenclown there also is a new "use" bug. i get "You can not add a Method to a module; use a class, role or grammar" if i'm trying to use a class within a class.
10:25 fda314925 joined #perl6
10:26 pausenclown 1st level from a script works. known?
10:27 moritz_ pausenclown: not known, but I could confirm it here
10:47 gfx joined #perl6
10:47 flity joined #perl6
10:55 pmurias perl6: &infix:<+> := sub {say "hi"};1 + 2;
10:55 p6eval rakudo db0f85: OUTPUT«:= binding of variables not yet implemented␤current instr.: '&die' pc 17257 (src/builtins/Junction.pir:399)␤»
10:55 p6eval ..elf 30198: OUTPUT«/home/p6eval/pugs/mi​sc/STD_red/match.rb:141:in `block in to_dump0': undefined method `to_dump0' for true:TrueClass (NoMethodError)␤    from /home/p6eval/pugs/misc/STD_red/match.rb:140:in `each'␤       from /home/p6eval/pugs/misc/STD_red/match.rb:140:in `map'␤        from
10:55 p6eval ../home/p6eval/pugs/misc/STD…
10:55 p6eval ..pugs: OUTPUT«*** Cannot rebind constant: PEConstant {pe_type = (mkType "Sub"), pe_proto = <Sub:0x2b12ef633941>, pe_flags = MkEntryFlags {ef_isContext = False}}␤    at /tmp/4TvTBBwH9M line 1, column 1-29␤»
10:56 pmurias is that legal in Perl 6?
10:56 moritz_ nope
10:57 moritz_ at least I think not
10:58 pmurias why?
10:58 moritz_ what would it mean?
10:58 moritz_ &infix:<+> contains a multi
10:59 moritz_ what does it mean if you bind &infix:<+> to a single sub?
10:59 moritz_ what scopes does it affect?
11:02 pmurias binding a single sub to am multi should propably replace it
11:02 pmurias s/am/a/
11:02 moritz_ in which scope?
11:02 masak joined #perl6
11:02 masak oh hai, #perl6
11:03 moritz_ it's m\a/sak :-)
11:03 pmurias moritz_: i would guess CORE
11:03 moritz_ pmurias: and thus evily monkey-type things it should not change
11:04 moritz_ that's why I think it should be forbidden
11:04 masak TimToady: [backlogging] could STD_P5 be a possible target for delegation, or are there reasons it'd have to be written (mostly) by you?
11:04 pmurias i think so two
11:05 pmurias monkey-patching kills optimalisation
11:06 * moritz_ is happy that there is some interest in Perl 6 from possible GSOC students
11:06 jnthn "binding a single sub to a multi" - huh?
11:06 moritz_ jnthn: pmurias probably meant "biding a single sub to a container which currently holds a multi" or so
11:06 jnthn The fact that it's a multi doesn't mean much. It's just like binding against any other simple.
11:06 jnthn *symbol
11:07 pmurias jnthn: that's what i meant
11:09 moritz_ rakudo: sub a(*@b) { say @b.PARROT }; a(2, 3); my @x = 3; a(@x)
11:09 pmurias jnthn: what do you think &infix:<+> := &foo changes?
11:09 p6eval rakudo db0f85: OUTPUT«Array␤Array␤»
11:10 moritz_ rakudo: sub circumfix:<| |>() {}; |*|
11:10 p6eval rakudo db0f85: OUTPUT«error:imcc:syntax error, unexpected '\n'␤  in file 'EVAL_1' line 58␤Confused at line 11, near "|*|"␤current instr.: 'perl6;HLL;Grammar;panic' pc 500 (ext/nqp-rx/src/stage0/HLL-s0.pir:328)␤»
11:10 imran joined #perl6
11:12 dalek book: 4cba9cd | moritz++ | outline.pod:
11:12 dalek book: update outline
11:12 dalek book: review: http://github.com/perl6/book/commit/4c​ba9cd6ecfba922b41715b91288265937af503c
11:12 jnthn oops, ENOPMURIAS
11:13 jnthn I'd guess it means re-bind the entry in the lexpad
11:13 jnthn Assuming that it's rw anyway...we may want to make that not the case (for optimization reasons, as mentioned).
11:14 jnthn Heh, visa form fail.
11:14 jnthn "IMPORTANT! Please print or type using ballpoint pen"
11:14 jnthn ...weird way to type. :-)
11:27 clintongormley joined #perl6
11:36 colomon oooo... that reminds me to take some of the vodka in the house to the convention tonight.  (since I never drink the stuff, yet somehow we have three different bottles....)
11:37 moritz_ good way to get rid of it :-)
11:37 * moritz_ only has rum for cooking at home
11:38 masak jnthn: [backlogging] the 'for the lulz' meme will probably forever carry a dark undertone for me due to the Finnish School Shooting. :/ http://www.kuro5hin.org/story/2007/11/8/141636/531
11:38 masak jnthn: (the guy ends his letter with 'I did it for the lulz')
11:39 pausenclown damn the grammar.parsefile method is broken.
11:39 jnthn masak: Ouch. :-(
11:40 pausenclown grammar G { token TOP { .+ } };
11:40 pausenclown say G.parsefile('bug.pl');
11:40 pausenclown -> invoke() not implemented in class ''
11:40 masak pausenclown: feel free to submit a rakudobug.
11:41 * moritz_ wonders if f20f1e5c5109d404a748aa8f766f6b05404a74fc broke that
11:41 masak interesting how http://www.perlfoundation.org/pe​rl5/index.cgi?gsoc_2010_projects puts Rakudo, Parrot and Perl 6 above Perl 5... :) almost comes off as deliberate...
11:42 moritz_ masak: Perl 6, Rakudo and Parrot offer project ideas such such - Perl 5 does not
11:42 masak ok.
11:42 jnthn Tssk. Thanks Russia. Turns out if I was just about any European nationality besides British, I'd have a 1-page visa application form to fill out. But no, I have to fill out the two page one...singled out along with Georgia. :-/
11:42 moritz_ masak: Perl 5 core is not very approachable, and most other Perl 5 ideas are about certain modules
11:42 masak by the way, I'm not certain I'll be available as a mentor this year. I'll try to apply as a student.
11:42 moritz_ o. I could end up being masak's mentor
11:43 moritz_ that would feel... weird.
11:43 masak why?
11:43 moritz_ masak: because I don't feel that I have superior knowledge in terms of community, processes, language, and probably that specific project at all
11:44 masak moritz_: well, neither do I, so we're at least on equal terms. good grounds for a student/mentor relation. :)
11:44 moritz_ I know that's only part of mentoring
11:44 moritz_ but usually the mentor introduces the students to part of the community, organizes commit bits etc.
11:44 moritz_ "jnthn, this masak, our new student" :-)
11:44 masak we'd just take those parts as read. :)
11:45 masak "hi, jnthn! nice to meet you :)"
11:45 jnthn Yay, new students are good for breakfast!
11:45 * masak inches away slowly
11:45 jnthn Er, I mean...pleased to meet you.
11:45 jnthn :-)
11:45 masak :)
11:46 masak moritz_: that jnthn guy is kinda scary...
11:46 masak :P
11:46 moritz_ masak: if you'd ever meet him in person...
11:47 moritz_ oh, one thing I forgot... op'ping :-)
11:47 masak moritz_: ...he'd eat me for breakfast? :)
11:47 masak moritz_: I've heard jnthn doesn't do breakfasts...
11:48 masak lunch &
11:48 cotto joined #perl6
11:52 lichtkind joined #perl6
11:54 lichtkind could anyone explain proto subs please ?
11:57 moritz_ I'll try
11:57 lichtkind moritz_: thanks
11:57 lichtkind syn doesnt make sense to me
11:58 moritz_ first of all a proto is a declaration that all following subs with the same name are automatically multis
11:58 moritz_ multi a { }; sub a { }; # error
11:58 moritz_ proto a { }; sub a { }; # allowed; the sub is automatically promoted to multi
11:58 moritz_ second, they act as a fallback for dispatch
11:59 moritz_ I think that's it
11:59 lichtkind so if i declare a only
11:59 lichtkind i cant declare proto after it?
12:00 moritz_ not in the same scope
12:00 lichtkind right
12:00 moritz_ I guess that if the proto comes in an inner scope, it hides the only sub
12:01 envi^home joined #perl6
12:01 lichtkind moritz_: fallback means its used for the case "real" sub with that name is declared?
12:02 lichtkind why not use just a multi with no sig which eats the call if no other multi is declared?
12:02 moritz_ why indeed
12:03 moritz_ there's one thing that makes the dispatch special
12:03 moritz_ if you have a multi sub ($a, $b)
12:03 moritz_ and you call $b by name, not by position (1, :b(2))
12:04 moritz_ then the ordinary multi dispatch is free to look at only candidates with one positional argument
12:04 moritz_ so it won't find ($a, $b)
12:04 moritz_ but it will find a proto with signature ($a, $b)
12:05 Trey joined #perl6
12:12 lichtkind moritz_: so in other words its the multi for the unmatched cases?
12:15 moritz_ yes. Isn't that what "fallback" means? :-)
12:15 pmurias joined #perl6
12:15 pmurias jnthn: rehi
12:17 masak <jnthn> Oh yay. Finally, while 1 { 42 } doesn't leak. :-)
12:17 masak this is really big.
12:17 masak I had such a loop running over lunch; it didn't leak one bit of memory. \o/
12:18 m6locks :)
12:19 m6locks lunch would kick ass
12:19 moritz_ .oO( unwanted mental images )
12:20 masak :D
12:20 payload joined #perl6
12:21 takadonet morning all
12:22 jpzork joined #perl6
12:22 m6locks morning
12:22 masak takadonet: \o
12:22 colomon o/
12:27 hatseflats joined #perl6
12:27 lichtkind moritz_: it is i just want to play stupid to be shure i get it :)
12:27 moritz_ anybody got some time and motivation for common PIR hacking? (maybe later today)
12:27 lichtkind masak: hai o/
12:27 jnthn moritz_: Can probably assist with that.
12:27 jnthn moritz_: Just having visa nightmares ATM. :-/
12:28 moritz_ jnthn: ok, need to organize some $nom first anyway
12:28 moritz_ might take an hour or two
12:29 jnthn moritz_: That's fine, I also need nom now, and to actually, like, do some work today.
12:29 dalek book: 59eca08 | masak++ | src/operators.pod:
12:29 dalek book: [operators] minor typo/punctuation fixes
12:29 dalek book: review: http://github.com/perl6/book/commit/59​eca08ad0d77ce8837c7e22241e9f2d3a2925c3
12:30 jnthn Since I lost the morning to the Russian government's rather well implemented measures to make it a pain for anyone to visit the country.
12:31 pmurias jnthn:
12:31 jnthn pmurias: ? :-)
12:31 mathw My, that sounds like fun...
12:32 hatseflats joined #perl6
12:32 lichtkind moritz_: refers $nom to food?
12:32 moritz_ yes
12:33 lichtkind moritz_: sounds almost like lolcat speak
12:33 moritz_ might come from that direction
12:33 pmurias jnthn: accidental key press
12:34 jnthn :-)
12:36 masak the noun 'nom', via the verb 'to nom', via the onomatopoetic expression 'nom nom nom', "The sound of a person chewing or eating with childlike enthusiasm." http://en.wiktionary.org/wiki/nom_nom_nom
12:38 ruoso joined #perl6
12:39 lichtkind masak: yes its even known in czech , even if its spelled njam njam
12:40 masak lichtkind: nod. probably most countries have a child-speak onomatopoiea for this.
12:41 masak you're less likely to say "Please chew, swallow and digest this" to your toddler. :)
12:42 jnthn .oO( Njamoval som obed. )
12:42 pmurias ruoso: hi
12:43 jnthn When I was in Slovakia, I often walked passed a hot-dog stand called "N'am hotdog" :-)
12:44 moritz_ buubot: eval 00.1 + 2
12:44 buubot moritz_: 3
12:44 moritz_ the surprises for the Perl 5 programming language
12:45 pmurias_ joined #perl6
12:46 colomon rakudo: say 00.1 + 2
12:46 p6eval rakudo db0f85: OUTPUT«2.1␤»
12:46 masak moritz_: o.O
12:46 masak moritz_: wh... why?
12:46 moritz_ masak: I have no idea
12:46 pmurias jnthn: so it's safe to rebinding CORE illegal in smop
12:46 pmurias ?
12:47 masak moritz_: at least it's extremely fast :P
12:50 pmurias masak: 00.1 is '01' in perl5
12:51 masak pmurias: right, ok. why?
12:51 moritz_ it seems that the decimal point is ignored in all ocatls
12:51 moritz_ buubot: eval: 02.2
12:51 buubot moritz_: 22
12:51 masak oh.
12:51 moritz_ uhm
12:51 moritz_ that didn't interpret it as octal, did it?
12:51 masak no.
12:51 moritz_ buubot: eval: 011.1
12:51 buubot moritz_: 91
12:52 moritz_ rakudo: say 0o111
12:52 p6eval rakudo db0f85: OUTPUT«73␤»
12:52 moritz_ but that did
12:52 * moritz_ has no idea
12:52 masak rakudo: say 0o11
12:52 p6eval rakudo db0f85: OUTPUT«9␤»
12:52 moritz_ so
12:52 moritz_ it takes everything before the . as octal
12:52 masak right.
12:52 moritz_ and then concatenates... what?
12:52 moritz_ buubot: eval: 011.11
12:52 buubot moritz_: 911
12:52 masak and then the rest in decimal.
12:53 moritz_ wow
12:53 masak that's insane.
12:53 * moritz_ slaps TimToady, retrospectively
12:54 pmurias buubot: eval: (011) . (11)
12:54 buubot pmurias: 911
12:54 moritz_ so it's just parsed as a concatenation
12:54 pmurias yes
12:54 moritz_ and not as a number
12:55 moritz_ wow
12:55 pmurias octal numbers propably don't support a floating point part
12:56 masak ohh! concatenation. right. Perl 5 uses the dot for that.
12:56 masak still very much not Least Surprise.
12:57 moritz_ wow, I found some really old qbasic scripts of mine
12:57 moritz_ burned on a CD in 2002
12:57 moritz_ probably much older
13:07 meppl joined #perl6
13:08 cosimo joined #perl6
13:17 colomon moritz_: I've been hoping there's some way to retrieve my old Forth programs from the Commodore 64 floppies they live on...
13:18 jnthn pmurias: Good question. I think it's probably reasonable to declare the CORE setting lexpad that everything has as its outer is immutable, for optimization reasons if nothing else.
13:18 moritz_ colomon: computer museum?
13:18 jnthn It's hardly restrictive.
13:19 jnthn Since you can easily declare something that hides it.
13:19 jnthn pmurias: Though me thinking it's reasonable != a ruling. ;-)
13:19 SmokeMachine joined #perl6
13:20 colomon moritz_: I tried contacting some on-line C64 enthusiasts, but got side-tracked by our move.
13:21 moritz_ quite understandable
13:24 lichtkind moritz_: thanks
13:25 lichtkind bye see ya
13:25 lichtkind feel free to optimize http://www.perlfoundation.org/perl6/index.​cgi?perl_6_lookup_tablet#routine_modifier
13:30 iblechbot joined #perl6
13:34 ignacio_ joined #perl6
13:50 hicx174 joined #perl6
14:02 riffraff joined #perl6
14:07 PerlJam joined #perl6
14:13 colomon 28699 passing tests!
14:14 moritz_ in npq-rx, a match object has a reference to the original cursor
14:14 moritz_ why?
14:14 jnthn moritz_: We use it for method calls in various places
14:15 jnthn moritz_: Grep e.g. Actions.pm for $/.CURSOR.
14:15 dalek joined #perl6
14:16 moritz_ ok
14:21 * mathw finds metamodel.pod quite interesting
14:21 buubot joined #perl6
14:31 xalbo left #perl6
14:32 alester joined #perl6
14:32 alester Squaaaawk! Perl 6 is vaporware! Perl 6 is vaporware! Squaaaawk! https://lwn.net/SubscriberLi​nk/379909/d0cab59913dced2c/
14:32 masak yeah, saw that one.
14:33 jnthn Perl 6 isn't anything-ware.
14:33 jnthn It's a spec.
14:34 masak 'vaporware' applies to hyped products by game houses etc who work in a closed-source manner. it applies when no code/implementation whatsoever has been released to the public.
14:35 mathw Duke Nukem Forever
14:35 mathw the canonical example
14:35 masak aye.
14:35 mathw until it was cancelled
14:37 jnthn I still think it's missing the point. Perl 6 is explicitly not the name of an implementation, so I don't think it makes sense to apply a label that is generally used to descibe software to it. Rakudo is a better example of something you could class as vaporware, apart from its rather inconvenient very public existence. :-)
14:38 mathw yes
14:38 jnthn er, to describe hypothetical software.
14:38 jnthn ;-)
14:38 mathw basically we're just witnessing another example of people not understanding what's going on here
14:38 nihiliad joined #perl6
14:38 jnthn Aye.
14:38 masak "I don't think it's really appropriate to call the Hurd vaporware. While some people get disappointed by the lack of some relatively basic things, a great many actually err on the other side -- they are quite surprised how complete the system already is..." http://lists.debian.org/debia​n-hurd/2007/08/msg00006.html
14:38 jnthn Nothing new in that sense. I just think framing it as what Perl 6 is vs what its implementations are could he helpful.
14:39 jnthn masak: Heh. Sounds familiar.
14:39 masak it does.
14:39 jnthn Especially in some p6l posts. :-)
14:39 mathw :)
14:39 jnthn "Oh, it's implemented? I was only asking about spec! Horror!"
14:40 mathw some people probably want the implementation to go away so they can argue for things to be changed more
14:40 jnthn lol
14:40 jnthn I so don't want to believe that. :)
14:40 mathw somebody's always going to want things to be changed
14:41 masak yeah, it's darn inconvenient that implementations have started to interfere with our noble spec work. :P
14:41 masak it was much simpler before they did.
14:41 mathw hee hee
14:41 mathw it's more fun though
14:41 masak yes, I think so.
14:43 masak "[grub2] wont become vaporware, because the developers repository is still busy, stuff is still actively getting committed." http://brainstorm.ubuntu.com/idea/8143/
14:43 mathw my laptop boots with grub2...
14:43 mathw that's distinctly non-vapoury
14:43 IllvilJa joined #perl6
14:43 masak mathw: well, my laptop starts Perl 6 when I type 'perl6' on the prompt.
14:44 moritz_ alpha: say Match ~~ Positional
14:44 p6eval alpha 30e0ed: OUTPUT«1␤»
14:44 mathw masak: oddly enough, so does mine :)
14:44 moritz_ alpha: say Match ~~ Associative
14:44 p6eval alpha 30e0ed: OUTPUT«1␤»
14:44 dalek joined #perl6
14:44 jnthn moritz_: It does the both. You may need a method "of" for conflikt resolution.
14:44 jnthn uh, conflict
14:45 moritz_ not quite what I'm after
14:45 jnthn OK
14:45 jnthn Just noting that doing both roles runs you into a conflict otherwise. :-)
14:45 moritz_ I'm trying to find out how Regexp::Cursor.MATCH propagates the positional and named captures to the match
14:45 jnthn Oh, that hurt my head too
14:45 jnthn I didn't quite figure it out. :-/
14:46 Alias joined #perl6
14:46 mathw there's a conflict between Associative and Positional?
14:46 moritz_ mathw: both have .values, .keys, .kv
14:46 mathw aah
14:46 mathw irritating
14:46 jnthn moritz_: No, that's not the issue - they come from Any
14:46 jnthn The problem is the method "of"
14:46 mathw oh
14:46 mathw I've never heard of that one
14:47 moritz_ jnthn: could it be that Match inherits from both RPA and Hash?
14:47 jnthn my Int @foo; my Int %bar; say (@foo, %bar)>>.of; # Int()Int()"
14:47 moritz_ and that it just does match[$S0] = $named_capture
14:47 moritz_ match[$I0] = $positional_capture
14:47 moritz_ that's what it seems to do, yes
14:48 mathw jnthn: so .of returns the element type, or the value element type, as appropriate
14:48 jnthn mathw: Yes
14:49 jnthn mathw: The role is actually role Positional[::T = Object] { method of() { T }; method post...blah... }
14:49 masak "[Fifth generation computer project in Japan] was supposed to perform much calculation using massive parallel processing. [...] Either it was a failure, or it was ahead of its time." http://en.wikipedia.org/wik​i/Fifth_generation_computer
14:49 jnthn moritz_: That's possible, it may be Capture rather than the two of them though.
14:49 moritz_ jnthn: good point
14:50 moritz_ $P0 = p6meta.'new_class'('Regex::Match', 'parent'=>'Capture',
14:50 moritz_ spot on
14:53 masak "We don't need timelines right now. What we need is some hacking time and to bring some fun back into PHP development. It hasn't been fun for quite a while. Once we have a body of new interesting stuff, we can start pondering releases..." https://lwn.net/SubscriberLi​nk/379909/d0cab59913dced2c/
14:54 masak sounds like the cup-throwing incident.
14:54 masak (but sans the cup)
14:54 mathw I guess it's a pretty hard task to take PHP and make it good
14:54 mathw to keep it moving forward without breaking it all
14:55 mathw Of course I'm biased
14:56 moritz_ it's also a hard task with Perl 5
14:56 PerlJam masak: yes, the PHP community tends to do the same things as the Perl community only years later.
14:56 moritz_ like... introducing namespaces
14:57 masak :)
14:57 moritz_ or Unicode
14:57 mathw extensions
14:57 masak Unicode seems to be the big thing PHP 6 tries to do.
14:57 mathw and their biggest stumbling block too
14:57 mathw although they do need it
14:58 mathw but unicode is hard!
14:58 mathw we know this
14:58 mathw lots of people know it
14:58 jnthn 127 chars should be enough for anyone
14:58 jnthn ;-)
14:58 masak 128. :)
14:58 jnthn Well, I guess NULL is a char in the zen sense. :-)
14:58 moritz_ akshually ASCII didn't assign 127, or so I have heard
14:58 PerlJam NUL
14:59 * moritz_ says CREAT
14:59 masak moritz_: 127 is DEL or some such.
14:59 dalek joined #perl6
14:59 masak jnthn: NUL is very much a real character, no zen sense necessary.
14:59 masak jnthn: it's only in C and the like it's sometimes used out-of-band, but it's still a character.
14:59 jnthn masak: I'm brain damaged by C. :-P
14:59 masak clearly :)
15:00 PerlJam the C form of brain damage is still the best kind to have overall
15:00 masak even in C, you can have chr(0) in your strings... you just can't use the common string library functions on them and expect everything to work. :)
15:03 mathw well then you're dealing with binary buffers, which are a different kettle really :)
15:03 moritz_ did you mean: (char) 0 ? :-)
15:03 * mathw means static_cast<char>(0) :)
15:04 * mathw is a C++ guy
15:05 mathw aaaw
15:05 mathw my cat's doing a scarf impression
15:07 jnthn Cats are The Awesome.
15:07 mathw oh yes
15:09 masak mathw: does that mean it's draping itself over the back of your neck?
15:09 mathw yup
15:10 masak that must be a sign that it really trusts you :)
15:10 mathw yeah he does a lot of really trusting stuff
15:10 mathw stretching out belly-up on my lap and going to sleep, that sort of thing
15:11 PerlJam mathw: clearly you are an inferior being, otherwise the cat would regard you with more suspicion.  ;)
15:11 mathw heh
15:11 mathw quite possibly
15:11 mathw he knows my aikido training only covers human opponents
15:12 jnthn Dog: "You feed me, you care for me, you must be god." Cat: "You feed me, you care for me, I must be god."
15:12 PerlJam jnthn++
15:12 mathw that's about right, I think
15:12 mathw but I can't help it, he's so lovely
15:13 uniejo joined #perl6
15:13 masak Do subs and methods still default to 'our' scope, as http://www.dlugosz.com/Perl6​/web/class-declarators.html says? ISTR at least methods are now 'my' by default.
15:14 jnthn no
15:14 jnthn no
15:14 jnthn subs are my by default
15:14 moritz_ methods are 'has' by default
15:14 jnthn methods are haz by default
15:15 masak what does it mean for a method to be 'has'?
15:15 jnthn Only exists in the methods table.
15:15 jnthn Not in the lexpad or package.
15:15 masak and that 'Only' means that you can't do what?
15:15 * masak wants details :)
15:16 jnthn Call it with anything but a dotty (or by asking the metaclass to give it to you)
15:16 jnthn (e.g. by .methods or .can)
15:16 masak jnthn: ok, so A::foo won't work?
15:16 jnthn Correct.
15:16 moritz_ huh, can an attribute in PIR only be a PMC?
15:16 jnthn You need to say "our method" for that.
15:17 moritz_ (and not an int)
15:17 jnthn moritz_: Yes. :-/
15:17 moritz_ let me say "huh".
15:17 masak jnthn: ok.
15:17 jnthn moritz_: And a lexpad too.
15:17 jnthn moritz_: Which is one thing that'll need to change in Parrot before we do native types.
15:18 jnthn chromatic++ mentioned knowing how to do that for lexpads, mind.
15:18 jnthn But I still suspect we may see proper support for native types on another backend first.
15:19 PerlJam Does that "suspect" really mean "I'm working on it and I expect to beat chromatic to the punch"?  :)
15:19 moritz_ we need more chromatics :-)
15:19 jnthn PerlJam: I'm actually disciplining myself not to get distracted on the backends stuff until Rakudo * is out.
15:19 PerlJam moritz_: indeed.
15:19 mathw jnthn: something to do in .NET perhaps
15:20 PerlJam jnthn++ discipline is good
15:20 * mathw wonders what the big release after rakudo * will be called
15:20 mathw Rakudo Nebula?
15:20 mathw :)
15:20 mathw Super Rakudo Galaxy :D
15:20 jnthn Rakudo ** # includes slice support!
15:20 mathw (that's the one with Parrot, .NET, JVM and LLVM backends)
15:21 PerlJam Rakudo Nova ... seeding galaxies everywhere with fresh Perl 6 matter
15:22 PerlJam Rakudo * can also be read as "Rakudo splat", so maybe Rakudo * has a whole other meaning we're not aware of  ;)
15:22 Su-Shee I wouldn't go for stellar names unless you really dig puns on speed of light versus rakudo :)
15:22 mathw well of course it's also Rakudo Whatever
15:23 PerlJam Su-Shee: the more punnable, the better
15:23 jnthn -Opun
15:23 jnthn mmm...I has a stroopwafel.
15:24 * moritz_ is envious
15:24 moritz_ I pushed the refactor_mob_generation to the nqp-rx github repo
15:24 masak mathw: last I heard, it'll be 'Rakudo Star' for at least a couple of releases, since the name refers to a distribution, not a release.
15:25 moritz_ it now has a constructor in the Regex::Match class
15:25 moritz_ not yet used, not yet tested
15:25 moritz_ plan is to call that from Regex::Cursor.MATCH
15:25 masak jnthn: I don't have a girlfriend to give stroopwafels to like moritz_, but I gave one to a girl friend. :)
15:25 moritz_ and then build a Perl 6 Match object
15:26 jnthn masak: I actually have an incredibly large supply thanks to (Netherlands Perl Workshop)++. Maybe enough to bring a packet to Uppsala. ;-)
15:26 masak jnthn: mmm. :)
15:26 masak jnthn: I won't hold it against you if you do. :)
15:27 jnthn .oO( Might hold it against me if I don't...best not accidentally the whole supply. )
15:27 masak :P
15:29 masak jnthn: http://knowyourmeme.com/photos/4165
15:32 jnthn masak: lol
15:32 moritz_ rakudo: 'foo' ~~ /<alpha>+/; say $<alpha>.PARROT
15:32 p6eval rakudo db0f85: OUTPUT«Method 'PARROT' not found for invocant of class 'ResizablePMCArray'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
15:32 moritz_ so...
15:32 masak hm...
15:32 moritz_ rakudo: 'foo' ~~ /<alpha>/; say $<alpha>.PARROT
15:32 p6eval rakudo db0f85: OUTPUT«Method 'PARROT' not found for invocant of class 'Regex;Match'␤current instr.: '_block14' pc 29 (EVAL_1:0)␤»
15:33 masak internals poking out... :/
15:33 moritz_ aye
15:33 moritz_ that's what I'm trying to fix atm
15:33 moritz_ but it's hard
15:33 masak nod.
15:34 * jnthn can imagine that as being tricky. :-/
15:37 dalek nqp-rx: becd0e9 | duff++ |  (3 files):
15:37 dalek nqp-rx: remove un-perly fatarrow extension
15:37 dalek nqp-rx: review: http://github.com/perl6/nqp-rx/commit/b​ecd0e9ea6541b6862cea49c93f296becb6f0585
15:42 jnthn ...wasn't that patch from a while ago? :-/
15:42 moritz_ I don't understand the cstack at all
15:42 PerlJam jnthn: the fatarrow one?
15:43 jnthn yeah
15:43 jnthn oh, no
15:43 jnthn There was another fatarrow one a little while back
15:43 moritz_ and how it interacts with caparray
15:44 PerlJam I'd added a fatarrow extension for fperrad and friends.  It was unperly and pmichaud said he was going to remove it.  I notice he hadn't yet, so I did before it propagated too much.
15:44 jnthn Ah, OK.
15:45 moritz_ the problem was that it parsed "a" => 1 and a => 1 the same way
15:45 moritz_ so it would break the named arg vs. positional arg distinction
15:45 jnthn Yes
15:45 jnthn It's better than NQP tries to stay a proper subset, IMHO.
15:48 * masak really liked http://webchick.net/files/women-in-floss.pdf
15:52 bbkr joined #perl6
16:00 Su-Shee uah. ;)
16:00 masak Su-Shee: what? :)
16:01 Su-Shee this is an insult to women like me. seriously. I _hate_ those kind of argumentation. un-be-lie-va-ble.
16:02 masak Su-Shee: oh, you'll have to explain that. the presentation seemed very balanced to me.
16:02 masak but I'm male, so I'm sort of biased by design :)
16:02 Su-Shee besides the social factor - "not just rtfm - take 30 seconds to point the way" WTF? why need women to be cuddles and pointed to the documentation instead of just ... doing rtfm?
16:03 jnthn I didn't see how that particular one related to women at all, fwiw.
16:03 jnthn RTFM is always quite unhelpful.
16:03 Su-Shee jnthn: exactly. either that - then we could say "the foss culture of just saying rtfm sucks" - but saying that _this_ is something to drive women away.. well..
16:03 jnthn It's a good point, but...yes, I found that weird.
16:04 buubot joined #perl6
16:05 Su-Shee what I essentially hate most is: we're talking grown up upper level educated women here usally. they _have_ to learn to jump over their socialisation. and all this pointing to men in foss and asking _them_ for change.. well, change yourself first.
16:06 masak Su-Shee: why, according to you, are there so few women in FOSS circles?
16:06 flity joined #perl6
16:06 huf why are there so few men teaching in kindergartens?
16:07 huf i'm not saying it's the right approach but cant we just accept some things as is
16:07 huf ?
16:07 Su-Shee masak: because of the huge amount of time it takes to participate - which women if they have it - usally divide between more things than just open source and hacking.
16:07 diakopter why are there so few men bearing children?
16:07 huf diakopter: sadly, technological reasons
16:07 huf but sooooooon....
16:07 masak Su-Shee: ah, so because more men are monomaniacs, essentially... :)
16:08 Su-Shee masak: and plain disinterest. there are few women doing technology anway - probably of this number, the number of women in foss might even not be that low.
16:08 masak nod.
16:08 Su-Shee masak: and they usally have more opportunity to be monomaniacs. be it for social acceptence reasons or be it for age.
16:09 masak Su-Shee: it makes sense.
16:09 Su-Shee but for this to change, women have to decide to change themselves. programming foss ain't going to get any easier - so it takes you even _more_ time to get into it.
16:10 Su-Shee and I'm sorry to say: but if you _really_ get shocked in a 600 men-3 women channel by the three asses you _OF COURSE_ will encounter: then you have no business on the internet.
16:10 sundar joined #perl6
16:11 Su-Shee and obviously you missed that there are 597 men behaving appropriately.
16:11 Su-Shee (which is a damn great quota, I'd say.)
16:11 bbkr and this ratio is even worse on #perl7 :)
16:14 masak bbkr: what's this obsession about Perl 7? I'm not even getting started sucking on the Perl 6 candy. :P
16:14 huf better start perl7 now so it'll be ready for christmas 2097?
16:14 * huf hides
16:15 masak Su-Shee: my mother has similar complaints about "wonem's networks" and the like. she says "I don't consider being a woman a factor in being an entrepreneur. why would I join a network that pretends it is?"
16:15 masak s/wonem/women/
16:18 cdarroch joined #perl6
16:18 cdarroch joined #perl6
16:18 Su-Shee masak: I had my epiphany when I saw myself in a discussion about outing some rapist in the neighbourhood. all women threw all their energy onto the outing, the campaign - essentially _him_. instead of teaching themselves self defense and focussing on _themselves_.
16:18 masak Su-Shee: good point.
16:19 masak maybe men have an easier time thinking of themselves first. :)
16:19 Su-Shee so the lesson is: do foss, write code, focus on the cool guys, ignore the rest (or get a sharp tongue) and first and foremost: ask yourself what you can change about your female behavior.
16:19 Psyche^ joined #perl6
16:20 Su-Shee example is usally: it's not personally against you specifically as a woman if you get the full beat down of "your code is shit". ;)
16:21 masak heh.
16:21 masak I sometimes forget women tend to put an equivalence sign there. :)
16:21 Su-Shee masak: it's mostly that the culture of political resistance and change and emancipation tends to search for something to fight against instead of something to be engaged _for_
16:22 masak Su-Shee: aye.
16:22 masak a bit of "ok, so we're reached the land of potentiality, but we're unable to dismantle the movement that brought us here"
16:22 Su-Shee like: your fight against privacy violations of companies instead of engaging yourself in a information has to be free movement.
16:22 pugssvn r30199 | lwall++ | [STD, gimme5] various tiny speed tweaks, fossil removal
16:23 masak or like p6l keeping on producing spec when we should really be doing implementation :)
16:23 Su-Shee seriously: afterall - I just don't know what women are avoiding in foss. it's cheap. it's documented in miles of papers. it's open. it's there. you just have to sit down on your computer and _do_ it.
16:24 masak Su-Shee: could be just an accidental assymmetry. it tilted over early on and never changed.
16:24 masak probably not so accidental, even, since a lot of other factors favor men in FOSS.
16:25 masak but it could definitely be self-reinforcing.
16:26 Su-Shee yeah well - in the end the factors doesn't matter. either you do foss or you don't. either you take the power you want or you don't get it. if our grandmother's would have waited for things to change, I still wouldn't have a banking account.
16:26 masak :)
16:26 TimToady We who are Live White Males have been trained to think that we're supposed to be good Dead White Males someday, so we erect monuments to ourselves...
16:26 Su-Shee *hihi* :)
16:27 TimToady ...but knowing that, it still doesn't excuse us from not trying to do something monumental.  :)
16:27 Su-Shee well, a nice monument would look great in every woman's living room as well. ;)
16:28 Su-Shee masak: aren't you supposed to be the prime example of an egaliterian society in sweden?
16:29 masak Su-Shee: we're pretty egalitarian, IIUC.
16:29 masak Su-Shee: still doesn't mean men aren't pigs sometimes.
16:29 masak and still doesn't mean there aren't stupid gender-based injustices.
16:29 Su-Shee masak: let's call it the "viking heritage" maybe. ;)
16:29 masak if it were only that... :)
16:30 Su-Shee masak: sure - but: I don't see the masses of swedish women flocking into science and computing as well.
16:30 Psyche^ joined #perl6
16:30 masak Su-Shee: true.
16:30 masak Su-Shee: it's a male-dominated landscape in the natural sciences and C.S.
16:31 Su-Shee if you go by numbers women surpassed in germany men two or three years ago in terms of grades, education and going to university. still: not into science and computing.
16:31 masak nod.
16:31 masak girls get higher grades here too, in almost all levels of education.
16:32 Su-Shee (german newspapers are full of articles recently about the discrimination of boys :)
16:32 masak there's discrimination both ways, sure. but it's often in different ballparks.
16:33 Su-Shee masak: still don't choose science or computing.. not even for the sake of never being unemployed or the salaries or the freedom to choose your jobs instead of applying against 46856 competitors..
16:33 moritz_ also it was long a taboo to talk about sexual abuse of boys/men
16:33 * masak prepares to go swimming
16:38 masak Su-Shee: ok, so the solution is not for communities to cater for women, it's for women to think about themselves?
16:39 iblechbot joined #perl6
16:42 masak or about accepting that maybe women aren't interested in FOSS?
16:46 lue interesting conversation :)
16:48 Su-Shee masak: I personally think so, yes.
16:48 Su-Shee masak: it's really not about the average joe foss hacker having to change.
16:49 masak Su-Shee: ok. thank you, this helped me as a male get a different perspective on this discussion than I had before.
16:49 chromatic joined #perl6
16:49 lue joined #perl6
16:49 lue hooray for segfaults :/
16:49 Su-Shee masak: I personally consider for example allison or the kernel woman whose name I forgot more of a role model. to my view, those women just _do_ foss.
16:50 kidd joined #perl6
16:50 masak Su-Shee: Jacinta Richardson? aye, agree.
16:50 chromatic Valerie Aurora?
16:51 Su-Shee lemme look.
16:51 lue In S02, state variables are defined as "lexically scoped but persistent names". What does the persistent part mean?
16:53 Su-Shee YES!
16:53 Su-Shee I know her as val henson.
16:53 masak seems she did a s/henson/aurora/
16:53 lue hi masak! o/
16:54 Su-Shee though I know that her opinion is more along the lines of this presentation pdf.
16:54 masak lue: hi! I'm just leaving for a nice swim.
16:54 masak lue: will I return to find awesome activity on RT? :)
16:56 masak swimming &
16:56 lue I'm leaving for a couple of days, so no :/
16:59 lue When I'm back though, I'll be sure to pile up all the old, resolved tickets and set them on fire :)
17:00 lue Anyway, can anyone explain to me the difference between a my variable and a state variable?
17:03 Su-Shee phenny: tell masak, I just remembered the foss exception of the rule: the arduino/maker/wearables community.
17:03 phenny Su-Shee: I'll pass that on when masak is around.
17:06 chromatic lue, a state variable gets initialized once.  They have the same scoping rules, but the value of the state variable persists even as control flow exits its scope.
17:06 chromatic Think of it as a closed over variable that doesn't require an outer lexical scope to persist.  It's like a telegraph with no cat.
17:08 lue So... my is a wimp, and dies as soon as the program leaves that scope, while state is a solider, who will stand there until the whole thing's called off?
17:08 TimToady rakudo: sub incr { state $s = 0; say $s++ }; incr; incr; incr; incr;
17:08 p6eval rakudo db0f85: OUTPUT«Symbol '$s' not predeclared in incr␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
17:09 TimToady alpha: sub incr { state $s = 0; say $s++ }; incr; incr; incr; incr;
17:09 p6eval alpha 30e0ed: OUTPUT«0␤1␤2␤3␤»
17:09 TimToady you'll note also that the initializer only runs once
17:09 TimToady oh, chromatic said that
17:10 chromatic C'mon, TimToady.  Get on the trolley!
17:10 * chromatic checks off another life goal
17:10 TimToady I don't think my trolley connects with your trolley yet...
17:10 chromatic By airplane it does.
17:10 lue and obviously, state is NYI in rakudo...
17:11 TimToady chromatic++ and I can't agree on state either :)
17:11 lue If you need help, my TARDIS is just a ways away. It can help connect your trolleys
17:11 TimToady I thought TARDIS could only go backward in time, not forward (well, not forward faster than anyone else goes forward)
17:12 huf i thought it can do anything the writers want it to do
17:12 TimToady it's probably the disagreement about state that prevents our trolleys from connecting...
17:13 lue where is my, our, has, and so on implemented in Rakudo?
17:13 TimToady I will admit that chromatic's trolley is probably a bit friendlier, Portland being all full of...er...Portlanders...and Silicon Valley being all full of...who knows what...
17:14 TimToady lue: grep and friends are your friends too
17:14 holli joined #perl6
17:14 lue (It does go forward. The only thing the TARDIS can't do is blend in with its location (broken Chameleon unit). That's why it's always a blue '50s Police Box)
17:15 lue I did try grep, but it comes up with every single occurance of 'my'. (trying 'has')
17:15 TimToady I have no idea where anything is, and only a vague notion of when it is.
17:16 TimToady you probably want to look for <has> or :has or some such
17:16 jnthn lue: Everything, looking for things that care about $*SCOPE will probably be more meaningful.
17:16 lue I found something in Grammar.pm, that's probably it.
17:16 Alias joined #perl6
17:16 jnthn *Everywhere, even. :-)
17:16 jnthn my/state/our etc generallly just set $*SCOPE and leave over things to worry about how to scope themselves.
17:18 lue alright, I'll (try) to (almost) fix the fact that state is NYI after getting some stuff done.
17:18 * lue &
17:26 Trashlord joined #perl6
17:43 espadrine joined #perl6
17:45 pugssvn r30200 | lwall++ | [STD] be clearer about if() {...} and $x = given {...} errors
17:58 moritz_ jnthn: if you have some time, please look in the refactor_mob_generation branch of nqp-rx
17:58 moritz_ jnthn: I'm having problems writing/calling a constructor - maybe you have some ideas on how to fix that
17:58 moritz_ t/nqp/29-make.t ........... too few named arguments: no argument for required parameter 'orig'
17:58 moritz_ current instr.: 'parrot;Regex;Match;new' pc 2603 (src/Regex/Match.pir:34)
18:00 astrojp joined #perl6
18:02 jnthn moritz_: Are the named paramters actually all required, or is it OK if some are missing?
18:02 jnthn moritz_: Note that nameds don't default to optional in PIR
18:03 jnthn You have to add :optional as well
18:03 moritz_ jnthn: it's ok for them to be required...
18:03 moritz_ jnthn: what I want is basically first create an empty object
18:04 moritz_ on which you can call .new with all those named arguments to create a "real" match object
18:04 jnthn match = new ['Regex';'Match']
18:04 jnthn rong
18:05 moritz_ I thought so
18:05 jnthn match = get_hll_global ['Regex'], 'Match' should fetch the protoobject.
18:05 moritz_ ok
18:05 moritz_ and then I can call .new on the protoobject?
18:06 jnthn yes
18:06 jnthn Just replace the rong with the rite and it might work. :-)
18:07 lue > ./perl6 -e "sub incr { state $s = 0; say $s++ }; incr; incr; incr; incr;"
18:07 lue Malformed state at line 1, near "= 0; say +"
18:07 lue ever so closer :)
18:08 moritz_ jnthn: even then I get the same errors... which suggests that it's not called from where I thought it was called
18:08 jnthn Ah.
18:08 jnthn :-/
18:08 [particle] start a trace
18:09 dukeleto joined #perl6
18:09 jnthn moritz_: Is the backtrace indicative at all?
18:09 jnthn [particle]: Last time I did that I won a free segfault. :-/
18:09 moritz_ called from Sub '_block11' pc 0 (EVAL_1:5)
18:09 moritz_ called from Sub 'parrot;PCT;HLLCompiler;eval' pc -1 ((unknown file):-1)
18:09 jnthn Oh, ouch.
18:09 lue afk
18:09 jnthn That's...early.
18:10 jnthn Oh, maybe not..
18:10 jnthn Hmm
18:10 moritz_ jnthn: ... it's called from the stage 0 compiler. sigh.
18:11 jnthn moritz_: Ah. :-/
18:13 moritz_ doesn't seem to be the problem
18:13 moritz_ actually I also used  match = new ['Regex';'Match'] within the constructor itself
18:13 moritz_ fail  :(
18:14 [particle] ack 'new \[' <moritz's code>
18:15 moritz_ that's what i#ve used
18:15 [particle] :)
18:17 jnthn moritz_: The problem isn't new \[ though, it's things doing .'new' elsewhere, I guess.
18:24 alester Remember the -Q
18:25 alester If I can possibly help it, I avoid all the backslashin'
18:26 [particle] \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\​\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\​\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
18:26 [particle] i have plenty to spare.
18:27 moritz_ alester: I do use \Q quite often
18:27 alester not \Q, -Q
18:27 alester ack 'new [' -Q
18:27 alester is the same as
18:27 alester ack 'new \['
18:27 moritz_ erm, that's what I meant. But typing is hard :-)
18:38 alfieANDfred joined #perl6
18:38 cdarroch joined #perl6
18:38 cdarroch joined #perl6
18:39 clintongormley joined #perl6
18:41 alester I hope my fixin' up of the gc/ dir isn't pointless
18:44 lichtkind joined #perl6
18:45 lichtkind jnthn: o/
18:46 jnthn o/
18:46 jnthn Mozem ti pomoct? :-)
18:47 lichtkind jnthn: ještě ne diky
18:48 jnthn Phew. :-)
18:48 lichtkind jnthn: slovak is also hard to me :9
18:49 lichtkind jnthn: but i wouldnt exlude that because i want to master  now special blocks and parameter traits
18:49 jnthn Yes, your Czech response did parse after throwing away the j and wondering what the mekcen was doing over the last e. :-)
18:50 jnthn lichtkind: Ooh, I know a little bit about traits. :-)
18:50 jnthn lichtkind: I need to go eat soon though, but I'm around most of the evening. :-)
18:53 lichtkind jnthn: i also needed  second to get that Mozem is weird form of mužem :9
18:54 lichtkind i think first i will check if all http://www.perlfoundation.org/perl6/index​.cgi?perl_6_lookup_tablet#closure_traits are in index A
18:55 jnthn lichtkind: It's možem if I'd typed it properly. :-)
18:55 lichtkind jnthn: and hej all my 3 talks were accepted, that mean real work since all are new :) :( :)
18:55 jnthn lichtkind: Ooh, where at?
18:55 jnthn German Perl Workshop?
18:56 lichtkind yes
18:56 jnthn Cool
18:56 lichtkind you will be there?
18:56 lichtkind pisa i submitted put i seemed to be first :)
18:57 jnthn lichtkind: Don't think I can make it to GPW.
18:57 jnthn Already trying to do Nordic and French and maybe Ukrainian...
18:58 payload joined #perl6
18:59 SmokeMachine joined #perl6
19:02 lichtkind jnthn: i wantent attent the letvian, but hm i .. where is nordic this year?
19:03 moritz_ iceland
19:04 jnthn It's gonna be cool.
19:04 jnthn OK, dinner time! \o/
19:04 jnthn bbiab
19:17 moritz_ rakudo: say 0.9 * 2**20
19:17 p6eval rakudo db0f85: OUTPUT«943718.4␤»
19:19 _jaldhar joined #perl6
19:27 vapace joined #perl6
19:30 dalek rakudo: 9a4cabb | chromatic++ | src/ (2 files):
19:30 dalek rakudo: [ops] Moved P6LowLevelSig initialization to the PMC out of allocate_signature
19:30 dalek rakudo: op into the PMC itself.
19:30 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​a4cabb08b96e5362ea3ba5888843486e51e6812
19:30 ilogger2 joined #perl6
19:32 Gothmog_ joined #perl6
19:32 pyrimidine joined #perl6
19:35 * chromatic can't figure out how to rebuild Rakudo's C components with debugging symbols.
19:36 ShaneC joined #perl6
19:44 lue and so, I bid you adieu for a few days
19:54 pmurias joined #perl6
19:57 pugssvn r30201 | lwall++ | [Cursor] win back some speed by letting cursor_xact cheat on immutability
19:58 moritz_ Moose 1.0 has been uploaded to cpan
19:58 moritz_ stevan++
20:01 jnthn chromatic: That's odd...must be something platform specific. I get them.
20:01 TimToady yes, stevan++, but STD's most time consuming routine is currently Try::Tiny::try, pulled in by Moose, alas
20:02 PerlJam TimToady: patches welcome!  ;)
20:02 TimToady I just want to complain.
20:03 TimToady I'm no good at Perl 5 internals...
20:03 sjohnson heheh
20:03 sjohnson that makes two of us
20:04 moritz_ chromatic: your last patch made two test in  t/spec/S12-attributes/instance.t  fail
20:06 jnthn moritz_: It didn't.
20:06 jnthn moritz_: It's a "if you get lucky it passes" one.
20:07 jnthn moritz_: I'll fix it soon.
20:07 moritz_ oh
20:07 moritz_ then sorry for the noise
20:07 jnthn me-- to blame for that.
20:07 moritz_ is it... attribs are stored in hashes?
20:07 jnthn No, no worries...it does come and go.
20:07 jnthn Yes, it's that.
20:07 moritz_ we've had that in alpha too
20:07 jnthn Well
20:07 jnthn The silly thing is
20:07 jnthn I worked out how to handle it fine in the metamodel
20:08 jnthn But this time managed to screw it up in the compilation stage. :-/
20:08 jnthn Easy fix, anyways.
20:09 dukeleto joined #perl6
20:10 jnthn chromatic: Huh...how long have I been missing init_int for?!
20:10 jnthn chromatic: Anyway, nice patch...I only knew of the init_pmc and thought init_str had got deprecated. Maybe I'm hazy though.
20:10 chromatic A couple of weeks.
20:10 hirschnase joined #perl6
20:10 jnthn chromatic: Oh.
20:11 jnthn chromatic: I don't feel bad for missing it when I wrote that code a few months ago then. ;-)
20:11 chromatic Nope, it's definitely an improvement.
20:11 jnthn Yeah, it's much nicer way to do it.
20:11 perlpilot joined #perl6
20:14 pugssvn joined #perl6
20:14 mberends joined #perl6
20:15 perlpilot feather is all kinds of painful today
20:15 perlpilot $ uptime
20:15 perlpilot 20:14:20 up 1 day,  5:04,  3 users,  load average: 40.78, 33.76, 18.72
20:16 jnthn I think that counts as "load above average"
20:17 dukeleto joined #perl6
20:17 PerlJam joined #perl6
20:22 mathw evening
20:22 mathw loadavg 40 is not good!
20:23 perlpilot I expect PerlJam to disappear soon too
20:24 dukeleto joined #perl6
20:24 * perlpilot is having trouble talking to that particular IRC instance
20:30 pugssvn joined #perl6
20:40 lichtkind what difference between CATCH and CONTROL?
20:41 moritz_ CONTROL is for control exceptions
20:41 moritz_ and CATCH for all other exceptions
20:41 jnthn As far as I grok it, CONTROL catches control exceptions (like next/last/return etc) where as CATCH catches the others.
20:41 jnthn Gah, beaten. :-)
20:43 lichtkind thanks both
20:46 colomon joined #perl6
20:47 ive joined #perl6
20:50 colomon_ joined #perl6
20:52 dalek joined #perl6
20:54 lichtkind theses special blocks have same namespace as surrpounding block right?
20:55 ash__ joined #perl6
20:55 moritz_ they are not visible inside a namespace
20:56 moritz_ but since in Perl 6 almost all lookups are either lexical or dynamic (and not namespace), that doesn't really matter
20:56 perlpilot lichtkind: they exist more in a when than a where :)
20:56 ash__ does anyone know if irc.perl.org listens on any non-standard irc ports? like how freenode listens on 8001
20:57 BinGOs are you on irc.perl.org?
20:57 BinGOs type /stats P
20:58 lichtkind moritz_: but in other words if i defcla an var in BEGIN block its not known in sourrounding block?
20:58 ash__ BinGOs: i am not on irc.perl.org, its blocked on my campus for some reason
20:58 ash__ i think its the port thats blocked
21:00 perlpilot ash__: you don't have a feather account?
21:00 moritz_ lichtkind: correct
21:00 ash__ perlpilot: umm... i don't think i have one...
21:00 perlpilot (not that it'd help you today with feather's aperiodic heightened load average)
21:00 moritz_ lichtkind: but you can use BEGIN as a statement prefix
21:01 moritz_ std: sub a { BEGIN my $x = 3 * 3;  ...; $x }
21:01 p6eval std 30201: OUTPUT«ok 00:01 108m␤»
21:01 BinGOs ash__: http://scsys.co.uk:8002/41324
21:01 lichtkind moritz_: great now i understand what was explained there with expression
21:02 BinGOs should be the same on all the servers
21:04 jnthn moritz_: Note that mixing BEGIN and lexicals that are meant to outlast the BEGIN ain't likely to end well ATM.
21:05 moritz_ rakudo: BEGIN say 3
21:05 p6eval rakudo db0f85: OUTPUT«3␤»
21:05 moritz_ jnthn: I didn't even know that BEGIN as a statement prefix worked :-)
21:05 moritz_ rakudo: my $x = 3; BEGIN $x = 5; say $x
21:05 p6eval rakudo db0f85: OUTPUT«Symbol '$x' not predeclared in <anonymous>␤current instr.: 'perl6;PCT;HLLCompiler;panic' pc 137 (compilers/pct/src/PCT/HLLCompiler.pir:101)␤»
21:05 moritz_ ah, that's what you meant :-)
21:06 jnthn yeah
21:06 jnthn Things like my $x = BEGIN time; work though
21:07 jnthn rakudo: sleep 2; say time; say BEGIN time;
21:07 p6eval rakudo db0f85: OUTPUT«1269550347.5115␤1269550345.24536␤»
21:07 moritz_ rakudo: say 1269550345.24536  - 1269550347.5115
21:07 p6eval rakudo db0f85: OUTPUT«-2.26614␤»
21:08 jnthn Heh. Since it computes it at the appropriate point during the parse, you can use it as a way to see how long it takes to get from the parse at that point to execution. ;-)
21:13 _jaldhar joined #perl6
21:17 hicx174 joined #perl6
21:22 holli_ joined #perl6
21:22 eternaleye joined #perl6
21:26 Trashlord joined #perl6
21:28 wknight8111 joined #perl6
21:30 eternaleye joined #perl6
21:43 payload joined #perl6
21:44 lichtkind jnthn: thanks i use a quote from you for docs
21:44 jnthn uh oh, I hope it wasn't one where I said something silly.
21:45 lichtkind moritz_: i used something from you too :)
21:45 lichtkind jnthn: no its exactly "(like next/last/return etc)"
21:45 lichtkind ecplaining control
21:45 jnthn oh, that's not so incriminating. :-)
21:49 ignacio_ joined #perl6
21:54 pmurias joined #perl6
21:58 iblechbot joined #perl6
22:00 chromatic db9c0ea is a bit risky, but it seems to help.
22:00 chromatic If it's not right, jnthn should know enough to make it right.
22:02 sundar joined #perl6
22:04 jnthn ->constraints?
22:04 jnthn I thought I'd removed that. :-/
22:04 jnthn Checking.
22:05 jnthn ah, no, it still lives on.
22:06 dalek rakudo: db9c0ea | chromatic++ | src/pmc/perl6multisub.pmc:
22:06 dalek rakudo: [PMC] Fixed a memory leak in Perl6MultiSub of candidate constraints and types.
22:06 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/d​b9c0ea7cf35a3fff5ca00f8b3bfc5e196d29c92
22:06 dalek rakudo: 4b7dbf3 | chromatic++ | src/pmc/perl6multisub.pmc:
22:06 dalek rakudo: [PMC] Tidied code in Perl6MultiSub PMC; no functional changes.
22:06 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/4​b7dbf3f10a14fd055ee8e5b9bdffde192743ac8
22:10 jnthn chromatic: It looks sane.
22:10 jnthn I think.
22:10 jnthn The candidate sorter isn't the simplest bit of code. :-)
22:18 mberends in rakudo/build/Makefile.in, is the order of module names in CORE_SOURCES significant? I'd like to re-order them in the split-gen-settings-2 branch.
22:19 moritz_ mberends: yes, it is significant (at least right now)
22:19 jnthn Yes, it is.
22:19 jnthn For example, whatever you do, make sure traits.pm stays first.
22:19 moritz_ mberends: because they are concatenated, and some modules rely on type names being known
22:20 jnthn It defines is export
22:20 jnthn If you don't have that first, then probably no exports work. ;-)
22:20 jnthn And what moritz_++ said.
22:21 * moritz_ -> bed
22:21 nihiliad joined #perl6
22:21 moritz_ good $rest_of_waking_time and then sleep to all UTC-ish channel inhabitants :-)
22:22 mberends thanks moritz_, good UTC-night
22:23 jnthn o/ moritz_  :-)
22:23 mberends compiling each one separately, there are lots of patches to go in such as stub classes and use MONKEY_TYPING. I wonder how their PIR will shape up when they are all concatenated.
22:23 jnthn mberends: I'm not sure.
22:23 jnthn use MONKEY_TYPING has no PIR side-effects.
22:23 mberends I can but try
22:23 jnthn It's purely parse-time
22:24 jnthn mberends: You're probably discovering now why it's not such a trivial task, anyways.
22:24 mberends yes. hmm, Seq.pm compiled separately says Missing block at line 18 :-(
22:25 mberends the block is probably not missing
22:25 lichtkind mberends: cheers
22:25 mberends hi lichtkind
22:28 lichtkind mberends: there is massive action going on need help :)
22:28 mberends lichtkind: what massive action?
22:29 lichtkind in tpf in pcde wiki
22:29 lichtkind and  pc.de wiki
22:32 jnthn .oO( There's massive action in Rakudo too...oh wait, that's actions.pm )
22:37 kfo_ joined #perl6
22:47 riffraff joined #perl6
22:48 sundar Hi... I'm trying to learn Perl6 and do some Project Euler problems with it... Is Moritz's "Perl 5 to 6" the best current documentation?
22:49 lichtkind jnthn: :)
22:49 lichtkind jnthn: is CATCH also executed when next is called?
22:50 mberends sundar: it's current, so begin there, but then continue reading more from perl6.org
22:51 lichtkind sundar: try the tablets bit there are still very incomplete
22:51 sundar lichtkind: What are the "tablets"?
22:52 lichtkind sundar: http://www.perlfoundation.org/​perl6/index.cgi?perl_6_tablets
22:53 lichtkind the indexes are comprehensive
22:53 lichtkind the rest in construction
22:59 pugssvn r30202 | lwall++ | [Cursor] no need to keep xact pointer for bound submatches
23:00 sundar lichtkind: whoa, the index is very useful indeed. thanks..
23:01 snarkyboojum sundar: depending on your programming expertise, the Perl 6 advent calendar has some fantastic info in it http://perl6advent.wordpress.com/​2009/12/01/perl-6-advent-calendar
23:01 lichtkind sundar: all 5 inecies :)
23:06 snarkyboojum sundar: there's also quite a few Perl 6 examples out there, check out http://github.com/perl6/perl6-examples
23:10 TimToady sundar: and pretty much all the links you follow from http://perl6.org will be useful on some level or other.
23:11 TimToady the "best" current documentation in the sense of completeness is the synopses.
23:11 TimToady but it's not terribly well organized, and it's reference, not tutorial
23:12 colomon joined #perl6
23:12 colomon_ joined #perl6
23:13 sjohnson hows it going colomon
23:13 colomon_ checking in from Ambercon!
23:13 sundar snarkyboojum: great, that even has a list of Euler problems, which was what I set out to write.
23:13 TimToady sundar: perhaps most importantly, there are some slightly bitrotted Project Euler problems already done in http://svn.pugscode.org/pugs/examples/euler
23:14 TimToady after you've tried coming up with your own solutions, you could compare to the old ones, and if yours works better, replace the ones that are there
23:14 jnthn colomon_: Having fun? :-)
23:14 TimToady we can give you a pugs repo commit bit if you like
23:15 colomon_ yes!
23:15 colomon_ lots of old friends here.
23:15 TimToady shadow walking, are you?
23:15 colomon_ TimToady: not yet, but soon... ;)
23:17 sjohnson statistically speaking, #perl6 is the friendliest place on freenode today
23:17 * colomon has killed off the impostor...
23:19 sundar TimToady: Thanks.. I found some solutions at http://github.com/perl6/perl6​-examples/tree/master/euler/ too, and to me they appear to teach more of the power of Perl6 and also that 'timtoady'.. :)
23:20 masak joined #perl6
23:20 masak ahoy, landlubbers!
23:20 phenny masak: 17:03Z <Su-Shee> tell masak I just remembered the foss exception of the rule: the arduino/maker/wearables community.
23:20 jnthn masak: ahej!
23:21 masak hm. I've heard about that exception.
23:21 masak it's an interesting one.
23:21 masak jnthn: the night shift begins!
23:21 jnthn \o/
23:21 * jnthn fetches a beer
23:22 masak [backlogging] "a telegraph with no cat"?
23:23 ash_ joined #perl6
23:24 masak std: grammar G { regex foo { :has $!bar; } }
23:24 p6eval std 30201: OUTPUT«[31m===[0mSORRY![31m===[0m␤Semicolon must be quoted at /tmp/Haq22rH48R line 1:␤------> [32mgrammar G { regex foo { :has $!bar;[33m⏏[31m } }[0m␤FAILED 00:01 108m␤»
23:25 masak hm, 'has' probably isn't a scope declarator :)
23:25 masak is it possible to emulate loops with macros?
23:25 masak I mean, without the macro substitutor thingy itself looping indefinitely.
23:25 jnthn has is a cope declarator.
23:26 masak what's a cope?
23:26 jnthn A scope with a missing s.
23:26 masak :)
23:26 jnthn :-P
23:26 bkeeler ello ello
23:26 * masak checks what S05 has to say about scope declarators in regexes
23:26 masak bkeeler: \o
23:27 jnthn masak: I doubt has makes that much sense as a scope delcarator in a regex though
23:27 jnthn Just as it doesn't make much sense inside a method either.
23:27 jnthn (Heck knows what happens if you try it... :-))
23:27 masak jnthn: well, I wanted to see if STD could parse it.
23:27 jnthn Aye
23:27 masak jnthn: S05:544 says it should be OK.
23:27 jnthn Syntacticly or semanticly?
23:27 masak syntactically.
23:28 bkeeler A regex is a method in that context.  Would you use has in a method?
23:28 jnthn Ah
23:28 jnthn bkeeler: I hope not.
23:28 jnthn :-)
23:28 masak no, I wouldn't.
23:28 jnthn At least, I've never seen it done.
23:28 masak it doesn't belong in that scope.
23:28 jnthn masak: I suspect it may be OK syntactically, but should fail a semantic check.
23:28 masak but jnthn said it's a scope declarator, so it should be allowed syntactically.
23:28 jnthn Yes, I'm a bit surprised on that front.
23:28 jnthn Maybe it's just an LTA message.
23:28 masak no, I think STD shouldn't fail.
23:29 masak provided that 'has' *is* a scope declarator.
23:30 masak I mean, it has traits of not being one.
23:31 bkeeler Well, when I was doing the grammars, I pretty much copied what STD had
23:31 jnthn masak: It's parsed like this:
23:31 jnthn token mod_internal:sym<:my>
23:31 jnthn In STD
23:31 jnthn Not using scope_declarator
23:31 masak ok.
23:32 jnthn here it is in full:
23:32 jnthn token mod_internal:sym<:my>    { ':' <?before ['my'|'state'|'our'|'anon'​|'constant'|'temp'|'let'] \s > [:lang($¢.cursor_fresh(%*LANG<MAIN>)) <statement> <eat_terminator> ] }
23:32 bkeeler Hmm, OK I guess I didn't copy that
23:33 jnthn bkeeler: We probably only know what to do with my right now anyway, tbh.
23:36 bkeeler Hmm, company it seems
23:36 bkeeler Was a short rakudo hacking session :/
23:37 bkeeler bbl
23:39 * jnthn tries to summon energy to fix that embarassing attributes fail.
23:40 cognominal joined #perl6
23:40 masak pugs: class A {}; class B { trusts A }
23:40 p6eval pugs:  ( no output )
23:41 masak pugs: class A { has $!foo }; class B { trusts A; method bar(A $a) { say $a!foo } }; B.new.bar(A.new)
23:41 p6eval pugs: OUTPUT«␤»
23:41 nihiliad joined #perl6
23:42 masak pugs: class A { has $!foo }; class B { trusts A; method bar(A $a) { say $a!foo } }; B.new.bar(A.new(:bar(42)))
23:42 p6eval pugs: OUTPUT«␤»
23:42 masak hm.
23:43 Alias joined #perl6
23:47 TimToady you've got your trusts in the wrong class
23:47 TimToady the class defining the private variable is the one doing the trusting
23:48 * jnthn never quite figured out how trusts should be implemented.
23:48 TimToady also, your calling syntax is wrong according to S12:1314
23:49 masak oh wow, am I wrong tonight.
23:49 * masak checks
23:49 jnthn $a!foo would call a private method.
23:50 * jnthn forgets the syntax for getting at a private attribute.
23:52 m6locks through a method?
23:52 m6locks at least, that's the kosher way
23:52 masak indeed. but we're trying to do it with trust. :)
23:52 jnthn Yes, but has $!a doesn't imply a method. :-)
23:53 cognominal ! instead of . ?
23:54 fda314925 joined #perl6
23:54 masak I sense a degree of confusion in this discussion :P
23:54 m6locks haha
23:54 cognominal compiling rakudo takes about an hour on my mac 2Go. Things have gone wrong the last few weeks.  :(
23:54 m6locks how about adding a dot before it
23:55 m6locks liek .$!a
23:55 masak cognominal: yes. it's a Parrot memory problem. it's being worked on.
23:55 ash_ cognominal: a whole hour? dang.... i don't think mines that bad, but i might not be paying close attenntion
23:56 cognominal ho, I  a twit from chromatic about that
23:57 cognominal I don't mind the compilation length but being unable to do anything with my mac in the mean time.
23:57 masak colomon: you might want to limit virtual memory use. I'm on a Mac, and I do that.
23:57 masak er, cognominal. sorry :/
23:57 colomon no worries.  ;)
23:58 m6locks oh yeah and nice is a nice tool also
23:58 m6locks setting low priority
23:58 cognominal masak, that would trigger parrot garbage collection?
23:58 cognominal that would be better than swapping :)
23:58 masak cognominal: seems to for me.
23:59 ash_ how do you limit the virtual memory?
23:59 ash_ i haven't ever done that before on a mac

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

Perl 6 | Reference Documentation | Rakudo