»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
pmichaud happy leap second, everyone (oops, we missed it!) 00:21
colomon told my wife that same thing at approximately the same time. :) 00:25
sorear o/ pmichaud 00:37
00:39 adu joined
pmichaud o/ sorear 00:51
adu \o 00:58
japhb Is .clone supposed to make deep copies, shallow copies, or bindings of the unchanged attributes? 00:59
sorear shallow copies
japhb I had a feeling ... 01:00
sorear but niecza currently just does bindings, I think
01:01 sftp left 01:02 sftp joined
japhb Is there a deep copy operation, other than I suppose 'eval $foo.perl' 01:02
?
01:10 adu left
dalek p: bec0eba | pmichaud++ | src/HLL/Compiler.pm:
Restore a basic dumping capability from Parrot's Data::Dumper.
01:41
02:07 am0c left 02:09 sftp left 02:14 Guest96700 left, sftp joined 02:17 thelazydeveloper left 02:19 am0c joined 03:02 felher left 03:24 adu joined 03:54 Chillance left 04:04 alvis` joined, adu left 04:06 alvis left 04:09 retupmoca left 04:18 harmil left 04:19 Khisanth joined 04:37 adu joined 05:00 birdwindupbird joined
dalek p: 2bd8dcb | pmichaud++ | src/HLL/Compiler.pm:
HLL::Compiler --stagestats=3 (or greater) now introduces prompts after each compilation stage.

check for system resource usage.
05:06
05:18 kaare_ joined 05:57 tokuhirom joined 05:58 larks joined, larks left, larks joined 06:23 zby_home_ joined
diakopter has watched www.youtube.com/watch?v=Veg63B8ofnQ too many times. 06:45
06:54 cognominal joined, fgomez left 06:58 cognominal left 07:03 cognominal joined 07:18 cogno joined
cogno Tadzik are you around here? 07:19
07:27 cognominal left 07:30 cogno left 07:40 xdbr joined 07:43 REPLeffect left 07:44 pupoque joined 07:49 pupoque is now known as gesh
[Coke] so, rosettacode.org/wiki/Haversine_formula#Perl_6 spends 53% of its time in type_check in Metamodel.pm 07:53
07:53 adu left
[Coke] (called 496 times) 07:53
07:53 xinming_ left 07:54 xinming joined 08:00 cognominal joined 08:06 cognominal left
tadzik [Coke]: yes 08:10
erm
I missed cogno
nvm [Coke]
08:11 cognominal joined
[Coke] aw. 08:16
08:16 cognominal left
moritz good localtime everybody 08:17
diakopter hi 08:18
[Coke] moritz: ho
tadzik hello moritz
08:19 MayDaniel joined
moritz a friend of mine is looking for a functional programming job; does anybody know such a vacancy by chance? 08:19
preferably not at a bank 08:20
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
moritz tadzik: ok, thanks
tadzik moritz: there you are
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
moritz I see some potential for workflow automate here
imagine a git github-push-pullrequest command which automates all that for you 08:24
tadzik hm 08:27
moritz and Panda needs to copy over the new File::Find, right? 08:28
tadzik aye
I'm wondering if git substree or so could do that for us
the Submodules That Don't Suck, or something 08:30
moritz tadzik: either you'll have to do the panda updating, or hand out another commit bit :-) 08:32
08:33 cognominal joined
tadzik moritz: I've just commit-bit you :) 08:33
make: Circular blib/lib/File/Find.pir <- blib/lib/File/Find.pir dependency dropped.
yeah. ufo doesn't like 'use File::Find' in SYNOPSIS :) 08:34
dalek nda: b97cf9f | moritz++ | ext/File/Find.pm:
[ext] update to latest version of File::Find
tadzik \o/
I'm now trying to make panda less broken, which should enable me to finally get the pod thing right
sisar o/ 08:36
moritz++ #star release !
moritz tadzik: I notice that panda has lots of code like statefile => $statefile, projectsfile => $projectsfile,
tadzik moritz: yes
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
oh
moritz or were you simply unware of it?
tadzik I may have just forgotten about it :)
feel free to make it nicer :)
moritz ok :-)
btw I now get the same error as Gabor (see p6u) when bootrsapping panda 08:40
seems it's some problem with reading the projectsfile
Connecting to feather.perl6.nl (feather.perl6.nl)|193.200.132.135|:3000... failed: Connection refused. 08:41
oh, that might be it
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.
for now, zzzes, though. 08:43
tadzik my crontab @reboot perl /home/tjs/modules/bin/app.pl apparently doesn't work
cognominal tadzik, I am with maryline She tells me she should meet you at 12?
[Coke] I'd be interested if jnthn++ can make anything of the "type_check" taking 53% of runtime on that rosettacode example.
tadzik cognominal: that was the plan, yes
cognominal does this still hold
she is fine by now
tadzik sure
moritz tadzik: maybe be explicit about which perl to invoke?
cognominal ok. So see you there. 08:44
tadzik moritz: I'll try that
moritz tadzik: if you have a perlbrew'ed perl, then crontab won't see it
tadzik cognominal: great, thanks
moritz: no, I don't think I do
moritz because crontab doesn't source .bash_proflie/.bashrc
tadzik but maybe I should tell it to use /usr/bin/perl or so
08:47 larks left
moritz r: say 'nosuchflie'.IO.z 08:48
p6eval rakudo a6d08c: OUTPUT«False␤»
moritz r: say 'nosuchflie'.IO.f
p6eval rakudo a6d08c: OUTPUT«False␤»
08:49 cognominal is now known as maryline, larks joined
tadzik moritz: I'm having trouble deciding where projects' workdir resolution should belong in the code 08:50
08:51 birdwindupbird left
dalek nda: 97ebac0 | moritz++ | lib/Panda/Ecosystem.pm:
empty projectsfile is also a reason to update it
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
moritz oh dammit, that commit was wrong 08:52
08:52 maryline left
dalek nda: 8800ec5 | moritz++ | lib/Panda/Ecosystem.pm:
fix precedence problem in previous commit (97ebac0)
08:53
moritz tadzik: I'm a bit lost here; what workdir are you talking about? 08:54
tadzik: the one where you clone and build a project into?
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
so the entire workflow is mostly oriented around this working directory
moritz tadzik: then yes, it should be given to each submodule
tadzik right
so at first I thought about subclassing Pies::Project, to get Panda::Project which is aware of its workdir 08:57
and I'm now wondering if that's the right approach
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:58
I'm not sure how it should look 08:59
moritz me neither, sorry 09:00
actually I don't know much about how panda works
I just try to fix small scale stuff when I can 09:01
tadzik that's great
I may need to rethink this design 09:03
or just look again at how Pls was doing this :) 09:04
dalek nda: f3a494d | moritz++ | lib/Panda/Ecosystem.pm:
die if from_json($projectsfile) is not defined

this gives a slightly better error message than the
  "Odd number of elements found where hash expected" which
Gabor reported on [email@hidden.address]
09:05
tadzik ok, pls hardcodes everything as "cache/$project<name>" 09:10
(the workdirs)
dalek o: 2f477c5 | moritz++ | bin/ufo:
ignore "use fatal"
09:13
moritz star: say 'oh hai' 09:21
p6eval star 2012.06: OUTPUT«oh hai␤»
moritz that's the new one
09:22 zby_home_ left 09:32 MayDaniel left 09:50 vlixes left 10:22 shtihskar joined
shtihskar List 10:28
10:29 shtihskar left
diakopter r: class A { method b { method c { 55 } } }; say A.c # um 10:39
p6eval rakudo a6d08c: OUTPUT«55␤»
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 11:54 whiteknight joined 11:55 whiteknight is now known as Guest12592 11:58 fridim_ joined 12:03 GlitchMr joined 12:08 PacoAir joined 12:13 spider-mario joined
tadzik seen cognominal? 12:43
aloha cognominal was last seen in #perl6 3 hours 59 mins ago saying "ok. So see you there.".
tadzik damn :/ 12:44
12:54 MayDaniel joined 12:56 birdwindupbird joined 13:10 Psyche^ joined 13:11 felher joined 13:14 Patterner left, Psyche^ is now known as Patterner 13:27 MayDaniel left 13:32 Chillance joined 13:51 tokuhirom left 14:12 sisar left, murdegern joined
murdegern hello all 14:12
just getting my feet wet with perl6, please be gentle...
14:12 sisar joined
murdegern right now, I want to clone an array of arrays... like this: @gf = ( [0,1], [2,3] ); @sgf=@gf.clone; 14:13
but it's not a deep copy, if I put @gf[0][0] = 4; then, @sgf[0][0] is also 4
how can I do this better? 14:14
14:28 nwc10 joined 14:43 murdegern left 14:48 seldon joined 15:05 odoacre joined, vmspb joined 15:08 xinming left 15:10 xinming joined 15:30 thou joined 15:37 HarryS left 15:38 HarryS joined
pmichaud good morning, #perl6 15:40
15:43 fgomez joined
felher good am, pm 15:49
moritz \o 15:50
15:51 UncleFester6 joined
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
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
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 16:02 vmspb left 16:09 xinming left 16:11 xinming joined
tadzik hello #perl6 16:33
pmichaud hello tadzik
how is/was fpw? 16:34
tadzik it was great
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/
tadzik and I'm quite convinced Pies/Panda needs sort of a redesign
although I'm not sure what is the right way to go with it 16:37
16:37 quietfanatic joined
pmichaud well, what parts are troublesome in the current design? 16:37
diakopter quietfanatic: howdy
tadzik but I thought I'll just experiment with different things and see what seems the most sane
pmichaud that approach often works, yes. :)
quietfanatic hello
tadzik pmichaud: I don't think submodules (Panda::Builder and so) are really given what they need
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
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
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
pmichaud yes, it sounds very much like a refactor is needed there
something a bit more direct
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
quietfanatic r: my @a = ([1, 2], [3, 4]); my @b = @a>>.clone; @a[0][0] = 4; say @b
p6eval rakudo a6d08c: OUTPUT«1 2 3 4␤»
tadzik but that makes testing tricky and confusing 16:40
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
pmichaud I often think that (too much "oop everything").
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:41
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
as in: I expect of Installer to copy all the things it finds in blib/. No thinking
I want Builder to take lib/ and create a blib/ that a user needs. No magic 16:43
pmichaud heh
tadzik ...well, maybe in this case magic is what actually drives this thing
pmichaud that's kind of .... exactly
it's high magic at the level you're describing :)
tadzik heh
pmichaud which is absolutely fine and desirable, if it works (and if there are ways to adjust the magic when needed)
tadzik correct
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:44
pmichaud sounds like a good plan to move forward 16:47
okay, I'm afk for a bit.
tadzik okay
16:50 larks left, larks joined
diakopter prn: say 3888888888888888888888888888888888 +| 222222222222222222222222222222222222222 16:57
p6eval niecza v19-7-g5e25209: OUTPUT«-2147483648␤»
..rakudo a6d08c, pugs: OUTPUT«222225113149307211803172354940963909566␤»
diakopter I suppose MIN_INT is decent enough for niecza 16:59
17:00 kaare_ left 17:05 kaare_ joined
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…
..rakudo a6d08c, niecza v19-7-g5e25209: OUTPUT«foo␤»
tadzik oh wow 17:31
Wikipedia says: Red pandas are generally quiet except for some twittering, tweeting, and whistling.
Twittering and tweeting! Quite a meaning those worlds've got recently 17:32
17:37 birdwindupbird left
tadzik r: 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 - ␤»
tadzik I find this sort of awesome
17:47 quietfanatic left 17:50 quietfanatic joined 17:51 vmspb joined 17:54 snearch joined
flussence oh wow 17:55
tadzik++
17:56 quietfanatic left
sisar tadzik++: nice ! 17:57
17:57 zby_home joined 18:01 MayDaniel joined 18:27 birdwindupbird joined
sorear good * #perl6 18:31
18:32 birdwindupbird left
moritz \o sorear 18:34
TimToady sorear: o/ and did you see the nieczabug at irclog.perlgeek.de/perl6/2012-06-30#i_5772426 ?/e
tadzik now that only needs a wrapper, so you can do typed_sub(Str, Int) and it would give you back the type :)
I have a thing to hack on
TimToady s['/e'] = '' 18:35
[Coke] rebuilds and installs rakudo-lastest on win7.
panda me.
sorear TimToady: yeah, can't do much about it right now
o/ moritz
TimToady ran into it in Real Code™ 18:36
diakopter doesn't know whether s['/e'] = '' is real syntax. /me is ignorant of such things 18:37
[Coke] perl6 bin\panda -> could not find Shell::Command 18:38
moritz diakopter: it is
r: $_ = 'a/e'; s['/e'] = ''; .say
p6eval rakudo a6d08c: OUTPUT«a␤»
moritz n: $_ = 'a/e'; s['/e'] = ''; .say
p6eval niecza v19-7-g5e25209: OUTPUT«a␤»
tadzik [Coke]: did you bootstrap it?
[Coke] tadzik: that IS bootstrap. 18:39
ah, earlier: "Could not find Panda in any of: ..." 18:40
diakopter n: sub s { }; say &s[0][0][0][0][0][0];
p6eval niecza v19-7-g5e25209: OUTPUT«sub s(Any \$_) { ... }␤»
[Coke] I do not have wget installed yet, but also do not see it trying to run wget anywhere.
tadzik okay
it only tries it once
rn: sub foo { return Sub where { True } } 18:41
p6eval niecza v19-7-g5e25209: OUTPUT«===SORRY!===␤␤Two terms in a row (listop with args requires whitespace or parens) at /tmp/38H7wK23Qs line 1:␤------> sub foo { return Sub ⏏where { True } }␤␤Parse failed␤␤»
..rakudo a6d08c: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 2, near "return Sub"␤»
tadzik hmm
perlcabal.org/syn/S12.html#Types_and_Subtypes seems to indicate that this is a syntax for anynymous subtypes
moritz nr: say Sub
p6eval rakudo a6d08c, niecza v19-7-g5e25209: OUTPUT«Sub()␤»
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␤»
timotimo r: my $a = sub ($a, $b) {}; say $a.signature.params[0].type ~~ Int;
p6eval rakudo a6d08c: OUTPUT«False␤»
timotimo mhm, mhm.
[Coke] tadzik: I installed wget. reran bootstrap.sh. same error. 18:45
git clean -xdf in case something was cached - boostrap again, same error.
timotimo tadzik: you wrote "plan 9" and resisted the urge to say something about outer space? 18:46
18:47 snearch left
[Coke] perl6lib bug on win? 18:47
cxreg that list of unsupported features on the star announcements is dwindling 18:49
is async i/o on the radar or is that far off? 18:50
[Coke] r: say $VM
p6eval rakudo a6d08c: OUTPUT«===SORRY!===␤Variable $VM is not declared␤at /tmp/cBXnAWLUKj:1␤»
[Coke] r: say $VM<config><osname>
p6eval rakudo a6d08c: OUTPUT«===SORRY!===␤Variable $VM is not declared␤at /tmp/gF_LVHJTny:1␤»
moritz r: say $*VM
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…
[Coke] the PERL6LIB handling is keying off that variable, and it isn't defined.
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.
but I am neither a Rakudo nor a Parrot developer, just an observer.
cxreg nwc10: yeah i suppose that is true
moritz [Coke]: line 48 installs it as $PROCESS::VM, which makes it available as $*VM in user space 18:52
[Coke]: what does $*VM<config><osname> say on your system?
[Coke] moritz: but it's used as $VM on line 68, 69. should that work?
moritz [Coke]: yes
[Coke] $*VM<config><osname> gives the right answer. $VM<config><osname> -> Variable $VM is not declared. 18:53
(in the REPL)
moritz [Coke]: it's declared lexically as $VM, but inside a block; then it is installed globally later on
and because it's inside a block, userspace code cannot see it as $VM directly
timotimo wow, $*VM is a *huge* bit of output 18:54
18:55 birdwindupbird joined
moritz r: say $*VM<config>.elems 18:55
p6eval rakudo a6d08c: OUTPUT«256␤»
moritz timotimo: it's all parrot's config stuff
[Coke] ah! bootstrap.bat has a trailing space on the first line.
moritz [Coke]: and that sets PERL6LIB incorrectly? 18:56
cxreg nwc10: yeah. "Currently, Parrot only implements synchronous I/O operations"
[Coke] now the install proceeds, but dies with "unable to open filehandle from path "C:\Users\coke/.panda/projets.json'
moritz: apparently. 18:57
projects.json doesn't exist.
tadzik timotimo: oh, true :)
dalek nda: f4e6b5c | moritz++ | bootstrap.bat:
[bootstrap.bat] remove trailing space

seems to cause damage on win7. [Coke]++
nda: 67cca94 | moritz++ | lib/Panda.pm:
cosmetic changes
tadzik oh, that got fixed already 18:58
moritz [Coke]: it should try to download that with wget
tadzik cxreg: but we do have .poll
but, it's still non-blocking, not asynchronous
cxreg yeah true, i guess you could implement your own event loop using poll
tadzik I did that :) 18:59
cxreg cool
tadzik github.com/tadzik/MuEvent
cxreg nice
[Coke] moritz: 2 bugs:
cxreg you're polling the sockets serially? that's odd 19:00
[Coke] shell outputs no errors when its command fails
can't use single quotes to group args on win.
[Coke] changes it to " locally to test..
tadzik ===SORRY!=== 19:01
ResizablePMCArray: Can't pop from an empty array!
now that's a new error
cxreg tadzik: unless i'm missing some laziness or concurrency semantic?
tadzik cxreg: yeah, I'm doing exactly that
moritz r: use ::;
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␤»
tadzik MuEvent isn't really a proper solution, no
cxreg well, i guess it works :)
tadzik yeah, it does ;)
it can do async HTTP requests and stuff
moritz tadzik: it usually happens when you use an empty name somewhere you shouldn't
(but not always)
[Coke] next failure: 'e' is not recognized as an interncal or external command.
tadzik moritz: yeah, that's it 19:02
r: sub { return subset :: of Sub where { 1 } }
p6eval rakudo a6d08c: OUTPUT«===SORRY!===␤ResizablePMCArray: Can't pop from an empty array!␤»
tadzik S12 says it's valid
moritz tadzik: prolly just NYI
tadzik yeah, may be
hmm
so I can't return an anonymous subset; shame 19:03
but I can make another hack to get that P:
[Coke] gist.github.com/3029268
tadzik hmm, that rings a bell 19:04
oh
old rove
* prove
with no -e support
moritz might be spelled -p
(for "perl executable")
[Coke] my prove is tap harness 3.23 19:05
tadzik oooohohoho
dalek nda: 2a794e3 | moritz++ | lib/Panda/Ecosystem.pm:
use double quotes for quoting shell arguments

more windows friendly that way. [Coke]++
19:06
[Coke] guessing it's related to how you're invoke prove there. 19:08
in panda\lib\Panda, you modify PERL6LIB but don't take path separators into account. 19:09
; vs. :
tadzik ohoho this is so evil 19:10
19:11 nwc10 left
[Coke] looks like this is in a few places. 19:13
tadzik: what, panda? ;)
I am also unsure {shell "env VAR=$val ..."} is valid cmd shell. 19:17
might need to be something like "set VAR=$val; ..."
moritz does simply VAR=$val programm work on windows? 19:18
[Coke] moritz; no
set VAR=$val ; REM AT LEAST IN THE SHELL
(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 :)
essentially this: gist.github.com/3029304
r: say so Any ~~ Str 19:20
p6eval rakudo a6d08c: OUTPUT«False␤»
tadzik r: say so Str ~~ Any
p6eval rakudo a6d08c: OUTPUT«True␤»
tadzik but reversing the arguments to Z~~ doesn't fix it :( 19:21
Z=== doesn't work either. Hmm
19:21 adu joined
moritz ~~ does something special syntactically 19:22
r: say (Any, Str) Z=== (Str, Str)
p6eval rakudo a6d08c: OUTPUT«False True␤»
moritz looks correct to me
tadzik yeah
r: (Str, Int) ~~ (sub(Str, Any) { }).signature.params.map(*type) 19:23
p6eval rakudo a6d08c: OUTPUT«===SORRY!===␤Confused␤at /tmp/CURPZ16U8H:1␤»
tadzik r: (Str, Int) ~~ (sub (Str, Any) { }).signature.params.map(*type)
p6eval rakudo a6d08c: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 2, near "type)"␤»
moritz *.type
tadzik r: (Str, Int) ~~ (sub (Str, Any) { }).signature.params.map(*.type)
p6eval rakudo a6d08c: ( no output )
dalek nda: 3a31d6c | moritz++ | lib/Panda/ (2 files):
PERL6LIB separator is OS sensitive
tadzik r: say so (Str, Int) ~~ (sub (Str, Any) { }).signature.params.map(*.type)
p6eval rakudo a6d08c: OUTPUT«False␤»
tadzik looks correct
oh, so I don't need Z~~
r: say so (Str, Int) Z~~ (sub (Str, Any) { }).signature.params.map(*.type)
p6eval rakudo a6d08c: OUTPUT«False␤»
tadzik r: say so (Str, Int) ~~ (sub (Str, Int) { }).signature.params.map(*.type) 19:24
p6eval rakudo a6d08c: OUTPUT«True␤»
tadzik r: say so (Str, Int) Z~~ (sub (Str, Int) { }).signature.params.map(*.type)
p6eval rakudo a6d08c: OUTPUT«False␤»
[Coke] moritz++ !
moritz [Coke]: it still uses env though
tadzik yay fixed~
!
r: 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 - ␤»
tadzik thus, Typed::Subroutines comes to life
moritz [Coke]: does panda work now? or does it need set VAR=$val; ... ? 19:26
and I guess you can't use ; either to separate statements udner windows...
19:26 MayDaniel left
moritz oh, but we can now set %*ENV 19:26
which we couldn't back in the days 19:27
lemme try
[Coke] ah, that is the best option. ja.
I assumed it didn't work, still. ;)
19:28 adu left
tadzik oh, Podbug :) 19:28
gist.github.com/3029325 19:29
moritz but, but both *are* nice subroutines, no? :-) 19:30
tadzik well, true 19:31
now, a test
r: gist.github.com/3029332 19:32
there we are
p6eval rakudo a6d08c: OUTPUT«ok 1 - ␤not ok 2 - ␤»
tadzik -bot reports rakudobug 19:33
19:38 MayDaniel joined
[Coke] moritz: I see shell "rm -r", "rm -rf" 19:38
moritz [Coke]: :( 19:39
[Coke] moritz: I assume those are for cleanup and matter less. 19:40
dalek nda: 68dc4fe | moritz++ | lib/Panda/ (2 files):
set environment variables through %*ENV

more portable that way, hopefully
[Coke] ooh, thanks.
hee.
tadzik moritz++ # ooh, good one 19:41
[Coke] ok, now, instead of complaining about 'e', it complains about 'p'. ;)
checking.
dalek osystem: 42762f0 | tadzik++ | META.list:
Add Typed::Subroutines
19:42
moritz r: anon subset MyS where 1; say MyS 19:44
p6eval rakudo a6d08c: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&MyS' called (line 1)␤»
[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
but called from inside panda, I get the 'p' error.
tadzik moritz: I think I tried that as well 19:46
moritz tadzik: I think I have a fix here locally
tadzik oh awesome!
moritz tadzik: it works, but I'm still waiting for the spectest run to finish
tadzik I'm giving you a commit bit to Typed::Subroutines Justin Case :)
but for now I'm going to catch some sleep 19:47
moritz should do that too
tadzik see you tomorrow, Awesome Brigade! 19:48
[Coke] AHA.
19:48 kaare_ left
[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
the result from the execution is 1,
but the actual command /is/ failing. more digging. 19:51
dalek kudo/nom: 1edbd37 | moritz++ | / (2 files):
anonymous subset types with "subset :: where ...;"
19:54
19:56 MayDaniel left
[Coke] r: die 1,2 20:01
p6eval rakudo a6d08c: OUTPUT«12␤ in block <anon> at /tmp/lqsffHIYMq:1␤␤»
[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:03
20:04 adu joined
moritz r: 1 and die 1, 2 20:04
p6eval rakudo a6d08c: OUTPUT«12␤ in block <anon> at /tmp/0skemc5S1l:1␤␤»
moritz huh.
20:05 bruges left
[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
[Coke] anyway, getting a more useful error message now. 20:07
20:07 GlitchMr left
pmichaud lib/Panda/Builder.pm defines a local &die ? 20:08
moritz oh 20:10
it might
pmichaud line 9
[Coke] oh. my more dteailed error message is that I thought I was using a regular die. :P
moritz but it looks like it's used correctly 20:11
with two arguments
[Coke] that die takes 3 args, but we're calling it with only 2.
... whoops, you're right. 20:12
pmichaud is the die message coming back as "%s stage failed for %s: %s", then? 20:13
(that's what the X::Panda exception should be displaying, iiuc)
[Coke] gist.github.com/3029461 20:15
moritz yes, "build stage failed for File::Tools: Failed building lib/File/Find.pm" 20:16
but it's not the first error
I guess the one before is from not finding 'rm' ?
anyway, sleep & 20:19
sisar pmichaud: installing libreadline6-dev does not help. For rebuilding Parrot, the --gen-parrot option is the correct way, right ?
pmichaud sisar: yes, libreadline-dev has to be installed at the time Parrot is built. (more) 20:20
--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"
then go back to the rakudo directory and do the Configure.pl step 20:21
sisar pmichaud: oh, ok. Thanks.
pmichaud oh, and you probably need to rm -rf the 'install/' directory
sisar ok 20:22
20:29 Entonian joined 20:30 Entonian left 20:35 adu left
masak lol, I totally blogged! \o/ strangelyconsistent.org/blog/anothe...ere-i-come 20:52
and there's more where that came from. I just need to land a my apartment, then you'll get July 1, 2012.
s/land a my/land in my/ # French, what are you doing to me? 20:53
& 20:56
diakopter tries to learn how to cherry-pick a commit from a branch into master 20:57
21:00 birdwindupbird left 21:02 birdwindupbird joined
[Coke] diakopter: do you have the commit hash? 21:02
diakopter yes
[Coke] can spoil it for you if you like.
diakopter sure :)
[Coke] git checkout master; git cherry-ick <hash> 21:03
*pick !
diakopter doesn't really like cherries either
[Coke]: thx 21:04
so if I eventually merge the branch with master, there won't be a problem I assume
[Coke] I think git is smart enough, ja. 21:07
21:07 adu joined 21:11 zby_home left
diakopter likes Github's app for Windows; it's a good substitute for the things at which TortoiseGit is broken. 21:13
for my simple usage.
21:17 birdwindupbird left
masak git is indeed smart enough. cherry-picking is essentially idempotent. 21:18
21:23 vmspb left
sisar masak++, another month of blogging, writing a big game in Perl6, giving away prizes, hell yeah !! :-D 21:24
21:24 PacoAir left
masak awesome begets awesome. I've had an awesome weekend in Strasbourg. 21:26
eiro++ fpw++ liz++ wendy++ mst++ jnthn++ tadzik++ # and probably lots of others that I forget now 21:27
jnthn Good evening, #perl6
masak jnthn! \o/
jnthn is safely back from the French Perl Workshop
My laptop, sadly, did not survive the trip, however.
ingy greetings
masak ingy! \o/ 21:28
ingy me is on his way back from YAPC::NA
flussence ooh, I just made the rakudo repl freak out
r: my num $
p6eval rakudo 1edbd3: ( no output )
masak mourns jnthn's laptop
ingy took the long way home
21:36 adu left
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:44
21:45 wooden joined, wooden left, wooden joined
sisar pmichaud: yes, it worked. I now have a much usable REPL. 21:47
21:48 M_o_C joined
sorear \o/ masak, jnthn 21:55
masak: that's also what 'skip' is for, just saying 21:56
masak aye. 21:57
you're not wrong.
:)
21:59 rjbs left
[Coke] jnthn: welcome back. 21:59
jnthn [Coke]: Thanks :) 22:00
[Coke] moritz++ is getting us closer to winderspanda. 22:01
jnthn winderspanda? 22:02
oh
windows panda 22:03
:)
22:06 M_o_C left 22:10 rjbs joined
masak is this one in RT? 22:11
$ perl6 -e 'multi MAIN("foo bar") {}' foo bar
Usage:
-e '...' foo bar
lol, I blogged! strangelyconsistent.org/blog/july-1...-black-box 22:13
moritz: check out github.com/masak/crypt/blob/2fecc9...c/crypt.pl -- I'm very happy with the fruits of your exceptions labor, and it feels wonderful to use it in app code. 22:14
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. github.com/masak/crypt/blob/2fecc9...ypt.pl#L71
(on Niecza)
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
presence*
felher masak++ #blog post and hanoi game :) 22:25
masak :) 22:26
oh crap, someone changed the API of &dir and now my blogging software needs updating... 22:28
22:34 kst left
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:35
22:37 larks left
jnthn ;) 22:45
jnthn gets some rest 22:46
Will be back to hacking on stuff tomorrow :)
22:51 fridim_ left 22:52 kst joined
pmichaud darn, just missed jnthn++ :( 22:56
23:07 thelazydeveloper left
[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:14 spider-mario left 23:20 gesh left 23:25 Chillance left
masak 'night, #perl6 23:42
23:47 seldon left