»ö« | perl6-projects.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by sjohnson on 21 August 2009.
00:07 frew__ left 00:10 rdice joined 00:12 wayland__ joined 00:18 dukeleto_ joined 00:23 carlin joined 00:25 wayland76 left 00:26 jferrero left 00:27 M_o_C left 00:29 dukeleto__ joined
s1n pmichaud: see the mini-hackathon invite we sent out? it'll be fun :) 00:31
colomon Anyone out there at the moment understand method postcircumfix:<[ ]> (*@@slice) {...} ? 00:35
*@@slice is a bit beyond me, I fear... 00:36
rakudo: class A { has @.array; method postcircumfix:<[ ]> (*@@slice) { self.array[*@@slice] }; }; 00:37
p6eval rakudo 0d4fe0: ( no output )
colomon std: class A { has @.array; method postcircumfix:<[ ]> (*@@slice) { self.array[*@@slice] }; }; 00:38
p6eval std 28048: ( no output )
colomon std: : class A { has @.array; method postcircumfix:<[ ]> (*@@slice) { self.array[@@slice] }; };
p6eval std 28048: ( no output )
00:39 wayland__ left
colomon rakudo: class A { has @.array; method postcircumfix:<[ ]> (*@@slice) { self.array[*@@slice] }; }; my $a = A.new; say $a[0]; 00:39
p6eval rakudo 0d4fe0: ( no output ) 00:40
00:40 SmokeMachine joined 00:43 tann left, dukeleto left 00:46 jrtayloriv left 00:52 wayland76 joined 00:55 dukeleto_ left 00:56 frew__ joined 00:58 Whiteknight left
colomon rakudo: class A { has @.array; method postcircumfix:<[ ]> (*@@slice) { self.array[*@@slice] }; }; my $a = A.new(a => 1..5); say $a[0]; 01:00
p6eval rakudo 0d4fe0: OUTPUT«Unable to parse multisig; couldn't find final ')' at line 2, near "@slice) { "␤in Main (src/gen_setting.pm:3390)␤»
colomon rakudo: class A { has @.array; method postcircumfix:<[ ]> (*@@slice) { 15 } ; }; my $a = A.new(a => 1..5); say $a[0]; 01:01
p6eval rakudo 0d4fe0: OUTPUT«Unable to parse multisig; couldn't find final ')' at line 2, near "@slice) { "␤in Main (src/gen_setting.pm:3390)␤» 01:02
01:08 M_o_C joined 01:10 simcop2387 left 01:13 xomas_ joined 01:22 dukeleto__ left, alester joined 01:23 frew__ left
colomon rakudo: class A { has @.array; method postcircumfix:<[ ]>($n) { 15 } ; }; my $a = A.new(a => 1..5); say $a[0]; 01:31
p6eval rakudo 0d4fe0: OUTPUT«15␤»
colomon rakudo: class A { has @.array; method postcircumfix:<[ ]>($n) { self.array[$n]; }; }; my $a = A.new(a => 1..5); say $a[0] 01:32
p6eval rakudo 0d4fe0: OUTPUT«Method 'array' not found for invocant of class 'Perl6Array'␤»
colomon rakudo: class A { has @.array; multi method postcircumfix:<[ ]>($n) { self.array[$n]; }; }; my $a = A.new(a => 1..5); say $a[0]; 01:33
p6eval rakudo 0d4fe0: OUTPUT«Method 'array' not found for invocant of class 'Perl6Array'␤»
colomon rakudo: class A { has @.array; multi method postcircumfix:<[ ]>($n) { @.array[$n]; }; }; my $a = A.new(a => 1..5); say $a[0]; 01:34
p6eval rakudo 0d4fe0: OUTPUT«Method 'array' not found for invocant of class 'Perl6Array'␤»
01:35 mkelly32 left
wayland76 rakudo: class A { has @.foof; multi method postcircumfix:<[ ]>($n) { @.foof[$n]; }; }; my $a = A.new(a => 1..5); say $a[0]; 01:36
p6eval rakudo 0d4fe0: OUTPUT«Method 'foof' not found for invocant of class 'Perl6Array'␤»
wayland76 colomon: I presume you know about "handles", though, right? 01:37
colomon wayland76: errr.... no?
wayland76 rakudo: class A { has @.array; method postcircumfix:<[ ]>($n) { "15 $n on a dead man's chest" } ; }; my $a = A.new(a => 1..5); say $a[0]; 01:38
p6eval rakudo 0d4fe0: OUTPUT«15 0 on a dead man's chest␤»
wayland76 colomon: justamo, will find doco
colomon: Just open S12 and find "handles" 01:39
colomon wayland76: thanks.
wayland76 class Dog { has $.legs handles <walk run lope shake lift>; }
etc :)
colomon Are you saying that "has @.array handles postcircumfix:<[ ]>" should work?! 01:41
Because that's beyond awesome if it does. 01:42
Or would it be "has @.array handles Array" ?
rakudo: class A { has @.foof handles Array; }; my $a = A.new(a => 1..5); say $a[0]; 01:43
p6eval rakudo 0d4fe0: OUTPUT«Method 'postcircumfix:[ ]' not found for invocant of class 'A'␤»
colomon wayland76++ 01:45
Not that I have any idea how to make this work yet, but at least I've gotten exposed to cool new stuff. :) 01:48
Need to go to bed now before I collapse... 01:49
wayland76 I should point out that I don't know if it's implemented 01:51
But it's definitely something that's supposed to work in P6 :)
'night 01:52
01:53 nihiliad joined 02:01 meppl left
cognominal rakudo: if 0 but true { say ^a } 02:13
p6eval rakudo 0d4fe0: OUTPUT«The but operator can only be used with a role or enum value on the right hand side␤in Main (/tmp/GhBHOGKdWN:2)␤»
02:16 alester left 02:18 simcop2387 joined 02:19 M_o_C left
TimToady std: if 0 but true { say ^a } 02:24
p6eval std 28048: OUTPUT«===SORRY!===␤Expression needs parens to avoid gobbling block at /tmp/jf5p7JFpun line 1:␤------> if ⏏0 but true { say ^a }␤Missing block (apparently gobbled by expression) at /tmp/jf5p7JFpun line 1 (EOF):␤------> if 0 but true { say ^a
..}[33…
TimToady std: if 0 but True { say ^a } 02:25
p6eval std 28048: OUTPUT«Undeclared routine:␤ a used at 1 ␤ok 00:02 39m␤»
02:27 alester joined
cognominal rakudo: if 0 but True { say ^a } 02:29
p6eval rakudo 0d4fe0: OUTPUT«The but operator can only be used with a role or enum value on the right hand side␤in Main (/tmp/qtZynDbMPT:2)␤»
TimToady known bug, I believe
rakudo: 0 but Bool::True 02:30
p6eval rakudo 0d4fe0: OUTPUT«The but operator can only be used with a role or enum value on the right hand side␤in Main (/tmp/JGAtBg8icE:2)␤»
cognominal ok
TimToady but true is a listop
which is why it ate the block in std
02:31 rdice left, justatheory left, tak11 joined
cognominal true is the true value in javascript, so my confusion 02:31
02:32 justatheory joined
TimToady decommuting & 02:44
02:50 justatheory left 03:03 Limbic_Region left 03:05 simcop238 joined 03:09 simcop2387 left, simcop238 is now known as simcop2387 03:42 tann joined
carlin rakudo: sub foo {}; say foo.WHAT; 03:43
p6eval rakudo 0d4fe0: OUTPUT«List()␤»
carlin rakudo: sub if {}; say if.WHAT;
p6eval rakudo 0d4fe0: OUTPUT«say requires an argument at line 2, near "if.WHAT;"␤in Main (src/gen_setting.pm:2510)␤»
carlin rakudo: sub if {}; say if().WHAT;
p6eval rakudo 0d4fe0: OUTPUT«List()␤»
Tene rakudo: sub if {}; say &if.WHAT; 03:44
p6eval rakudo 0d4fe0: OUTPUT«Sub()␤»
03:45 frew__ joined
carlin should sub foo {}; say foo.WHAT give a different output if the sub is called "if" rather than "foo"? (Even though 'if' is a language statement) 03:54
03:57 cdarroch left 03:59 xomas_ left 04:18 alester left 04:52 kyle_l5l joined 04:59 jaldhar joined 05:02 justatheory joined 05:11 tak11 left 05:14 tak11 joined 05:15 tak11 left 05:20 sri_kraih_ joined 05:30 jauaor left 05:31 araujo left 05:37 sri_kraih left, sri_kraih_ is now known as sri_kraih 05:40 orafu left 05:41 orafu joined 05:51 nihiliad left 06:13 justatheory left 07:24 cotto left, cotto joined 07:49 cotto left 07:50 jferrero joined 07:56 tann_ joined 08:01 renormalist left 08:02 tann left 08:18 ewilhelm_ left 08:21 frederico joined, Su-Shee joined
Su-Shee heyho. :) 08:21
moritz_ good morning Su-Shee 08:25
carlin: no, should make no difference
perlgeek.de/blog-en/perl-6/visualiz...trees.html 08:39
Su-Shee moritz_: that's a really cool idea. 08:40
08:41 yahooooo joined
Su-Shee moritz_: very educational. there's literally thousands of tools out there for web developers and "us common folks" who don't get the regex stuff.. all asking for something visual. 08:41
08:48 frew__ left 08:51 tann_ left
colomon moritz_: That's an amazingly cool idea. But the example source and picture don't go together? (One seems to be parsing Perl 6 code, the other something about the price of fruit?) Or is there something subtle here I'm missing at 5 am? 08:59
moritz_ colomon: no, I messed it up, sorry 09:02
colomon: fixed 09:04
09:06 Chillance joined 09:10 guest_007 left 09:12 cotto joined 09:15 meppl joined 09:40 jaffa8 joined
jaffa8 hi 09:40
I downloaded parrot-win32 binary
and rakudo
but it does not work
cognominal can you be more specific? 09:55
jaffa8 I can 09:56
I get an error when I run per6.exe
perl6.exe
pct.pbc not ound
pct.pbc not found 09:57
cognominal,well?
moritz_ it looks like somebody[tm] missed a 'make install-dev' while building the packages. 09:58
jaffa8: you can download and build it yourself, see rakudo.org/how-to-get-rakudo for instructions
jaffa8 I tried 09:59
that too
I get parrot_install is not recognised
moritz_ that seems... odd
jaffa8: did the path to your build directory contain whitespaces? 10:00
if so, you might try with a path without whitespaces
jaffa8 no
moritz_ we've had problems with that before
jaffa8 I use version 1.4
moritz_ and which rakudo?
10:01 bpetering joined
jaffa8 rakudo-2009-08 10:01
moritz_ you need parrot-1.5 for that
jaffa8 so which rakudo version can I use?
moritz_ 2009-07 works with parrot-1.4 10:02
phenny: tell alester when I log in to rakudo.org I only see blank pages - any ideas?
phenny moritz_: I'll pass that on when alester is around.
10:03 Whiteknight joined
jaffa8 moritz_, I got it working 10:06
10:06 payload left
moritz_ jaffa8: great 10:06
afk
jaffa8 I needed to set parrot-config for configure.pl
dalek kudo: e83932a | (Martin Berends)++ | tools/test_summary.pl:
tools/test_summary.pl: code cleanup, more result output, added comments
10:07
jaffa8 rakudo gives me pretty bad error messages 10:11
10:13 payload joined
moritz_ we re-worked much of the build process for the 2009-08 release; if you have the option to use parrot-1.5 you should also try to use the latest rakudo 10:13
really afk& 10:15
jaffa8 ok 10:17
colomon moritz_++ 10:20
jaffa8 Is not possible to use a variable without declaring it? 10:25
carlin moritz_: so this is a bug? 10:26
rakudo: sub foo {}; say foo.WHAT;
p6eval rakudo 0d4fe0: OUTPUT«List()␤»
carlin rakudo: sub if {}; say if.WHAT;
p6eval rakudo 0d4fe0: OUTPUT«say requires an argument at line 2, near "if.WHAT;"␤in Main (src/gen_setting.pm:2510)␤»
carlin (if so is it known? It's difficult to search for ...)
10:27 Front_slash joined 10:29 bpetering is now known as missingthepoint 10:30 arthur-_ joined
jnthn morning all 10:31
jaffa8: We should support that as the default in -e eventually, and I guess one day you'll also be able to say "no strict", but Perl 6 by default requires declaration of variables. 10:33
jnthn isn't sure why you'd want to not declare a variable outside of one-liners...
10:34 arthur-_ left
missingthepoint morning jnthn :) 10:34
phenny missingthepoint: 21 Aug 20:22Z <masak> tell missingthepoint (when he's around) that I've made great progress on my Text::CSV module today. all but one TODO ideas have been implemented. would love to have chat about the merge soon.
jnthn morning missingthepoint 10:35
Well, "morning" ;-)
missingthepoint haha, i just looked up bratislava... thought "morning". :)
(that's my definition of 'morning' too, in that it's when i become conscious.) 10:36
and now it's 8pm localtime and i have a bag of mars bars and a bunch of ideas. 10:37
@seen masak
lambdabot I saw masak leaving #perl6 11h 36m 16s ago, and .
10:37 gfldex_ is now known as gfldex
jnthn ...and WHAT?! 10:38
missingthepoint heh, lambabot likes to include the null sentence. ;-) 10:39
erm, *lambda
10:41 kyle_l5l left
missingthepoint phenny: tell masak to yell out when he shows up as I have those "further thoughts" to share with him. 10:41
phenny missingthepoint: I'll pass that on when masak is around.
10:50 duke_leto joined 10:53 masak joined
cognominal rakudo: say sort map { "'$_', " }, Class.^methods 10:54
p6eval rakudo 0d4fe0: OUTPUT«'!SUBTYPE_ACCEPTS', '!SUBTYPE_PROTOOVERRIDES', '', '', 'Array', 'BUILD', 'BUILDALL', 'CREATE', 'Hash', 'Iterator', 'PARROT', 'REJECTS', 'Scalar', 'Str', 'WALK', 'WHENCE', 'WHERE', 'WHICH', 'bless', 'clone', 'defined', 'eigenstates', 'hash', 'item', 'iterator', 'new', 'perl',
..'print…
cognominal jnthn, how comes two method names comme empty? 10:55
s/comme/come/
masak cognominal: I believe it has something to do with where they are declared -- PIR-level, Setting or some other possibility. 10:56
phenny masak: 10:41Z <missingthepoint> tell masak to yell out when he shows up as I have those "further thoughts" to share with him.
jnthn Wow, doing it on Class is interesting... 10:57
jnthn is happy it didn't explode
masak missingthepoint: y0!
jnthn cognominal: It'll be because there's some Parrot v-table overrides in there.
cognominal ok, just curious
jnthn That doesn't have a way to be called otherwise.
I guess in some senses its guts leakage. OTOH, if you're calling .^methods on something like Class you maybe deserve it. ;-)
cognominal well, I got it on other classes 10:58
rakudo: say sort map { "'$_', " }, Any.^methods
p6eval rakudo 0d4fe0: OUTPUT«'', '', ':d', ':e', ':f', 'Array', 'BUILD', 'BUILDALL', 'CREATE', 'Complex', 'Hash', 'Int', 'Iterator', 'PARROT', 'REJECTS', 'Scalar', 'Str', 'WALK', 'WHENCE', 'WHERE', 'WHICH', 'abs', 'bless', 'bytes', 'can', 'capitalize', 'ceiling', 'chars', 'chomp', 'chop', 'chr', 'cis',
..'clone'…
jnthn oh 10:59
Yeah...hmmm
Oh, I know...
10:59 cotto left
jnthn They're in Object probably. 10:59
cognominal rakudo: Class A {}; say sort map { "'$_', " }, A.^methods
p6eval rakudo 0d4fe0: OUTPUT«Statement not terminated properly at line 2, near "A {}; say"␤in Main (src/gen_setting.pm:3390)␤»
cognominal oops
rakudo: class A {}; say sort map { "'$_', " }, A.^methods
p6eval rakudo 0d4fe0: OUTPUT«'', '', ':d', ':e', ':f', 'Array', 'BUILD', 'BUILDALL', 'CREATE', 'Complex', 'Hash', 'Int', 'Iterator', 'PARROT', 'REJECTS', 'Scalar', 'Str', 'WALK', 'WHENCE', 'WHERE', 'WHICH', 'abs', 'bless', 'bytes', 'can', 'capitalize', 'ceiling', 'chars', 'chomp', 'chop', 'chr', 'cis',
..'clone'…
masak jnthn: I'm way past the Moritz Workaround Limit on a thing I'd like to have for Text::CSV... could I run a feature request by you? it's about attributes on type objects. 11:00
cognominal rakudo: class A {}; say sort map { "'$_', " }, A.^parents
p6eval rakudo 0d4fe0: OUTPUT«'Any()', 'Object()', ␤»
11:01 test joined
jnthn masak: A type object doesn't have any instance storage. 11:02
masak: If that's what you mean.
masak jnthn: I kinda figured that out from S12, yes.
jnthn In Rakudo we currently tell you that by a Null PMC Access. ;-)
missingthepoint masak: y0!
jnthn But we really should find a better way. :-) 11:03
masak jnthn: or, equivalently, the attribute initializations are made at object instantiation time.
jnthn: but S12 goes on to talk about BEGIN { ... } and stuff.
11:03 test left
masak jnthn: and that doesn't work either. :( 11:03
missingthepoint: hello. I'd be happy to talk about your ideas.
missingthepoint masak: off-chan, they're really only relevant for you. :) 11:04
11:04 jon joined
jnthn attributes are init'd during BUILD, IIUC 11:04
cognominal rakudo: class A {}; say A.PARROT
p6eval rakudo 0d4fe0: OUTPUT«␤»
masak jnthn: in fact, I've found no way to assign values to the attributes of the type object. it's not a strict necessity for the Text::CSV module, but it'd be really nice.
jnthn That's spec though so far as I know.
duke_leto Is @*ARGS the only way to access the program arguments?
11:04 jon left
cognominal say my @a.PARROT 11:04
11:04 test joined
cognominal rakudo: say my @a.PARROT 11:04
jnthn masak: The point is that by definition a type object has no instane storage.
p6eval rakudo 0d4fe0: OUTPUT«Statement not terminated properly at line 2, near ".PARROT"␤in Main (src/gen_setting.pm:3390)␤» 11:05
cognominal rakudo: my @a; say @a.PARROT
11:05 test left
p6eval rakudo 0d4fe0: OUTPUT«Perl6Array␤» 11:05
masak jnthn: well, see S12:646.
jnthn Pseudo-assignment to an attribute declaration specifies the default 11:06
value. The value on the right is treated as an implicit closure and
evaluated at object build time, that is, when the object is being
constructed, not when class is being composed.
masak right. 11:07
jnthn I think Rakudo is doing that correctly.
masak and then it goes on to describe ways around that, with BEGIN et al.
jnthn has $.r = BEGIN { rand }; # would mean we compute the value at BEGIN time and just shove that into the closure, I guess.
masak but I'm starting to see that this is not inconsistent with what you said about attributes not being available to type objects. 11:08
ok, here's my use case instead; maybe we'll be able to find a way to do that.
jnthn masak: Right, we don't do the assignment in any way at compose time.
masak I have a couple of class-wide parameter defaults. I'd like to store those in the class.
jnthn masak: It's just that instead of the implicit closure being { rand } it is instead { BEGIN { rand } } 11:09
masak before a couple of minutes ago, I thought I could store those as instance variables.
but that doesn't work, becase I call my methods on the type object sometimes, and they have to be available then. 11:10
jnthn class Foo { our $.bar is rw }; my $x = Foo.new; my $y = Foo.new; $x.bar = 10; say $y.bar
rakudo:class Foo { our $.bar is rw }; my $x = Foo.new; my $y = Foo.new; $x.bar = 10; say $y.bar
masak hm. :) I think I have an idea. I'll have to store the constants as lexicals instead, and then initialize them to the attributes. yeah, that works. it's three levels instead of two, but it has the advantage of working.
jnthn Is that the semantics you want? 11:11
rakudo: class Foo { our $.bar is rw }; my $x = Foo.new; my $y = Foo.new; $x.bar = 10; say $y.bar
p6eval rakudo 0d4fe0: OUTPUT«10␤»
masak no.
let me whip up an example.
missingthepoint masak: here's something that is relevant for the channel 11:13
masak :)
missingthepoint why is there no use_ok() in Test.pm?
I want one. I'm willing to create one but got stuck.
masak missingthepoint: maybe that's why. :)
missingthepoint :) 11:14
wayland76 ping bots
missingthepoint wayland76: pong
wayland76 missingthepoint: @tell phenny I want an icecream :)
11:14 fredrecsky joined
missingthepoint hahaha 11:15
wayland76 turing test fail :)
masak rakudo: class A { my $foo-default = 42; has $!foo; method bar(:$foo is copy) { if !$foo.defined { $foo = $foo-default }; say $foo } }; A.bar(); A.bar(:foo(43)); A.new(:foo(44)).bar
p6eval rakudo 0d4fe0: OUTPUT«42␤43␤42␤»
masak jnthn: there's a partial implementation of my idea. I want it to say 42, 43, 44. 11:16
ah, here: 11:17
rakudo: class A { my $foo-default = 42; has $!foo; method bar(:$foo is copy) { if !$foo.defined { $foo = self.WHICH == A.WHICH ?? $foo-default !! $!foo }; say $foo } }; A.bar(); A.bar(:foo(43)); A.new(:foo(44)).bar
p6eval rakudo 0d4fe0: OUTPUT«42␤43␤44␤»
masak (is there a better way to say "am I an instantiated object?") 11:18
self.defined, perhaps?
jnthn self.defined, yes
also, why .WHICH?
=== calls .WHICH on each side.
masak oh, ah. 11:19
jnthn And you probably can't trust it to be something you can numerically compare.
Plus it makes your code shorter. :-)
masak rakudo: class A { my $foo-default = 42; has $!foo; method bar(:$foo is copy) { if !$foo.defined { $foo = self === A ?? $foo-default !! $!foo }; say $foo } }; A.bar(); A.bar(:foo(43)); A.new(:foo(44)).bar
p6eval rakudo 0d4fe0: OUTPUT«42␤43␤44␤»
masak for some reason, using === rather than self.defined feels safer.
someone could be mucking with the .defined method. 11:20
jnthn True.
Anyway, looks like lexical in the class is the solution you wanted. :-) 11:21
masak yes.
and fewer Null PMC accesses in general. :P
11:24 payload left, payload joined
Matt-W o/ 11:26
masak o/
oh, I'll probably have to go with .defined despite its overridability... the === solution doesn't handle subclassing very well. 11:27
11:27 frederico left
Matt-W is enjoying free wifi at st pancras international 11:27
hmm 11:29
interesting fun with methods there masak
You're trying to make something which behaves in some sane manner called on both the class and on an instance?
masak more or less, yes.
it's kind of a pattern I see emerging with modules/classes. 11:30
the idea is that some defaults are provided for you, but you can override them by instantiating -- or by passing arguments.
the former has the advantage that you get an object with your defaults.
Matt-W yeah 11:31
sounds interesting
if you develop it properly, make sure you blog about it
we need thoughts out there about perl 6 design
as in, how to write stuff using it rather than how to design the language itself
masak Matt-W: yes. this will definitely become a blog post. 11:32
Matt-W hurrah
11:35 pmurias joined
jnthn masak: You could always hack up a trait. 11:37
This nearly works:
multi trait_mod:<is>(AttributeDeclarand $a, $value, :$type-object-valued) { my $accessor_name = $a.name.substr(2); my $meth = method { self.defined ?? $value !! eval($a.name) }; $a.how.add_method($a.how, $accessor_name, $meth);
}
oh fail
pmurias what's the state of MAD?
jnthn gist.github.com/172753 11:38
Matt-W jnthn: I found your blog post on custom traits very interesting
jnthn pmurias: Well, Russia and the US are both still there...
Matt-W jnthn: I may have a use for those soon...
masak jnthn: cool!
jnthn masak: You'll never guess why it doesn't actually work though. :-/
pmurias jnthn: meant the stuff in perl5 for translation to perl 6
jnthn pmurias: ;-) 11:39
masak jnthn: no, probably not.
jnthn pmurias: I'm not so sure...I seem to remember hearing that it wasn't been maintained as much as it maybe needed to be from somewhere...
That may just be because it's not being used all that much at the moment though. 11:40
masak: The eval to get the attribute value is has a fail.
masak: Because eval doesn't realize we're inside of a class.
:-/
masak :(
jnthn I'm not really sure what to do about that.
Matt-W :( 11:41
eval needs to be more aware of its calling environment?
jnthn Actually, it's the same issue we have with .perl
In terms of wanting a general solution.
reqamst masak: I was testing this things from S12 to implement method_missing, but it doesn't work :(
masak jnthn: well, I currently have this, which is pretty nice: gist.github.com/172758
jnthn That is, there's no way to actually get at the attribute storage.
From Perl 6.
masak reqamst: sorry to hear that. maybe submit a TODO ticket?
jnthn We all know we can from inline PIR. 11:42
Matt-W oh
hmm
that is a bit of a problem
reqamst masak: I still could parse $!, but I think it's wrong way
masak: but I will try yet 11:43
masak reqamst: I'm not really following what you're doing here.
jnthn masak: Not so bad. :-) 11:44
reqamst masak: moment for respite ;)
Matt-W would have used a pointy sub instead of placeholder parameters 11:45
masak jnthn: it doesn't work, though :(
jnthn: (beacuse the arguments to the closure are evaluated unconditionally)
Matt-W that's a problem? 11:46
11:46 cotto joined
Matt-W thinks it looks quite sensible 11:46
masak Matt-W: yes, you're not allowed to speak about $!foo for a type object.
Matt-W: and Rakudo punishes you with a Null PMC access right now.
Matt-W oooh of course
the moment you pass $!foo to the closure it's going to try and look it up
masak yes :( 11:47
jnthn And you can nee eval it because... :-(
Matt-W you need a way to write subroutines which can shortcut their own arguments...
MACRO TIME
:P
jnthn Oh, just wrap it up in a closure. :-P 11:48
Matt-W yeah I was about to suggest that
masak er.
jnthn Unpretty though.
Matt-W but if yo udid it with a macro it could do that for you
jnthn Right.
Matt-W it *would* defer evaluation :)
jnthn Which would be pretty.
masak I think I'll just go the way of an if/else statement.
jnthn Mmm. Pretty.
Matt-W well get on with implementing them then :)
forget this rakudo star thing, we want a mungeable grammar 11:49
11:50 rdice joined
jnthn hi rdice :-) 11:50
rdice jnthn: Ahoy!
masak rdice: o/
rdice masak: Hi hi.
(now appears to be the time for the Europeans to bid good morning to the N'Americans who are just in the process of waking up.) 11:51
Matt-W yup
and nearly time for me to go get my train
jaffa8 How I make a label in Perl 6?
masak jaffa8: just like in Perl 5. 11:52
jnthn Matt-W: Going anywhere exciting?
Matt-W: Is the train British^Wdelayed? ;-)
jaffa8 I get a syntax error
Matt-W jnthn: going home, and it's british but currently showing as on time
masak jaffa8: in Rakudo?
jnthn Matt-W: Wow. ;-) 11:53
Matt-W the eurostar seems to be running on time too
astonishing
I have, so far, been very lucky with travel
jaffa8 masak, in Rakudo
11:53 Front_slash left
Matt-W yesterday was flawless 11:53
masak jaffa8: that's because labels are not implemented yet.
Matt-W today so far has only been marred by an impatient american demanding of me why the train stopped for so long at Redhill
as if I look like I'd know...
jnthn Yeah, but the Eurostar is run half by the French too, who actually run a decent railway network in my experience, on the days they aren't on strike. ;-)
Matt-W true
jaffa8 Matt-W, where is Red Hill? 11:54
cognominal italian and british train are late, french one are on strike!
Matt-W Redhill is in Surrey
not far south of London
rdice jnthn: there appears to be a universal law of conservation of annoyance at play in your observation.
jnthn rdice: There's always *something* to complain about, y'know. :-) 11:55
jaffa8 masak, that is bad, my hopes were greater than this
rdice Complaining is your own choice. Annoyance is what the universe gives onto you without your input in the matter.
carlin if there was nothing to complain about you could complain about having nothing to complain about
Matt-W jnthn: at the moment I'm anticipating getting back to Nottingham and discovering that the trams are broken and the cat's trashed the house
masak jaffa8: well, it's a volunteer effort. not everything can be done at once. 11:56
jaffa8: you are very welcome to help.
jnthn Surely a cat wouldn't do such a thing? ;-)
They look so cute and innocent.
jaffa8 masak, I read the someone is sponsoring it
Matt-W errrr
Su-Shee jnthn: you have no idea what this 2 kg fluffballs are capable of. ;) 11:57
11:57 Front_slash joined
masak jaffa8: yes, someone is sponsoring it. 11:57
cognominal Part of the line of rapid transit system is owned RATP and the other by SNCF (subway company and railway company) so I have twice the chance to have problem with strikes.
masak jaffa8: the bottleneck is still developer hours, however.
jnthn jaffa8: Yes, that still doesn't give us infinite resources. :-)
Matt-W it gives us a lot more than it would otherwise...
jaffa8 the task is finite.
masak jaffa8: but not small.
jnthn Sure, so are our resources.
cognominal And this is the one that links Orly airport and Xharles de Gaulle airport too... 11:58
11:58 abra joined
jnthn jaffa8: The other thing is that a decent bit of things that do get added are in response to things people developing stuff on Rakudo actually run into (or at least, such things get a priority boost quite often). Labels from what I've heard just aren't missed *that* much. 11:59
So haven't ever really risen that high on the todo list yet.
Matt-W Right, I'll be back in four hours or so
o/
jnthn Matt-W: Safe travels. o/
masak jaffa8: out of curiosity, what is it you need labels for? 12:00
jaffa8 I am trying to convert an old perl 5 program 12:01
jnthn
.oO( also I've no clue how we're going to implement labels... )
jaffa8 it contains copy sub
I think I copied it from File::Copy
that contained some labels.
jnthn Aha.
jaffa8 It used for error handling
e.g. close(TO) || goto fail_open2 if $closeto; 12:02
Is Pugs better? 12:03
Juerd g...g...goto? 12:04
masak jaffa8: I'm sure we can do better than goto for error handling. :) 12:05
jnthn jaffa8: To be honest, looking at that line of code suggests to me that there's probably a better way to write such things in Perl 6 that don't require labels / goto.
jaffa8: Perl 6 has CATCH blocks, for example, so exception handling is more workable.
jaffa8 ok 12:07
moritz_ jnthn: btw I also experience blank pages on rakudo.org, after logging in 12:08
jnthn moritz_: Ah!!
moritz_: I have auto-login...
jaffa8 Is Pugs better?
Juerd jaffa8: Did you know, by the way, that using goto for error handling is considered a bad idea in just about any programming language except BASIC?
jaffa8 I did not write the code 12:09
Juerd Doesn't really matter who did it :)
You appear to have the privilege of fixing it :) 12:10
cognominal jnthn, trying to understand the empty names. What is the difference between .sub '' :method('list') and .sub list :method I don't get what says pdd19_pir.pod:240
masak jaffa8: I'm not so sure Pugs can be said to be better. it's certainly less seen to nowadays.
jnthn jaffa8: Pugs may handle labels, I'm really not sure... Pugs is not really maintained these days, and has fallen behind with the spec somewhat as a result. Feature wise, it handles a few things Rakudo does not yet, but Rakudo handles various things that Pugs never has.
pmurias Juerd: goto is used for error handling in the linux kernel
moritz_ it's not maintained in nor developed anymore 12:11
cognominal Juerd, well, in C, goto is very useful to exit many levels of loop
jnthn Plus Rakudo, since it's actively developed, is catching up on those things.
moritz_ pmurias: yes, because C has no exceptions
Juerd pmurias: Kernels do ugly things all over the place
cognominal Juerd, I am not speaking of exiting routines, but embedded loops 12:12
Juerd Maybe I should have said "every high level programming language"
But then I have to indicate where high level starts :|
cognominal ...within a function
jnthn cognominal: I guess the difference is in the namespace entry it gets... 12:13
That is, it only ends up as a method, but not in the NS.
pmurias Juerd: if a bad thing happens while you initialise stuff a goto is the best way in C to jump to the abropriate place in the deinitalisation sequence
cognominal jnthn, so why do you vary between the two styles?
Juerd pmurias: I'm not sure I could ever code C. 12:14
jnthn cognominal: We generally don't use the :method('name') one much at the moment...
12:15 Front_slash left
jnthn cognominal: But really there's some clean-up to do there. 12:15
jnthn afk for a bit 12:16
cognominal ok, so there is no relationship with the empty method names as per ,^methods
jaffa8 I found a bug 12:21
I had catch fail_inner{
'the syntax was not recognised properly
12:21 rdice left
jaffa8 I had >>>catch fail_inner{<<<< 12:22
masak jaffa8: it's CATCH with capital letters.
rakudo: CATCH { say "like this" }
p6eval rakudo 0d4fe0: ( no output )
jaffa8 in the documention
it is in lowercase.
masak which documentation?
jaffa8 dev.perl.org/perl6/rfc/63.html 12:23
masak jaffa8: that's not documentation, that's an RFC.
jaffa8: those are suggestions from nine years ago about what should end up in the language.
not all features were accepted, and even those that were were often changed in significant ways.
jaffa8 should try be in uppercase too? 12:24
masak jaffa8: no.
jaffa8 only the catch?
moritz_ go to perl6-projects.org/ and follow the links for Specification and Documentation
masak jaffa8: what moritz_ said. they explain it better and more compactly.
jaffa8: the things about try and CATCH are in S04.
missingthepoint moritz_: if one wants to test a .parse method, should one rely on .perl, or is is_deeply() in Test.pm better? 12:25
moritz_ missingthepoint: .perl is not suited for comparison, because it doesn't sort hash keys 12:26
I don't know how well is_deeply() deals with Match objects.
missingthepoint ah. that's all i need to know (.perl is insufficient)
masak moritz_: I know there isn't any logic in is_deeply() for Match objects. 12:27
missingthepoint (we don't need to deal with Match objects, because generally we can test individual fields)
masak so probably not that well. but I imagine it could be adapted to deal well with them.
moritz_ infix:<eqv> doesn't handle it either.
missingthepoint masak: I think testing Match objects for Text::CSV would be testing implementation. I think .fields is the interface, no? 12:28
masak missingthepoint: I currently only expose things through .parse and .parse-file
I'm not sure .fields makes sense, since the object doesn't store the parse. 12:29
12:29 explorer__ joined
missingthepoint masak: we need to figure that out (it's kind of a central question - should we still keep state in the parse?) 12:30
s/parse/object/
why did you go the direction you did? 12:31
jaffa8 Does local exist in Perl 6?
cognominal jaffa8, that would be tmp 12:32
wayland76 jaffa8: The section about CATCH is at perlcabal.org/syn/S04.html#Closure_traits
jaffa8 cognominal, Can you rephrase that? 12:34
missingthepoint jaffa8: 'local' becomes 'temp' (more or less)
jaffa8 the contained local 12:35
I did not get a syntax error
How is that possible?
missingthepoint jaffa8: code?
cognominal jaffa8, see gist.github.com/172768
...for all the reference to the temp keyword 12:36
jaffa8 local ( FROM, TO );
12:37 rdice joined
jaffa8 Are forward references necessary in Perl 6? 12:38
cognominal jaffa8, what do you mean?
jaffa8 sub extract_idfo; 12:39
cognominal they are necessary for multisub so that signatures are available for dispatch purposes 12:41
pmurias jaffa8: they aren't nessesary in perl5
jaffa8: and neither they are in perl6
cognominal otherwise I suppose you can (must?) use parentheses to mean a sub call without parameters 12:42
pmurias perl6: foo;sub foo {say "hi there"}
p6eval elf 28048, pugs, rakudo 0d4fe0: OUTPUT«hi there␤»
pmurias cognominal: you meant that something like that?
missingthepoint hmm, i didn't expect that to work :) 12:43
cognominal yes, you just precised what I meant to say.
12:46 jferrero left
duke_leto uhm… Why does “@array = []; say +@array;” produce 1 – and “@array = (); say +@array;” produce 0? Is that intentional? 12:46
cognominal rakudo: my @array=[]; say @array.perl 12:48
p6eval rakudo 0d4fe0: OUTPUT«[[]]␤»
cognominal duke_leto, you get it? :)
jnthn duke_leto: [] constructs an array, () a list. 12:49
duke_leto I see… this creates an array of an empty array.
jnthn duke_leto: You can think of [] a bit like an array ref in Perl 5 - it won't flatten.
Correct.
duke_leto How would I “reset” an array? The situation is, I use an array many times, but want to make it empty at one point. 12:50
cognominal @a = () # with an empty list
lambdabot Maybe you meant: activity activity-full admin all-dicts arr ask . ? @ v
duke_leto hm. Okay, thanks cognominal and jnthn :-) 12:51
cognominal jnthn++
12:54 Front_slash joined
wayland76 masak: So now you've told us about the character classes. But what about the different races? Who gets to be the elves/dwarves/etc? :) 12:58
12:59 payload left
masak wayland76: the metaphor is open. you're free to extend it in the direction you want. :) 13:00
wayland76 masak: Oh, yeah, forgot :)
masak missingthepoint: (re why did I choose the current stateless design) -- (1) I mildly dislike state, (2) the interesting thing about a CSV parser is the final data, and this design gets out of the way in providing that, (3) I really didn't make a conscious decision; this felt right. 13:01
jaffa8 ++++ 13:02
carlin @karma ++ 13:04
lambdabot ++ has a karma of 5
carlin heh
13:11 payload joined 13:15 Whiteknight left 13:17 arthur-_ joined
moritz_ just found the first mention of "-Ofun" on #perl6 13:23
irclog.perlgeek.de/perl6/2005-09-06#i_-496682
masak September 2005? that late? 13:24
duke_leto Hm…
don’t regexes with unicode work yet? 13:25
moritz_ they do
duke_leto Or what is wrong with /←/ ?? :-(
moritz_ duke_leto: since ← is not alphanumeric you need to escape or quote it
duke_leto oh… didn’t know that. so /\←/ should work? 13:26
moritz_ the first mention of "optimized for fun" is from 2005-07-19
duke_leto: yes
masak duke_leto: you have to escape non-alphanumerics.
aye.
moritz_: ok, that lends it a bit more credibility. 13:27
duke_leto thanks moritz_ & masak :-)
masak bows 13:28
Su-Shee I've started to change perl6-projects.org again to make it scale better for more information and to be the central website.
so I separated it by "subjects".
sushee.no-ip.org/p6p/ 13:29
idea is: easy and fast startpage - details and more information on subpages.
(which can be longer, more details and as extensive as they need to be.)
(imagine it more shiny, please and with a navigation menu on the subpages and stuff.. ;) 13:32
masak Su-Shee: I'm slightly doubtful that moving the links away from the main page is an improvement. 13:33
Su-Shee: right now what I like about the page is that it's everything-at-once.
you don't have to click to somewhere else to get more information; it's all there.
Su-Shee masak: on the "all in one page", stuff can't be easily added in the future or the page will break or you have to scroll.. 13:34
13:34 rafl left
Su-Shee and it all points elsewhere. nothing more on perl6-projects.org 13:35
masak I think I like the improved Camelia, though. only thing is that the shinier she gets, the more jarring the 'P' and the '6' look.
Su-Shee: yes, I understand your concern too. it's definitely a tradeoff of some kind.
moritz_ TimToady will complain about the TM being removed again ;-)
Su-Shee old image, I can add it again. ;) 13:36
13:36 Limbic_Region joined
moritz_ masak, Su-Shee: there might be a compromise... 13:36
include the first 3 or for links for each section
and then have 'more' link
that in the standard version loads the appropriate sub page 13:37
wayland76 phenny: tell pmichaud I just found a possibly useful tool: rpmdev-bumpspec which claims to "Bump revision in specfile". It comes in the fedora package rpmdevtools
phenny wayland76: I'll pass that on when pmichaud is around.
Su-Shee ok, easily done. I would make it the "most important three links" though, not just the "first three"
moritz_ and if javascript is enabled, it include a longer list in-place
masak Su-Shee: sure, it all points elsewhere. maybe I should have said "you're intriducing one more level of indirection" to express my concern with the new design.
suddenly it sounds like something that should be generated...
I like that. 13:38
as long as it degrades gracefully.
Su-Shee My thinking was along the lines of making perl6-projects.org the center piece of perl6 websites. which I assume to be extensive in the future and contain much more stuff and many examples and documentation.
13:38 JimmyZ joined
moritz_ it should be the center, yes 13:39
missingthepoint how about a compromise? have a lightbox effect with the "most important info" from each subpage?
moritz_ and I agree with Su-Shee that the current design and concept doesn't scale enough 13:40
Su-Shee the first three links/three most important links and a more thingie would also fit...
masak missingthepoint: moritz_ is way ahead of you. :) 13:41
Su-Shee think about next year having 40 tutorials and many exmaple code pages and a perl 6 forum for example.
JimmyZ Maigao, wanshanghao.
missingthepoint masak: "lightbox" is superset of "javascript longer list-in-place"... it's a specific way of implementing that :) 13:42
masak missingthepoint: oh; I did not know that. 13:43
moritz_ general things first, specifics later.
Su-Shee first, let's decide wether/not separate the pages/subjects. the "more" technology and design can come later :)
masak moritz_++ # JDFI
missingthepoint indeed. i agree the current design, while excellent, isn't scaley.
moritz_ what missingthepoint said. 13:44
JimmyZ masak: Don't you foget your chinese name? ;)
13:44 zloyrusskiy joined
Su-Shee and it's difficult to read and to understand. 13:44
moritz_ so I agree with Su-Shee's concept (barring a few minor details which we'll surely resolve) 13:45
masak JimmyZ: it's 麦高. why do you ask? :)
JimmyZ I typed Maigao ;)
masak JimmyZ: sorry, I wasn't paying attention. :/ 13:46
JimmyZ masak: haha
masak I'm eating lunch while glancing at the IRC window. Maigao didn't get highlighted.
JimmyZ: 晚上好. 13:47
Su-Shee moritz_: I also like to weed out links a little. Do we really have to link old stuff which hasn't been updated for three years?
JimmyZ masak: you're working hard on #perl ;)
moritz_ Su-Shee: you mean pugs? 13:48
masak JimmyZ++ # keeping my 普同话 alive
JimmyZ: I am?
Su-Shee moritz_: in two years, I also mean pugs, but right now for example u4x
JimmyZ masak: yes
masak: typo, it's 普通话. 13:49
moritz_ Su-Shee: u4x is being worked on, though the blog post wasn't updated - maybe we need something better to link to
masak Su-Shee: I think u4x could be seen as relevant still.
Su-Shee ok.
JimmyZ masak: Had you seen pinyin.sogou.com? the almost best pinyin shurufa.
masak JimmyZ: ah, thanks. I hesitated between those two. 13:50
JimmyZ: will check it out.
moritz_ Su-Shee: but in general, maybe we should have a page about historic Perl 6, linking to the apocalypsis, exegesis, RFC, pugs, etc.
Su-Shee moritz_: I also like to add existing Perl6/Rakudo modules as long as this is a handful stuff on github
masak but my shurufa right now is Emacs. 13:51
Su-Shee moritz_: which can be removed when it all moves to cpan.
masak Su-Shee: projects.list in proto contains a comprehensive list.
moritz_ Su-Shee: it's more than a handful
masak definitely more than a handful. 13:52
the past month has been especially prolific.
Su-Shee moritz_ / masak than it has to be listed on p6p.
JimmyZ masak: 普通话 means universal-common-use-language. not universal-same-use-language.
masak JimmyZ: ah; of course.
Su-Shee: sure, feel free to link to github.com/masak/proto/blob/master/projects.list 13:53
missingthepoint does anyone know of an IRC client with font replacement? I want to see JimmyZ's chars.
JimmyZ missingthepoint: chatzilla 13:54
Su-Shee masak: actually I want to link every single project. easy click and access and such.
missingthepoint: irsii is perfectly capable of unicode if your terminal is :)
JimmyZ missingthepoint: or see irclog with firebox
masak Su-Shee: there's a clear risk of duplicated efforts there. 13:55
mikehh rakudo (e83932a) builds on parrot r40715 - make test/make spectest (up to 28048) PASS - Ubuntu 9.04 amd64 (g++)
masak Su-Shee: couldn't one generate something from projects.list instead?
JimmyZ missingthepoint: chatzilla is well supporting utf-8
Su-Shee masak: sure.
masak JimmyZ: now the problem for me with sites like pinyin.sogou.com/ is that I'm not proficient enough to navigate through a jungle of hanzi :/ 13:56
moritz_ masak: any objections to adding an abstract line to each module in projects.list?
13:56 molaf joined
Su-Shee masak: and the risk of dublicated effort right now weighs IMHO the value of having something to show easily. if this is up to let's say a hundret projects, it's time to cpanize anyway. 13:56
masak moritz_: not really. but there's one already on github.
JimmyZ masak: how do type chinese words?
masak JimmyZ: with Emacs/LEIM. 13:57
JimmyZ masak: s/do/do you/g
masak Su-Shee: it's time to cpanize _now_. we just don't have that option available.
Su-Shee "hrmpf". :)
JimmyZ masak: what's input method?
masak Su-Shee: you're free to duplicate all the effort you want. I'm just advising against it.
JimmyZ: it's called LEIM, it's an Emacs package. 13:58
JimmyZ: ah, I type Pinyin.
JimmyZ: I also have wubi as an option.
but I don't master wubi yet.
JimmyZ masak: pinyin.sogou.com/ is pinyin, if you're on windows. 13:59
masak JimmyZ: I'm not.
JimmyZ I think it's hard to use wubi for you( and me ).
13:59 cotto left
missingthepoint Can I help clarify? Su-Shee, why do you want easy-click access to every single project? Is it in keeping with the "one site for all perl 6 projects idea"? 14:01
masak I'm on a NetBSD Unix version called Darwin.
JimmyZ: yes, but it seems so much better than pinyin, once you get fast with it.
JimmyZ: actually, now that I think about it, it aligns much more with how TimToady breaks down characters. you type components, not sounds.
Su-Shee: I've long toyed with the idea of making it easy for proto to share it's ecosystem information with the external world.
Su-Shee masak: meaning for us common folks? :) 14:02
masak Su-Shee: meaning a way to export the info in projects.list via a module.
Su-Shee missingthepoint: I want a central, cool, easy, hip and shiny and extensive perl 6 website. ;)
masak Su-Shee++
JimmyZ masak: at past, wubi is fast than pinyin. but now, It's not certain.
masak JimmyZ: why? what changed? 14:03
JimmyZ the pinyin of brainpower.
missingthepoint Su-Shee: well then maybe the "perl6-projects" part of the domain is misleading. maybe you really want to build "perl6-central.org"? :) 14:04
JimmyZ especially pinyin.sogou.com/
masak is fine with perl6-projects
moritz_ missingthepoint: well, perl6.org would be awesome.
masak it's intentionally dual-sense: projects that *are* Perl 6, or projects that *use* Perl 6. 14:05
wayland76 It sounds like CPAN-for-perl-6 :)
masak sighs 14:06
if I had a nickel for every time someone mentionas a CPAN for Perl 6... :P
jnthn ...you might be able to hire somebody to create one? ;-) 14:07
masak jnthn: very possibly. 14:08
jnthn masak: What do you see as the main blockers to having something "CPAN for Perl 6"-like? 14:09
masak someone who accepts payment in nickels.
jnthn lol
missingthepoint moritz_: it would be awesome, in the "nothing-left-to-take-away" ideal name sense. plus .org for the volunteer aspect. 14:10
jnthn masak: Seriously though. Is it just somebody sitting down and writing something and saying, "try this, and if you don't like things about it hack on it?" 14:11
Su-Shee missingthepoint: actually I don't care how the domain is called. as far as I'm concerned, it could be cutecutsycamelia.org :) but right know, everything perl 6 is hidden "somewhere", totally spread over the internet and for noone but a few people here transparent. I'm here more or less daily and I missed masak's list for example. and this is no good if people really are supposed to start with perl 6. 14:12
moritz_ Su-Shee++ # this was why I started p6p in the first place 14:13
missingthepoint first, moritz++ for starting p6p.org.
Su-Shee therefore I want EASY access to _everything_ p6-ish. with clear subjects which are important: how to get it, how to code with it, how to find documentation and how to meet people. 14:14
missingthepoint Su-Shee: domain name matters. cutecutesycamelia.org can be an alias :P
masak jnthn: (1) whatever someone writes, it'll be compared against the CPAN we have. some people will argue strongly against writing something new from scratch. (2) whatever someone writes, it'll have to do versions and authorities. not even Rakudo does that yet, so it's still a bit untested and fuzzy how it'll all work.
missingthepoint Su-Shee: (last point) I could not have said it better.
Su-Shee and due to the marketing aspect perl desperately needs, I added "perl love" (shiny icons, shirts and so on. And "rakudo starlet" is mine. ;) 14:15
masak jnthn: in short, expectations are high, and it won't be useful until it's been worked on for quite some time. 14:16
missingthepoint Su-Shee: DESPARATELY. we need to actively recruit marketing folk with an interest in programming. how do we do that? <o 14:17
jnthn masak: It feels to me like we have a situation where a lot of people want *something*, but the expectation pressure makes a lot of people also feel they're just not good enough to do anything about it. 14:18
masak yes, definitely Su-Shee++ and moritz_++
our German contributors, putting things in order. :) #addingtostereotypes
14:18 cotto joined
Su-Shee missingthepoint: we don't really need real marketing folks. a little sense for what works on the internet and a little peek into sucessful projects should be enough. it's not that this is some dark, magical secret. :) 14:18
wayland76 regarding CPAN6 or whatever, my contribution is to be working (occasionally) on something that converts metadata into package specifications, in hopes that packages can be automatically built
It should be finished before some of the other CPAN stuff is, so they can hopefully use it 14:19
jnthn masak: I'd really love us to have _something_ by Rakudo *.
masak: But I think we need the same attitude shift that got us Rakudo *. "Yes, it's not the end of the journey, it's a step on the journey to where we want to be and it's good enough to do some things." 14:20
masak jnthn: perhaps a reasonable effort would be making something slightly more ambitious than proto, but still very limited. 14:21
sort of "what's the next step up from proto?"
wayland76 jnthn: I'm not at all sure that a CPAN will be a goer, but maybe we could make a Rakudo Distribution by then :)
missingthepoint thinks jnthn++ has a good point and is willing to help with the 6pan. as long as the '6' is not in the middle of the word.
moritz_ doesn't care a damn what the end result is called, as long as it's awesome ;-)
jnthn In some senses, I'm not even bothered that we call it CPAN or something related. 14:22
missingthepoint ah, avoid the problem!
jnthn masak: I agree that would be a worthwhile effort.
Su-Shee neither. and I want it easy and smooth and fool proof. ;)
masak jnthn: thinking about it, I'd say a central PERL6LIB path (or a database, or whatever) would be the next step up. 14:23
jnthn: if it could be generalized to handle multiple authorities, fine, but if not, it's not a show-stopper.
jnthn missingthepoint: Exactly. If the problem is that nobody wants to work on something in the problem space because Being The Next CPAN is intimidating (which I agree it is), then we probably need to drop the idea of doing the next CPAN, or stop talking aobut it in that senses.
wayland76 hopes that we will distinguish between the 4 or 5 different things that are called CPAN in Perl 5
jnthn And just write Useful Tools in that problem space. 14:24
moritz_ has an own vision for how to proceed
missingthepoint Su-Shee: easy and smooth would do for a start... ;)
jnthn OK, I'm done throwing my metaphorical coffee mug against the channel wall now. :-) 14:25
moritz_ 1) contact the current CPAN maintainers if they are willing to extend PAUSE and the distribution network to upload Perl 6 modules, without any indexing or so
Su-Shee moritz_: and are you telling us? ;)
wayland76 I vote ++ to the idea of figuring out how we lay out the Perl 6 libraries on the file system
Su-Shee ah, he does. ;)
missingthepoint moritz_: do share.
wayland76 @karma vote
lambdabot vote has a karma of 0
moritz_ 2) write a frontend website that lets us search and download Perl 6 cpan modules
3) teach proto to install modules from CPAN mirrors
2 and 3 can be parallelized 14:26
Su-Shee
.oO(gee.. a pragmatic solution.. ;)
moritz_ Su-Shee: designed solutions don't get things done.
jnthn moritz_: So basically we "outsource" the problem of storage and distribution to the current CPAN to make the problem more managable.
moritz_ jnthn: right
Su-Shee moritz_: "really?" ;)
masak that makes sense.
but it only works for Perl 6 modules.
wayland76 Bedtime for me. 'night all 14:27
masak wayland76: o/
missingthepoint night wayland76 :)
jnthn night wayland76
masak: ...so?
masak jnthn: oh, nothing. it's pragmatic.
but sooner or later we'll want to store modules from other HLLs somewhere. 14:28
and our Perl 6 modules will start having them as dependencies.
14:29 Psyche^ joined
moritz_ masak: I think that's something we worry about when we get to it 14:29
jnthn masak: I don't think we need to assume we're going to create one solution now that lasts us forever.
Su-Shee yeah, but wouldn't want the ruby folks stay within their gem-realm, for example? instead of switching to something cpan-ish?
masak moritz_, jnthn: ack.
moritz_ if our stuff is largely independent of CPAN, we can still use some kind of CDN as a backend
jnthn moritz_: That too. 14:30
14:30 vdrab joined
jnthn Su-Shee: I think until Ruby on Parrot gets to a point where it can start to excite the Ruby community in a larger sense, that's probably going to be too hypothetical to get a really good handle on how the community would feel. 14:31
IMHO. 14:32
moritz_ agrees
missingthepoint where is Ruby on Parrot, figuratively? Any major blockers? 14:33
moritz_ there's active work on it; I think it's in progress, just like Rakudo is 14:34
jnthn missingthepoint: I've no idea on completeness. It has active development.
masak missingthepoint: we should start using it and getting a feel for ourselves. :)
missingthepoint masak: we could avoid a lot of porting work ;)
masak missingthepoint: ok, you have a point. priorities. 14:35
japhb masak, happened to glance in, noticed you were talking about CPAN, gems, proto, etc. What's the summary so far and/or when did the conversation start? (Working on Parrot's module ecosystem was my planned top task for tomorrow, so this is opportune.) 14:41
14:44 Patterner left, Psyche^ is now known as Patterner
masak japhb: summary: many people suggested many nice ideas. the rough consensus seems to be that we're not equipped to build the 100-year solution, but we can piggyback existing stuff (including CPAN) to have something pretty nice for April. 14:45
missingthepoint japhb: jnthn thinks some kind of Perl-6-module-dist-system by Rakudo * would be nice, and that recontextualizing the problem would help.
japhb jnthn, "recontextualizing the problem"? What did you mean by that? 14:46
masak, this sounds a lot like the consensus we came to on parrot-dev over the last month 14:47
jnthn japhb: From watching discussions, I've seen a lot of "we need CPAN for Perl 6" and yet nobody wanting to approach it because of high expectations, the problem feeling too big and so forth.
masak (recontextualizing the problem)++ # this is what works
jnthn japhb: I've been trying to break the idea that we need to create nirvana now.
japhb jnthn, OK, good, the Parrot consensus was "goal: one step above the simplest thing that could possibly work; near-term goal: really the simplest thing that could work" 14:48
jnthn, excellent, thank you.
jnthn japhb: Well, I really just took what's happened to get us to saying we're going to do Rakudo * and applied the same thinking to the problem. It's nothing original on my part. :-) 14:49
I think the Parrot consensus is one that is likely to see something actually get done.
masak japhb: we have proto, the simplest thing that could possibly work. one step above that would be (I think) fixing proto's biggest design flaw: having to care about PERL6LIB. 14:50
moritz_ masak: hey, what about actually installing modules?
masak: since rakudo can be installed now, that idea starts to make sense to me
masak moritz_: aye.
missingthepoint masak: does what wayland76 said earlier play into that? 14:51
pugs_svn r28049 | fglock++ | mp6 update
masak moritz_: I'd love to see a proof-of-concept of that.
moritz_ just sent a mail to [email@hidden.address]
masak missingthepoint: remind me. what did wayland76 say earlier?
jnthn moritz_++
14:51 vdrab left
jnthn moritz_: Yes, I think installable Rakudo helps us on this. 14:51
missingthepoint masak: "figuring out how we lay out the Perl 6 libraries on the file system"
masak missingthepoint: yes, that's it. 14:52
moritz_ also sent an email to the holder of perl6.org
masak that's why I'd like a proof-of-concept.
missingthepoint moritz_: who holds perl6.org? are they friendly?
japhb (still trying to find the start point of the conversation) 14:53
In the mean time:
moritz_ missingthepoint: Daniel Wright, a perl monger, and CPAN contributor
Su-Shee moritz_: kk-ing it to you?
moritz_ missingthepoint: never heard of him, but what google turns up makes hope
japhb Will someone who knows the Rakudo install process be around tomorrow daytime (US Pacific)?
moritz_ Su-Shee: doesn't have to.
14:54 ewilhelm joined
jnthn japhb: What level of "knows" do you need? 14:54
japhb: I knew enough to fix it on Win32/MS VC++, but I had no hand in actually implementing it.
Plus I've got the overall pictue of how it works. 14:55
14:55 Jedai left
jnthn Tomorrow PDT would be later afternoon / evening my time, yes? 14:55
japhb jnthn, enough to be able to catch up on the current state of things (I've been "away" at work for a few weeks") and get towards actually being able to work on the module install code. Like I said, it's the planned task for tomorrow.
pmichaud good morning, #perl6 14:56
phenny pmichaud: 13:37Z <wayland76> tell pmichaud I just found a possibly useful tool: rpmdev-bumpspec which claims to "Bump revision in specfile". It comes in the fedora package rpmdevtools
jnthn japhb: I don't have much plans for tomorrow afternoon/evening.
japhb Yeah, I'm at +700, so I'm guessing about 9 hours away from you or so.
moritz_ oh hai pmichaud
masak pmichaud: mornin'
jnthn yayitspm
japhb: Ah, same timezone as, e.g. San Fran? 14:57
I know that is 9 hours from me.
14:57 astinus joined
japhb jnthn, exactly (I'm about an hour north of SF) 14:57
pmichaud japhb: I can probably be around tomorrow
japhb excellent, double barreled fun
jnthn japhb: I'll likely just be here, certainly for your morning.
pmichaud today is a bit tricky (family visiting from out of town), but tomorrow afternoon is quite open
jnthn Until I feel like going to bed.
pmichaud goes to read backscroll 14:58
japhb pmichaud, today I'm attending a bday party a couple hours away, so that's eating most of my day, so I know how you feel.
s1n pmichaud: back in town now? 14:59
pmichaud s1n: yes. 15:00
s1n pmichaud: welcome back :)
jnthn bbiab, Korean. 15:02
masak jnthn++ # Korean
15:05 Cataztro1py joined 15:06 nihiliad joined
masak oh, and for people reading backscroll -- I got the lexical-variables-and-attributes-as-defaults trick to work. will blog about it in a couple days. 15:09
15:13 Cataztrohpy left 15:18 Cataztro1py is now known as Cataztrophy, JimmyZ left
missingthepoint night all, i should have joined wayland76 in retiring an hour ago. :) 15:19
masak oh, you share a bunk? :)
15:21 Cataztrophy left
missingthepoint * expels stuff from nose 15:22
masak :P
scnr.
missingthepoint scnr? 15:23
masak "Sorry, Could Not Resist"
IUTMA...
moritz_ a TLA that's actually 4 letters ;-) 15:24
so a FLA?
missingthepoint IAAIBC?
s1n is there no //= op? 15:25
masak "Intentional Bunk Companion"? :)
masak can stop anytime he wants
s1n: yes, there is.
s1n masak: is it supported? 15:26
masak s1n: as well as lots of other op= combinations. as long as the op isn't iffy.
s1n (in rakudo)
missingthepoint "I Abuse Acronyms In Both Cases?"
masak s1n: to a point.
moritz_ rakudo: my $x; $x = 4 if (0, 1).pick; $x //= 5; say $x
p6eval rakudo 0d4fe0: OUTPUT«5␤»
moritz_ rakudo: my $x; $x = 4 if (0, 1).pick; $x //= 5; say $x
p6eval rakudo 0d4fe0: OUTPUT«5␤»
moritz_ rakudo: my $x; $x = 4 if (0, 1).pick; $x //= 5; say $x
p6eval rakudo 0d4fe0: OUTPUT«4␤»
moritz_ s1n: seems to work fine. It's also tested.
s1n i might have been misusing it then 15:27
missingthepoint erm, night masak, i shall write major tests tomorrow when my brain works :P
masak missingthepoint: looking forward to the merge.
moritz_ missingthepoint: good luck. 15:28
missingthepoint moritz_: thanks, may I come to you for testing advice if needs be?
moritz_ missingthepoint: sure 15:29
missingthepoint masak: me too, (world domination)++, one module at a time
japhb
.oO( Nice combo, masak and jnthn: irclog.perlgeek.de/perl6/2009-08-22#i_1419138 )
masak missingthepoint: you got that right.
missingthepoint moritz_: though i have my most important piece of advice (don't rely on .perl) already :) 15:30
masak the general form of that advice is, I think, not to test information derived from some data, when you can instead test the data itself. 15:32
missingthepoint indeed, (needless indirection)--
moritz_ (needed indirection)++
masak
.oO( "useless use of karma award" )
15:33
moritz_ I'd ++ that for sure if somebody held it. 15:34
missingthepoint no warnings 'masak';
masak :)
TimToady @karma indirection)
lambdabot indirection) has a karma of 0
moritz_ @karma undef 15:35
lambdabot undef has a karma of 0
masak lambdabot++
moritz_ expected that to have an undef karma :-)
TimToady shouldn't it have a karma of undef?
masak @karma Haskell
lambdabot Haskell has a karma of 52
15:36 frew__ joined
reqamst Haskell-- 15:36
@karma Haskell
lambdabot Haskell has a karma of 51
reqamst Haskell++
nice 15:37
15:38 payload left 15:39 meteorjay joined, missingthepoint left 15:40 xomas_ joined
jnthn masak: In terms of pronunciation, Korean is for me really quite hard. 15:41
15:41 justatheory joined 15:42 explorer__ left
masak jnthn: from what little I know of Korean, I'm slightly surprised. 15:42
jnthn masak: I think the easiness ends beyond the nice logical writing system. :-)
masak: It's all of the different vowels.
And the aspirated vs unaspirated consonants.
masak but I also know starting from English pronunciation makes a lot of other things hard, so...
ah. 15:43
jnthn I guesss with time it'll come to me a bit more.
masak well, Mandarin has the latter.
I'm not saying I approve, but I think I've gotten the hang of it.
TimToady stress timing vs syllable timing sometimes gives people trouble
masak nod.
jnthn Like the soft consonants in Slavic langauges did...eventually (took on the scale of months). 15:44
15:44 JimmyZ joined
masak TimToady: oh, that too. but I guess that's a problem only when you start picking up speed. which I haven't done with Mandarin yet. 15:44
TimToady the funny thing is, stress timers think syllable timers are talking impossibly fast, and syllable timers think stress timers are talking impossibly fast :) 15:45
masak hahaha 15:46
masak can relate to that
jnthn too
TimToady Spanish sounds fast to English speakers because Spanish is syllable timed, while English sounds fast to Spanish speakers because English is stress timed
Japanese and Korean are more like Spanish in that regard
15:46 M_o_C joined
masak Esperanto as well. 15:47
experienced speakers of the lagnuage sound-a-bit-like-this-when-they-talk, except they go really, really fast. 15:48
15:49 araujo joined
jnthn TimToady: BTW, you may have noticed that I got something in place for traits on containers and attributes. It was the second simplest thing I could do (after the first simplest thing, which was forgetting about it and going to the pub, but I wasn't sure that'd look so good on my grant report...) 15:49
TimToady: I'm pondering that I should now sync S14 with Rakudo's suggestion for how it looks. 15:50
TimToady where are the types defined? they blew up std, needless to say :)
jnthn Heh, I just defined them as classes alongside all of the other built-ins. :-)
15:50 Front_slash left
japhb jnthn, yeah, irclog.perlgeek.de/perl6/2009-08-22#i_1419156 is a problem. As is getting stuck in design. For now, I'm just running on faith that I will produce *something* of value. If only to give everyone comic relief. ;-) 15:51
jnthn Didn't find any great need to make them excessively special.
jaffa8 Hi,is perl6 still changing?
TimToady is perl5 still changing?
jnthn japhb: I'm quite sure you will. :-) 15:52
japhb jaffa8, iteratively, yes.
jnthn japhb: Erm, produce something of value that is. ;-)
jaffa8 Why are you asking back?
japhb jnthn, ;-)
araujo morning
jaffa8 jaffa8, what is iterratively?
TimToady ooh, shot yourself in the back with tab completion :) 15:53
japhb jaffa8, TimToady was posing a rhetorical question -- in other words: "Why wouldn't Perl 6 still be changing. Every other language including Perl 5 is."
masak jaffa8: when you ask 'is Perl 6 still changing?', it's not really clear what information it is you're interested in.
jaffa8 One way I imagine language development is
masak jaffa8: there's a word in biology for static, unchanging systems. 15:54
jaffa8 that you design it , then you implement it.
jnthn jaffa8: It doesn't work like that.
TimToady that's called the waterfall model, and we don't
masak jaffa8: also known as 'waterfall development'
jaffa8: see S01.
jaffa8 What is yours, incremental development?
japhb jaffa8, iteratively means (roughly) changing bit by bit. In the design sense, it means making changes over time in reaction to needs and circumstance.
TimToady the problem with the waterfall model is that you have to be smart, and none of us are that smart
masak not just smart, but fatally stubborn in the face of new findings. 15:55
japhb Omniscient, one would say.
TimToady so we merely attempt to converge 15:56
masak all I can say is I like the Perl 6 of 2009 much better than the one of 2004.
jaffa8 but then you do not know when it ends.
TimToady you can know when it's good enough, however
masak jaffa8: that's correct.
japhb Ubiquity-- # Use it to get to a web site, have it ask the stupid question "Did you know that you have a Ubiquity command for this website?"
masak jaffa8: is there a problem?
M_o_C masak: You're the one developing Web.pm, right?
jaffa8 I wanted to learn Perl 6
masak M_o_C: one of a handful, yes. 15:57
jaffa8 but I am afraid that it may change again.
M_o_C Or at least the one who started it...
TimToady in that sense, perl 5 hasn't "ended" either, hence my original question
masak jaffa8: I don't think that fear should stop you from learning the language. it's not like we change 90% or so, more like 0.01%.
japhb jaffa8, The only way improvement ends is when a project is dead. Live projects change. In fact, on computer projects of all forms, "Maintenance" is where the *vast* majority of changes happen.
masak M_o_C: I'm one of three people who applied for a grant, yes. 15:58
M_o_C Will Web.pm include "form generation" routines like p5 CGI.pm did?
masak M_o_C: I sure hope so.
jaffa8 so there are not going to be big changes anymore
masak forms are an essential part of Web application building.
TimToady jaffa8: we're pretty happy with what we have now, so it's mostly just tweaks 15:59
masak jaffa8: it seems you're looking for some point of stability. I'm not sure we're in a position to offer you one. we are in a position to offer you one fine language, and a few interesting implementations of it.
jnthn TimToady: Basically I have ContainerDeclarand, and a subclass of it AttributeDeclarand. The subclass adds another property, .how, for getting at the metaclass of the thingummy the attribute is being declared on. 16:00
TimToady: ContainerDeclarand currently just has .container and .name properties, I guess .scope probably makes sense too.
masak jaffa8: as one who has often been affected by said changes (because I have some code out there), I can tell you it's not so bad when something changes. it's just minor stuff. 16:01
jaffa8 ok
japhb "some code" he says. 16:02
jnthn TimToady: I did ponder whether we might want to have a class per scope declarator but that felt a bit silly.
TimToady: And a PITA for anyone who introduces their own...
masak japhb: it's actually not much. look at giants like ADAMK and you'll agree. :) 16:03
M_o_C masak: Because a few minutes ago I had the realization that those "suggestion" input boxes like e. g. Google uses are essentially comboboxes. And since I think comboboxes are quite useful, I head the idea that you could perhaps implement a routine which would generate the required JavaScript and HTML code.
japhb masak, ADAMK is doing Perl 6 modules?
jnthn masak: Yeah but he has an unfair advantage in that he's from the future. ;-)
masak M_o_C: that's a cool idea. I'd be happy to collaborate with you on that. 16:04
japhb: no, but he has a lot of CPAN code.
jnthn: there is that. :)
jaffa8 Is there going to be more types in Perl 6?
I mean basic ones.
masak jaffa8: Perl 6 has a built-in type system, as opposed to Perl 5.
japhb masak, he doesn't have to deal with Perl 6 spec changes then. ;-)
masak japhb: not that I know of, no. :) 16:05
but he has to deal with changes from 5.8 to 5.10, for which I do not envy him at all...
jnthn jaffa8: By "more types" do you mean "more built-in types"?
jaffa8 yes, like unsigned int, unsigned lnong...
japhb masak, true
M_o_C Hehe, problem being, I don't really have much time, don't know Perl 6 and am currently prefer to invest my time in reading docs about Haskell. Plus my JavaScript-fu is almost non-existent... 16:06
jnthn jaffa8: Not unless somehow a big gap is found...
masak M_o_C: ok. I will at least note your good idea for posterity. hopefully someone will pick it up.
jnthn jaffa8: But svn.pugscode.org/pugs/docs/Perl6/Sp...9-data.pod covers the possibilities pretty well. :-) 16:07
M_o_C Thanks.
jnthn masak: plz can the next step up from proto not be written in sh? ;-) 16:08
jnthn just wanted to try create-new-project...
masak jnthn: oh. apologies. 16:09
jnthn masak: No worries. :-)
It is only a prototype. ;-)
masak we're a bit Unix-chauvinist all over the board, methinks.
jnthn I do occasionally try and fight back against that a little.
lol
jaffa8 Am I correct there is no =~ anymore?
jnthn proto++ # echo -e "\nYou managed to not select either 1 or 2, so I give up.\n"
masak jnthn: at first I thought you were joking, because in the beginning the bootstrapping step of proto was actually written in sh. I had forgotten about create-new-project.
TimToady I know a nice scripting language that works on Windows too
jnthn TimToady: Python? 16:10
;-)
16:10 braceta joined
jnthn jaffa8: Yes; use ~~ 16:10
TimToady was thinking teco, actually
jaffa8 why not Perl?
jnthn Batch language occurred to me, but you'd said "nice", so... ;-)
jaffa8 Should that be your favorite?
M_o_C C
jaffa8 Should not that be your favorite? 16:11
masak phenny: tell mberends TimToady would like you to rewrite create-new-project in TECO for greater platform independence...
phenny masak: I'll pass that on when mberends is around.
16:11 braceta left
jnthn goes to download a TECO interpreter in anticipation 16:11
16:11 braceta joined
masak jaffa8: I believe TimToady might have had his tongue firmly placed in his cheek... 16:11
jnthn jaffa8: This channel can have an odd brand of humor. :-)
16:12 JimmyZ left
japhb jaffa8, if we say something that makes no sense, it's either Dark Magic or Attempted Humor. 16:12
(The latter being clearly the more dangerous of the two.) 16:13
araujo This is the Perl6 channel ... all you say will make sense eventually
jaffa8 perhaps or never. 16:14
masak There Will Be Modules!
japhb jnthn, I would like to write the Parrot module installer in NQP as of Parrot 2.0; For now, it will be either Perl 5.10 or Perl 6, and be converted/converged over time to the NQP goal.
TimToady but the standard language is never going to allow two terms in a row
masak except where it does.
TimToady those aren't terms, by definition :) 16:15
japhb "For every season, term, term, term ..."
japhb takes this opportunity to duck and cover ... and "start my day"
jaffa8 I have not found teco.
jnthn groans 16:16
TimToady it's an ancient programmable text editor
Text Editor and COrrector
araujo jaffa8, You need to find first a PDP 16:17
masak once used and enjoyed a TECO-based Emacs clone
TimToady though what the difference is, I'm not sure
jaffa8 ok, IF oud it
TimToady someone wrote a fortran compiler in it once
jaffa8 [1 J^P$L$$ J <.-Z; .,(S,$ -D .)FX1 @F^B $K :L I $ G1 L>$$ <-----
TimToady wow, whitespace 16:18
masak #songsincode
TimToady you must have a lot of memory
16:18 sbotond joined
TimToady people used to type in their names to see what teco would do 16:18
araujo something funny? 16:19
jaffa8 What could happen?
TimToady depends on your name
araujo yours for example? :) 16:20
TimToady mine wasn't very interesting
araujo haha
TimToady I think it moved left one character and then appended rry or some such 16:21
but I could be misremembering
that was ancient history
jaffa8 Did you use teco?
TimToady yes, it was much better than what it replaced 16:22
but I haven't used it for real since before most of you were born
araujo I have heard TECO was great, yeah, never used it ....
TimToady the original emacs was based on teco rather than lisp 16:23
araujo yeah
it's what I read :P
TimToady I never used that emacs, though
araujo TimToady, actually the emacs name referred to the TECO macros or something like that?
16:23 zloyrusskiy left
TimToady dunno 16:24
didn't come up that route
araujo I remember reading something like that .....
masak the emacs I used was very likely much newer. it came as the default Emacs of FreeDOS.
TimToady I only ever used bare teco on a PDP-11 running RSTS/E
back in the dark ages where if you really wanted to see what your program looked like, you had to print it out on the line printer 16:25
16:26 payload joined
TimToady well, except for the BASIC interpreter, which could list your program on the screen 16:26
really high tech stuff
16:27 PhatEddy joined
araujo "The new version of TECO quickly became popular at the AI Lab, and soon there accumulated a large collection of custom macros, whose names often ended in "MAC" or "MACS", which stood for "macro" ........ The resulting system was called EMACS, which stood for "Editing MACroS". An alternative version is that EMACS stood for "E with MACroS" 16:27
from the wikipedia ....
masak considering that, and given that the pace of development doesn't slack off. it's not that hard to believe in a singularity of some kind...
jaffa8 ACtually, it looks like Fortran is ealier than teco. 16:28
after reading wikipedia.
masak jaffa8: FORTRAN is earlier than most things.
jnthn
.oO( so's ya mam )
16:29
jaffa8 and it is more readable.
PhatEddy rakudo: my Array $x
p6eval rakudo 0d4fe0: OUTPUT«Could not build C3 linearization: ambiguous hierarchy␤in sub trait_mod:of (src/gen_setting.pm:131)␤called from Main (/tmp/AIHlj9Bnlh:2)␤»
masak jnthn: :)
jnthn wow...
jaffa8 TimToady, are you missing those times? 16:30
jnthn PhatEddy: Oh ouch, I know why.
TimToady not in the least
jnthn *sigh*
TimToady I'm missing the future, not the past...
masak jnthn: those pesky users, who gave them sledgehammers? :)
jnthn masak: I broked it in my apparently-not-so-awesome refactors. 16:31
TimToady that didn't look like a sledgehammer to me
masak jnthn: seems to indicate the need for more tests.
jnthn masak: Indeed.
araujo TimToady, what editor you use currently?
Su-Shee TimToady: I recommend the "interview" with William Gibson "no map for these territories" on the subject of missing the future.
PhatEddy Is it worth a ticket or is it acceptable as well known now ...
TimToady I believe my current editor is Andy Oram. :) 16:32
masak :)
PhatEddy: feel free to ticket it.
araujo TimToady, reveal the secret :P
TimToady Su-Shee: I prefer Uncharted Territory by Connie Willis :)
jnthn PhatEddy: It wasn't known until like 2 mins ago. :-)
TimToady so we're giving jnthn a ticket for speeding 16:33
and maybe for texting while driving 16:34
jnthn oh noes what's the fine?
PhatEddy Ok - will get to it this afternoon sometime ... enjoy the day
TimToady jnthn: you should know there's no fine; we're still in the intermezzo.
16:35 sbotond is now known as sb-, sb- is now known as sbotond
masak and what a fine intermezzo it is. 16:36
jaffa8 What is the first matched match is $0?
jnthn jaffa8: aye 16:37
jaffa8 Why is the first matched match is $0?
masak moritz_++ # perlgeek.de/blog-en/perl-6/optimize...r-fun.html
jaffa8: because it rhymes better with $/[0]
jnthn Plus everything else is zero-indexed. 16:41
Matt-W consistency
jaffa8 can someone tell me what is wrong with this if ( $filenamelist ~~ /,/ ) {}?
TimToady std: if ( $filenamelist ~~ /,/ ) {}
p6eval std 28049: OUTPUT«===SORRY!===␤Unrecognized regex metacharacter (must be quoted to match literally) at /tmp/RDgstgTyrc line 1:␤------> if ( $filenamelist ~~ /⏏,/ ) {}␤ expecting any of:␤ regex atom␤ regex_infix␤ termish␤ ws␤Other
..potential difficulties:␤ Vari…
masak jaffa8: what STD said. 16:42
jaffa8: also, you don't need to parenthesize 'if' conditions if you don't have an overwhelming need to do so.
eurgh, s:2nd/need/urge/
jaffa8 I have no overwhelming need
TimToady std: if $filenamelist ~~ /','/ {} 16:43
p6eval std 28049: OUTPUT«Potential difficulties:␤ Variable $filenamelist is not predeclared at /tmp/pg3xE8i0YA line 1:␤------> if $filenamelist⏏ ~~ /','/ {}␤ok 00:03 38m␤»
jaffa8 what is std?
TimToady picky, picky
the standard parser
masak rakudo: my $filenamelist = 'foo.txt,bar.zip'; if $filenamelist ~~ / ',' / { say "OH HAI" }
p6eval rakudo 0d4fe0: OUTPUT«OH HAI␤»
jaffa8 what about escape? 16:44
can someone tell me what is wrong with this if ( $filenamelist ~~ /\,/ ) {}?
TimToady you may use \ if you like
std: my $filenamelist; if ( $filenamelist ~~ /\,/ ) {}
p6eval std 28049: OUTPUT«ok 00:02 38m␤»
jaffa8 ok
TimToady nothing is wrong with it, assuming you're asking about syntax 16:45
but most folks here think ',' is more readable
jaffa8 that was a typo
I got accustomed to perl5 regular expressions
TimToady however, it would be wrong if you left out the space before the paren
jaffa8: so did most of us 16:46
the goal of perl 6 is not to continue with our accustomed ways
nothing the matter with custom, except when it prevents progress 16:47
and Perl 5 tends to value custom over progress, so we started Perl 6 to make the opposite mistake 16:48
masak so far, so good. 16:49
jaffa8 I think if you made Perl5 on Parrot or Perl 5 to 6 interpreter that would serve both the past and the future.
masak jaffa8: good idea. now, there's just the small matter of implementing...
jaffa8 by you, and did not mean you specifically, TimToady 16:50
masak, I may
16:51 nihiliad left
masak jaffa8: no matter who does it, it's a lot of work. 16:51
but it _is_ a good idea. two good ideas, actually.
jaffa8 I know somebody started working on those
at least on Perl5 on Parrot 16:52
Why did not stop?
Why did it stop?
masak ISTR it was a year or so too early for such an effort. 16:53
Matt-W Parrot wasn't ready, as I understand it
16:54 adam-pwgsc joined, nihiliad joined, carlin left
jaffa8 ok 16:58
TimToady, how do you imagine the future of Perl6? 16:59
Is it going to be popular?
TimToady it will be popular with me, at least
lisppaste3 reqamst pasted "Infinite loop in CATCH block if using $/ in 'if' structure" at paste.lisp.org/display/85869
jaffa8 if that is all you want 17:00
TimToady and I might be able to persuade a few other people to like it too
reqamst I found bug, probably
araujo thinks perl6 might be popular between other kind of programmers
masak I think I might use Perl 6 a bit in the future.
reqamst: yeah, I found that one too the other day.
reqamst: I didn't report it though. strange. 17:01
duke_leto Hm… Why does rakudo warn about embedded comments needing a backtick? If it recognizes them, why not use ’em as comment?
TimToady it's a deprecation 17:02
and will probably break silently in another month or two
duke_leto oh, okay :-)
reqamst masak: so... should I report it?
masak reqamst: please do.
reqamst masak: it's my first bug, so I'll ask: should I paste all this code? 17:03
masak reqamst: no, do like this:
jaffa8 How can I get picky parser? 17:04
masak rakudo: die "Should be thrown once"; CATCH { $!.handled = 1; }
p6eval rakudo 0d4fe0: ( no output )
masak hm.
rakudo: die "Should be thrown once"; CATCH { $!.handled = 1; say "Gotcha!" }
p6eval rakudo 0d4fe0: ( no output )
masak hm.
reqamst it works only with if 17:05
rakudo: die "Should be thrown once"; CATCH { if (1==1) { say $/}} 17:06
masak rakudo: try { say abc; CATCH { say "A"; if "foo" ~~ /foo/ { say "B"; say $/ } } }
p6eval rakudo 0d4fe0: ( no output )
rakudo 0d4fe0:
..OUTPUT«A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A␤B␤A􏿽xE2
masak right. there's the error.
take that, and paste it into your bug report.
reqamst ok, thanks 17:07
masak make sure you get the 'rakudo 0d4fe0' part. it identifies the Rakudo revision.
& # going out for a run 17:08
jaffa8 std: /f/
17:08 masak left
p6eval std 28049: OUTPUT«ok 00:02 37m␤» 17:09
jaffa8 std: /\G/
p6eval std 28049: OUTPUT«===SORRY!===␤Unrecognized regex backslash sequence at /tmp/EzH6vOe0tR line 1:␤------> /\⏏G/␤FAILED 00:02 37m␤»
17:09 payload left, payload joined
reqamst where is this bug reporting site? I lost it... There is no link on the dev.perl.org nor perl6-project.org 17:10
oh, I found it on the rakudo's webpage 17:11
jaffa8 How would you do repeated matching? 17:12
reqamst It should be easier, link should be on the perl6 project or dev.perl.org
f ** 2
17:13 zloyrusskiy joined
reqamst jaffa8: perlcabal.org/syn/S05.html#Bracket_...nalization 17:15
17:18 zloyrusskiy left 17:20 zamolxes left 17:21 zamolxes joined 17:22 Chillance left 17:33 mikehh_ joined 17:34 zloyrusskiy joined
jaffa8 std: while ( $u ~~ m:p/a/ ) {} 17:34
p6eval std 28049: OUTPUT«Potential difficulties:␤ Variable $u is not predeclared at /tmp/Tjw1584zzY line 1:␤------> while ( $u⏏ ~~ m:p/a/ ) {}␤ok 00:02 38m␤»
jaffa8 the above does not compile in perl6 17:36
jnthn jaffa8: std is the official grammar; Rakudo uses a subset-ish of it at the moment. 17:37
jaffa8: So if std parses something and Rakudo doesn't, it usually means "not yet implemented".
jnthn forgets what :p does anyway...other than looking like a smiley. :-) 17:38
TimToady kinda like /c in p5, continues at the specified position
jnthn Ah, OK. 17:39
jnthn is impressed as how many smileys have been designed into Perl 6 syntax.
Su-Shee
.oO(emo-programming.. ;)
17:40
17:42 Whiteknight joined 17:45 rdice left 17:46 justatheory left, PhatEddy left 17:50 payload left, mikehh left 17:58 duke_leto left 18:01 zloyrusskiy left 18:03 mikehh_ is now known as mikehh
mikehh rakudo (e83932a) builds on parrot r40716 - make test/make spectest (up to 28049) PASS - Ubuntu 9.04 amd64 (gcc) 18:04
18:07 payload joined
jaffa8 latest rakudo 18:08
Does it work on Windows?
18:11 mikehh left
Matt-W should do 18:14
M_o_C mingw32-make: *** No rule to make target `C:\Parrot\lib\parrot\1.5.0-devel\library\PGE\Perl6Grammar.pbc', needed by `src\gen_grammar.pir'. Stop.
Looks like it doesn't...
jaffa8 where do you run it? 18:15
M_o_C Since I responded to your question: Windows.
jaffa8 in what directory?
M_o_C The directory where I git-cloned. 18:16
jaffa8 you need to find where perlt6rammar is
and copy it into the directory which mingw32-make mentions. 18:17
I have a different problem
it cannot find parrot_install
M_o_C Hrm, wait a sec. Why the hell is the Path hardcoded? The C:\Parrot\lib\parrot\1.5.0-devel\ part, I mean?
jaffa8 yes 18:18
M_o_C Who implemented the ability to compile Rakudo with a installed Parrot? Because the error message suggests he undeliberately removed the option to build from a non-installed Parrot. (Which is what I have.) 18:20
s/removed/broke/
Matt-W umm
it was documented at the time that it did break the ability to build from a non-installed parrot
M_o_C Oh 18:21
Matt-W you can use --gen-parrot still
M_o_C Sorry, I missed that
Matt-W or you have to have an installed parrot
jaffa8 I can make parrot
I cannot make rakudo
M_o_C --gen-parrot still works because of the subfolder parrot is still recognized?
s/of // 18:22
And what were the reasons they removed the option to build from a non-installed version? 18:23
18:23 braceta left
jnthn beer & 18:25
Tene M_o_C: it's not that we *removed* the option to build from an uninstalled Parrot, but that we lost that ability in the course of adding the ability to build from an installed parrot.
18:25 lucs joined
Tene If you can contribute a patch that lets rakudo do both, please feel free. 18:25
M_o_C Hm, ok...
Tene Parrot just isn't set up for that right now 18:26
the installed parrot has a different layout from the uninstalled parrot.
M_o_C Ok, thank you for explaining it. 18:27
Tene np
18:31 frew__ left 18:33 sbotond left 18:35 mikehh joined 18:41 jauaor joined 18:45 cspencer joined 18:51 rblasch joined, rblasch left 18:52 tann joined 18:53 rblasch joined
pugs_svn r28050 | fglock++ | mp6 update 19:02
19:02 adam-pwgsc left 19:11 oxygenfad joined
moritz_ blogs.loveandnature.co.za/www/perl/...l-510.html # wow, I seem to inspire Perl 5 hackers too 19:12
mikehh rakudo (e83932a) builds on parrot r40718 - make test/make spectest (up to 28049) PASS - Ubuntu 9.04 i386 (g++) 19:15
19:16 nbrown joined 19:18 pmurias left
s1n whew, now that rakudo "installs" (sorta), i can finally get rid of calling the pbc :) 19:19
19:21 oxygenfad left, cspencer left 19:22 nbrown left 19:23 nbrown joined
s1n :q 19:28
doh 19:29
19:29 kst left
s1n how do i use the phenny bot? 19:30
phenny: help
phenny s1n: Hi, I'm a bot. Say ".commands" to me in private for a list of my commands, or see inamidst.com/phenny/ for more general details. My owner is sbp.
s1n tell masak i noticed there was no longer a Web.pm. am i mistaken or is that an ironic name for the project now 19:32
phenny: tell masak i noticed there was no longer a Web.pm. am i mistaken or is that an ironic name for the project now
phenny s1n: I'll pass that on when masak is around.
s1n phenny: tell masak LolDispatch doesn't compile, rakudo thinks it's missing an =end, might be bug worthy 19:36
phenny s1n: I'll pass that on when masak is around.
19:48 M_o_C left 19:51 jaldhar left 19:57 jaffa8 left
mikehh rakudo (e83932a) builds on parrot r40719 - make test/make spectest (up to 28050) PASS - Ubuntu 9.04 i386 (gcc) 20:14
s1n is #=[] damian's new pod or is that likely bitrot? 20:16
looks like it 20:17
TimToady: can we toss the multi-line pod #[]? it's not very easy to read as plain text (without a syntax highlighter) 20:33
20:36 braceta joined 20:45 molaf left 20:50 mikehh left 20:58 abra left 21:01 mikehh joined 21:16 braceta left 21:20 EDevil joined 21:21 tak_ joined, tak_ is now known as tak11 21:27 rfordinal3643 joined, EDevil left 21:28 tak11 left 21:29 rfordinal left 21:32 kst joined 22:03 Su-Shee left 22:11 rblasch left 22:19 tann left 22:23 M_o_C joined 22:53 jaldhar joined, fredrecsky left 23:20 kolibrie_ is now known as kolibrie 23:27 braceta joined 23:31 nErVe joined
s1n phenny: tell masak i can't seem to clone november, it keeps timing out... any idea what's up with that? 23:33
phenny s1n: I'll pass that on when masak is around.
23:51 cotto left 23:54 cotto joined 23:59 M_o_C left