Camelia, the Perl 6 bug

IRC log for #perl6, 2012-05-31

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:13 diakopter TimToady: there is a test in the test suite that does this:
00:13 diakopter r: ('a', 'b', { $^a ~ 'x', $^a ~ $^b, $^b ~ 'y' } ... *)[^11].join(' ')
00:13 p6eval rakudo b057f6:  ( no output )
00:13 diakopter r: say ('a', 'b', { $^a ~ 'x', $^a ~ $^b, $^b ~ 'y' } ... *)[^11].join(' ')
00:13 p6eval rakudo b057f6: OUTPUT«a b ax ab by abx abby byy abbyx abbybyy byyy abbybyyx abbybyybyyy byyyy abbybyybyyyx abbybyybyyybyyyy byyyyy abbybyybyyybyyyyx abbybyybyyybyyyybyyyyy byyyyyy abbybyybyyybyyyybyyyyyx abbybyybyyybyyyybyyyyybyyyyyy byyyyyyy abbybyybyyybyyyybyyyyybyyyyyyx abbybyybyyyby…
00:13 diakopter when I add a flat to the beginning:
00:13 diakopter r: say flat('a', 'b', { $^a ~ 'x', $^a ~ $^b, $^b ~ 'y' } ... *)[^11].join(' ')
00:13 p6eval rakudo b057f6: OUTPUT«a b ax ab by abx abby byy abbyx abbybyy byyy␤»
00:14 diakopter it DWIM
00:14 diakopter should the flat be part of the test? or should it work as written?
00:16 diakopter niecza: say ('a', 'b', { $^a ~ 'x', $^a ~ $^b, $^b ~ 'y' } ... *)[^11].join(' ') #does the right thing
00:16 p6eval niecza v18-1-gc86e3f0: OUTPUT«a b ax ab by abx abby byy abbyx abbybyy byyy␤»
00:16 diakopter is niecza right to have them flattened?
00:18 diakopter (niecza passes the test)
00:20 sorear dunno.
00:20 sorear someone added the test so I changed niecza's behavior to conform to it
00:21 diakopter oh
00:21 TimToady it should not need the flat
00:22 TimToady ... is supposed to imply it
00:23 lestrrat joined #perl6
00:23 Teratogen mithril!  all folk desire it!
00:24 TimToady I dunno, Bilbo gave his away
00:25 Teratogen to Frodo
00:25 sorear Teratogen: you're being unfunny again
00:29 raiph joined #perl6
00:29 raiph hi all
00:31 sorear hello, raiph.
00:31 raiph i just did a forgiveness > permission complete rewrite of the front page of wiki.perl6.org. a "wfm" or 2 (or u rascal) is probably in order
00:31 raiph hi sorear
00:32 raiph this is in prep for a meta discussion of perl6 doc.
00:34 raiph (which is itself of course prep for a bunch of writing of actual perl6 doc, in my case something i intend to help with over the next couple years.)
00:34 diakopter parsing/compiling rakudo's setting takes about 6% longer with the latest s/pir::/nqp::/ changes
00:35 sorear do we really need a link for Wiki?
00:36 sorear and... not c2.com?
00:36 sorear au: I beleive PUGS should just be Pugs.  Is this correct?
00:38 sorear raiph: I don't see much content in the rewrite ... ?  Shouldn't the front page say what P6 is, etc?
00:40 raiph sorear: hmm. i thought that was best done by the perl6.org home page, or a commit controlled page linked off that.
00:41 raiph sorear: i see the wiki as a dumping ground for bits that haven't gotten formalized and written up nicely somewhere else. i just wanted a tidy dump.
00:41 diakopter raiph: I think it shouldn't be viewed that way
00:42 raiph diakopter: ok. i'm listening. (and can revert what i did, though i don't think the earlier version was better in the ways sorear just alluded to)
00:42 diakopter you can use individual pages of the wiki as dumping ground, but not ones in the main structure of the site.
00:43 raiph diakopter: that's what i meant
00:43 diakopter oh
00:46 raiph diakopter: so Q1 is, is the version I just wrote better than what came before? (http://wiki.perl6.org/Front%20Page?revision​=8121a066284ad624b7cc07e8653a39cb8d607eb7)
00:47 diakopter I think all of that should be in a separate page called How To Use the Wiki
00:47 diakopter linked prominently from the front page
00:50 raiph diakopter: "all of that" -- is that a reaction to the old version or the new version? are you suggesting we should not, eg, direct users to "click on ..." etc.?
00:51 diakopter I agree with sorear; the front page should be a very broad overview of Perl 6, with links to articles on History, Design Process, Design Goals, Language specification, etc
00:51 diakopter which version is the one you linked me - new or old?
00:52 raiph i agree with the sentiment that we could, mebbe should, assume wiki knowledge. i first bumped into c2 in 1995, so it's definitely old hat to me...
00:53 diakopter I think most of the people who will view the site aren't interested in contributing to it
00:53 raiph diakopter: the link is the old one
00:53 diakopter oh
00:53 raiph diakopter: now it's http://wiki.perl6.org
00:54 fgomez joined #perl6
00:55 diakopter I think your rewrite is fine; I think there needs to be a lot more there though, more prominently at the top
00:57 mikemol joined #perl6
00:59 skids joined #perl6
00:59 diakopter and yes, I'm volunteering to contribute :)
01:01 raiph diakopter: oh. i know you earlier mentioned you wanted to try plug one of P6's primary weaknesses (the doc situation)
01:02 scott_ joined #perl6
01:03 raiph diakopter: i'm leery of putting in anything but absolutely basic structure, stuff i know I could fill if no one else does. i would hate to see a pile of stubs.
01:04 diakopter hm, yeah
01:05 raiph i'm also wanting there to be the proverbial rough consensus, worked out over a few days to ensure most regulars get a voice, about what to do and how to go about it
01:08 raiph but that's just what i want, and i only want it cuz i feel it would be best for P6.
01:08 raiph fact is, if you are going to contribute, that's probably more significant than anything else i've thought about
01:09 fgomez joined #perl6
01:09 raiph so, modulo my generally anti-authority attitude, mebbe i should put it this way. diakopter: how may i help?
01:10 diakopter uh :)
01:11 diakopter I'm sorry for sounding authoritarian. :/
01:18 libertyprime joined #perl6
01:19 diakopter s/sounding/being/
01:20 raiph Heh, I didn't think you were sounding let alone being authoritarian...
01:21 raiph ...yet ;)
01:23 libertyprime joined #perl6
01:28 raiph i've moved contributing details off the wiki front page to a linked page. and s/PUGS/Pugs/.
01:32 replore_ joined #perl6
01:33 leprevost joined #perl6
01:47 plobsing joined #perl6
01:49 libertyprime joined #perl6
01:55 tokuhiro_ joined #perl6
01:59 thou joined #perl6
02:04 stepnem joined #perl6
02:28 * [Coke] surfaces briefly and tries to bs.
02:34 libertyprime joined #perl6
02:37 libertyprime joined #perl6
02:44 fgomez joined #perl6
02:48 xinming joined #perl6
02:53 _jaldhar joined #perl6
02:58 kurahaupo joined #perl6
03:00 dalek niecza: 65474a2 | sorear++ | docs/announce.v18:
03:00 dalek niecza: s/17/18/g
03:00 dalek niecza: review: https://github.com/sorear/niecza/commit/65474a2acb
03:00 dalek niecza: 3133f7f | sorear++ | / (4 files):
03:00 dalek niecza: Update bootstrap to v18
03:00 dalek niecza: review: https://github.com/sorear/niecza/commit/3133f7f9fa
03:00 dalek niecza: c86e3f0 | sorear++ | FETCH_URL:
03:00 dalek niecza: Move bootstrap pointer to github now that that is working again
03:00 dalek niecza: review: https://github.com/sorear/niecza/commit/c86e3f0b1c
03:00 sorear hmm
03:05 aesundstrom joined #perl6
03:05 sorear I don't get it.
03:05 sorear I pushed the latest patch to no-bs
03:05 sorear if I make a fresh checkout from git://..../niecza, the fresh checkout has the new patch
03:05 sorear but the new patch doesn't show up on the github web interface
03:07 sorear if I go to https://github.com/sorear/​niecza/commit/5a97c38e654, it shows up
03:08 stepnem joined #perl6
03:08 aesundstrom sorear: I just tried your link and got a 404.
03:09 aesundstrom sorear: doh! the link included the comma at the end
03:09 aesundstrom sorear: it's there
03:21 Grrrr joined #perl6
03:22 sorear (o/ aesundstrom)
03:25 crazedpsyc joined #perl6
03:30 [particle] joined #perl6
03:37 bacek joined #perl6
03:44 thou joined #perl6
03:53 libertyprime joined #perl6
04:04 cognominal joined #perl6
04:06 dalek niecza/no-bs: eb41510 | sorear++ | / (2 files):
04:06 dalek niecza/no-bs: Translate CClass to C#
04:06 dalek niecza/no-bs: review: https://github.com/sorear/niecza/commit/eb41510d98
04:07 spaceships joined #perl6
04:17 libertyprime joined #perl6
05:06 kurahaupo left #perl6
05:25 birdwindupbird joined #perl6
05:29 birdwind1pbird joined #perl6
05:43 moritz diakopter: is there a reason why you make some files in git repos executable?
05:43 phenny moritz: 30 May 23:15Z <diakopter> ask moritz please apply my rakudo patch if you want the test I added to stop failing :)
05:43 phenny moritz: 30 May 23:17Z <diakopter> ask moritz (or fudge it, of course)
05:43 moritz diakopter: for example S03-sequence/basic.t
05:45 sorear moritz: iiuc, diakopter uses git on windows, which sets executable bits on all new files
05:45 moritz but that wasn't a new file
05:45 moritz and I remember seeing another mode change from him which wasn't a new file either
05:46 moritz hm, maybe teh text editor replaces the file with a new version or so
05:47 tyatpi joined #perl6
05:51 kaleem joined #perl6
05:52 wtw joined #perl6
06:01 timotimo while https://gist.github.com/2838595 is pretty cool - it's the red-black tree example for algebraic datatypes - i don't really see how it would expand to things like Maybe or Left/Right with two different types on both sides .. or am i confusing things again?
06:07 sorear timotimo: the 'algebraic type' object is [R,$a,$x,$b]
06:07 sorear R is only the tag
06:07 ranguard joined #perl6
06:08 sorear sleep^
06:08 sorear &
06:17 mucker joined #perl6
06:18 japhb joined #perl6
06:25 kubrat left #perl6
06:41 dalek rakudo/nom: 9cd99ac | moritz++ | src/core/operators.pm:
06:41 dalek rakudo/nom: in sequence operator, avoid over-eager munching of elements. diakopter++
06:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9cd99ac3ee
06:50 sftp_ joined #perl6
06:51 woosley joined #perl6
06:54 cognominal_ joined #perl6
07:01 lestrrat joined #perl6
07:03 mucker joined #perl6
07:05 cognominal___ joined #perl6
07:21 fhelmberger joined #perl6
07:21 brrt joined #perl6
07:22 diakopter moritz: I'm not sure. I access the files from windows over samba to my linux vm
07:24 fglock joined #perl6
07:24 moritz diakopter: ok, I can see how that could go wrong :-)
07:24 moritz it's not a real problem though, so never mind :-)
07:25 diakopter I'll make a note to chmod the files back after editing them before committing
07:25 diakopter hopefully my mental note function works
07:26 moritz no worries if not
07:26 moritz we can just bulk-chmod them back once a month
07:33 thou joined #perl6
07:51 jnthn morning
07:52 moritz \o jnthn
07:55 am0c joined #perl6
08:03 timotimo ah, so if i want to have type-safe "algebraic types", i'd just create pattern-matching constructors
08:15 sftp_ joined #perl6
08:17 kresike joined #perl6
08:18 kresike hello all you happy perl6 people
08:18 sjn o/
08:26 timotimo r: enum LeftRight <L R>; multi ct(L, Str $a) { [L, $a] }; multi ct(R, Int $a) { [R, $a] }; say ct(L, "foo").perl; say ct(R, 99).perl;
08:26 p6eval rakudo 9cd99a: OUTPUT«[LeftRight::L, "foo"]␤[LeftRight::R, 99]␤»
08:29 cognominal_ joined #perl6
08:30 * timotimo tries to update his local rakudo
08:32 timotimo having a bit of trouble compiling/linking libparrot.so
08:33 moritz timotimo: are you on windows?
08:33 timotimo no, 64bit linux here
08:33 timotimo downgraded to the last tag i saw in gitk and trying again
08:35 timotimo in case you care, the error i got while linking libparrot.so was "undefined reference to 'main'", following a few 'invalid relocation' errors of some sort
08:35 moritz woah, never heard of that before
08:35 timotimo ah, ok, still happens on the 'MadMongers' tag, do you want a past of the last lines of the log?
08:36 moritz maybe #parrot on irc.perl.org knows what to do about it; I don't
08:36 timotimo OK, but I won't have much time to stick around :(
08:36 moritz ok, paste it here, I'll carry it over
08:38 dakkar joined #perl6
08:49 sftp_ joined #perl6
08:57 bbkr joined #perl6
09:08 brrt hi all, i'm calculating the expected costs of hosting a perl6 web server
09:09 brrt i was wondering if anyone would be interested and what he or she would be able and willing to pay for it
09:10 brrt because, if i compare it with the average cost of - say - php web hosting, it will be a large exercise of me bleeding money
09:10 brrt :-)
09:13 * moritz already has some hosting options that can be tuned to use rakudo
09:13 brrt assuming your not going to run twitter on the thing
09:13 brrt inpertinent question, but what do you pay for that right now?
09:14 dalek roast: d06e61e | moritz++ | integration/99problems-21-to-30.t:
09:14 dalek roast: fix and rakudo-unfudge combination() tests
09:14 dalek roast: review: https://github.com/perl6/roast/commit/d06e61e0a1
09:14 moritz 5 EUR / month
09:14 brrt ooh
09:15 brrt that is going to be hard to be sustainable for me
09:15 moritz it's a machine that I share with some fellow (ex) students
09:16 moritz and which is conveniently located inside a company which provides IT services for companies, and where some of my friends happen to work :-)
09:16 explorer_ joined #perl6
09:18 brrt its reasonable, no doubt
09:18 moritz it's very convenient
09:18 brrt wheres feather hosted?
09:18 moritz web server, mail server, ssh, enough memory and CPU power to smoke rakudo :-)
09:18 moritz brrt: somewhere in the neatherlands
09:19 moritz brrt: Juerd++ takes care of that
09:19 brrt i see
09:19 brrt he lives very far away in dutch measures
09:19 moritz :-)
09:21 brrt anyway, 5E/month is never going to cut it at the expected level of enthusiasm for perl6 hosting :-p
09:22 moritz well, you need to rent a VPS at the very least, and then decide how many hosting offers you can make out of it
09:22 brrt theres a data centre in groningen that is presumably relatively cheap
09:22 brrt but they charge 50E/month for just setting up your hardware, never mind connection or electricity
09:23 brrt so that would require 10 moritzes just for that
09:23 moritz well, VPS start at around 10 EUR/month
09:23 moritz though usually they have too little memory to compile rakudo
09:24 brrt hmm, that would mean cross-compilation then
09:25 moritz http://www.hosteurope.de/co​ntent/Virtual-Server-Linux 8 GB for 40 EUR/Month
09:25 moritz or 4 GB for 30 EUR
09:25 brrt thats reasonable enough
09:26 wolverian Hmm, that is pretty cheap. I have 2 GB for 20€/month from Hetzner.
09:27 * brrt will think about it some more
09:27 brrt it'd just be nice, also a great reason not to let mod_parrot slip behind
09:27 brrt when either parrot or rakudo or apache changes
09:30 explorer_ joined #perl6
09:30 daxim joined #perl6
09:31 moritz http://vollmar.net/dedicated # dedicated server with 8GB RAM for 40 EUR/month -- those folks have a rather good reputation
09:32 kurahaupo joined #perl6
09:32 * brrt finally has use for high school german
09:33 moritz most of that page is in English anyway :-)
09:33 brrt :-)
09:33 brrt nice, not very expensive at all
09:35 dalek rakudo/nom: 8ecf6da | moritz++ | docs/ROADMAP:
09:35 dalek rakudo/nom: [ROADMAP] add regex Null pattern detection
09:35 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8ecf6daa7d
09:41 b1rkh0ff joined #perl6
09:50 mtk joined #perl6
09:58 bbkr rakudo: "" ~~ / {} * /
09:59 p6eval rakudo 9cd99a: OUTPUT«(timeout)»
09:59 Timbus joined #perl6
10:53 aminperl joined #perl6
10:54 crab2313 joined #perl6
10:54 aminperl I want to create a demo web crawler
10:54 aminperl How do extract the list of all URLs?
11:03 aminperl left #perl6
11:05 daxim needs more libxml
11:19 bbkr rakudo: say "abc" ~~ m:g/(.)/;
11:19 p6eval rakudo 8ecf6d: OUTPUT«False␤»
11:19 bbkr hm, why global switch broke matching?
11:20 JimmyZ joined #perl6
11:21 jnthn Probably because :g causes it to return a list, and "abc" ~~ that_list does not match
11:22 bbkr but spec says " the boolean is allowed to return true on the first match"
11:23 bbkr rakudo: say so "abc" ~~ m:g/./;
11:23 p6eval rakudo 8ecf6d: OUTPUT«False␤»
11:26 moritz jnthn: that is exactly the reason why it fails
11:27 moritz and one of the reasons for TimToady++'s OKness proposal
11:38 * jnthn should try and do something about the implementationness of that proposal at some point... :)
11:39 bbkr i don't get it. "abc" is matched against regexp that returns a list and is matched again against this list?
11:40 SHODAN joined #perl6
11:41 moritz bbkr: $a ~~ $b generally boils down to: { my $_ = $a; $b.ACCEPTS($_) }
11:41 cognominal___ joined #perl6
11:41 moritz bbkr: so here it is   { my $_ = 'abc'; m:g/./.ACCEPTS($_) }
11:41 moritz bbkr: but m:g/./ is not a regex object; it's a *call* to a regex
11:42 moritz bbkr: and its result is a list, here one with three Match objects
11:42 bbkr moritz: so in current implementation any :global use will fail?
11:42 moritz bbkr: and so the .ACCEPT method gets called on the list returned from m:g/.../
11:43 moritz r: $_ = 'abc'; say .Str for m:g/./
11:43 p6eval rakudo 8ecf6d: OUTPUT«a␤b␤c␤»
11:43 amkrankruleuen joined #perl6
11:43 moritz bbkr: any smartmatching against m:g//. Using it directly still works
11:44 moritz but it's the reason we don't use it often around here. Current spec has issues that means it cannot work.
11:45 bbkr moritz: makes sense, thanks for explanation. without knowing underlying ACCEPTS code this will be common trap to users who expect p5-ism.
11:45 moritz bbkr: I know :/
11:46 cognominal___ joined #perl6
11:46 mucker joined #perl6
11:48 aesundstrom joined #perl6
11:49 JimmyZ joined #perl6
11:52 fgomez joined #perl6
11:59 bbkr star: grammar G { token TOP { \d } }; $_ = "12a3"; .say for m:g/<G::TOP>/
11:59 p6eval star 2012.05: OUTPUT«=> <1>␤ G::TOP => <1>␤␤=> <2>␤ G::TOP => <2>␤␤=> <3>␤ G::TOP => <3>␤␤»
11:59 bbkr \o/
12:02 cognominal_ joined #perl6
12:03 bbkr star: use IETF::RFC_Grammar::URI; say so " " ~~  m/<IETF::RFC_Grammar::URI::TOP>/
12:03 p6eval star 2012.05: OUTPUT«True␤»
12:04 jnthn ...that doens't look like a URI to me :)
12:04 bbkr indeed, creating GH issue now...
12:05 moritz star: use IETF::RFC_Grammar::URI; say IETF::RFC_Grammar::URI.parse('http://perl6.org/compilers/')
12:05 p6eval star 2012.05: OUTPUT«=> <http://perl6.org/compilers/>␤ URI_reference => <http://perl6.org/compilers/>␤  URI => <http://perl6.org/compilers/>␤   scheme => <http>␤   hier_part => <//perl6.org/compilers/>␤    authority => <perl6.org>␤     host => <perl6.org>␤      reg_name => <perl6.org>␤ …
12:06 moritz star: use URI; say URI.new.parse(' ')
12:06 p6eval star 2012.05: OUTPUT«(signal SEGV)»
12:06 moritz star: use URI; say URI.new.parse(' ')
12:06 p6eval star 2012.05: OUTPUT«(signal SEGV)»
12:06 moritz ouch
12:07 moritz that's the precompilation issue striking :/
12:07 bbkr it parses into
12:07 bbkr => <>
12:07 bbkr URI_reference => <>
12:07 bbkr relative_ref => <>
12:07 bbkr relative_part => <>
12:07 bbkr path_empty => <>
12:07 bbkr locally
12:08 bbkr https://github.com/ihrd/uri/issues/4
12:09 moritz ah, and the space is never parsed, because the regex is not anchored
12:10 tokuhiro_ joined #perl6
12:21 cognominal_ joined #perl6
12:25 fgomez joined #perl6
12:41 dalek rakudo/nom: b2068e9 | pmichaud++ | src/core/List.pm:
12:41 dalek rakudo/nom: Typo fix.
12:41 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b2068e9b95
12:44 * jnthn puts Rakudo to use at $dayjob
12:44 moritz \o/
12:44 frettled jnthn++ \o/
12:44 moritz jnthn: what do you do with it?
12:44 * moritz hopes not as a counter example when teaching compiler construction :-)
12:44 frettled haha :D
12:45 moritz r: say (1..*).list.infinite
12:45 p6eval rakudo 8ecf6d: OUTPUT«True␤»
12:45 moritz r: say (1..*).ma({$_}).list.infinite
12:45 p6eval rakudo 8ecf6d: OUTPUT«No such method 'ma' for invocant of type 'Range'␤  in block <anon> at /tmp/T2xN2mzDpN:1␤␤»
12:45 frettled ooh
12:45 moritz r: say (1..*).map({$_}).infinite
12:45 p6eval rakudo 8ecf6d: OUTPUT«Mu()␤»
12:45 frettled r: say (5..*).list.infinite
12:45 p6eval rakudo 8ecf6d: OUTPUT«True␤»
12:45 moritz pmichaud: is that correct/expected?
12:45 frettled r: say (*..*).list.infinite
12:45 p6eval rakudo 8ecf6d: OUTPUT«Mu()␤»
12:46 frettled \o/
12:46 thou joined #perl6
12:48 jnthn moritz: Hunting for various unused things.
12:48 jnthn Mostly, just a bunch of text munging, pattern matching etc.
12:49 isBEKaml joined #perl6
12:50 bbkr std: q<><><><>
12:51 p6eval std f179a1b: OUTPUT«ok 00:00 40m␤»
12:51 sorear good * #perl6
12:56 jnthn o/ sorear
12:59 pmichaud good morning, #perl6
12:59 pmichaud moritz: is which one correct/expected?
13:00 pmichaud all of the ones you entered look correct-ish to me
13:01 jnthn hi pmichaud
13:01 pmichaud o/ jnthn
13:02 sorear o/ pmichaud, o/ jnthn
13:02 pmichaud jnthn: I'm working on .munch this morning.... the approach I was thinking of is looking painful so I'm casting about for other ideas :-/
13:02 snearch joined #perl6
13:02 jnthn pmichaud: What were you thinking and what made it painful?
13:02 jnthn pmichaud: Is the real problem that RPA has a very costly unshift?
13:03 pmichaud jnthn: yes, that's what it feels like
13:03 jnthn We may want to stop using RPAs there.
13:03 jnthn (more)
13:03 pmichaud yes, since my earlier approach didn't work I was thinking about creating our own custom RPA, at least for List
13:03 pmichaud (well, earlier approach will work but looks ugly in code)
13:04 jnthn I'm pondering that if we're going to do compact arrays we probably need to have something that knows how to do compact storage, and I'd really rather it is handled the same kind of way 6model handles natively typed attributes.
13:04 PacoAir joined #perl6
13:06 pmichaud Makes sense.
13:06 jnthn We could make that repr know how to unshift in a good way.
13:07 sorear +1 to array reprs with efficient unshift, that path has been good to me
13:07 pmichaud oh, wait
13:07 pmichaud our problem isn't a costly unshift, our problem is a costly *shift*
13:07 jnthn ah
13:08 jnthn But same kind of problem.
13:08 Psyche^ joined #perl6
13:08 jnthn Both involve a load of copying ATM
13:08 rlpeacock joined #perl6
13:08 pmichaud what's your feeling on the eta for compact arrays?  Does it become worth it to develop a custom RPA in the interim?
13:09 sorear have either of you figured out how to make compact untyped arrays?
13:09 jnthn sorear: Compact...untyped?
13:09 jnthn That doesn't make sense to me.
13:09 sorear p6 lets you do @a[1] := @a[0] ... this is one of those features that you pay through the nose for whether you use it or not :(
13:09 pmichaud I'm not sure how receptive Parrot would be to me adjusting VTABLE_shift_* on RPA
13:10 jnthn sorear: You could not bind to an element of a compact array.
13:10 jnthn Just like you can't:
13:10 jnthn r: my int $x := 42;
13:10 p6eval rakudo 8ecf6d: OUTPUT«===SORRY!===␤Cannot bind to a natively typed variable; use assignment instead␤at /tmp/lV9MpKr7iH:1␤»
13:10 sorear jnthn: that's why I want to see compact untyped arrays.
13:11 sorear jnthn: I want a 'my Op @ops' that just contains pointers to Ops, not pointers to Scalars
13:11 jnthn sorear: The only ever bind to the elements of @ops
13:11 jnthn sorear: And you'll never end up with containers.
13:12 jnthn s/The/Then/
13:12 [particle] joined #perl6
13:12 jnthn pmichaud: (eta) not sure...it was below QAST in my todo list, but not much below...
13:12 jnthn pmichaud: July-ish maybe.
13:13 pmichaud well, I think it's lower priority than QAST, certainly
13:13 pmichaud (compact structs)
13:13 pmichaud s/structs/storage/
13:13 jnthn pmichaud: Why would Parrot folks complain about you making RPA more efficient for shift/unshift? :)
13:13 pmichaud efficient in speed, less efficient in memory
13:13 jnthn ah, true
13:15 jnthn r: say &dir.signature
13:15 p6eval rakudo b2068e: OUTPUT«:($path = { ... }, Mu :test(:$test) = { ... })␤»
13:15 pmichaud it also likely requires changes to FixedPMCArray, which could affect a _lot_ of stuff downstream
13:15 pmichaud (since RPA subclasses FPA)
13:15 jnthn *nod*
13:15 jnthn Yeah, probably better to start afresh then...
13:16 jnthn I suspect I could steal whatever storage strategy you use for a 6model REPR later on.
13:16 pmichaud hmmm
13:17 pmichaud I didn't seriously consider starting completely afresh -- I was thinking of deriving another FPA subclass
13:17 pmichaud but creating one from scratch might be far simpler
13:18 pmichaud and I could probably skip a number of the vtables that we don't use   (e.g.,  get_string_keyed_int)
13:19 pmichaud I'd just need enough pieces to implement the nqp:: ops that we use
13:19 pmichaud afk for a bit
13:20 rlpeacock hi perl6, I'm having trouble building rakudo-star-2012.05
13:21 rlpeacock problem seems to be in parrot compile
13:21 rlpeacock is this the right place to ask about this?
13:22 PerlJam rlpeacock: maybe. Got a transcript of the problem?
13:22 rlpeacock PerlJam, it dies here:
13:22 rlpeacock cc  -o runtime/parrot/dynext/gziphandle.so \
13:22 rlpeacock src/dynpmc/gziphandle.o -fstack-protector -L/usr/local/lib  -shared -O2 -g -L/usr/local/lib -fstack-protector -fPIC   -ldl -lm   -L/usr/lib  -licuuc -licudata  -ldl -lm    -ldl -lm -lpthread -lcrypt -lrt  -lz
13:22 rlpeacock /usr/bin/ld: /usr/lib/libz.a(compress.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
13:22 rlpeacock /usr/lib/libz.a: could not read symbols: Bad valu
13:22 rlpeacock Ubuntu 12.04 64 bit
13:26 PerlJam um ... no guesses from me.
13:26 spider-mario joined #perl6
13:28 rlpeacock i'm thinking i'll try to throw that -fPIC into the link args and just see if it works
13:28 rlpeacock no idea what it does though :)
13:28 jnthn There may be an option to pass to Parrot's configure to get it not to build the gzip support...
13:29 flussence I'm trying it on $dayjob box with 12.04 here, it just did the Configure.pl part with no error
13:29 PerlJam yeah, I use 12.04 too and haven't had any problems.
13:30 PerlJam rlpeacock: try building parrot --without-zlib, see if that helps
13:30 flussence oh, you might need zlib1g-dev installed
13:30 rlpeacock yeah throwing -fPIC didn't do anything
13:31 rlpeacock already have zlib1g-dev
13:31 rlpeacock i'll try without zlib
13:32 bluescreen10 joined #perl6
13:33 pmichaud jnthn: while driving @kids to $school I think I've convinced myself a custom RPA is the way to go for now, at least for List
13:33 rlpeacock yeah  --without-zlib seems to have worked
13:33 rlpeacock thanks everybody
13:34 pmichaud jnthn: now the question is -- put the custom RPA in rakudo and use it only for List, or put it in nqp and use it for nqp::list ?
13:35 PerlJam pmichaud: the latter benefits Rakudo compilation *and* Rakudo execution, right?
13:36 pmichaud PerlJam: I'm not sure how much it will affect Rakudo compilation.  afaik nqp doesn't do a lot of shifting
13:36 jnthn pmichaud: I think I'd prefer nqp::list to consistently use the same type
13:36 pmichaud jnthn: I don't understand that answer
13:36 jnthn no, it didn't make any sense, did it... :)
13:37 jnthn I think I'd prefer it if we keep using nqp::list in the list internals, and update it to always use the new thing that you implement now.
13:37 pmichaud okay, so put the new list type into nqp.  And then when you have a compact storage type, we simply switch to use it
13:37 jnthn BUT...that means we have to make it do all the things, rather than just what we need for the List implementation...
13:38 pmichaud all the things isn't hard
13:38 jnthn OK :)
13:38 pmichaud fpa.pmc + rpa.pmc is only ~1800 lines of code
13:38 pmichaud and there's a lot of cruft, and stuff we could easily eliminate
13:39 dalek niecza/no-bs: 81ba7c1 | sorear++ | / (3 files):
13:39 dalek niecza/no-bs: Translate Op to C# (part 1)
13:39 dalek niecza/no-bs: review: https://github.com/sorear/niecza/commit/81ba7c189d
13:40 sorear I guess github just doesn't report the first new commit to a branch
13:40 sorear even though I created the branch as a copy of master (git checkout -b no-bs; git push origin no-bs) before committing to it
13:40 plobsing joined #perl6
13:40 tyatpi joined #perl6
13:41 jnthn sorear: no-bs?
13:41 jnthn oh, is bs bootstrap here?
13:41 sorear yes
13:41 sorear maybe that wasn't so much a punny name as a confusing name ...
13:42 sjn jnthn: hey, did you get my invitation mail for the hackathon in august? :)
13:43 sorear there, I renamed the branch
13:43 sjn jnthn: do tell if you're coming \o/
13:43 jnthn sorear: Well, only 'cus I made the pun about a different bs first ;)
13:43 jnthn sorear: I was looking at it like, "huh, sorear is getting rid of bounded serialization?!" :)
13:44 jnthn sjn: Yes, I got it.
13:44 jnthn sjn: I've got the days cleared with $dayjob.
13:44 * pmichaud remembers to mark his calendar
13:45 lestrrat joined #perl6
13:46 pmichaud jnthn: I think I'm going to do this in stages, with the eventual goal that nqp::list creates the structure we want and is used throughout
13:47 jnthn +1
13:47 pmichaud I'll probably create a temporary nqp::qlist op to use for the new list while I handle the migration.  Also, I want to see how performance changes before committing to a larger refactor
13:47 jnthn Quantam list! \o/
13:47 jnthn ;)
13:48 pmichaud I was thinking more of "list that can be performant when used as a queue"  :-)
13:48 pmichaud since that's what .munch and iterators tend to use rpa's for
13:48 pmichaud also it fits in nicely with the pattern for qregex, qbootstrap, qast, ..... :-)
13:49 jnthn Rakudo's performance is weird.
13:49 UncleFester6 joined #perl6
13:50 jnthn I have a script here that does dir(...) recursively (but only a level deep) to find all files.
13:50 pmichaud I suppose I could call it   nqp::qrpa  for now, too.  that might make more sense.
13:50 jnthn It takes 7s to find 3370 relevant file names.
13:50 sorear yeah, it's accellerating too fast.  niecza is haivng troubhle keeping up ;)
13:50 jnthn But only 3s to slurp in every one of those files and do a regex match on it to get out the CREATE PROCEDURE query from it.
13:51 sorear jnthn: 3s or 10s?
13:51 jnthn 10s total
13:51 UncleFester6 star: use IETF::RFC_Grammar::URI; say so " " ~~  m/<IETF::RFC_Grammar::URI::TOP_validating>/
13:51 p6eval star 2012.05: OUTPUT«False␤»
13:51 jnthn It's the division that werids me out.
13:52 PerlJam jnthn: maybe stat is brokenish (way too expensive) ?
13:52 UncleFester6 star: use IETF::RFC_Grammar::URI; say so "http://www.rakudo.org " ~~  m/<IETF::RFC_Grammar::URI::TOP_validating>/
13:52 p6eval star 2012.05: OUTPUT«False␤»
13:52 jnthn that's 3s for all 3700 files
13:52 jnthn Not 3s each
13:53 UncleFester6 star: use IETF::RFC_Grammar::URI; say so "http://www.rakudo.org" ~~  m/<IETF::RFC_Grammar::URI::TOP_validating>/
13:53 jnthn PerlJam: Hmm, maybe that
13:53 p6eval star 2012.05: OUTPUT«True␤»
13:53 pmichaud afk, errands
13:53 jnthn I have a given "$path/$name".IO {
13:53 jnthn and inside there a when :d { ... }, when :f { ... } etc.
13:53 UncleFester6 bbkr: ping
13:55 bbkr UncleFester6: yes?
13:55 sjn jnthn: don't forget to go through the signup process ;)
13:55 sorear UncleFester6: are you new here?  Welcome
13:56 sjn jnthn: also, you'll have to buy your own plane ticket (we'll refund 1200NOK of it)
13:56 UncleFester6 You filed a bug report about URI.  Can you please take a look at my examples with the TOP_validating rule?
13:56 sjn jnthn: and please don't delay, air fare is getting expenisve :-/
13:56 jnthn sjn: Oh, ouch :/
13:57 jnthn sjn: Where do I have to get myself to?
13:57 jnthn Stavthingy?
13:57 sjn eys
13:57 * jnthn will look at it again tonight
13:57 sjn great :)
13:57 sjn Stavanger Sola airport (SVG)
13:58 jnthn sjn: It occurs to me that I can do home -> Stavanger or vice versa by train...
13:58 jnthn Didn't check details yet though.
13:59 sjn that's a loong trip
13:59 bbkr UncleFester6: I see your examples. But IMO TOP is still broken. for example for task "find all links in text" user will assume 'use IETF::RFC_Grammar::URI; $_ = "http://rakudo.org foo http://bbkr.org"; .Str.say for m:g/<IETF::RFC_Grammar::URI::TOP>/' which currently do match empty strings
13:59 jnthn Longer than Lund - Oslo?
13:59 jnthn Hm
13:59 sjn yes, Stavanger is on the south-west coast
13:59 * jnthn had figured he could get off somewhere on the way to Oslo and head west but maybe the Norway rail network doesn't work like that.
13:59 jnthn :)
14:00 sjn well, you'll have to get through Oslo in any case :)
14:00 sjn but there might be some ferries
14:00 * sorear grumbles at not being able to go anywhere
14:00 sjn sorear: :-(
14:00 PerlJam .oO( scalable vector graphics airport? )
14:00 sjn PerlJam: yeah, I know! :)
14:00 jnthn Yeah, none of that pixelated airport crap in Norway!
14:01 bluescreen10 joined #perl6
14:01 UncleFester6 bbkr: thanks - I will look into the example and update the bug report as I understand things better ...
14:03 crab2313 joined #perl6
14:29 _jaldhar joined #perl6
14:33 UncleFester6 left #perl6
14:34 _jaldhar joined #perl6
14:37 aesundstrom joined #perl6
14:37 sorear o/ aesundstrom
14:38 kaleem joined #perl6
14:40 skids joined #perl6
14:41 timotimo aesundstrom: you queried me earlier?
14:46 kresike joined #perl6
14:49 cj__ joined #perl6
14:49 Some-body_ joined #perl6
14:52 fgomez joined #perl6
15:02 crazedpsyc joined #perl6
15:03 jnthn joined #perl6
15:03 ivan`` joined #perl6
15:05 estrai joined #perl6
15:08 aesundstrom o/ sorear
15:11 kresike bye all
15:13 gfldex left #perl6
15:13 gfldex joined #perl6
15:19 PerlJam Is the monolithic setting still necessary?  Or can it be decomposed into smaller chunks with separate compilation?
15:19 PerlJam (rakudo, obviously)
15:20 integral joined #perl6
15:20 integral joined #perl6
15:23 ranguard joined #perl6
15:23 pmichaud still necessary, for lexical scope reasons
15:23 pmichaud until separate compilation has a way of putting everything into a lexical scope.... we're kind of stuck with it.  (more)
15:24 pmichaud I suppose it's possible that the core setting could in fact be multiple nested lexical scopes, if we wanted to try something like that to break up the compilation
15:25 pmichaud it might also be possible to create a setting that imports the separately compiled modules and updates its lexical scope accordingly
15:28 SatoAmbush joined #perl6
15:38 sudokode joined #perl6
15:45 bluescreen10 joined #perl6
15:48 pmurias joined #perl6
15:48 pmurias sorear: hi
15:48 pmurias sorear: what do I have to do to switch to the no-bootstrap branch?
15:49 birdwindupbird joined #perl6
15:49 birdwind1pbird joined #perl6
15:50 majrmovies joined #perl6
15:56 moritz git checkout no-bs #?
15:57 benabik Hm.  Rakudo adds bs, niecza removes bs.
15:57 benabik From the web interface, it looks like the branch name is non-bootstrap
15:58 Woodi hallo, is 'compile out' feature available ? eg. you deploy app by precompiling it and you want to "binary" do not contain language features not used in app code - if grammars or eval not used then "compile this out"... any sense here ?
15:58 colomon sorear++ renamed it this morning
15:58 brrt left #perl6
15:58 kurahaupo joined #perl6
15:58 PerlJam Woodi: No, that's not really available.
15:59 Woodi it can add some lvl of security after deployment...
15:59 Woodi but planned ?
16:13 pmurias moritz: thanks
16:19 fgomez joined #perl6
16:19 moritz Woodi: no. Compiled forms are just caches.
16:25 kurahaupo joined #perl6
16:40 spaceships joined #perl6
16:59 PacoAir left #perl6
17:00 kaare_ joined #perl6
17:04 pmurias moritz: ?
17:07 moritz pmurias: ? ?
17:07 daxim �¿⁇��
17:07 DarthGandalf joined #perl6
17:07 * moritz has problems answering single-letter questions
17:08 daxim perl -E'say "?" =~ /\pL/'  # not even that!
17:10 pmurias joined #perl6
17:14 moritz r: class A is export { }
17:14 p6eval rakudo b2068e:  ( no output )
17:17 snearch joined #perl6
17:19 spaceships joined #perl6
17:19 diakopter re breaking up the setting; maybe then its parts could be compiled in parallel
17:21 moritz fwiw I have experimented with breaking up the setting into two parts
17:21 TimToady you'd have to manage the circularity saw carefully to avoid cutting off all your feet
17:21 moritz an outer with the basic features, and an inner setting to be compiled after the outer
17:21 moritz and... it's quite challenging
17:21 moritz all of our types interact with each other somehow
17:22 moritz and the compiler interacts with some of them too
17:23 TimToady this is really rocket science: how many stages do you want to orbit?  Every approach will have it's advantages and disadvantages
17:23 tyatpi joined #perl6
17:24 TimToady and Perl 6 has an escape velocity more like Jupiter's than Earth's...
17:26 moritz I'm now experimenting with simply use'ing Set+Bag
17:27 moritz we have lexical imports after all
17:38 TimToady well, the only hard requirement is that it be Perl 6 by the end of the setting, but how much of the setting wants to be in "real" Perl 6 is an implementation choice
17:38 TimToady long-term, when the Perl 6 compiler gets good enough, you'll probably want the whole setting in real Perl 6, but that's unrealistic for now
17:39 Chillance joined #perl6
17:39 TimToady we'll have to understand circularity saws a bit better to get there
17:40 TimToady and what the true primitives are
17:40 dalek Perlito: d7ca5ce | (Flavio S. Glock)++ | / (3 files):
17:40 dalek Perlito: Perlito5 - javascript: "package" is a reserved word in the closure compiler
17:40 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/d7ca5ce8c7
17:40 tyatpi joined #perl6
17:48 GlitchMr joined #perl6
17:49 GlitchMr eval: "\x10000".chars
17:49 buubot_backup GlitchMr: 000chars
17:49 GlitchMr I meant Perl 6...
17:49 GlitchMr perl6: "\x10000".chars
17:49 p6eval pugs, rakudo b2068e, niecza v18-1-gc86e3f0:  ( no output )
17:49 GlitchMr perl6: print "\x10000".chars
17:49 p6eval pugs, rakudo b2068e: OUTPUT«1»
17:49 p6eval ..niecza v18-1-gc86e3f0: OUTPUT«2»
17:49 GlitchMr ...
17:49 PacoAir joined #perl6
17:50 TimToady nobody really does graphemes yet, but we're waiting on compact integer arrays to do NFG right
17:52 diakopter poor perlesque and its compact integer arrays; if only that weren't the only advantage it has
17:52 diakopter well, niecza has them too.
17:52 sorear good * #perl6
17:52 GlitchMr Well, I'm checking which programming languages don't think that Unicode is 16-bit.
17:52 moritz \o sorear
17:52 moritz heh, fun
17:52 GlitchMr As for now I have Perl 5, Perl 6 and Python 3.3.0 (beta) on list.
17:52 GlitchMr But I'm sure that more languages do things properly.
17:53 moritz you know what happens when you move some parts of the setting to a module, and 'use' that module?
17:53 TimToady flowers sing and dolphins jump?
17:53 moritz the module loader tries to load the setting, in order to provide the outer scope for the module
17:54 moritz and of course it can't, since we aren't done yet compiling the setting
17:54 sorear TimToady++ # circularity management is rocket science
17:54 TimToady and sorear++ is trying to develop SSTO :)
17:55 moritz SSTO?
17:55 TimToady http://en.wikipedia.org/wiki/Single-stage-to-orbit
17:55 moritz ah
17:56 geekosaur > length "\65536"
17:56 geekosaur hm, lb not back yet?  oh well
17:56 GlitchMr But now I have problem. My text editor doesn't support "\x10000" properly.
17:56 geekosaur (haskell also does not think unicode is 16 bit)
17:57 GlitchMr ok, so now I have Haskell on list too
17:57 Juerd Unicode has no bits
17:57 TimToady r: https://gist.github.com/2837838
17:57 p6eval rakudo b2068e: OUTPUT«1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765␤1 1 2 4 7 13 24 44 81 149 274 504 927 1705 3136 5768 10609 19513 35890 66012␤1 1 2 4 8 15 29 56 108 208 401 773 1490 2872 5536 10671 20569 39648 76424 147312␤1 1 2 4 8 16 31 61 120 236 464 912 1793 …
17:57 Juerd So no, Unicode is not 16 bit.
17:57 TimToady \o/ diakopter++ moritz++
17:58 geekosaur <geekosaur> > maxBound :: Char
17:58 geekosaur <lambdabot>   '\1114111'
17:58 geekosaur guess LB doesn't hang out here any mroe
17:58 GlitchMr Juerd, but some languages think that Unicode has 16 bits.
17:58 GlitchMr >>> '𐀀'.length
17:58 GlitchMr 2
17:58 GlitchMr (this is JavaScript in this case)
17:58 Juerd GlitchMr: Well, that's incorrect.
17:59 GlitchMr I'm searching for languages which do things correctly.
17:59 TimToady well, there are several definitions of that...
17:59 geekosaur more correctly, it's using a utf16 internal representation and does not try to pretend otherwise
17:59 sorear right now, niecza treats text always at the codepoint level
18:00 sorear length(), substr(), and friends make no effort to hide the UTF-16 representatiion
18:00 GlitchMr It seems that PHP doesn't think that Unicode has 16 bits.
18:00 geekosaur this is not necessarily a bug; even if you support the full rnge of unicode in a single character, does that include normalization?  what about combining characters (codepoints vs. graphemes)?
18:00 GlitchMr Not like it has proper Unicode support, but it somehow works in this case.
18:00 GlitchMr <?php echo mb_strlen('𐀀', 'utf8');
18:01 TimToady Perl 6 is aiming for the NFG version of "correct", whatever that turns out to be
18:01 sorear GlitchMr: there is nothing buggy about a language declaring length(chr(0x10000)) to be 2 if that is what the spec says
18:02 GlitchMr That is if language supports so big values in chr()
18:02 GlitchMr >>> String.fromCharCode(0x10021)
18:02 GlitchMr "!"
18:02 GlitchMr (JavaScript)
18:03 GlitchMr Also, numbers of characters is different than number of bytes.
18:15 icwiener joined #perl6
18:20 [Coke] joined #perl6
18:20 Juerd joined #perl6
18:20 PerlJam 6866
18:21 d4l3k_ joined #perl6
18:24 shachaf joined #perl6
18:32 p6eval joined #perl6
18:32 dalek joined #perl6
18:34 dalek Perlito: 7aadacf | (Flavio S. Glock)++ | / (2 files):
18:34 dalek Perlito: Perlito5 - javascript: cleanup comma for the closure compiler
18:34 dalek Perlito: review: https://github.com/fglock/​Perlito/commit/7aadacfc9b
18:34 bluescreen10 joined #perl6
18:35 PerlJam joined #perl6
18:35 Juerd joined #perl6
18:36 hugme joined #perl6
18:59 birdwindupbird joined #perl6
19:01 cogno joined #perl6
19:02 spaceships joined #perl6
19:32 mucker joined #perl6
19:48 shinobicl joined #perl6
19:57 diakopter byebye feather
20:00 vlixes joined #perl6
20:01 SatoAmbush joined #perl6
20:41 kboga joined #perl6
20:43 pupoque joined #perl6
20:53 plobsing joined #perl6
20:55 libertyprime joined #perl6
20:56 libertyprime joined #perl6
20:56 cognominal___ joined #perl6
21:09 p6eval joined #perl6
21:10 dalek joined #perl6
21:10 hugme joined #perl6
21:11 Juerd joined #perl6
21:11 tadzik joined #perl6
21:13 PerlJam joined #perl6
21:13 pmichaud joined #perl6
21:13 [Coke] joined #perl6
21:13 masak joined #perl6
21:13 Util joined #perl6
21:18 aesundstrom joined #perl6
21:20 dalek joined #perl6
21:26 diakopter TimToady: have you looked at http://rosettacode.org/wiki/Ordered_Partitions  do you think p6 could beat Groovy for succintness?
21:27 diakopter or even the 8-line python one
21:35 icwiener joined #perl6
21:35 diakopter or there's the J one-liner
21:36 diakopter the Perl 5 one is 40 lines
21:37 tyatpi joined #perl6
21:37 aesundstrom joined #perl6
21:40 tadzik eiro: where do I login to http://journeesperl.fr/fpw2012/ ?
21:40 lestrrat joined #perl6
21:40 tadzik oh, nevermind, I'm blind
21:45 tadzik eiro: talk submitted
21:48 aesundstrom joined #perl6
21:51 aesundstrom left #perl6
21:54 aesundstrom joined #perl6
21:55 sorear n: sub prtn(@mask is copy) { my $last = ([+] @mask) or return [[] xx @mask]; my @r; for @mask.kv -> $k,$v { next unless $v; $mask[$k]--; push @r, map { $_[$k].push($last); $_ }, prtn(@mask); }; @r; } say prtn(2,0,2).perl
21:55 p6eval niecza v18-1-gc86e3f0: OUTPUT«[31m===[0mSORRY![31m===[0m��Variable $mask is not predeclared (did you mean @mask?) at /tmp/9pOAp6k1KO line 1:�------> [32mfor @mask.kv -> $k,$v { next unless $v; [33m�[31m$mask[$k]--; push @r, map { $_[$k].push([0m��Strange text after block (missin…
21:55 sorear n: sub prtn(@mask is copy) { my $last = ([+] @mask) or return [[] xx @mask]; my @r; for @mask.kv -> $k,$v { next unless $v; @mask[$k]--; push @r, map { $_[$k].push($last); $_ }, prtn(@mask); @mask[$k]++ }; @r; } say prtn(2,0,2).perl
21:55 p6eval niecza v18-1-gc86e3f0: OUTPUT«[31m===[0mSORRY![31m===[0m��Strange text after block (missing comma, semicolon, comment marker?) at /tmp/Xyn1Q2Halu line 1:�------> [32m $_ }, prtn(@mask); @mask[$k]++ }; @r; }[33m�[31m say prtn(2,0,2).perl[0m��Parse failed��»
21:55 sorear n: sub prtn(@mask is copy) { my $last = ([+] @mask) or return [[] xx @mask]; my @r; for @mask.kv -> $k,$v { next unless $v; @mask[$k]--; push @r, map { $_[$k].push($last); $_ }, prtn(@mask); @mask[$k]++ }; @r; }; say prtn(2,0,2).perl
21:55 p6eval niecza v18-1-gc86e3f0: OUTPUT«Unhandled exception: Excess arguments to prtn, used 1 of 3 positionals␤  at /tmp/QUKpVAZF1_ line 0 (prtn @ 1) ␤  at /tmp/QUKpVAZF1_ line 1 (mainline @ 4) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3910 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.sett…
21:55 sorear n: sub prtn(@mask is copy) { my $last = ([+] @mask) or return [[] xx @mask]; my @r; for @mask.kv -> $k,$v { next unless $v; @mask[$k]--; push @r, map { $_[$k].push($last); $_ }, prtn(@mask); @mask[$k]++ }; @r; }; say prtn([2,0,2]).perl
21:55 p6eval niecza v18-1-gc86e3f0: OUTPUT«[[[3, 4], [], [1, 2]], [[2, 4], [], [1, 3]], [[1, 4], [], [2, 3]], [[2, 3], [], [1, 4]], [[1, 3], [], [2, 4]], [[1, 2], [], [3, 4]]].list␤»
21:56 sorear n: sub prtn(@mask is copy) { my $last = ([+] @mask) or return [[] xx @mask]; my @r; for @mask.kv -> $k,$v { next unless $v; @mask[$k]--; push @r, map { $_[$k].push($last); $_ }, prtn(@mask); @mask[$k]++ }; @r; }; .perl.say for prtn([2,0,2])
21:56 p6eval niecza v18-1-gc86e3f0: OUTPUT«[[3, 4], [], [1, 2]]␤[[2, 4], [], [1, 3]]␤[[1, 4], [], [2, 3]]␤[[2, 3], [], [1, 4]]␤[[1, 3], [], [2, 4]]␤[[1, 2], [], [3, 4]]␤»
21:56 sorear how does that look diakopter
21:56 diakopter a bit out of order
21:56 diakopter oh
21:57 diakopter the top level is reversed compared to the other solutions' output
21:57 diakopter but yeah
21:59 b1rkh0ff joined #perl6
22:03 pupoque joined #perl6
22:06 slavik1 joined #perl6
22:08 diakopter added to rosettacode
22:11 dalek rakudo/qrpa: a262cc4 | pmichaud++ | / (3 files):
22:11 dalek rakudo/qrpa: Add initial QRPA (RPA with better queueing) PMC.
22:11 dalek rakudo/qrpa: review: https://github.com/rakudo/rakudo/commit/a262cc4d1a
22:11 dalek rakudo/qrpa: 818a180 | pmichaud++ | / (2 files):
22:11 dalek rakudo/qrpa: Add pop_pmc, push_pmc, shift_pmc, shift_integer.
22:11 dalek rakudo/qrpa: review: https://github.com/rakudo/rakudo/commit/818a180962
22:12 benabik joined #perl6
22:21 felher joined #perl6
22:24 hugme joined #perl6
22:28 masak joined #perl6
22:50 Juerd Please, please... fix feather: /etc/init.d/unbound: regel 127: start-stop-daemon: opdracht niet gevonden
22:50 Juerd A missing start-stop-daemon means that the next time it reboots, it won't start many services...
22:51 TimToady diakopter++
22:51 TimToady and sorear++
22:51 * TimToady edited it to use gather/take instead
22:52 sorear sorear@feather:~$ /sbin/start-stop-daemon --help
22:52 sorear Usage: start-stop-daemon [<option> ...] <command>
22:52 Juerd Hmmm, that's strange
22:52 sorear how were you running it?
22:52 Juerd Ah, my path is garbled
22:52 Juerd s/path/PATH/
22:52 sorear ah, yay
22:53 Juerd Sorry for the unnecessary expression of panic.
22:53 sorear no worries
22:54 TimToady The occasional necessary expression of panic excuses the occasional unnecessary expression of panic.  :)
22:56 * diakopter panics for losing his phone
22:56 diakopter just now
22:56 skids joined #perl6
23:07 [particle]1 joined #perl6
23:15 erkan joined #perl6
23:15 erkan joined #perl6
23:23 kurahaupo left #perl6
23:24 whiteknight joined #perl6
23:25 * diakopter takes a look at http://rosettacode.org/wiki/Solve_a_Hidato_puzzle
23:36 cognominal joined #perl6
23:37 thou joined #perl6
23:37 jnthn evening o/
23:37 * jnthn probably only about for a few moments
23:37 diakopter o/
23:48 cognominal joined #perl6
23:58 Chillance joined #perl6

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs