Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-07-01

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:21 pmichaud happy leap second, everyone (oops, we missed it!)
00:25 colomon told my wife that same thing at approximately the same time.  :)
00:37 sorear o/ pmichaud
00:39 adu joined #perl6
00:51 pmichaud o/ sorear
00:58 adu \o
00:59 japhb Is .clone supposed to make deep copies, shallow copies, or bindings of the unchanged attributes?
00:59 sorear shallow copies
01:00 japhb I had a feeling ...
01:00 sorear but niecza currently just does bindings, I think
01:02 sftp joined #perl6
01:02 japhb Is there a deep copy operation, other than I suppose 'eval $foo.perl'
01:02 japhb ?
01:41 dalek nqp: bec0eba | pmichaud++ | src/HLL/Compiler.pm:
01:41 dalek nqp: Restore a basic dumping capability from Parrot's Data::Dumper.
01:41 dalek nqp: We really should reimplement a dumper in pure NQP, though.
01:41 dalek nqp: review: https://github.com/perl6/nqp/commit/bec0ebaae4
02:14 sftp joined #perl6
02:19 am0c joined #perl6
03:24 adu joined #perl6
04:04 alvis` joined #perl6
04:18 harmil left #perl6
04:19 Khisanth joined #perl6
04:37 adu joined #perl6
05:00 birdwindupbird joined #perl6
05:06 dalek nqp: 2bd8dcb | pmichaud++ | src/HLL/Compiler.pm:
05:06 dalek nqp: HLL::Compiler --stagestats=3 (or greater) now introduces prompts after each compilation stage.
05:06 dalek nqp: This makes it easier to determine the system resources consumed by each stage.
05:06 dalek nqp: check for system resource usage.
05:06 dalek nqp: review: https://github.com/perl6/nqp/commit/2bd8dcbbf8
05:18 kaare_ joined #perl6
05:57 tokuhirom joined #perl6
05:58 larks joined #perl6
05:58 larks joined #perl6
06:23 zby_home_ joined #perl6
06:45 * diakopter has watched http://www.youtube.com/watch?v=Veg63B8ofnQ too many times.
06:54 cognominal joined #perl6
07:03 cognominal joined #perl6
07:18 cogno joined #perl6
07:19 cogno Tadzik are you around here?
07:40 xdbr joined #perl6
07:44 pupoque joined #perl6
07:53 [Coke] so, http://rosettacode.org/wik​i/Haversine_formula#Perl_6 spends 53% of its time in type_check in Metamodel.pm
07:53 [Coke] (called 496 times)
07:54 xinming joined #perl6
08:00 cognominal joined #perl6
08:10 tadzik [Coke]: yes
08:10 tadzik erm
08:10 tadzik I missed cogno
08:10 tadzik nvm [Coke]
08:11 cognominal joined #perl6
08:16 [Coke] aw.
08:17 moritz good localtime everybody
08:18 diakopter hi
08:18 [Coke] moritz: ho
08:18 tadzik hello moritz
08:19 MayDaniel joined #perl6
08:19 moritz a friend of mine is looking for a functional programming job; does anybody know such a vacancy by chance?
08:20 moritz preferably not at a bank
08:22 moritz tadzik: do you want to give me a commit bit for File::Tools, or want a pull request?
08:22 tadzik moritz: I'll give it to you right away
08:22 moritz tadzik: ok, thanks
08:22 tadzik moritz: there you are
08:23 moritz I hate to go through the dance of forking, adding origin, pushing, opening pull request just to get one patch in
08:23 tadzik right
08:23 moritz I see some potential for workflow automate here
08:24 moritz imagine a   git github-push-pullrequest   command which automates all that for you
08:27 tadzik hm
08:28 moritz and Panda needs to copy over the new File::Find, right?
08:28 tadzik aye
08:28 tadzik I'm wondering if git substree or so could do that for us
08:30 tadzik the Submodules That Don't Suck, or something
08:32 moritz tadzik: either you'll have to do the panda updating, or hand out another commit bit :-)
08:33 cognominal joined #perl6
08:33 tadzik moritz: I've just commit-bit you :)
08:33 tadzik make: Circular blib/lib/File/Find.pir <- blib/lib/File/Find.pir dependency dropped.
08:34 tadzik yeah. ufo doesn't like 'use File::Find' in SYNOPSIS :)
08:34 dalek panda: b97cf9f | moritz++ | ext/File/Find.pm:
08:34 dalek panda: [ext] update to latest version of File::Find
08:34 dalek panda: review: https://github.com/tadzik/panda/commit/b97cf9f350
08:34 tadzik \o/
08:34 tadzik I'm now trying to make panda less broken, which should enable me to finally get the pod thing right
08:36 sisar o/
08:36 sisar moritz++ #star release !
08:36 moritz tadzik: I notice that panda has lots of code like  statefile    => $statefile, projectsfile => $projectsfile,
08:36 tadzik moritz: yes
08:37 moritz tadzik: do you dislike the :$statefile  pair syntax?
08:37 tadzik moritz: I've now in the process of killing Panda::Resources, which make no sense at all
08:37 tadzik oh
08:37 moritz or were you simply unware of it?
08:37 tadzik I may have just forgotten about it :)
08:37 tadzik feel free to make it nicer :)
08:37 moritz ok :-)
08:40 moritz btw I now get the same error as Gabor (see p6u) when bootrsapping panda
08:40 moritz seems it's some problem with reading the projectsfile
08:41 moritz Connecting to feather.perl6.nl (feather.perl6.nl)|193.200.132.135|:3000... failed: Connection refused.
08:41 moritz oh, that might be it
08:42 tadzik aw, my fault again
08:42 [Coke] moritz: I have been up way too long, but have a pc laptop with devtools I can use to try to get panda working on win tomorrow.
08:43 [Coke] for now, zzzes, though.
08:43 tadzik my crontab @reboot perl /home/tjs/modules/bin/app.pl apparently doesn't work
08:43 cognominal tadzik, I am with maryline She tells me she should meet you at 12?
08:43 [Coke] I'd be interested if jnthn++ can make anything of the "type_check" taking 53% of runtime on that rosettacode example.
08:43 tadzik cognominal: that was the plan, yes
08:43 cognominal does this still hold
08:43 cognominal she is fine by now
08:43 tadzik sure
08:43 moritz tadzik: maybe be explicit about which perl to invoke?
08:44 cognominal ok. So see you there.
08:44 tadzik moritz: I'll try that
08:44 moritz tadzik: if you have a perlbrew'ed perl, then crontab won't see it
08:44 tadzik cognominal: great, thanks
08:44 tadzik moritz: no, I don't think I do
08:44 moritz because crontab doesn't source .bash_proflie/.bashrc
08:44 tadzik but maybe I should tell it to use /usr/bin/perl or so
08:48 moritz r: say 'nosuchflie'.IO.z
08:48 p6eval rakudo a6d08c: OUTPUT«False␤»
08:48 moritz r: say 'nosuchflie'.IO.f
08:48 p6eval rakudo a6d08c: OUTPUT«False␤»
08:49 larks joined #perl6
08:50 tadzik moritz: I'm having trouble deciding where projects' workdir resolution should belong in the code
08:51 dalek panda: 97ebac0 | moritz++ | lib/Panda/Ecosystem.pm:
08:51 dalek panda: empty projectsfile is also a reason to update it
08:51 dalek panda: review: https://github.com/tadzik/panda/commit/97ebac0459
08:51 tadzik I thought resources was a bit of a bad idea, in terms that it doesn't make much sense make every Panda submodule resolve it itself; it should probably be given to it
08:52 moritz oh dammit, that commit was wrong
08:53 dalek panda: 8800ec5 | moritz++ | lib/Panda/Ecosystem.pm:
08:53 dalek panda: fix precedence problem in previous commit (97ebac0)
08:53 dalek panda: review: https://github.com/tadzik/panda/commit/8800ec5d8b
08:54 moritz tadzik: I'm a bit lost here; what workdir are you talking about?
08:54 moritz tadzik: the one where you clone and build a project into?
08:56 tadzik moritz: well, the workdir is where most of what panda does happens. Fetcher fetches a project to a workdir, builder builds stuff in the workdir, tester tests stuff there, installer instals file from there
08:56 tadzik so the entire workflow is mostly oriented around this working directory
08:56 moritz tadzik: then yes, it should be given to each submodule
08:56 tadzik right
08:57 tadzik so at first I thought about subclassing Pies::Project, to get Panda::Project which is aware of its workdir
08:57 tadzik and I'm now wondering if that's the right approach
08:58 tadzik because if I was to change the number of parameters passed to each of the submodules, then I'd have to change Pies as well
08:59 tadzik I'm not sure how it should look
09:00 moritz me neither, sorry
09:00 moritz actually I don't know much about how panda works
09:01 moritz I just try to fix small scale stuff when I can
09:01 tadzik that's great
09:03 tadzik I may need to rethink this design
09:04 tadzik or just look again at how Pls was doing this :)
09:05 dalek panda: f3a494d | moritz++ | lib/Panda/Ecosystem.pm:
09:05 dalek panda: die if from_json($projectsfile) is not defined
09:05 dalek panda:
09:05 dalek panda: this gives a slightly better error message than the
09:05 dalek panda: "Odd number of elements found where hash expected" which
09:05 dalek panda: Gabor reported on perl6-users@perl.org
09:05 dalek panda: review: https://github.com/tadzik/panda/commit/f3a494dac6
09:10 tadzik ok, pls hardcodes everything as "cache/$project<name>"
09:10 tadzik (the workdirs)
09:13 dalek ufo: 2f477c5 | moritz++ | bin/ufo:
09:13 dalek ufo: ignore "use fatal"
09:13 dalek ufo: review: https://github.com/masak/ufo/commit/2f477c525f
09:21 moritz star: say 'oh hai'
09:21 p6eval star 2012.06: OUTPUT«oh hai␤»
09:21 moritz that's the new one
10:22 shtihskar joined #perl6
10:28 shtihskar List
10:29 shtihskar left #perl6
10:39 diakopter r: class A { method b { method c { 55 } } }; say A.c # um
10:39 p6eval rakudo a6d08c: OUTPUT«55␤»
10:44 diakopter r: class A { method b { method c { return class D { } } } }; say A.c.new.^methods
10:44 p6eval rakudo a6d08c: OUTPUT«␤»
11:30 thelazydeveloper joined #perl6
11:54 whiteknight joined #perl6
11:58 fridim_ joined #perl6
12:03 GlitchMr joined #perl6
12:08 PacoAir joined #perl6
12:13 spider-mario joined #perl6
12:43 tadzik seen cognominal?
12:43 aloha cognominal was last seen in #perl6 3 hours 59 mins ago saying "ok. So see you there.".
12:44 tadzik damn :/
12:54 MayDaniel joined #perl6
12:55 birdwindupbird joined #perl6
13:10 Psyche^ joined #perl6
13:11 felher joined #perl6
13:32 Chillance joined #perl6
14:12 murdegern joined #perl6
14:12 murdegern hello all
14:12 murdegern just getting my feet wet with perl6, please be gentle...
14:12 sisar joined #perl6
14:13 murdegern right now, I want to clone an array of arrays... like this: @gf = ( [0,1], [2,3] ); @sgf=@gf.clone;
14:13 murdegern but it's not a deep copy, if I put @gf[0][0] = 4; then, @sgf[0][0] is also 4
14:14 murdegern how can I do this better?
14:28 nwc10 joined #perl6
14:48 seldon joined #perl6
15:05 odoacre joined #perl6
15:05 vmspb joined #perl6
15:10 xinming joined #perl6
15:30 thou joined #perl6
15:38 HarryS joined #perl6
15:40 pmichaud good morning, #perl6
15:43 fgomez joined #perl6
15:49 felher good am, pm
15:50 moritz \o
15:51 UncleFester6 joined #perl6
15:52 felher moritz: i just borrowed "good am, pm". You may still say it ;)
15:52 UncleFester6 use Test;my $i = 0;my @a = (10, 20 ,30 ,40);my @l := gather { for @a {$i++; take $_ } };my @pull;push @pull, $i, $_ for @l;is_deeply(@pull, [ 0, 10, 1, 20, 2, 30, 3, 40]); # just test - no need to comment
15:52 UncleFester6 rakudo: use Test;my $i = 0;my @a = (10, 20 ,30 ,40);my @l := gather { for @a {$i++; take $_ } };my @pull;push @pull, $i, $_ for @l;is_deeply(@pull, [ 0, 10, 1, 20, 2, 30, 3, 40]); # just test - no need to comment
15:52 p6eval rakudo a6d08c: OUTPUT«not ok 1 - ␤#      got: [4, 10, 4, 20, 4, 30, 4, 40]␤# expected: [0, 10, 1, 20, 2, 30, 3, 40]␤»
15:53 UncleFester6 left #perl6
16:11 xinming joined #perl6
16:33 tadzik hello #perl6
16:33 pmichaud hello tadzik
16:34 pmichaud how is/was fpw?
16:34 tadzik it was great
16:35 tadzik I'm quite satisfied with both of my talks, and I got the motivation to hack back after the exam madness
16:35 pmichaud \o/
16:35 tadzik and I'm quite convinced Pies/Panda needs sort of a redesign
16:37 tadzik although I'm not sure what is the right way to go with it
16:37 quietfanatic joined #perl6
16:37 pmichaud well, what parts are troublesome in the current design?
16:37 diakopter quietfanatic: howdy
16:37 tadzik but I thought I'll just experiment with different things and see what seems the most sane
16:37 pmichaud that approach often works, yes. :)
16:37 quietfanatic hello
16:37 tadzik pmichaud: I don't think submodules (Panda::Builder and so) are really given what they need
16:38 pmichaud tadzik: example?
16:38 tadzik if you look at the code now, you'll notice that every submodule keeps a Panda::Resources in the attributes, and then uses it every single time to obtain a workdir
16:39 tadzik whereas a workdir is the most essential thing it actually needs. It knows what to do, you should just show it where it starts to work
16:39 tadzik instead of that, it receives Pies::Project as a parameter, which gives it almost no information it needs and lots of stuff it doesn't
16:39 pmichaud yes, it sounds very much like a refactor is needed there
16:39 pmichaud something a bit more direct
16:39 tadzik what I tried yesterday to make it saner was to put workdir as one of the attributes in Panda::Project, which is Pies::Project
16:39 quietfanatic r: my @a = ([1, 2], [3, 4]); my @b = @a>>.clone; @a[0][0] = 4; say @b
16:39 p6eval rakudo a6d08c: OUTPUT«1 2 3 4␤»
16:40 tadzik but that makes testing tricky and confusing
16:40 tadzik so I think there's way too much "OOP ALL THE THINGS" in it, and somewhat unifying the interface of the submodules for no good reason
16:40 pmichaud I often think that (too much "oop everything").
16:41 tadzik I looked back at the prior art (pls) on this, and pls actually creates a hardcoded workdir ("cache/$name") on itself, which proves that it really is a proof-of-concept :)
16:42 tadzik so what I plan to do now is figure out what is exactly what each of the submodules give, give them that, and expect a very specific result of their work, which I can easily test
16:42 tadzik as in: I expect of Installer to copy all the things it finds in blib/. No thinking
16:43 tadzik I want Builder to take lib/ and create a blib/ that a user needs. No magic
16:43 pmichaud heh
16:43 tadzik ...well, maybe in this case magic is what actually drives this thing
16:43 pmichaud that's kind of .... exactly
16:43 pmichaud it's high magic at the level you're describing :)
16:43 tadzik heh
16:43 pmichaud which is absolutely fine and desirable, if it works (and if there are ways to adjust the magic when needed)
16:43 tadzik correct
16:44 tadzik so I'll just throw stuff around, break ALL THE THINGS and see if I can make panda a better anima... well, sort of
16:47 pmichaud sounds like a good plan to move forward
16:47 pmichaud okay, I'm afk for a bit.
16:47 tadzik okay
16:50 larks joined #perl6
16:57 diakopter prn: say 3888888888888888888888888888888888 +| 222222222222222222222222222222222222222
16:57 p6eval niecza v19-7-g5e25209: OUTPUT«-2147483648␤»
16:57 p6eval ..rakudo a6d08c, pugs: OUTPUT«222225113149307211803172354940963909566␤»
16:59 diakopter I suppose MIN_INT is decent enough for niecza
17:05 kaare_ joined #perl6
17:12 tadzik rnp: my $a = "foobarbaz"; $a ~~ /bar/; say $/.prematch
17:12 p6eval pugs: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤    unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.​13.20120203/blib6/pugs/perl5/lib';␤    eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** Can't locate P…
17:12 p6eval ..rakudo a6d08c, niecza v19-7-g5e25209: OUTPUT«foo␤»
17:31 tadzik oh wow
17:31 tadzik Wikipedia says: Red pandas are generally quiet except for some twittering, tweeting, and whistling.
17:32 tadzik Twittering and tweeting! Quite a meaning those worlds've got recently
17:44 tadzik r: https://gist.github.com/3029085
17:44 p6eval rakudo a6d08c: OUTPUT«1..9␤ok 1 - ␤ok 2 - ␤ok 3 - ␤ok 4 - ␤ok 5 - ␤ok 6 - ␤ok 7 - ␤ok 8 - ␤ok 9 - ␤»
17:44 tadzik I find this sort of awesome
17:50 quietfanatic joined #perl6
17:51 vmspb joined #perl6
17:54 snearch joined #perl6
17:55 flussence oh wow
17:55 flussence tadzik++
17:57 sisar tadzik++: nice !
17:57 zby_home joined #perl6
18:01 MayDaniel joined #perl6
18:27 birdwindupbird joined #perl6
18:31 sorear good * #perl6
18:34 moritz \o sorear
18:34 TimToady sorear: o/ and did you see the nieczabug at http://irclog.perlgeek.de/​perl6/2012-06-30#i_5772426 ?/e
18:34 tadzik now that only needs a wrapper, so you can do typed_sub(Str, Int) and it would give you back the type :)
18:34 tadzik I have a thing to hack on
18:35 TimToady s['/e'] = ''
18:35 * [Coke] rebuilds and installs rakudo-lastest on win7.
18:35 [Coke] panda me.
18:35 sorear TimToady: yeah, can't do much about it right now
18:35 sorear o/ moritz
18:36 TimToady ran into it in Real Code™
18:37 * diakopter doesn't know whether s['/e'] = '' is real syntax. /me is ignorant of such things
18:38 [Coke] perl6 bin\panda -> could not find Shell::Command
18:38 moritz diakopter: it is
18:38 moritz r: $_ = 'a/e'; s['/e'] = ''; .say
18:38 p6eval rakudo a6d08c: OUTPUT«a␤»
18:38 moritz n: $_ = 'a/e'; s['/e'] = ''; .say
18:38 p6eval niecza v19-7-g5e25209: OUTPUT«a␤»
18:38 tadzik [Coke]: did you bootstrap it?
18:39 [Coke] tadzik: that IS bootstrap.
18:40 [Coke] ah, earlier: "Could not find Panda in any of: ..."
18:40 diakopter n: sub s { }; say &s[0][0][0][0][0][0];
18:40 p6eval niecza v19-7-g5e25209: OUTPUT«sub s(Any \$_) { ... }␤»
18:40 [Coke] I do not have wget installed yet, but also do not see it trying to run wget anywhere.
18:40 tadzik okay
18:40 tadzik it only tries it once
18:41 tadzik rn: sub foo { return Sub where { True } }
18:41 p6eval niecza v19-7-g5e25209: OUTPUT«[31m===[0mSORRY![31m===[0m��Two terms in a row (listop with args requires whitespace or parens) at /tmp/38H7wK23Qs line 1:�------> [32msub foo { return Sub [33m�[31mwhere { True } }[0m��Parse failed��»
18:41 p6eval ..rakudo a6d08c: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 2, near "return Sub"␤»
18:41 tadzik hmm
18:41 tadzik http://perlcabal.org/syn/S​12.html#Types_and_Subtypes seems to indicate that this is a syntax for anynymous subtypes
18:41 moritz nr: say Sub
18:41 p6eval rakudo a6d08c, niecza v19-7-g5e25209: OUTPUT«Sub()␤»
18:42 timotimo r: $a = sub ($a, $b) {}; say $a.signature.params[0].type ~~ Int;
18:42 p6eval rakudo a6d08c: OUTPUT«===SORRY!===␤Variable $a is not declared␤at /tmp/IiS4h_uSlv:1␤»
18:42 timotimo r: my $a = sub ($a, $b) {}; say $a.signature.params[0].type ~~ Int;
18:42 p6eval rakudo a6d08c: OUTPUT«False␤»
18:42 timotimo mhm, mhm.
18:45 [Coke] tadzik: I installed wget. reran bootstrap.sh. same error.
18:45 [Coke] git clean -xdf in case something was cached - boostrap again, same error.
18:46 timotimo tadzik: you wrote "plan 9" and resisted the urge to say something about outer space?
18:47 [Coke] perl6lib bug on win?
18:49 cxreg that list of unsupported features on the star announcements is dwindling
18:50 cxreg is async i/o on the radar or is that far off?
18:50 [Coke] r: say $VM
18:50 p6eval rakudo a6d08c: OUTPUT«===SORRY!===␤Variable $VM is not declared␤at /tmp/cBXnAWLUKj:1␤»
18:50 [Coke] r: say $VM<config><osname>
18:50 p6eval rakudo a6d08c: OUTPUT«===SORRY!===␤Variable $VM is not declared␤at /tmp/gF_LVHJTny:1␤»
18:50 moritz r: say $*VM
18:50 p6eval rakudo a6d08c: OUTPUT«("name" => "parrot", "config" => {"git_describe" => "RELEASE_4_5_0", "sha1" => "522f92816a93a3f6978f06da6a9234b667697270", "a" => ".a", "ar" => "ar", "ar_extra" => "", "ar_out" => "", "archname" => "i486-linux-gnu-thread-multi-64int", "arflags" => "cr", "as" => "as…
18:50 [Coke] the PERL6LIB handling is keying off that variable, and it isn't defined.
18:51 [Coke] moritz: src/core/terms.pm, line 68
18:51 nwc10 cxreg: I'd guess that async i/o really depends on support from it from the VM. So for Rakudo, that would be Parrot, and it's not clear what Parrot's roadmap will deliver when.
18:51 nwc10 but I am neither a Rakudo nor a Parrot developer, just an observer.
18:51 cxreg nwc10: yeah i suppose that is true
18:52 moritz [Coke]: line 48 installs it as $PROCESS::VM, which makes it available as $*VM in user space
18:52 moritz [Coke]: what does $*VM<config><osname> say on your system?
18:52 [Coke] moritz: but it's used as $VM on line 68, 69. should that work?
18:52 moritz [Coke]: yes
18:53 [Coke] $*VM<config><osname> gives the right answer. $VM<config><osname> -> Variable $VM is not declared.
18:53 [Coke] (in the REPL)
18:53 moritz [Coke]: it's declared lexically as $VM, but inside a block; then it is installed globally later on
18:53 moritz and because it's inside a block, userspace code cannot see it as $VM directly
18:54 timotimo wow, $*VM is a *huge* bit of output
18:55 birdwindupbird joined #perl6
18:55 moritz r: say $*VM<config>.elems
18:55 p6eval rakudo a6d08c: OUTPUT«256␤»
18:55 moritz timotimo: it's all parrot's config stuff
18:55 [Coke] ah! bootstrap.bat has a trailing space on the first line.
18:56 moritz [Coke]: and that sets PERL6LIB incorrectly?
18:56 cxreg nwc10: yeah.  "Currently, Parrot only implements synchronous I/O operations"
18:56 [Coke] now the install proceeds, but dies with "unable to open filehandle from path "C:\Users\coke/.panda/projets.json'
18:57 [Coke] moritz: apparently.
18:57 [Coke] projects.json doesn't exist.
18:57 tadzik timotimo: oh, true :)
18:57 dalek panda: f4e6b5c | moritz++ | bootstrap.bat:
18:57 dalek panda: [bootstrap.bat] remove trailing space
18:57 dalek panda:
18:57 dalek panda: seems to cause damage on win7. [Coke]++
18:57 dalek panda: review: https://github.com/tadzik/panda/commit/f4e6b5c57f
18:57 dalek panda: 67cca94 | moritz++ | lib/Panda.pm:
18:57 dalek panda: cosmetic changes
18:57 dalek panda: review: https://github.com/tadzik/panda/commit/67cca94e87
18:58 tadzik oh, that got fixed already
18:58 moritz [Coke]: it should try to download that with wget
18:58 tadzik cxreg: but we do have .poll
18:58 tadzik but, it's still non-blocking, not asynchronous
18:58 cxreg yeah true, i guess you could implement your own event loop using poll
18:58 tadzik I did that :)
18:59 cxreg cool
18:59 tadzik https://github.com/tadzik/MuEvent
18:59 cxreg nice
18:59 [Coke] moritz: 2 bugs:
19:00 cxreg you're polling the sockets serially?  that's odd
19:00 [Coke] shell outputs no errors when its command fails
19:00 [Coke] can't use single quotes to group args on win.
19:00 * [Coke] changes it to " locally to test..
19:01 tadzik ===SORRY!===
19:01 tadzik ResizablePMCArray: Can't pop from an empty array!
19:01 tadzik now that's a new error
19:01 cxreg tadzik: unless i'm missing some laziness or concurrency semantic?
19:01 tadzik cxreg: yeah, I'm doing exactly that
19:01 moritz r: use ::;
19:01 p6eval rakudo a6d08c: OUTPUT«===SORRY!===␤Could not find :: in any of: /home/p6eval/.perl6/lib, /home/p6eval/nom-inst2/lib/parrot/​4.5.0-devel/languages/perl6/lib␤»
19:01 tadzik MuEvent isn't really a proper solution, no
19:01 cxreg well, i guess it works :)
19:01 tadzik yeah, it does ;)
19:01 tadzik it can do async HTTP requests and stuff
19:01 moritz tadzik: it usually happens when you use an empty name somewhere you shouldn't
19:01 moritz (but not always)
19:01 [Coke] next failure: 'e' is not recognized as an interncal or external command.
19:02 tadzik moritz: yeah, that's it
19:02 tadzik r: sub { return subset :: of Sub where { 1 } }
19:02 p6eval rakudo a6d08c: OUTPUT«===SORRY!===␤ResizablePMCArray: Can't pop from an empty array!␤»
19:02 tadzik S12 says it's valid
19:02 moritz tadzik: prolly just NYI
19:02 tadzik yeah, may be
19:02 tadzik hmm
19:03 tadzik so I can't return an anonymous subset; shame
19:03 tadzik but I can make another hack to get that P:
19:03 [Coke] gist.github.com/3029268
19:04 tadzik hmm, that rings a bell
19:04 tadzik oh
19:04 tadzik old rove
19:04 tadzik * prove
19:04 tadzik with no -e support
19:04 moritz might be spelled -p
19:04 moritz (for "perl executable")
19:05 [Coke] my prove is tap harness 3.23
19:05 tadzik oooohohoho
19:06 dalek panda: 2a794e3 | moritz++ | lib/Panda/Ecosystem.pm:
19:06 dalek panda: use double quotes for quoting shell arguments
19:06 dalek panda:
19:06 dalek panda: more windows friendly that way. [Coke]++
19:06 dalek panda: review: https://github.com/tadzik/panda/commit/2a794e3199
19:08 [Coke] guessing it's related to how you're invoke prove there.
19:09 [Coke] in panda\lib\Panda, you modify PERL6LIB but don't take path separators into account.
19:09 [Coke] ; vs. :
19:10 tadzik ohoho this is so evil
19:11 nwc10 left #perl6
19:13 [Coke] looks like this is in a few places.
19:13 [Coke] tadzik: what, panda? ;)
19:17 [Coke] I am also unsure {shell "env VAR=$val ..."} is valid cmd shell.
19:17 [Coke] might need to be something like "set VAR=$val; ..."
19:18 moritz does simply   VAR=$val programm   work on windows?
19:18 [Coke] moritz; no
19:18 [Coke] set VAR=$val ; REM AT LEAST IN THE SHELL
19:19 [Coke] (note that that is not actually a command in cmd.exe ;)
19:19 tadzik [Coke]: no, the code I'm writing that still fails too many tests to show it off :)
19:19 tadzik essentially this: https://gist.github.com/3029304
19:20 tadzik r: say so Any ~~ Str
19:20 p6eval rakudo a6d08c: OUTPUT«False␤»
19:20 tadzik r: say so Str ~~ Any
19:20 p6eval rakudo a6d08c: OUTPUT«True␤»
19:21 tadzik but reversing the arguments to Z~~ doesn't fix it :(
19:21 tadzik Z=== doesn't work either. Hmm
19:21 adu joined #perl6
19:22 moritz ~~ does something special syntactically
19:22 moritz r: say (Any, Str) Z=== (Str, Str)
19:22 p6eval rakudo a6d08c: OUTPUT«False True␤»
19:22 moritz looks correct to me
19:22 tadzik yeah
19:23 tadzik r: (Str, Int) ~~ (sub(Str, Any) { }).signature.params.map(*type)
19:23 p6eval rakudo a6d08c: OUTPUT«===SORRY!===␤Confused␤at /tmp/CURPZ16U8H:1␤»
19:23 tadzik r: (Str, Int) ~~ (sub (Str, Any) { }).signature.params.map(*type)
19:23 p6eval rakudo a6d08c: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 2, near "type)"␤»
19:23 moritz *.type
19:23 tadzik r: (Str, Int) ~~ (sub (Str, Any) { }).signature.params.map(*.type)
19:23 p6eval rakudo a6d08c:  ( no output )
19:23 dalek panda: 3a31d6c | moritz++ | lib/Panda/ (2 files):
19:23 dalek panda: PERL6LIB separator is OS sensitive
19:23 dalek panda: review: https://github.com/tadzik/panda/commit/3a31d6ceef
19:23 tadzik r: say so (Str, Int) ~~ (sub (Str, Any) { }).signature.params.map(*.type)
19:23 p6eval rakudo a6d08c: OUTPUT«False␤»
19:23 tadzik looks correct
19:23 tadzik oh, so I don't need Z~~
19:23 tadzik r: say so (Str, Int) Z~~ (sub (Str, Any) { }).signature.params.map(*.type)
19:23 p6eval rakudo a6d08c: OUTPUT«False␤»
19:24 tadzik r: say so (Str, Int) ~~ (sub (Str, Int) { }).signature.params.map(*.type)
19:24 p6eval rakudo a6d08c: OUTPUT«True␤»
19:24 tadzik r: say so (Str, Int) Z~~ (sub (Str, Int) { }).signature.params.map(*.type)
19:24 p6eval rakudo a6d08c: OUTPUT«False␤»
19:24 [Coke] moritz++ !
19:24 moritz [Coke]: it still uses env though
19:24 tadzik yay fixed~
19:24 tadzik !
19:25 tadzik r: https://gist.github.com/3029304
19:25 p6eval rakudo a6d08c: OUTPUT«1..9␤ok 1 - lives 1␤ok 2 - ␤ok 3 - ␤ok 4 - ␤ok 5 - lives 2␤ok 6 - ␤ok 7 - ␤ok 8 - ␤ok 9 - ␤»
19:25 tadzik thus, Typed::Subroutines comes to life
19:26 moritz [Coke]: does panda work now? or does it need set VAR=$val; ... ?
19:26 moritz and I guess you can't use ; either to separate statements udner windows...
19:26 moritz oh, but we can now set %*ENV
19:27 moritz which we couldn't back in the days
19:27 moritz lemme try
19:27 [Coke] ah, that is the best option. ja.
19:27 [Coke] I assumed it didn't work, still. ;)
19:28 tadzik oh, Podbug :)
19:29 tadzik https://gist.github.com/3029325
19:30 moritz but, but both *are* nice subroutines, no? :-)
19:31 tadzik well, true
19:31 tadzik now, a test
19:32 tadzik r: https://gist.github.com/3029332
19:32 tadzik there we are
19:32 p6eval rakudo a6d08c: OUTPUT«ok 1 - ␤not ok 2 - ␤»
19:33 * tadzik -bot reports rakudobug
19:38 MayDaniel joined #perl6
19:38 [Coke] moritz: I see shell "rm -r", "rm -rf"
19:39 moritz [Coke]: :(
19:40 [Coke] moritz: I assume those are for cleanup and matter less.
19:40 dalek panda: 68dc4fe | moritz++ | lib/Panda/ (2 files):
19:40 dalek panda: set environment variables through %*ENV
19:40 dalek panda:
19:40 dalek panda: more portable that way, hopefully
19:40 dalek panda: review: https://github.com/tadzik/panda/commit/68dc4fe6b4
19:40 [Coke] ooh, thanks.
19:40 [Coke] hee.
19:41 tadzik moritz++ # ooh, good one
19:41 [Coke] ok, now, instead of complaining about 'e', it complains about 'p'. ;)
19:41 [Coke] checking.
19:42 dalek ecosystem: 42762f0 | tadzik++ | META.list:
19:42 dalek ecosystem: Add Typed::Subroutines
19:42 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/42762f0f34
19:44 moritz r: anon subset MyS where 1; say MyS
19:44 p6eval rakudo a6d08c: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&MyS' called (line 1)␤»
19:45 [Coke] moritz: hurm. if I drop down the shell and cd to the File__Tools dir, then perl6 --target=pir --output=blib/lib/File/Find.pir lib/File/Find.pm works.
19:45 [Coke] but called from inside panda, I get the 'p' error.
19:46 tadzik moritz: I think I tried that as well
19:46 moritz tadzik: I think I have a fix here locally
19:46 tadzik oh awesome!
19:46 moritz tadzik: it works, but I'm still waiting for the spectest run to finish
19:46 tadzik I'm giving you a commit bit to Typed::Subroutines Justin Case :)
19:47 tadzik but for now I'm going to catch some sleep
19:47 * moritz should do that too
19:48 tadzik see you tomorrow, Awesome Brigade!
19:48 [Coke] AHA.
19:49 [Coke] well, ok, not aha. but if I remove the "and die" from the shell, it actually gets further, runs tests, which pass.
19:49 [Coke] the result from the execution is 1,
19:51 [Coke] but the actual command /is/ failing. more digging.
19:54 dalek rakudo/nom: 1edbd37 | moritz++ | / (2 files):
19:54 dalek rakudo/nom: anonymous subset types with "subset :: where ...;"
19:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1edbd3732e
20:01 [Coke] r: die 1,2
20:01 p6eval rakudo a6d08c: OUTPUT«12␤  in block <anon> at /tmp/lqsffHIYMq:1␤␤»
20:03 [Coke] moritz: the "and die a, b" syntax in lib/Panda/Builder.pm isn't showing the "b" portion of the error. changing it to a ~ to stringify it causes it to be printed out.
20:04 adu joined #perl6
20:04 moritz r: 1 and die 1, 2
20:04 p6eval rakudo a6d08c: OUTPUT«12␤  in block <anon> at /tmp/0skemc5S1l:1␤␤»
20:04 moritz huh.
20:06 [Coke] r: die 1, <a b c>
20:06 p6eval rakudo a6d08c: OUTPUT«1abc␤  in block <anon> at /tmp/pgxSksgQk7:1␤␤»
20:06 bruges joined #perl6
20:07 [Coke] anyway, getting a more useful error message now.
20:08 pmichaud lib/Panda/Builder.pm defines a local &die ?
20:10 moritz oh
20:10 moritz it might
20:10 pmichaud line 9
20:10 [Coke] oh. my more dteailed error message is that I thought I was using a regular die. :P
20:11 moritz but it looks like it's used correctly
20:11 moritz with two arguments
20:11 [Coke] that die takes 3 args, but we're calling it with only 2.
20:12 [Coke] ... whoops, you're right.
20:13 pmichaud is the die message coming back as "%s stage failed for %s: %s", then?
20:13 pmichaud (that's what the X::Panda exception should be displaying, iiuc)
20:15 [Coke] gist.github.com/3029461
20:16 moritz yes, "build stage failed for File::Tools: Failed building lib/File/Find.pm"
20:16 moritz but it's not the first error
20:16 moritz I guess the one before is from not finding 'rm' ?
20:19 moritz anyway, sleep &
20:19 sisar pmichaud: installing libreadline6-dev does not help. For rebuilding Parrot, the --gen-parrot option is the correct way, right ?
20:20 pmichaud sisar: yes, libreadline-dev has to be installed at the time Parrot is built. (more)
20:20 pmichaud --gen-parrot doesn't rebuild Parrot on its own if it thinks the existing parrot binary is good enough.  To force a rebuild of Parrot, you should "cd parrot" and "make realclean"
20:21 pmichaud then go back to the rakudo directory and do the Configure.pl step
20:21 sisar pmichaud: oh, ok. Thanks.
20:21 pmichaud oh, and you probably need to rm -rf the 'install/' directory
20:22 sisar ok
20:29 Entonian joined #perl6
20:52 masak lol, I totally blogged! \o/ http://strangelyconsistent.org/blog/another-​month-of-blogging-adventure-game-here-i-come
20:52 masak and there's more where that came from. I just need to land a my apartment, then you'll get July 1, 2012.
20:53 masak s/land a my/land in my/ # French, what are you doing to me?
20:56 masak &
20:57 * diakopter tries to learn how to cherry-pick a commit from a branch into master
21:02 birdwindupbird joined #perl6
21:02 [Coke] diakopter: do you have the commit hash?
21:02 diakopter yes
21:02 * [Coke] can spoil it for you if you like.
21:02 diakopter sure :)
21:03 [Coke] git checkout master; git cherry-ick <hash>
21:03 [Coke] *pick !
21:03 * diakopter doesn't really like cherries either
21:04 diakopter [Coke]: thx
21:04 diakopter so if I eventually merge the branch with master, there won't be a problem I assume
21:07 [Coke] I think git is smart enough, ja.
21:07 adu joined #perl6
21:13 * diakopter likes Github's app for Windows; it's a good substitute for the things at which TortoiseGit is broken.
21:13 diakopter for my simple usage.
21:18 masak git is indeed smart enough. cherry-picking is essentially idempotent.
21:24 sisar masak++, another month of blogging, writing a big game in Perl6, giving away prizes, hell yeah !! :-D
21:26 masak awesome begets awesome. I've had an awesome weekend in Strasbourg.
21:27 masak eiro++ fpw++ liz++ wendy++ mst++ jnthn++ tadzik++ # and probably lots of others that I forget now
21:27 jnthn Good evening, #perl6
21:27 masak jnthn! \o/
21:27 * jnthn is safely back from the French Perl Workshop
21:27 jnthn My laptop, sadly, did not survive the trip, however.
21:27 ingy greetings
21:27 masak ingy! \o/
21:28 ingy me is on his way back from YAPC::NA
21:28 flussence ooh, I just made the rakudo repl freak out
21:28 flussence r: my num $
21:28 p6eval rakudo 1edbd3:  ( no output )
21:28 * masak mourns jnthn's laptop
21:28 * ingy took the long way home
21:44 masak notable advantage of the 'done' style of testing: you can have a variable number of tests, essentially running some tests only if prior tests pass.
21:45 wooden joined #perl6
21:45 wooden joined #perl6
21:47 sisar pmichaud: yes, it worked. I now have a much usable REPL.
21:48 M_o_C joined #perl6
21:55 sorear \o/ masak, jnthn
21:56 sorear masak: that's also what 'skip' is for, just saying
21:57 masak aye.
21:57 masak you're not wrong.
21:57 masak :)
21:59 [Coke] jnthn: welcome back.
22:00 jnthn [Coke]: Thanks :)
22:01 [Coke] moritz++ is getting us closer to winderspanda.
22:02 jnthn winderspanda?
22:02 jnthn oh
22:03 jnthn windows panda
22:03 jnthn :)
22:10 rjbs joined #perl6
22:11 masak is this one in RT?
22:11 masak $ perl6 -e 'multi MAIN("foo bar") {}' foo bar
22:11 masak Usage:
22:11 masak -e '...' foo bar
22:13 masak lol, I blogged! http://strangelyconsistent.org/blo​g/july-1-2012-hanoi-as-a-black-box
22:14 masak moritz: check out https://github.com/masak/crypt/blob/2fecc91​37c1a24bcb20eb8527c7e86a39ee20a1c/crypt.pl -- I'm very happy with the fruits of your exceptions labor, and it feels wonderful to use it in app code.
22:15 masak sorear: I'm very interested in getting crypt.pl to work with Niecza and keep developing on both impls in parallel. but I'm unlikely to back out of the exceptions stuff, and that seems to be the main blocker.
22:15 * [Coke] wonders if shell() is broken on windows. :P
22:16 masak sorear: I also got a ?? !! parsing error on line 71 that doesn't look wrong to me. curious to hear what you think about it. https://github.com/masak/crypt/blob/2fecc9137​c1a24bcb20eb8527c7e86a39ee20a1c/crypt.pl#L71
22:16 masak (on Niecza)
22:20 masak tadzik: I saw red pandas in 成都 -- they look more like red raccoons, to be honest. none of them did any twittering or tweeting in our precense. they moved slowly and weren't as adorably cute as the pandas.
22:20 masak presence*
22:25 felher masak++ #blog post and hanoi game :)
22:26 masak :)
22:28 masak oh crap, someone changed the API of &dir and now my blogging software needs updating...
22:35 masak by the way, the "Devastate The Adventure Game" contest, it goes for the Hanoi game, too. make it crash in some interesting way, going through its external interface.
22:45 jnthn ;)
22:46 * jnthn gets some rest
22:46 jnthn Will be back to hacking on stuff tomorrow :)
22:52 kst joined #perl6
22:56 pmichaud darn, just missed jnthn++ :(
23:11 [Coke] r: goto HECK
23:11 p6eval rakudo 1edbd3: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&HECK' called (line 1)␤Undefined routine '&goto' called (line 1)␤»
23:42 masak 'night, #perl6

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

Perl 6 | Reference Documentation | Rakudo