»ö« | perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is your friend!
Set by Tene on 14 May 2009.
00:04 cognominal_ joined, [particle] joined, amoc joined 00:05 nihiliad joined 00:06 [particle] left, [particle] joined 00:13 Limbic_Region left 00:19 cotto joined 00:24 amoc left 00:25 amoc joined 00:26 frioux joined 00:29 bacek joined, DanielC_ joined 00:39 rfordinal joined 00:44 DanielC is now known as Guest80385, eMaX left, DanielC_ is now known as DanielC 00:45 cognominal_ left, Guest80385 left 00:47 cognominal_ joined 00:48 araujo joined 00:49 araujo left 01:07 nihiliad left, nihiliad joined 01:12 cognominal_ left 01:16 meppl joined 01:17 mycelium joined 01:20 Whiteknight left 01:22 netfish joined 01:28 cdarroch left 01:39 payload left 01:57 payload joined, Adrian-bne joined 02:18 rfordinal3643 joined, rfordinal left 02:25 rfordinal joined 02:26 rfordinal3643 left
japhb pmichaud: How do I create a Parrot type from Rakudo? In particular, I'd like to create a ManagedStruct. 02:28
02:32 rfordinal left, rfordinal joined 02:43 eternaleye joined 02:45 rfordinal left 02:55 payload left 03:03 araujo joined 03:04 netfish left 03:09 agentzh joined 03:15 TimToady sets mode: +oooo japhb PerlJam skids Tene, TimToady sets mode: +oooo rafl Matt-W justatheory szabgab 03:17 sparc joined 03:43 frioux left 03:48 meppuru joined, skids left 03:50 rfordinal joined 04:04 meppl left 04:06 frioux joined
s1n moritz_: you've been reposted on rapid-dev.net 04:25
04:39 nihiliad left 04:40 bejuryu joined
Tene japhb: with current rakudo, make a PIR library that exports it 04:49
japhb Tene: Yeah, I'm sorta going that route with inline Q:PIR anyway, since once I have a ManagedStruct, I have to access it the elements using PIR. $MS[0] = $one does not DTRT. 04:50
04:54 charsbar joined 05:00 mikehh_ joined
Tene nice 05:01
japhb: what does it do that is wrong? 05:02
japhb Tene: It tries to apply postcircumfix:[] to get an lvalue, which can then be stored into. But ManagedStruct just wants to do a keyed set. 05:04
Tene ew 05:06
05:06 Adrian-bne left
Tene Rakudo still has a ways to go in dealing with foreign objects. 05:07
japhb Tene: nodnod 05:08
Tene I noticed the other day that a rakudo functionsignature with a &var in it won't work with non-rakudo code objects
still need to report
sleep now
afk
japhb nodnod
05:14 frioux left 05:16 bejuryu left, bejuryu joined 05:20 bejuryu left, bejuryu joined 05:30 mikehh_ is now known as mikehh, _jaldhar joined, _jaldhar is now known as jaldhar 05:36 frioux joined 05:39 justatheory joined 05:41 justatheory left 05:45 bejuryu_ joined 05:50 digitalise joined 05:56 digitalise left 05:57 digitalise joined, bacek left 06:00 sparc_ joined, digitalise left 06:02 frioux left, xinming joined, bejuryu left 06:04 sparc___ joined 06:08 xinming__ joined
moritz_ good morning 06:08
06:09 sparc left, sparc___ is now known as sparc
literal @tell masak: yeah, been extra-busy with some other real-life things unfortunately, will pick up the pace 06:15
lambdabot Consider it noted.
06:16 xinming_ left
szabgab rakudo: my @x = 1..4:by(2); 06:19
p6eval rakudo 952fe6: OUTPUT«Statement not terminated properly at line 2, near ":by(2);"␤in Main (src/gen_setting.pm:0)␤»
szabgab still not working right ?
std: my @x = 1..4:by(2);
p6eval std 27101: ( no output ) 06:20
06:20 clintongormley joined, sparc___ joined
moritz_ right 06:20
szabgab rakudo: my @x = ('a' .. 'd') 06:21
p6eval rakudo 952fe6: ( no output )
06:21 sparc_ left
szabgab rakudo: my @x = ('a' .. 'd'); @x.perl.say; 06:21
p6eval rakudo 952fe6: OUTPUT«["a", "b", "c", "d"]␤»
06:21 rfordinal left
szabgab wow, this does not work on my version 06:21
06:22 rfordinal joined
moritz_ wow, how old is your version? 06:22
szabgab try this: perl6 -e'my @x = ('a' .. 'd'); @x.perl.say' 06:23
it works inside but not on -e
moritz_ szabgab: -e ' ... 'a' ... ' is a bad idea
szabgab about 18 hours old :-)
crap :-)
06:24 sparc_ joined
szabgab yeah, works with the correct quotation 06:24
moritz_ rakudo sees no quotes around a, which is why it tries to call sub a()
szabgab sorry for the noise
moritz_ and complains about "Could not find non-existent sub a"
happens to all of us sometimes ;-)
szabgab I think actually the shell complained 06:25
but I am not sure
moritz_ if you have bash, no.
szabgab ah
06:26 xinming_ joined 06:27 xinming left 06:29 xinming__ left 06:34 meppuru left 06:37 sparc left 06:40 xinming_ left 06:41 sparc___ left 06:42 rfordinal left 06:44 DemoFreak joined 06:45 kimtaro joined 06:46 kimtaro_ joined
szabgab rakudo: my @x = <a b c>; for 0..@x.elems-1 -> $i { say "$i {@x[$i]}" } 06:48
p6eval rakudo 952fe6: OUTPUT«0 a␤1 b␤2 c␤»
szabgab is there a nicer way to write this without the -1 ?
literal @elems.end, I believe
lambdabot Unknown command, try @list
moritz_ rakudo: for <a, b, c>.kv -> $i, $v { say "$i $v" }
p6eval rakudo 952fe6: OUTPUT«0 a,␤1 b,␤2 c␤»
moritz_ rakudo: my @x = <a b c>; for ^@x -> $i { say "$i {@x[$i]}" } 06:49
p6eval rakudo 952fe6: OUTPUT«0 a␤1 b␤2 c␤»
06:49 sparc_ is now known as sparc
moritz_ rakudo: my @x = <a b c>; for @x.keys -> $i { say "$i {@x[$i]}" } 06:49
p6eval rakudo 952fe6: OUTPUT«0 a␤1 b␤2 c␤»
moritz_ TIMTOWTDI
plenty of possibilities, actually 06:51
szabgab thanks, now I have to explain that :-)
moritz_ I think .keys is best to explain
it's just the list of indexes that are known on the array 06:52
szabgab yeah it seems so
moritz_ ^@x is also not hard... ^n is the range 0..(n-1)
so it uses @x in numeric context
szabgab rakudo: my @x = <a b c>; @x[4] = 'e'; for @x.keys -> { say "$i {@x[$i[}" } 06:53
p6eval rakudo 952fe6: OUTPUT«Statement not terminated properly at line 2, near "[$i[}\" }"␤in Main (src/gen_setting.pm:0)␤»
szabgab rakudo: my @x = <a b c>; @x[4] = 'e'; for @x.keys -> $i { say "$i {@x[$i[}" }
p6eval rakudo 952fe6: OUTPUT«Statement not terminated properly at line 2, near "[$i[}\" }"␤in Main (src/gen_setting.pm:0)␤»
szabgab rakudo: my @x = <a b c>; @x[4] = 'e'; for @x.keys -> $i { say "$i {@x[$i]}" }
p6eval rakudo 952fe6: OUTPUT«0 a␤1 b␤2 c␤Use of uninitialized value␤3 ␤4 e␤»
szabgab oh I can't write
06:54 M_o_C joined 07:02 iblechbot joined, ejs joined 07:04 kimtaro left 07:11 ejs left
Matt-W Good morning 07:15
07:15 ZuLuuuuuu joined 07:19 agentzh left
moritz_ s1n: re rapid-dev.net - have you got a link for me? 07:20
07:23 agentzh joined
moritz_ s1n: never mind, found it. 07:23
07:23 ZuLuuuuuu left 07:24 kimtaro joined 07:26 rfordinal joined
moritz_ bah, these people used my blog entry without providing a link back to me 07:30
Matt-W :( 07:34
07:35 Su-Shee joined
Su-Shee hi 07:35
moritz_ time for me to make the license on my homepage clearer
szabgab rakudo: "a,b,c".split(",").perl.say 07:36
p6eval rakudo 952fe6: OUTPUT«["a", "b", "c"]␤»
szabgab rakudo: "a,b,c".split(/,/).perl.say
p6eval rakudo 952fe6: OUTPUT«Statement not terminated properly at line 2, near "(/,/).perl"␤in Main (src/gen_setting.pm:0)␤»
szabgab rakudo: "a,b,c".split("").perl.say
p6eval rakudo 952fe6: OUTPUT«["a", ",", "b", ",", "c"]␤»
szabgab so is the /,/ version a bug ?
moritz_ no
07:36 sparc_ joined
moritz_ but the error message isn't good 07:37
in regexes you have to quote or escape all characters except digits and letters
szabgab in the spec I see this: C<$*ARGS.split(/\n[\h*\n]+/)>
ah surry
sorry
I should really drink a tea
moritz_ std: "a,b,c".split(/,/).perl.say
p6eval std 27101: ( no output ) 07:38
07:38 SamuraiJack joined
szabgab rakudo: "a,b,c".split(/\,/).perl.say 07:38
moritz_ ouch, it's broken...
p6eval rakudo 952fe6: OUTPUT«["a", "b", "c"]␤»
moritz_ of course you can just use a literal ',' to split on
szabgab and the version where I used empty string for split ?
07:38 azawawi joined
szabgab the spec says I should use comb 07:38
azawawi good localtime()
SamuraiJack rakudo: "Hello world".uc.say 07:39
p6eval rakudo 952fe6: OUTPUT«HELLO WORLD␤»
moritz_ szabgab: I don't know by heart what the spec says, but rakudo might be lagging behind
07:39 DemoFreak left
moritz_ std: 1 07:39
p6eval std 27101: ( no output ) 07:40
07:41 kimtaro_ left, p6eval joined
moritz_ std: 1 07:43
p6eval std 27101: OUTPUT«ok 00:02 35m␤»
moritz_ std: "a,b,c".split(/,/).perl.say
p6eval std 27101: OUTPUT«##### PARSE FAILED #####␤Unrecognized regex metacharacter at /tmp/hxl0IFM3Cg line 1:␤------> "a,b,c".split(/,/).perl.say␤ expecting any of:␤ regex atom␤ rxinfix␤ ws␤FAILED 00:04 36m␤»
moritz_ szabgab: STD.pm has much nicer messages on syntax errors :-) 07:44
07:44 kimtaro_ joined
szabgab clearly :-) 07:44
azawawi moritz_: that's 100% correct :) 07:45
szabgab it even seems to be localized :-)
moritz_ is it? how so?
07:47 Molaf left, Molaf joined
szabgab I see lots of strange charters... 07:50
moritz_ that's ANSI terminal color codes
07:53 sparc left 08:01 payload joined, kimtaro left 08:06 barney joined 08:07 ejs joined 08:16 amoc__ joined 08:21 ejs1 joined 08:22 eMaX joined 08:27 amoc left 08:28 azawawi left 08:29 ejs left 08:30 Molaf left, Molaf joined 08:39 lambdabot joined, amoc__ left 08:40 amoc joined 08:43 pasmo joined 08:44 pasmo left
clintongormley has anybody had to do an svn to git migration, that was actually successful? 09:00
09:00 payload left
clintongormley there are loads of results for those keywords in google, but i've tried a few different methods and none was terribly effective 09:00
SamuraiJack rakudo: my @numbers = 1,2,3; @numbers.say; 09:02
p6eval rakudo 952fe6: OUTPUT«123␤»
SamuraiJack rakudo: my @numbers = 1,2,3; @numbers.perl.say;
p6eval rakudo 952fe6: OUTPUT«[1, 2, 3]␤»
Khisanth wasn't that migration done for rakudo? :)
09:02 eMaX left
clintongormley Khisanth: i think so, which is why i'm hoping somebody here can point me in the right direction :) 09:03
Khisanth also supposedly a bunch of people in #poe on irc.perl.org :) 09:04
clintongormley oh yes?
thanks
Khisanth using git-svn to checkout a full copy with the full history misses some things? 09:05
clintongormley: and there is #git here
clintongormley my git foo is pretty rubbish
but it doesn't look like it tracks the branches terribly well
moritz_ right
clintongormley i don't know how possible that is 09:06
moritz_ I know that Infinoid created a git mirror of parrot that tracked all the branches
(I use that ever since)
maybe he can give you some insight
clintongormley thanks moritz_ - i'll ping him
09:07 eMaX joined, xinming joined
clintongormley what time is Infinoid usually around? 09:08
moritz_ roughly always :-)
clintongormley heh :)
moritz_ I think he's US based 09:09
clintongormley: btw I hope you've seen that I continued my perl-5-to-6 blog a bit
"just for you" (no, not quite) 09:10
clintongormley moritz_: hmm i haven't - i subscribe to your perlgeek.de feed, but haven't seen much action there
just that one about matching 9 digit numbers
moritz_ it's been two weeks or so... perlgeek.de/blog-en/perl-5-to-6/25-...rator.html 09:11
clintongormley oh yes - i did see that
you've just been on holiday, no?
and you're going away again beginning of august? 09:12
moritz_ I've been on holiday, yes
but not going away on August 09:13
clintongormley
.oO( YAPC::EU...)
09:16 cognominal joined 09:18 kimtaro_ is now known as kimtaro 10:00 donaldh joined, M_o_C left 10:02 M_o_C joined 10:10 zamolxes joined 10:13 sri_kraih_ joined 10:15 kimtaro_ joined 10:22 schmalbe joined, barney left 10:30 pmurias joined 10:33 kimtaro left 10:52 pmurias left 10:57 kimtaro_ left 11:03 kimtaro joined 11:04 kimtaro left
jaldhar Hello. Just recompiled rakudo again yesterday and wow! Things are progressing nicely. 11:18
But I have one problem. I get:
DanielC Which reminds me... I should recompile Rakudo :-)
jaldhar ResizablePMCArray: Can't pop from an empty array! 11:19
unfortunately the error message onlys says "in main"
DanielC That is a Parrot error. When does it do that?
During compilation?
11:19 M_o_C left
DanielC If so, that's Bad (TM) 11:19
jaldhar No at runtime it seems
11:20 donaldh left
DanielC Try: perl6 -e 'say "hello world"' 11:20
Does it still do that?
11:21 donaldh joined
jaldhar No. Trivial programs work fine. (I tried a few like this.) The script that gives this error uses classes fwiw 11:21
DanielC Try to make the simplest possible script that reproduces the error. 11:22
perl6 -e 'class Foo {}' ?
ResizablePMCArray is a parrot error, and 'main' refers to Rakudo's main() function. 11:23
jaldhar I'm trying to comment out different bits to see if I can't narrow it down.
DanielC thanks
Btw, I'm not a Rakudo developer, but I'm interested in making a good bug report, so that the guys how know Rakudo can fix it.
jaldhar: Can you post a copy of the script somewhere (e.g. pastebin.com) so I can look at it? 11:28
schmalbe jaldhar: I had that too. It went away after 'make realclean; perl Configure.pl' 11:34
11:36 ruz_mac joined
jaldhar DanielC,schmalbe: got to get the kids off to school. I'll work on this again in an hour or so. 11:36
DanielC ok 11:37
ruz_mac p6eval: class Foo {method say {say "woot" } }; my $x = Foo.new(); $x.say(); 11:42
DanielC rakudo: class Foo {method say {say "woot" } }; my $x = Foo.new(); $x.say();
p6eval rakudo 952fe6: OUTPUT«maximum recursion depth exceeded␤in method Foo::say (/tmp/UnD4BL0BXq:2)␤called from method Foo::say (/tmp/UnD4BL0BXq:2)␤called from method Foo::say (/tmp/UnD4BL0BXq:2)␤called from method Foo::say (/tmp/UnD4BL0BXq:2)␤called from method Foo::say (/tmp/UnD4BL0BXq:2)␤called from
..method…
schmalbe p6eval: class Foo {method say {::say "woot" } }; my $x = Foo.new(); $x.say(); 11:43
p6eval : $code
DanielC "say" is probably not the most inspired choice for a method.
ruz_mac DanielC: actually was trying different thing
DanielC k
11:44 azawawi joined
ruz_mac rakudo: class Foo {method say {say "woot" } }; my $x = Foo.new; say $x 11:44
p6eval rakudo 952fe6: OUTPUT«Foo()<0xb6857068>␤»
azawawi pmichaud: hi; any update on rt.perl.org/rt3/Public/Bug/Display.html?id=65994 ? 11:45
ruz_mac DanielC: built-in function call on an object that has a method with the same name 11:47
rakudo: class Foo { }; my $x = Foo.new; $x.say;
p6eval rakudo 952fe6: OUTPUT«Foo()<0xb67f0a70>␤» 11:48
ruz_mac rakudo: class Foo { method say {print "woot\n" } }; my $x = Foo.new; $x.say;
p6eval rakudo 952fe6: OUTPUT«woot␤»
11:48 cognominal_ joined
ruz_mac rakudo: class Foo { method say {print "woot\n" } }; my $x = Foo.new; say $x; 11:49
p6eval rakudo 952fe6: OUTPUT«Foo()<0xb6811fc8>␤»
ruz_mac sucks
is there plans on implementing such thing? 11:50
11:51 iblechbot left 11:53 azawawi left 11:55 masak joined, cognominal left
masak literal: ping. 11:55
11:58 wolverian joined 12:01 wolverian left 12:07 M_o_C joined
masak jaldhar: hope you manage to narrow your problem down. did I understand you right that you downloaded everything from scratch? or did you update existing Parrot and Rakudo working copies? 12:09
ruz_mac rakudo: multi sub say { print "w@_w\n" }; say "woot"
p6eval rakudo 952fe6: ( no output )
masak ruz_mac: in your 'class Foo' example, you're defining a method in Foo, but calling a sub. they have nothing to do with one another. 12:10
ruz_mac that suck
masak ruz_mac: also, in the above code, @_ wouldn't interpolate, because plain arrays don't interpolate right off.
ruz_mac: what sucks? that there's a distinction between methods and subs? 12:11
ruz_mac this is fine
no interpolation for arrays is fine
masak yes, I think it is.
it allows for email addresses to be written in qq strings.
ruz_mac no turning of bult-in call as sub into method call suck 12:12
masak ruz_mac: there is an automatic mechanism to do just that. it's called 'is export'.
ruz_mac example? 12:13
masak you'll find plenty of examples of that in S32, because many built-ins have a method and a sub form.
ruz_mac ah
method say is export {...} === autodeclaring sub say (MyClass $x, ...) {} ? 12:14
masak far as I understand, yes. 12:15
but you might have to be more specific with the method signature.
here's an example from S29: 12:16
multi Char method chr( Int $grid: ) is export
that gives you an Int.chr method and a chr(Int) sub.
ruz_mac that's cool 12:17
masak and it works in Rakudo. :) so whilst there are many things in Rakudo that suck, this is not one of them.
ruz_mac just was worried thatwe end up with something like: "hey, don't call subs if you want to treat overloaded objects properly" :) 12:18
12:19 macae joined
masak no, subs has just as powerful multi dispatch as do methods. 12:19
s/has/have/
12:19 Gorbad joined 12:29 donaldh left
Matt-W masak: you've had a good day for bug reports so far 12:30
masak today? none so far, I think.
12:31 skids joined
masak but yesterday was nice. 12:31
perl6-compiler lags a bit, because of massive filtering, even of bug reports.
Matt-W Aah
That's why I'm only getting the emails now
It's like an exploration of all the problems with enums
masak Matt-W: yes, I did a lot of Actual Coding yesterday. that brings out bugs.
Matt-W: enums, scopes and rebinding, yes/
Matt-W best way to find bugs, really 12:32
try and use things
see if you get a Null PMC Access
It's nice to know so unequivocally that anything that gives you Null PMC Access is a bug :)
masak yes, I use that a lot. 12:33
if I get a Null PMC access, I don't ask questions. I just submit. :)
Matt-W Well 12:34
what about if it's a duplicate?
masak Matt-W: that's why I've been flagging for a dedicated person to patrol the RT stack of bugs, and try to keep the bug count down. 12:35
:)
Matt-W I've been considering trying to fix a bug 12:36
I don't know which one yet 12:37
But it'd be fun to try
masak it is.
Matt-W And then, you know, I'd have some code in rakudo
masak even if you don't get all the way, you get a better grasp of the eventual solution.
Matt-W and that'd be very cool
not that Form.pm isn't cool
Matt-W rambles, and eats some more chocolate
Matt-W also listens to Swedish folk music 12:38
masak :) 12:39
dalek kudo: 9dc941f | pmichaud++ | build/PARROT_REVISION:
Bump PARROT_REVISION to 1.3.0.
Matt-W Ahah! It's this tune!
I've had it stuck in my head for weeks and now I actually know what it is! 12:40
sbp what's it called?
Matt-W Or at least, I know what its ID3 tag says it is
well, I know the name of the set of tunes, which is 'Fransosen'
the individual tunes within it presumably have names, but they're not provided
mmmm... bagpipes... 12:41
pmichaud rakudo: class Foo {method say {say "woot" } }; my $x = Foo.new(); $x.say(); 12:46
p6eval rakudo 952fe6: OUTPUT«./perl6: error while loading shared libraries: libparrot.so.1.2.0: cannot open shared object file: No such file or directory␤»
pmichaud bah.
That's actually a Parrot error.
Matt-W argh 12:47
and an irksome one too
I assume it's just changed to libparrot.so.1.3.0
pmichaud oh. I mean that the fact that "say" ends up recursively calling itself is a Parrot error. 12:48
The libparrot thing looks like a (re)build problem.
12:48 iblechbot joined
Matt-W oh :) 12:49
pmichaud rakudo: class Foo {method say {say "woot" } }; my $x = Foo.new(); $x.say();
p6eval rakudo 952fe6: OUTPUT«sh: ./perl6: No such file or directory␤»
Matt-W so the say in the body of method say picks up on the method you're in the middle of defining
pmichaud yes, and it shouldn't. 12:50
There's not an easy workaround for this without losing a few other items in the process.
Matt-W messy 12:51
because what about defining methods which you do want to recurse into themselves?
pmichaud well, method recursion would be $.say instead of plain 'say' 12:52
Matt-W true
oh yes, very true
syntactically, say shouldn't even be looking at the current class's methods...
pmichaud correct. But Parrot stores methods as entries in namespaces.
Matt-W hmm
pmichaud so Rakudo ends up seeing the wrong 'say' 12:53
Matt-W So there's no way to say Parrot 'I'm looking for a 'say' which isn't a method'
pmichaud well, that'd be a workaround, not a fix.
also it would break those cases where the method _should_ be entered in the namespace. 12:54
(i.e., with 'is export')
Matt-W mmm
PerlJam good morning #perl6 12:55
Matt-W So how do you fix it then? :P
12:55 pmurias joined
pmurias hi 12:55
Matt-W Good afternoon, PerlJam
and pmurias
pmichaud I'm waiting for someone on the Parrot side of things to fix it.
12:56 amoc left
pmichaud Unfortunately it doesn't seem to be that high a priority. 12:56
12:56 amoc joined
jaldhar hmm url to the nopaste thingy in the topic isn't working 12:56
masak jaldhar: correct. try gist.github.com, that works for me. 12:57
jaldhar masak: ok
masak (doesn't auto-post on the channel, though)
Matt-W pmichaud: :( Do we have a workaround involving something like '::say'?
szabgab rakudo: my @x = <a b c>; @x.perl.say; 12:58
p6eval rakudo 9dc941: OUTPUT«["a", "b", "c"]␤»
szabgab rakudo: my @x = <a b c>; my @z = @x.perl;
p6eval rakudo 9dc941: ( no output )
szabgab rakudo: my @x = <a b c>; my @z = @x.perl; @z.perl.say;
p6eval rakudo 9dc941: OUTPUT«["[\"a\", \"b\", \"c\"]"]␤»
szabgab see lastofthecarelessmen.blogspot.com/2...ation.html 12:59
pmichaud Matt-W: one might be able to use $*IN.say
PerlJam "$*IN.say"? that seems backwards
pmichaud szabgab: The spec changed for that in April; Rakudo hasn't caught up with it yet (because it's a fundamental change to the way Lists and return values are handled) 13:00
PerlJam: backwards how?
It's very likely that <a b c>.perl will produce parens instead of brackets. 13:01
PerlJam I'm out of context I guess. I was thinking you wanted to output something to the standard output handle (and you do, but it just happens to be what's on $*IN, right?)
pmichaud $*IN is the standard output handle. 13:02
oh.
right.
$*OUT
bleh
need dr pepper
Matt-W dials CAFFEINE-911 13:03
pmichaud szabgab: oh, wait, I misread the blog post.
Arrays are signified by brackets.
masak we should take up the tradition of a VICTUALS file, like Pugs has. :)
PerlJam pmichaud: I've got a bunch in the frig if you want one. Bit of a trip to get it though :)
jaldhar DanielC: gist.github.com/131224
szabgab pmichaud, ("a", "b") will keep working right ? 13:05
PerlJam jaldhar: the ternary op is COND ?? TRUE !! FALSE btw
13:05 ruoso joined
szabgab and if I recall a discussing I was not paying attention too much, .perl does not create executable perl code 13:05
just some visual representation
moritz_ it should create executable perl code. 13:06
it doesn't always do yet, though
pmichaud szabgab: ('a', 'b') builds a list, yes.
szabgab good so I did not screw that up :-) 13:07
Matt-W What's happening is that you're making an Array from a list, I believe
ruoso Bom dia, #perl6
pmichaud jaldhar: if defined %.board{$rand}.occupant || $.player == $rand {
szabgab so should ["a", "b"] do the same ?
pmichaud is it possible that %.board{$rand} is undefined?
['a', 'b'] builds an Array
13:07 mizioumt joined
jaldhar pmichaud: but it shouldn't be should it? It is setup in BUILD 13:08
szabgab but if I put either of those into a @x they should be the same not ?
jaldhar PerlJam: that's what I have or am I missing something?
szabgab rakudo: @x = ['a', 'b']; @x.perl.say
p6eval rakudo 9dc941: OUTPUT«Symbol '@x' not predeclared in <anonymous> (/tmp/tlD0I5Up40:2)␤in Main (src/gen_setting.pm:3225)␤»
pmichaud szabgab: no, they're different, alas.
szabgab rakudo: my @x = ['a', 'b']; @x.perl.say
p6eval rakudo 9dc941: OUTPUT«[["a", "b"]]␤»
moritz_ @a = ['a', 'b'] assigns an array to first item of @a 13:09
pmichaud my @x = ('a', 'b') leaves @x with two elements
my @x = ['a', 'b'] leaves @x with one
PerlJam jaldhar: $i == self.player ?? ' [player] ' :: '' # is what you have. (those are colons when they should be exclamations)
szabgab so now I am confused
Matt-W my $x = ['a', 'b'] gives you an Array object with two elements, I think
pmichaud PerlJam++ # good catch
szabgab .perl creates an executable code but by executing it I don't get back the original one
pmichaud rakudo-- # should've caught it.
Matt-W szabgab: bug!!! 13:10
masak :)
szabgab rakudo: my @x = <a b c>; my @z = @x.perl; @x.perl.say; @z.perl.say;
p6eval rakudo 9dc941: OUTPUT«["a", "b", "c"]␤["[\"a\", \"b\", \"c\"]"]␤»
pmichaud szabgab: You do get back the original -- you just can't assign it to an array variable and get the original thing. Assigning it to a scalar would give you the original thing.
jaldhar PerlJam: oh yeah you're right! I've been staring at it so long I just assumed that it was !!
13:10 azawawi joined
azawawi hi 13:10
masak azawawi: o/
szabgab rakudo: my @x = <a b c>; my $z = @x.perl; @x.perl.say; xz.perl.say;
p6eval rakudo 9dc941: OUTPUT«["a", "b", "c"]␤Could not find non-existent sub xz␤»
szabgab rakudo: my @x = <a b c>; my $z = @x.perl; @x.perl.say; $z.perl.say;
PerlJam jaldhar: also, rather than using "defined X || Y", you could use "X // Y"
p6eval rakudo 9dc941: OUTPUT«["a", "b", "c"]␤"[\"a\", \"b\", \"c\"]"␤»
moritz_ szabgab: you should get the same back, but in scalar context
PerlJam jaldhar: you've got some perl5 habits leaking into you perl6 code methinks. 13:11
moritz_ szabgab: so my @a = (1, 2); @a = eval @a.perl will *not* recreate @a
pmichaud note that "defined X || Y" is not exactly the same as "X // Y", though
szabgab I still cannot understand how that is useful :-)
moritz_ szabgab: otherwise you couldn't serialize nested data structures
jaldhar PerlJam: its a translation from perl5 so probably. Funny thing is I have started using // in my perl5 code. 13:12
PerlJam pmichaud: yes, but X // Y is what I think he really meant :)
pmichaud PerlJam: I didn't check that. :)
jaldhar it was
moritz_ if @a.perl returned (1, 2), then [1, [2, 3]] would serialize and de-serialize to (1, (2, 3)) which is reall a flat list
pmurias rakudo: my @a = <a b c>; my @z = eval(@x.perl);@x.perl.say;@z.perl.say; 13:13
p6eval rakudo 9dc941: OUTPUT«Symbol '@x' not predeclared in <anonymous> (/tmp/g5K7yBPg8Q:2)␤in Main (src/gen_setting.pm:3225)␤»
pmurias rakudo: my @x = <a b c>; my @z = eval(@x.perl);@x.perl.say;@z.perl.say;
p6eval rakudo 9dc941: OUTPUT«["a", "b", "c"]␤[["a", "b", "c"]]␤»
ruoso pmurias, have you seen my blog post on the initial notes on how to implement module loading? 13:14
pmurias ruoso: hi
ruoso: yes, just reread it 13:15
ruoso: with a bit of hackery i could make MildewSOLoader.load return the lexical scope of the loaded file 13:18
ruoso hi pmurias 13:19
pmurias or we could have the loaded file install it's own lexical symbol 13:20
szabgab pmurias, that still does not recreate the same thing
pmurias szabgab: i know, but it shows the problem more nicely instead of suffering from a missing eval 13:21
jaldhar ok now if I uncomment those commented bits, I no longer get the ResizablePMCError bug instead I get:
szabgab oh yes
jaldhar Method 'occupant' not found for invocant of class 'Failure'
which I think is due to this line:
szabgab so is that considered to be a bug ? 13:22
jaldhar if defined %.board{$rand}.occupant || $.player == $rand {
pmurias ruoso: do you think the module or the importing code should alias the symbol?
PerlJam jaldhar: if %.board{$rand} isn't defined, that's what you'll get :)
ruoso pmurias, it's the "need" statement that installs the symbol 13:23
not the foreign module
13:23 M_o_C left
moritz_ except that undef should really be an instance of Object, not of Failure 13:23
ruoso pmurias, maybe MildewSOLoader could make the cache of the filename vs lexical scope 13:24
PerlJam moritz_: and that's the difference between truth and beauty for rakudo.
ruoso pmurias, as a side note... I'm still trying to figure out a way to take more advantage of using a shared object... 13:25
jaldhar PerlJam: but I'm trying to test if it is defined or not.
pmurias ruoso: shared object meaning the .so here? 13:26
ruoso pmurias, yes... I'm trying to figure out a way to have the code actually shared...
today the code is loaded to the program's memory
PerlJam jaldhar: no, you're testing if %.board{$rand}.occupant is defined or not. but you still have to make sure that %.board{$rand} is defined before you can call .occupant on it. 13:27
pmurias ruoso: we don't compile to native code yet
ruoso pmurias, we compile the code loading to native code
the mold loading, I mean
pmurias ruoso: yes, but once we compile molds to C functions they will be shared right? 13:28
PerlJam jaldhar: looking at your paste again, it looks like you have an off-by-one error. You initialize %.board{0..19}, but the values $rand can have are 1..20
13:28 ZuLuuuuuu joined
ruoso pmurias, only the function that causes the loading of the mold, not the mold itself 13:28
the mold will be in the program's memory 13:29
jaldhar PerlJam: ahh. I thought I read in one of the apocalypses that .rand went from 0 .. n. That would explain it.
pmurias ruoso: re cache i'm leaning towards having lowlevel primitives in C and stuff that builds on them in Perl 6 13:30
ruoso pmurias, I was thinking that a later optimization could mean replacing mold by lost in the generated code
pmurias, that's a sane approach 13:31
PerlJam jaldhar: even if that were the case, 20.rand.int will never give you -1 :-)
jaldhar: (that's the only way to get a 0 in $rand) 13:32
ruoso pmurias, it could even make in time checks like "if SMOP_RI(capture) == SMOP__NATIVE__capture"
pmurias ruoso: re replacing molds by lost - i'm also thinking of it
ruoso and that would mean that the actual code is actually shared as a library
it wouldn't be in the program's memory
PerlJam jaldhar: you probably read that it gives you numbers from 0 .. ^N which is the same as 0 .. (N-1) 13:33
pmichaud szabgab: what rakudo is currently doing is correct w.r.t. the specification 13:34
it's arguable that the specification might want changing on this point
pmurias is making MildewSOLoader return the outer scope... 13:35
13:38 payload joined
japhb pmichaud: Does there exist any source-level profiling tools for Rakudo? (i.e. tools to allow one to profile one's Perl 6 code) 13:39
pmichaud japhb: not yet.
13:39 M_o_C joined
PerlJam everytime I've seen MildewSOLoader, I've though "mildew slower" 13:39
13:39 macae left
pmichaud japhb: we have a proposal for a hague grant to create some, but it's running into some obstacles. 13:39
japhb What kind of obstacles? 13:40
pmichaud we have to make the case that it's on Rakudo's critical development path.
(and these tools would enable us to profile a lot more than just Rakudo)
PerlJam pm: with more stuff moving into the setting, doesn't that help? 13:41
pmichaud PerlJam: in some senses it helps a little, but it still doesn't overcome the basic obstacle.
japhb: anyway, short answer to your question is "no, we don't have any". It would be cool if someone wanted to create some. :-) 13:43
japhb pmichaud: (not unrelated): How do I iterate over a namespace, finding all the subs?
PerlJam Hmm. ... where have I seen that before ... oh, I know ... PIR profiling tools :)
japhb PerlJam: I actually looked at that once. I realized I never have a long enough block of time to understand everything I need to understand to write the PIR profiling tools. 13:44
pmichaud japhb: in Rakudo? or in PIR?
japhb pmichaud: either, since if only available in PIR, I'd just use Q:PIR from Rakudo. :-)
pmichaud in PIR: 13:45
$P0 = get_namespace
$P1 = iter $P0
loop:
# you get the rest
jaldhar hmm apparently my redo is wrong too.
Do block labels work the same as perl5?
pmichaud block labels are unimplemented in rakudo. 13:46
jaldhar i.e. label: { }
PerlJam jaldhar: perl6 doesn't recognize bare blocks as do-once loops like perl5 does.
japhb pmichaud: That much I knew. The part I'm missing is how to find the Perl 6 subs among the fake subs (all the dross existing only to convert lexical scopes to something Parrot understands)
pmichaud ...the fake subs are in the namespace?
japhb Oh, duh.
assumptions--
jaldhar hmm ok I'm going to have to rearrange this then.
PerlJam jaldhar: yes, and in the process you'll start to get the perl 6 nature :) 13:47
13:47 eMaX left
PerlJam jaldhar: I'm just betting that in rearranging things, you'll find a more perl6ian way. 13:48
jaldhar PerlJam: I'm thinking junctions. Am I on the right track? 13:50
PerlJam jaldhar: I don't know . I'd need to see code :) 13:51
jaldhar PerlJam: ah a challenge :-) I'll be back after some research. 13:53
13:53 ZuLuuuuuu left
pugs_svn r27102 | pmurias++ | [re-smop] MildewSOLoader.load returns the outermost lexical scope of a module 13:54
pmurias ruoso: we have a way to get at the scope, what now?
13:54 viklund joined
ruoso now "need" should be able to find out which file to load, load it, and look for the symbol by that name to alias in the local scope 13:55
also, MildewSOLoader needs to keep a cache of the loaded libraries, so a library don't get loaded twice
this is important to keep the identity of the types
japhb rakudo: sub greet($person) { say "Hello, $person" }; my $name = &greet.name; &greet.wrap(sub { say "Starting $name"; callsame; say "Ending $name";}); greet("world") 13:58
p6eval rakudo 9dc941: OUTPUT«Starting greet␤too few arguments passed (0) - 1 params expected␤in sub Routine::!wrap_start_helper (/tmp/kGuxPJOYUE:1)␤called from sub _block73 (/tmp/kGuxPJOYUE:2)␤called from Main (/tmp/kGuxPJOYUE:2)␤»
szabgab pmichaud, so it is for TimToady to check out and decide if .perl should create a representation that can be used to recreate the original data or not
pmichaud szabgab: or perl6-language (more) 13:59
japhb pmichaud: what's wrong in my last rakudo eval?
13:59 M_o_C left
pmichaud but as I mentioned before, technically speaking .perl is creating a representation that can be used to recreate the original data. It simply can't be done using an array assignment (more) 13:59
however, the following probably works: 14:00
rakudo: my @x = <a b c>; my @z := eval(@x.perl); @x.perl.say; @z.perl.say;
p6eval rakudo 9dc941: OUTPUT«["a", "b", "c"]␤["a", "b", "c"]␤»
pmurias rakudo: my @x = <a b c>; my $z = eval(@x.perl);@x.perl.say;$z.perl.say; 14:01
p6eval rakudo 9dc941: OUTPUT«["a", "b", "c"]␤["a", "b", "c"]␤»
pmichaud so the real question is being asked is this: Should .perl create something that will reproduce the original data when used with array assignment? I can argue that one either way, which is why it likely needs more discussion on p6l. 14:02
PerlJam japhb: perhaps callsame isn't passing the original args. I bet it would work if you did callwith("foo") 14:03
moritz_ pmichaud: we discussed it here, and afterwards TimToady added the restriction that @thing.perl should be the same as $(@thing).perl
azawawi pmichaud: hi
japhb PerlJam: hmmm. jonathon's blog entry seems to indicate callsame should DTRT at this point, but I'll try callwith(@_) 14:04
pmichaud moritz_: in which case Rakudo's current implementation is doing the right thing.
azawawi pmichaud: any update on RT #65994 (fake-executables)?
pmichaud azawawi: no, sorry.
japhb PerlJam: that worked. Twigs my efficiency hate, and lord knows what it will do with named args, but ah well.
moritz_ pmichaud: correct
pmichaud moritz_: it would be helpful if we could point to that discussion and link it to the blog post that started today's conversation :-) 14:05
azawawi pmichaud: "no problem"; # scheduling question to next month :)
PerlJam japhb: what's the link to jonathan's blog entry where he talks about this?
japhb PerlJam: use.perl.org/~JonathanWorthington/journal/39100
... lag ...
moritz_ pmichaud: if I find it, I will 14:06
azawawi std: my $line = prompt "what?"; 14:07
p6eval std 27102: OUTPUT«Undeclared routine:␤ prompt used at 1 ␤ok 00:04 36m␤»
azawawi rakudo: my $line = prompt "what?";
p6eval rakudo 9dc941: OUTPUT«what?»
pmichaud rakudo: sub greet($person) { say "Hello, $person" }; my $name = &greet.name; &greet.wrap({ say "Starting $name"; callsame;}); greet("world");
p6eval rakudo 9dc941: OUTPUT«Starting greet␤Hello, world␤»
14:07 eMaX joined
pmichaud the problem is the "sub" 14:07
14:08 cognominal_ left
pmichaud I'm guessing that "sub" is adding new arguments to the wrap. 14:08
azawawi TimToady: should prompt() be loaded in another PAD?
pmichaud (whether it should do that or not is an open question)
azawawi moritz_: what happens to evalbot query when it is waiting for IO from prompt() for instance? 14:09
moritz_ rakudo: say prompt('a')
p6eval rakudo 9dc941: OUTPUT«aLand der Berge, Land am Strome,␤»
moritz_ azawawi: the austrian national anthem is assumed as STDIN, at least for rakudo 14:10
azawawi moritz_: nice; thx
14:11 _jaldhar joined
moritz_ (though that will need some refactoring soon) 14:11
14:13 jaldhar left 14:16 mikehh left 14:17 ejs2 joined 14:20 sbilik joined 14:21 nihiliad joined 14:23 mikehh joined 14:25 alester joined
japhb rakudo: my @subs := (&greet,&meet); for @subs -> $sub {my $name = $sub.name; say "Wrapping $name"; $sub.wrap({ say "Starting $name"; callsame; say "Ending $name";});}; sub greet($person) { say "Hello, $person" }; sub meet($person) { say "I see $person here." }; meet("world"); greet("world") 14:26
p6eval rakudo 9dc941: OUTPUT«Wrapping greet␤Wrapping meet␤Starting meet␤I see world here.␤Ending meet␤Starting meet␤Hello, world␤Ending meet␤»
japhb FAIL
Last wrap wins.
14:26 ejs1 left
japhb Am I doing something wrong, or is it a rakudobug? 14:27
moritz_ what would you expect?
japhb moritz_: not saying both routines are named "meet" 14:28
masak indeed.
moritz_ ah
masak that seems highly strange.
moritz_ bug, then
masak submits
japhb++
japhb thx, masak
14:32 viklund left
japhb rakudo: my @subs := (&greet,&meet); for @subs -> $sub {my $name = $sub.name; say "Wrapping $name"; $sub.wrap({ say "Starting {$sub.name}"; callsame; say "Ending {$sub.name}";});}; sub greet($person) { say "Hello, $person" }; sub meet($person) { say "I see $person here." }; meet("world"); greet("world") 14:33
p6eval rakudo 9dc941: OUTPUT«Wrapping greet␤Wrapping meet␤Starting !wrap_start_helper␤I see world here.␤Ending !wrap_start_helper␤Starting !wrap_start_helper␤Hello, world␤Ending !wrap_start_helper␤»
japhb So much for a workaround ...
Hmmm. Is there a way to get from the !wrap_start_helper to the wrapped routine?
14:34 azawawi left 14:35 krakan left 14:39 krakan joined
masak japhb: .unwrap? 14:41
japhb masak: But I don't want to unwrap it. I just want to reach inside the wrap. 14:45
14:45 jferrero joined
masak japhb: I see. don't know the answer to that. 14:45
the spec might.
for all I know, a sub is enough of a black box for it not to be meant to work. 14:46
14:47 rfordinal left, rfordinal joined
japhb masak: hrmph. ;-) 14:48
Oh bargle. Wrapped subroutines all appear the same in a stack trace. 14:52
14:52 masak left 14:53 donaldh joined 14:54 ejs2 left 14:55 ejs joined 15:06 rfordinal left 15:10 zamolxes left, justatheory joined, payload left 15:15 justatheory left
TimToady std: multi Char method chr( Int $grid: ) is export 15:18
p6eval std 27102: ( no output )
15:19 amoc left 15:20 donaldh left 15:21 donaldh joined, p6eval left 15:22 p6eval joined
moritz_ std: 1 15:22
p6eval std 27102: ( no output )
TimToady gotta do something about that someday... 15:23
moritz_ well, if I knew what I'd do something about it
TimToady anyway, that syntax above is illegal
has to either be 'our Char multi method' or move the type to --> land 15:25
pugs_svn r27103 | lwall++ | [S29-functions] fix some misplaced types 15:26
15:26 _jaldhar left 15:35 alester_ joined, alester_ left, alester left 15:36 alester joined 15:38 alester_ joined 15:39 alester left, alester_ left 15:41 alester joined 15:43 alester_ joined 15:44 alester_ left 15:46 alester_ joined, alester left
TimToady rakudo: my @x = <a b c>; my @z := eval(@x.perl);@x.perl.say;@z.perl.say; 15:49
p6eval rakudo 9dc941: OUTPUT«["a", "b", "c"]␤["a", "b", "c"]␤»
moritz_ std: multi Char method chr( Int $grid: ) is export
p6eval std 27103: OUTPUT«##### PARSE FAILED #####␤Malformed block at /tmp/9Oz4X1xNI0 line 1:␤------> multi Char method chr( Int $grid: ) is export␤ expecting any of:␤ blockoid␤ routine_def␤ terminator␤ trait␤FAILED 00:02 35m␤»
TimToady pmurias: note use of := above 15:50
moritz_: you too :)
moritz_ TimToady: I know 15:51
TimToady std: multi Char method chr( Int $grid: ) is export {...}
p6eval std 27103: OUTPUT«##### PARSE FAILED #####␤Malformed block at /tmp/fDMu2DQ96T line 1:␤------> multi Char method chr( Int $grid: ) is export {...}␤ expecting any of:␤ blockoid␤ routine_def␤ terminator␤ trait␤FAILED 00:02 35m␤»
TimToady kind of a bad message
moritz_ aye 15:52
TimToady moritz_: just your response used = @(), which is harder :)
moritz_ TimToady: that depends. In the beginning I found containers and binding rather confusing, but I did know @{...} from perl 5 15:53
TimToady trough nough
what std: needs is some kind of 'make install' to give some semblance of transactional integrity 15:55
then the bot runs off the installed program/data
15:55 lichtkind joined
TimToady could be a fake install to a subdir for now 15:56
15:56 molaf_x joined, eternaleye left
pmurias ruoso: re 'determine which file to load' - it's a unsolved problem as modules in Perl 6 are not supposed to be stored in a simple list 15:56
TimToady eh? Perl 6 doesn't say anything about how the files are stored, only that you have to use the official api for the official library :) 15:57
and that once installed, a module gains an identity that is immutable 15:58
15:58 rfordinal joined
pmurias what's the official api? 15:58
ruoso pmurias, the CORE
TimToady so any ref to that module can be .perl'ified with just the identity
ruoso pmurias, but I guess we can implement a naive mapping from module-name to file-name for now
15:59 M_o_C joined
TimToady the official library api is still undefined, but statements like 'use' essentially do database queries, for some value of database or other 15:59
which can be very lightweight .oO(flat files) for now 16:00
ruoso can't a naive mapping like the one done by perl5 be made for now?
TimToady sure, and the user's local files will continue to use that mechanism, so it's not wasted effort 16:01
it's just we make a big deal about the "coming of age" of a module :)
16:04 cognominal joined
pmurias TimToady: one quick question, does role Foo {} define a &Foo? 16:06
TimToady no, why would it? 16:07
as a type, it might respond to .() however
but it would have to use its punned class as the target of the coercion, I imagine 16:08
16:09 justatheory joined
pmurias TimToady: it works like that in mildew, and i didn't know whether to fix that 16:10
TimToady a type is always parsed as a value, not a listop :)
so even if you say Foo(), it's not being parsed as a function call currently 16:11
arguably that's inconsistent
makes types more keywordy than "if" :)
ruoso std: role Foo { }; sub Foo { }; Foo(); 16:12
p6eval std 27103: OUTPUT«ok 00:02 35m␤»
ruoso that would need to be an error then 16:14
since one cannot tell which one is pointed
TimToady actually, it would appear that std parses Foo() as a function call currently, hmm... 16:15
I suppose if a type did install an equivalent &Foo then we'd get collision detection for free 16:16
maybe I'm happy that Foo() parses as a function call 16:17
ruoso That was my initial guess
TimToady and I don't see much harm in it offhand
other than adding a bunch more entries to the symbol table, that is 16:19
I suppose &foo lookup could be taught to also look for foo
ruoso but that happens at compile-time, right>
?
you mean trying to look for a type when no sub is found? 16:20
TimToady yes, depending on how you mean that
not as a fallback after complete failure 16:21
16:21 DemoFreak joined
TimToady but each probe of %SymTab{'&foo'} also looks for 'foo' 16:21
so scoping remains sane
ruoso hmm... I don't quite like the idea of special casing the lookup depending on the sigil 16:22
TimToady but maybe it's sanest to just add the &foo
ruoso that's more elegant 16:23
I think
because there are less exceptions
TimToady let's not prematurely optimize then
16:24 Psyche^ joined
lichtkind jnthn: some idle seconds? 16:24
ruoso TimToady, and I think it would be even more elegant if, conceptually, Foo.bar was Foo().bar 16:25
which could be easily optimized away
but the parsing would be more predictable
16:28 justatheory left, iblechbot left, justatheory joined 16:30 Sark23 joined
ruoso meeting && later & 16:32
16:32 ruoso left
pmichaud ...do we get to later only if meeting ends up failing? ;-) 16:32
16:33 sri_kraih_ left 16:36 Psyche^ is now known as Patterner 16:37 pmurias left 16:41 cognominal left 16:42 mizioumt left 16:44 justatheory left, justatheory joined 16:48 cognominal joined 16:49 sri_kraih joined 16:53 cdarroch joined 16:55 Sunbeam left
TimToady naive PERT analysis doesn't take into account that a capability might make N other critical path capabilities twice as fast, without being anywhere on the critical path itself 16:57
profiling might be one of those
16:57 Sunbeam joined 16:58 justatheory left
TimToady it's a bit like the typical American company optimizing for quarterly profits over long-term profits... 16:58
17:01 eternaleye joined 17:02 dukeleto joined
TimToady oh, I see pmichaud already pointed out the := solution 17:02
lazy backlogging--
pmichaud++ 17:03
17:04 justatheory joined
pmichaud TimToady: yes, I've been having that particular discussion that profiling might not be directly on the critical path, but it's very likely to improve our critical path on the order of several months 17:05
knowing that there are people who are being significantly impacted by the lack of such tools is also helpful 17:06
TimToady there's blockers, and then there's swamps...
DanielC What is a critical path? 17:07
TimToady www.google.com/url?sa=t&source=...-0YaN62SkA
pmichaud en.wikipedia.org/wiki/Critical_path_method
DanielC *click*
thanks 17:08
17:08 jferrero left
pmichaud afk for a bit # picking up daughter from class 17:08
17:09 ejs1 joined
szabgab the subject points to sial.org/pbot/perl6 but is does not seem to work any more 17:13
gives 404
sorry I meant topic 17:14
moritz_ anyone knows who runs nopaste.snit.ch/paste? 17:15
M_o_C "<!-- $Id: paste-form.html,v 1.8 2003/12/05 17:29:45 rcaputo Exp $ -->" <-- seems like someone named rcaputo might have something to do with it, though I haven't heard this name before 17:17
nevermind, it's the author of the script 17:18
moritz_ M_o_C: purl on #parrot knew
17:20 ejs left 17:21 rfordinal left, eternaleye left
szabgab moritz_, will you ask the author to add #perl6 to the list of channels ? 17:24
[particle] rocco caputo is an ex-parroter. he was here at the beginning.
17:24 ejs1 left
moritz_ szabgab: already did (on #parrot) 17:24
pugs_svn r27104 | lwall++ | [STD,CORE] add types as routine names also 17:25
szabgab I see it
thanks
17:25 xomas joined
[particle] TimToady: do you think we'll l see a spec'd way to locate a module's disk location? 17:26
moritz_ »ö« | perl6-projects.org/ | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is our friend! 17:26
[particle] er, without compiling it. 17:26
17:27 nihiliad left, nihiliad joined 17:30 zamolxes joined
TimToady [particle]: likely 17:31
17:32 eternaleye joined 17:33 schmalbe left
[particle] joy. no more 'perldoc -l' wonkery and failures. 17:36
17:38 jferrero joined
TimToady hmm, I'm suddenly wondering if we can use MMD for searching the module database and picking the best candidate... 17:39
would have to model newer versions in terms of tighter types, so probably not 17:41
17:45 justatheory left 17:46 dukeleto left 17:49 sparc_ left
Sark23 perl6: say 3; 17:51
p6eval elf 27104, pugs, rakudo 9dc941: OUTPUT«3␤»
17:53 meppl joined 17:57 Molaf left, Molaf joined
[particle] there's too many dimensions to be multi there. 17:59
Foo :ver<1>:auth<CPAN> may be a better match than Foo :ver<999>:auth<JRANDOM>
TimToady I'd agree that auth takes precedence over ver, which makes it funny that you usually want auth at the end 18:00
it's the least important, until it becomes the most important :)
[particle] ranking auths should be fun 18:02
moritz_ why ranking? either it matches, or it doesn't 18:04
(or do you want to do multi dispatch with them?)
PerlJam moritz_: I think I'd prefer the CPAN auth over the JRANDOM auth :) 18:06
18:16 justatheory joined 18:19 japhb joined 18:20 diakopter left 18:21 TimToady left 18:22 Su-Shee left
[particle] use Foo; 18:24
18:24 eternaleye left
[particle] does the user mean Foo:ver<1>:auth<CPAN> or Foo:ver<999>:auth<JRANDOM> ? 18:24
moritz_ he means "I don't care which authority or version I get" 18:25
[particle] so it loads one with .rand?
PerlJam [particle]: I think the user meant any Foo that could be found in the absence of a policy that restricts the choices.
[particle] er, .pick?
moritz_ load all of them ;-) 18:26
as a junction, of course ;-)
18:26 justatheory left
[particle] ok, that's the php take on perl 6 module loading semantics. 18:26
perl should have a default policy that makes sense and is sensibly overrideable because you may know better than perl what it is you want 18:27
*makes sense for the average user
moritz_ is there an URL explaining the Perl 6 license, like dev.perl.org/licenses/ for Perl 5? 18:28
pmichaud moritz_: perhaps www.perlfoundation.org/artistic_2_0_notes ? 18:33
18:33 bejuryu_ left
moritz_ pmichaud: thanks 18:34
moritz_ packages JSON::Tiny for CPAN 18:35
as a kind of experiment
18:35 mizioumt joined
moritz_ rakudo: module JSON::Tiny :version<0.1.0> { 1 }; 18:39
p6eval rakudo 9dc941: OUTPUT«Unable to parse module definition at line 2, near ":version<0"␤in Main (src/gen_setting.pm:1452)␤»
18:39 mizioumt left
moritz_ rakudo: module JSON::Tiny :ver<0.1.0> { 1 }; 18:40
p6eval rakudo 9dc941: OUTPUT«Unable to parse module definition at line 2, near ":ver<0.1.0"␤in Main (src/gen_setting.pm:1452)␤»
18:41 FurnaceBoy joined 18:44 netfish joined
moritz_ uploaded. 18:45
now let's see the PAUSE mail trickling in...
18:45 dukeleto joined 18:47 hudnix joined
pugs_svn r27105 | lwall++ | [CORE] add utf8, utf16, utf32 as buffer types 18:49
r27105 | lwall++ | [STD] use a character class in spacey to cut down LTM entries
r27105 | lwall++ | [STD] fix parsing of "multi subfoo" to not see "sub"
r27105 | lwall++ | [STD] require whitespace after most declarators (but not sub)
StephenPollei [CORE] add utf8, utf16, utf32 as buffer types -- thats interesting considering yesterdays unicode talk that occured here yesterday 18:50
PerlJam std: sub foo { } temp &foo.wrap({ say "hi" }); 18:51
moritz_ nopaste.snit.ch/16951 - PAUSE indexer didn't like my META.yml - any ideas why?
p6eval std 27105: OUTPUT«##### PARSE FAILED #####␤Statements must be separated with semicolon at /tmp/izDvjHctNo line 1:␤------> sub foo { } temp &foo.wrap({ say "hi" });␤ expecting any of:␤ infix or meta-infix␤ infix stopper␤ standard stopper␤ statement␤ statement
..modifier loop␤ terminato…
PerlJam std: sub foo { }; temp &foo.wrap({ say "hi" });
p6eval std 27105: ( no output )
[particle] moritz_: does provides: also need to specify version: ? 18:56
moritz_ [particle]: I just looked it up... it's not mentioned to be required on module-build.sourceforge.net/META-spec-v1.2.html 18:57
but I might just as well try it with a version
[particle] search.cpan.org/~barbie/Test-CPAN-Meta-0.13/
18:57 justatheory joined
[particle] you can test it yourself, before submitting :) 18:58
moritz_ nice!
19:02 justatheory left 19:04 dukeleto left
pugs_svn r27106 | lwall++ | [S02] define utf constrained buffer types 19:08
r27106 | lwall++ | [S02] nail down canonical name for instantiated types to use ident adverbial
r27106 | lwall++ | (MyRole[MyType] still instantiates, but isn't the name of the resulting type)
19:10 amoc joined
moritz_ [particle]++ 19:12
indexer reported success.
now I'm curious what will show up on CPAN
[particle] sweet.
19:12 ejs joined 19:13 Whiteknight joined 19:20 donaldh left, donaldh joined
PerlJam * GumbyPAN CPAN Upload: JSON-Tiny-0.1.1 by MORITZ 19:22
19:27 justatheory joined 19:31 payload joined 19:33 justatheory left, ejs left, ejs0 joined 19:43 jferrero left
StephenPollei rakudo: my Positional $foo; $foo.isa(Positional).say 19:49
p6eval rakudo 9dc941: OUTPUT«0␤»
StephenPollei rakudo: my Version $foo; $foo.isa(Version).say
p6eval rakudo 9dc941: OUTPUT«Malformed declaration at line 2, near "Version $f"␤in Main (src/gen_setting.pm:0)␤»
StephenPollei rakudo: my Int $foo; $foo.isa(Int).say 19:50
p6eval rakudo 9dc941: OUTPUT«1␤»
StephenPollei interesting that Positional doesn't cause parse error but doesn't think it is what it's supposed to be
moritz_ rakudo: my Postional $foo; say $foo.PARROT 19:53
p6eval rakudo 9dc941: OUTPUT«Malformed declaration at line 2, near "Postional "␤in Main (src/gen_setting.pm:0)␤»
moritz_ rakudo: my Positional $foo; say $foo.PARROT
p6eval rakudo 9dc941: OUTPUT«Perl6Role␤»
moritz_ rakudo: role A { }; my A $x; say $x.WHAT 19:54
p6eval rakudo 9dc941: ( no output )
moritz_ rakudo: my Positional $foo; say $foo.WHAT
p6eval rakudo 9dc941: OUTPUT«Positional()␤»
moritz_ rakudo: role A { }; my A $x; say $x.WHAT
p6eval rakudo 9dc941: OUTPUT«A()␤»
moritz_ rakudo: role A { }; my A $x; say $x ~~ A
p6eval rakudo 9dc941: OUTPUT«1␤»
moritz_ rakudo: my Positional $foo; say $foo
p6eval rakudo 9dc941: OUTPUT«Positional()␤»
moritz_ rakudo: my Positional $foo; say $foo ~~ Positional
p6eval rakudo 9dc941: OUTPUT«1␤» 19:55
moritz_ StephenPollei: it's not "isa" Positional because it's a Role
StephenPollei ok I didn't expect that, is that correct behavior?
moritz_ yes 19:56
StephenPollei I don't have clue what Positional does
moritz_ StephenPollei: if you don't want to bother with the subtleties of inheritance vs. role composition, you use ~~ Typename for type checking
StephenPollei rakudo: my Positional $foo; $foo.isa(Role).say
p6eval rakudo 9dc941: OUTPUT«0␤»
moritz_ Positional is the role that things like lists and arrays do, and that defines .[] and so on 19:57
StephenPollei oh ok
thanks 19:59
rakudo: my Associative $foo; $foo.isa(Associative).say
p6eval rakudo 9dc941: OUTPUT«0␤»
StephenPollei good thing to know because I'm running into a few of them that work the same way, I presume, and the rest a simple isa worked 20:00
pmichaud phone
StephenPollei I hope to add more to S02-builtin_data_types/declare.t and then I will be gone for about 11 days, but I shall return 20:02
20:07 iblechbot joined 20:09 meppl left 20:13 ruoso joined
ruoso back 20:14
20:20 SamuraiJack left 20:21 DemoPhreak joined 20:23 pmurias joined 20:26 ejs0 left
lichtkind ruoso: great im just go into bath 20:29
pmurias lichtkind: you can always take your laptop with you... ;) 20:30
lichtkind pmurias: i prefer to relax
pmurias ...instead of getting electrocuted :) 20:31
StephenPollei feel the soothing pulses of electrcity surge throughout you body as all your troubles simply melt away 20:34
20:35 DemoFreak left 20:37 dukeleto joined 20:38 japhb left
lichtkind StephenPollei: i prefer meditation 20:43
or some kind of altered state :)
20:50 fridim_ joined 20:51 dukeleto left 20:52 ruoso left
lichtkind how can i get the pwd of my pugs svn account? 20:53
moritz_ lichtkind: check your mailbox
lichtkind moritz_: thanks a lot 20:54
StephenPollei ~/.subversion/auth/ has three files that might have you cached password 20:55
pugs_svn r27107 | lichtkind++ | added perl tablets to docs 21:00
lichtkind moritz_: ah hat gefunzt
moritz_ lichtkind: please prefix your commit messages with [$directory] or so 21:01
lichtkind: so that people reading the commit message know where you added it 21:02
lichtkind gut
pmurias lichtkind: if you have an smop oriented questions for ruoso i might be able to anwser some of them 21:05
lichtkind pmurias: thanks a lot but i have here currently some urgent problem :) 21:06
21:08 araujo left
moritz_ is the 'smop' evalbot target still usfull? 21:16
(it currently executes pugs -Bm0ld)
pmurias not 21:19
* no
pugs_svn r27108 | moritz++ | [evalbot] cleanup 21:21
r27108 | moritz++ |
r27108 | moritz++ | * use separate file for STDIN
r27108 | moritz++ | * remove outdated 'smop' target
r27108 | moritz++ | * trailing ws
21:22 p6eval left
StephenPollei svn.pugscode.org/pugs/src/perl6/CORE.pad has int2 , int4, rat1, rat2, rat16, rat32 I don't think those are part of spec though?? 21:22
21:22 p6eval joined
moritz_ StephenPollei: S09 21:23
rakudo: say 1
p6eval rakudo 9dc941: OUTPUT«1␤»
moritz_ rakudo: say $*IN.get
p6eval rakudo 9dc941: OUTPUT«Land der Berge, Land am Strome,␤»
moritz_ still works, good 21:24
StephenPollei ok looking because I recall int1, int16 etc but not int2 and definately not rat16
moritz_ StephenPollei: get a copy of the spec, and grep ;-)
or even better, ack
StephenPollei sure I found int2 and in4, but still not rat16 and friends, not sure if those even make any sense 21:25
moritz_ search.cpan.org/~petdance/ack-1.88/ack
you're right 21:26
[particle] buubot: spack int2 21:28
buubot Couldn't match input.
StephenPollei yes just did `grep 'rat[0-9]' *pod` and found nothing, I assume that pugs is wrong to include rat16
[particle] buubot: spack int16
buubot Couldn't match input.
[particle] slaps buubot
21:28 fridim_ left
moritz_ pugs is wrong in many ways. 21:28
21:28 fridim_ joined 21:29 pmurias left
[particle] pugs was wrong from the start. i mean, haskell? come on! ;) 21:29
StephenPollei grep 'int[24]' *pod -- found S09-data.pod , S12-objects.pod , and S29-functions.pod 21:30
moritz_ pugs was right. Without I wouldn't have found my way into Perl 6 land
21:30 fridim_ left
StephenPollei [particle], I never used haskell myself but I've heard good things and I'm not much of one for language wars 21:30
moritz_ don't ignore his smiley ;-)
StephenPollei oh yes too quick of me 21:31
[particle] :)
moritz_ speaking of which, I've got "real world haskell" lying on my desk for more than 3 months now, and I haven't made it past the 4th chapter yet 21:32
PerlJam moritz_: mail it to me so it can sit on my desk for a while too :)
moritz_ ;-) 21:33
21:37 meppl joined
lichtkind no pmurias and no ruoso :( 21:48
21:48 eMaX left 22:03 Whiteknight left 22:04 nihiliad left, skids left
StephenPollei rakudo: my Array of Int @box; 22:07
p6eval rakudo 9dc941: OUTPUT«Use of type object as value␤»
moritz_ rakudo: my Array[Int] @box 22:09
p6eval rakudo 9dc941: OUTPUT«Malformed declaration at line 2, near "Array[Int]"␤in Main (src/gen_setting.pm:0)␤»
moritz_ rakudo: my Int @box
p6eval rakudo 9dc941: ( no output )
StephenPollei perlcabal.org/syn/S02.html#Hierarchical_types
moritz_ it's NYI
StephenPollei probably going to add a few of these declarations and then call it a day 22:10
NYI -- Not yet implemented .. yes I'll have to skip it
#?rakudo skip 'Not yet implemented' 22:11
22:16 alester_ left 22:20 dukeleto joined
pugs_svn r27109 | stephenpollei++ | [S02-builtin_data_types/declare.t] Positional Associative Abstraction utf8 utf16 num16 and some Hierarchical types added,etc 22:24
r27109 | stephenpollei++ | added place holders comments to add more things when I get back in 11 days
22:28 clintongormley left 22:30 iblechbot left 22:45 dukeleto left 22:48 nihiliad joined 22:50 justatheory joined 22:51 DanielC left 22:57 kidd_ joined, M_o_C left 23:03 TimToady joined 23:05 jferrero joined 23:07 kidd_ is now known as raig
pugs_svn r27110 | lwall++ | [S02/declare.t] mis-sigiled variable 23:17
23:19 justatheory left 23:20 donaldh left 23:21 donaldh joined 23:22 tarbo2 left 23:25 justatheory joined
pugs_svn r27111 | lwall++ | [CORE] reserve some missing native types; swap typenames with functions 23:30
r27111 | lwall++ | (note that reserved typenames like complex128 aren't guaranteed to be
r27111 | lwall++ | supported, but at least they'll parse!)
23:32 lichtkind left
pugs_svn r27112 | lwall++ | [S09] add missing rat native types 23:36
r27113 | lwall++ | [CORE] rats smaller than rat8 byte considered useless 23:37
23:39 eternaleye joined 23:41 skids joined
eternaleye rakudo: my @x = <a b c>; my @y = |eval( @x.perl ); say @x.perl, @y.perl 23:55
p6eval rakudo 9dc941: OUTPUT«too many arguments passed (4) - 2 params expected␤in Main (/tmp/jShqD4v8G2:2)␤»