»ö« 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.
Tene Anyone here know anyone looking for work? 01:37
perigrin Tene: autarch is looking for work 02:14
aesop Tene: what kind 03:07
Tene aesop: linux sysadmin, lots of automation written in perl 03:09
aesop full time? 03:10
Tene Yes.
aesop argh 03:11
i've been looking for something to do on the side
Tene although, we're getting pretty desperate, so we're trying to consider how to expand our candidate pool. They've had bad experiences with telecommuting before, but I'm trying to talk them into it, as it's not going to be worse than staying understaffed. :P 03:12
I hadn't heard anyone suggest part-time contracts, though. 03:13
I'll bring it up.
aesop yea, if the scheduling for the position changes ping me in here, i might be available for it 03:14
masak lol hi from a train 06:16
sorear how does that work? satellites? 06:17
broadband over third rail? :)
masak :P
i have a little Huawei device that I plug in, like almost everyone nowadays. 06:18
the little Huawei device... I don't know what it communicates with. but probably ordinary ground stations.
I think it's slightly uncanny, because I plug it in right next to my left hand, and it emits a very faint but detectable heat field. 06:19
sorear like radiative/convective heating, or like your hand is absorbing the transmitter radiation? 06:21
masak the former.
masak bah, tunnels. 06:40
lestrrat hmm, not quite getting how p6 handles parameters. sometime I get [ ( ... ) ] instead of [ ... ] (1 element seq of seq, insead of the entire seq) when I pass arguments to my object constructor. 06:44
is there a general guideline for passing around parameters sot that they DWIM ?
not quite groking the conversion... 06:45
masak lestrrat: I recognize what you're describing. 06:46
lestrrat: it all comes down to signature binding being... binding.
lestrrat I guess if I'm writing my own sub, I can just do stuff like *@list or whatever, but how do you handle it when you're passing stuff to your constructor? 06:47
in simple case, this worked for me : class Foo { @.list }; Foo.new( list => (...) ) 06:48
but then I started making object factories, and things started getting hairy.
say, Factory.create_foo( args_for_foo1 => { list => (...) } )
I then tried iterating for @.list -> $v, and $v contains the entire list instead of the listing being initialized with the values 06:49
I might be approaching this too P5-ish, but ... just not groking it :)
masak I think you're doing fine. 06:50
at this point, a gist from you with a minimal piece of code would help me.
lestrrat yeah I know. I wrote a rather long hairy piece of code, so I'm having problems extracting a minimal case :) 06:51
will try though.
masak it's usually possible.
lestrrat masak: gist.github.com/938427 06:56
lestrrat masak: gist.github.com/938427 (repost just in case) 06:58
afk 07:01
lestrrat man, damn the train :) 07:05
masak lestrrat: I think your expectation is a very reasonable one. 07:36
partly because I'm sometimes bitten by this one myself :)
lestrrat: here's my previous take on it: rt.perl.org/rt3/Ticket/Display.html?id=67872 07:38
no, wait. that one was resolved.
hm. it's not this one either. 07:39
rt.perl.org/rt3/Ticket/Display.html?id=76242
I know there was a spec change involved. maybe I can find it that way. 07:40
it was around March last year, because I was discussing this in the car with jnthn and mberends while jnthn was moving house. 07:41
masak ah. here is the spec commit: github.com/perl6/specs/commit/7420...c13774c18d 07:45
lestrrat does that mean you need to bind the parameters via ref binding in order to achieve what I'm trying to do? 07:49
moritz you can try @.list.list 07:59
not sure if it helps, or if it is what you want
I find the behavior weird too
dalek ecza: 90a60f5 | pmurias++ | hoopl/.gitignore:
[hoopl] added .gitignore
09:18
ecza: 4db171f | pmurias++ | hoopl/ (5 files):
[hoopl] simple-test/if.t is converted to Op
lestrrat hmm, I can't really find a way to do what I want other than creating a BUILD that flattens the incoming list 09:39
jnthn afternoon, #pelr6 11:26
...oops :)
Juerd Is that the secret channel? :) 11:27
jnthn ;) 11:28
JimmyZ good evening, #perl6 14:23
moritz \o 14:24
isBEKaml good *, #perl6! 14:59
sjn heh 15:08
I actually read that as "good Whatever" 15:09
sjn is obviously damaged already
isBEKaml sjn: * holds your boat. :)
sjn meh, * 15:10
:)
sjn wonders if there's a "meh" operator or method, and what it would do
maybe "meh" would just be an alias for "Whatever"? :) 15:11
isBEKaml you could add that to ouch.pm, yeah. :)
sorear \o/ I started a meme 15:20
isBEKaml sorear: \\o 15:21
moritz sjn: I think 'good *' was actually meant as 'good Whatever', given that people have different timezones, so wishing a good morning would be off in most parts of the world 15:30
isBEKaml mostly like good localtime() used by moritz++ . :) 15:31
however, people in eastern timezones have it easy - they just have to wish "good evening" and chances are, they'd not be far off the mark. unless you count alaska. :) 15:34
moritz or you can answer with the canonical "it's always morrning somewhere" - still I like 'good *' :-) 15:39
sorear I did start that one, right? 15:40
moritz sorear: yes 15:41
isBEKaml irc and timezones remind me of a certain blog I read. It talked about introducing new devs into their projects by organiziing a build-it conference or something. It included GNOME Vidalia team too, I think. 15:42
ah, here it is: blog.lydiapintscher.de/2011/04/18/h...by-asking/ 15:45
pmurias fglock: hi 16:26
fglock pmurias: hi 16:27
pmurias fglock: how's perlito doing?
fglock I've released version 7.0 - I think it looks ok :) 16:28
pmurias do you use it for anything? 16:29
fglock: it's released as v6 on CPAN? 16:30
fglock nferraz is trying to use it for programming an app in the iPhone, but I don't use it myself
yes - v6.pm in cpan
I've used your code to make it more generic
so it can also use other backends
pmurias fglock: he is using the js backend? 16:31
fglock yes, with Titanium
www.appcelerator.com/products/titan...velopment/ 16:32
pmurias fglock: will you be at YAPC::EU? 16:36
fglock hmm - probably not, but I haven't decided yet 16:38
are you going? 16:39
pmurias yes 16:41
fglock: you now live in the Netherlands? 16:51
fglock yes, I'm in Amsterdam 16:53
moritz at booking.com?
fglock yes
moritz wonders if there any perl hackers in Amsterdam *not* working for booking :-)
fglock yes, there are :)
sorear WOAH! 17:09
fglock \o/
tadzik fglock: working with Bruno? 17:10
fglock tadzik: yes 17:12
sorear: hi
fglock sorear: somebody asked me about Perl 6 for the Windows phone, I've pointed out to Niecza 17:18
sorear Perl 6 exists offline now?
fglock offline?
sorear outside #perl6 / perl.org ezmlm 17:19
fglock heh - yes, it does
many people can't stay online, I guess 17:20
dalek rixel: db6b67f | diakopter++ | / (7 files):
add simple scalar variable interpolation into string literals; add modulus operator
17:31
dalek rixel: c73fd92 | diakopter++ | sprixel/src/ (3 files):
interpolate only in double-quoted strings
17:42
fglock hmm - the compiler in Perlito is now 5 years old 17:49
it is based on lrep, which started about february or march 2006
pmurias remembers lrep 17:52
sorear lrep?
pmurias it was used to bootstrap mp5
* mp6
mp6 then evolved into kp6 (which died) and perlito (which lives on) 17:53
sorear is very new here 17:58
dalek p/ctmo: d59b19a | jonathan++ | src/ (3 files):
Pass along current view of $*GLOBALish to module loader. Needs to be optional param now until we take another trip around the bootstrapper.
18:10
p/ctmo: 22efd68 | jonathan++ | src/stage0/ (6 files):
Update bootstrap.
p/ctmo: 184a976 | jonathan++ | src/ModuleLoader.pm:
The dumbest GLOBAL merger that could possibly work (TM). Seems it actually will handle what NQP needs - or at least, it doesn't complain about anything.
p/ctmo: 2882b8e | jonathan++ | src/ModuleLoader.pm:
Make sure multiple uses of the same module won't run into issues.
p/ctmo: e46af01 | jonathan++ | src/ModuleLoader.pm:
A symbol can never conflict with itself.
p/ctmo: 57da2ce | jonathan++ | src/NQP/Actions.pm:
Extend find_lex, which finds a compile-time known lexical, to find_sym, which knows how to look in packages too.
p/ctmo: 772f1f5 | jonathan++ | src/HLL/SerializationContextBuilder.pm:
Fix a thinko.
lue hello world! o/ 19:14
colomon \o
tadzik hello lue o/ 19:15
birdwindupbird o/
dalek p/ctmo: c15d820 | moritz++ | build/Makefile.in:
[build] fix whitespaces in Makefile.in
19:24
tadzik :) 19:27
jnthn meh, that jnthn guy sucks... :P 19:33
moritz++ :) 19:34
moritz it's more that the file format sucks
distinguishing blanks and tabs... meh.
jnthn :)
Well, the problem is that my make program agrees. So doesn't. :) 19:35
jnthn moritz: Can I take your lack of other "oh noes" comments to mean the ctmo branch built fine for you other than this fix? :) 19:44
moritz jnthn: yes 20:01
jnthn moritz: OK, thanks. 20:04
moritz jnthn: parallel build is borked, but that's nothing new
jnthn moritz: I've just added a bunch of makefile dependencies here. 20:05
jnthn moritz: Hit the point where I need it to be a bit more honest about those ever for normal build. :) 20:05
jnthn Oh gah. I just also ran into Match not being a 6model class yet... 20:05
diakopter perlesque: gist.github.com/938925 20:06
p6eval perlesque: OUTPUT«socks 4 50␤sunglasses 7 20␤note-case 22 80␤waterproof overclothes 43 75␤waterproof trousers 42 70␤suntan cream 11 70␤banana 27 60␤glucose 15 60␤sandwich 50 160␤water 153 200␤compass 13 35␤map 9 150␤value: 1030 weight: 396␤»
diakopter oh good; that still works.
dalek p/ctmo: da7760a | jonathan++ | src/ (3 files):
Add a --module-path option so we can make sure we load the correct module during the bootstrap.
20:09
p/ctmo: e67c854 | jonathan++ | build/Makefile.in:
Build Regex.pbc in the stages, like everything else. Also add a bunch of dependencies to try and get things a bit more honest. May go some way to helping the parallel build also.
moritz tests 20:11
jnthn: parallel build now succeeded (with -j3 ) 20:13
failures in 4 tests - you probably expect those 20:14
jnthn yay :) 20:15
jnthn moritz: Can you remember how far match-nom was from working? 20:15
moritz: Looking at the branch, it's hard to guess... :)
moritz jnthn: build fails 20:16
jnthn: something related to vtables, you said, but I always got a different (and non-helpful) error message
jnthn moritz: OK 20:19
Whoa. I think git just managed to merge all of ctmo into that branch with just one conflict I had to fix by hand!
moritz now imagine you'd have to do that with svn... :-) 20:20
jnthn "Can only use get_how on a SixModelObject"
jnthn looks at how hard it'll be to fix 20:21
diakopter Johnny Six is not alive
jnthn Wasn't planning to do this now but...it may be less hassle to do it than work around it.
colomon do it! 20:26
dalek Heuristic branch merge: pushed 200 commits to nqp/match-nom by jnthn 20:32
jnthn <3 git 20:34
dalek p/match-nom: b39657f | jonathan++ | / (5 files):
Various twiddles to bring that was done in the original match-nom branch up to date with the latest changes in ctmo.
20:49
jnthn OK, now I seem to be at a "real" error: "Malformed package declaration at line 10, near "('P6str') ""
e.g. something is busted with Match that affects the parse. 20:50
moritz that's the error I've been seeing all along, and which isn't helpful at all :(
jnthn At least we see the same error now 20:55
Well, it's hard for the parser to give a good error if it's broken. ;)
The bug is that it actually hits the error condition.
Which I guess is because somehow it ends up with corrupted match state.
moritz now it shows that we don't have tests for the Match object 20:58
jnthn Well, at the moment we can't even parse a source file that just contains "1"...so something is fundementally busted somewhere. 21:02
jnthn Oh.. 21:09
$I0 = repr_get_attr_int self, cur_class, '$!from'
$I0 = repr_get_attr_int self, cur_class, '$!to'
$I2 = isge $I1, $I0
...I'm guessing one of those should set $I1.
moritz ... yes.
the second one, presumably 21:10
jnthn I presume so
The parsetraces made it look like every match always matched...
Which led here. :)
dalek p/match-nom: 6677389 | jonathan++ | src/Regex/Cursor-builtins.pir:
Restore some DEBUG capabilities.
21:12
p/match-nom: e886b7e | jonathan++ | src/Regex/Match.pir:
Fix a probable copy-pasto. Also toss some useless :vtable declarations - we set those up via the meta-object now.
jnthn moritz: With that fixed we can actually parse and compile simple programs using the match-nom branch.
jnthn Latest error is about get_string_keyed() not implemented, which is probably not too hard to fix. 21:14
jnthn But it goes pretty deep into the parse of the meta-objects now. 21:14
dalek p/match-nom: 48e3d16 | jonathan++ | src/HLL/Grammar.pm:
We don't implement the string-returning keyed variants of the v-table yet; just work around that, since the values for now are all stored boxed anyway, so it doesn't matter to much where we unbox.
21:40
p/match-nom: ad848d0 | jonathan++ | src/ops/nqp.ops:
Make sure we really do consider all available Parrot v-table indexes when building the overloads array; we missed some off the end.
p/match-nom: 8b9383f | jonathan++ | src/pmc/sixmodelobject.pmc:
Make unshift_pmc and push_pmc overridable.
p/match-nom: af53a9b | jonathan++ | src/core/NQPCapture.pm:
Override unshift_pmc and push_pmc in NQPCapture.
dalek rixel: 2b2adbf | diakopter++ | / (9 files):
more p6 grammar interpreter work - end-of-input, string literals
21:47
p/match-nom: af16e75 | jonathan++ | src/core/NQPCapture.pm:
Implement .list and .hash on NQPCapture.
22:08
p/match-nom: 354eff8 | jonathan++ | src/HLL/Grammar.pm:
Fix an earlier fix. D'oh.
jnthn With this, match-nom now parses the meta-objects and module loader. Now just to track down that's going on in the setting... 22:09
dalek p/match-nom: 15a19ea | jonathan++ | src/core/NQPCapture.pm:
Unfortunately, we rely on the semantics of Capture returning PMCNULL; mimic that for now in NQPCapture. This is the last bug that stood in the way of NQP completely building on match-nom. No test regressions either! No speed win, though that's not entirely surprising at this point - there's several known sub-optimalities. moritz++ for most of the work on match-nom.
22:20
jnthn To clarify, I expect the object-y bits are mostly more optimal, but moving Capture to NQP has produced other costs that we can't yet optimize away. And we're not even emitting the object-y bits optimally yet either (can't until I finish up this compile-time meta-objects work). 22:24
It *should* be a memory win as match objects now inline the from/to directly as ints in the object, rather than making Integer PMCs. 22:25
dalek p/ctmo: 05aa5ed | jonathan++ | / (117 files):
Merging ctmo into match-nom.
22:26
p/ctmo: b39657f | jonathan++ | / (5 files):
Various twiddles to bring that was done in the original match-nom branch up to date with the latest changes in ctmo.

Update bootstrap.
polettix perl6: any <one two three> 22:42
p6eval niecza v4-69-g4db171f: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'any' used at line Any()1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 388 (CORE die @ 2)␤ at /home/p6eval/niecza/src/STD.pm6 line 1141 (STD P6.comp_unit @ 75)␤ at
../home/p6eval/niecza/…
..pugs, rakudo ecc4ef: ( no output )
polettix perl6: any <one two three>; 22:43
p6eval niecza v4-69-g4db171f: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'any' used at line Any()1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 388 (CORE die @ 2)␤ at /home/p6eval/niecza/src/STD.pm6 line 1141 (STD P6.comp_unit @ 75)␤ at
../home/p6eval/niecza/…
..pugs, rakudo ecc4ef: ( no output )
polettix perl6: my $x = any <one two three>; $x.say; 22:44
p6eval rakudo ecc4ef: OUTPUT«any("one", "two", "three")␤»
..niecza v4-69-g4db171f: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'any' used at line Any()1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 388 (CORE die @ 2)␤ at /home/p6eval/niecza/src/STD.pm6 line 1141 (STD P6.comp_unit @ 75)␤ at
../home/p6eval/niecza/…
..pugs: OUTPUT«any(VStr "one",VStr "three",VStr "two")␤»
polettix perl6: my $x = any<one two three>; $x.say;
p6eval niecza v4-69-g4db171f: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'any' used at line Any()1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 388 (CORE die @ 2)␤ at /home/p6eval/niecza/src/STD.pm6 line 1141 (STD P6.comp_unit @ 75)␤ at 22:45
../home/p6eval/niecza/…
..pugs: OUTPUT«*** Odd number of elements found where hash expected: VJunc any()␤ at /tmp/Ajx7q3sCzH line 1, column 4-27␤»
..rakudo ecc4ef: OUTPUT«any()␤»
polettix is that space really necessary?
sorear yes
polettix where can I found out more about it? 22:46
(which I hope to be a polite way of asking "why?") 22:47
sorear I forgot 22:48
sorear but the issue has to do with ambiguities 22:48
for instance, "if %foo{12} { ... }"
the required lack of space on hash subscripts allows Perl 6 to parse that 22:49
jnthn S02 talks about it a bit, starting "In general, whitespace is optional in Perl 6..." 22:50
polettix thanks! 22:52
cheers 22:56
gavin2u hi buddy 23:47
sorear ? 23:49