Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-08-08

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:35 melte joined #perl6
00:52 Barrabas joined #perl6
00:58 alester joined #perl6
01:21 DrakeAnubis joined #perl6
01:26 Woody2143 joined #perl6
01:27 DrakeAnubis left #perl6
01:27 LaVolta joined #perl6
01:39 jaldhar joined #perl6
02:10 rwtwrt joined #perl6
02:59 alester ok, what can I do to help?
03:01 justatheory joined #perl6
03:04 lue hm, why are Radians/Degrees/Gradians/Circles given a definition in cheats/constants.pir ? I thought they were part of an Enum already.
03:05 araujo joined #perl6
03:15 sorear alester: help what?
03:23 alester joined #perl6
03:31 orafu joined #perl6
03:38 MAK__ joined #perl6
03:38 MAK__ Hi
03:38 sorear Hi
03:38 MAK__ I had a small discussion on #parrot yesterday for a silly problem i faced
03:39 MAK__ http://irclog.perlgeek.de/parrot/2010-08-07#i_2674402
03:39 MAK__ from there
03:39 MAK__ I was thinking shouldn't rakudo use 'printerr' to print error messages instead of the 'say' statement
03:46 Tene MAK__: really, it should use 'warn' for error messages.
03:47 MAK__ ok
04:06 tadzik joined #perl6
04:33 melte joined #perl6
04:34 leprevost joined #perl6
04:37 NiiHiiL joined #perl6
04:43 sea-gull joined #perl6
04:44 tylercurtis lue: I don't think enums are quite working properly yet in some manner.
04:50 molaf joined #perl6
04:59 TiMBuS rakudo: say 1 / 10000000000000000000000000
04:59 p6eval rakudo 6ebba8: OUTPUT«6.28575819193153e-19␤»
04:59 TiMBuS rakudo: say 1 / 100000000000000000000000000
05:00 p6eval rakudo 6ebba8: OUTPUT«No applicable candidates found to dispatch to for 'infix:<div>'. Available candidates are:␤:(Int $a, Int $b)␤␤  in 'Rat::new' at line 3835:CORE.setting␤  in 'infix:</>' at line 3923:CORE.setting␤  in main program body at line 22:/tmp/QVp_PicjOf␤»
05:01 TiMBuS rakudo: say 100000000000000000000000000.WHAT
05:01 p6eval rakudo 6ebba8: OUTPUT«Int()␤»
05:01 TiMBuS ¯\(°_o)/¯
05:04 envi^home joined #perl6
05:05 TiMBuS rakudo: say 100000000000000000000000000
05:05 p6eval rakudo 6ebba8: OUTPUT«-2537764290115403776␤»
05:06 TiMBuS there we go
05:20 LaVolta joined #perl6
05:28 molaf joined #perl6
05:31 masak joined #perl6
05:31 masak good morning!
05:33 sjohnson masak: :thumbsup:
05:41 masak std: :$<a>
05:42 p6eval std 31912: OUTPUT«ok 00:01 111m␤»
05:45 masak std: rule => 't'
05:46 p6eval std 31912: OUTPUT«ok 00:01 113m␤»
05:52 Guest23195 joined #perl6
06:00 masak "Though she looks quite pretty positioned there, she's kind of like my cat who used to sit on my keyboard when I was trying to type!" *lol* http://rt.perl.org/rt3/Ticket/Display.html?id=77050
06:03 masak rakudo: my @in = 1..4; my @out := @in.map({$_*=10;}); say @in[1];
06:03 p6eval rakudo 6ebba8: OUTPUT«2␤»
06:06 pugssvn r31922 | masak++ | [S05] fixed copy-pasto
06:09 gfx joined #perl6
06:11 masak rakudo: (my @a)[1..*]; say "alive"
06:11 p6eval rakudo 6ebba8:  ( no output )
06:11 masak locally, 'Segmentation fault'
06:12 * masak submits rakudobug
06:27 tylercurtis joined #perl6
06:39 masak our Str multi Str::pack( Str::Encoding $encoding,  Pair *@items )
06:39 masak our Str multi Str::pack( Str::Encoding $encoding,  Str $template, *@items )
06:39 masak these are the only two mentions of Str::Encoding in the spec.
06:39 masak also, I'm not too happy with the encoding parameter being the first positional in that signature.
06:40 masak thinking of nuking these two variants and only leaving the ones that return a buf8.
06:40 moritz_ scratch those signatures
06:40 moritz_ Pair *@items
06:40 moritz_ typed, slurpy param?
06:40 moritz_ how is that going to work?
06:41 * masak doesn't know
06:41 * masak removes those signatures
06:41 masak they've been in there since 2006 -- added by ajs++
06:41 moritz_ is that Aaron Sherman?
06:42 masak think so.
06:43 masak hm -- why does it take a list of pairs? why not just a list of things? isn't that what Perl 5's pack does?
06:43 * masak perldocs -f 'pack'
06:44 * moritz_ has no idea
06:44 Axius joined #perl6
06:44 * moritz_ geht nochmal schlafen
06:45 moritz_ sorry, wrong channel :-)
06:45 masak schlafe well. :)
06:45 moritz_ will do :-)
06:48 masak wow, the 'pack' function is long and wondrous.
06:54 cxreg masak: in perl 6?
06:56 masak in Perl 5 perldoc.
06:56 masak I'm implementing it in Perl 6 today.
06:57 masak (again)
06:58 masak TimToady: "I think pack formats should be human readable but compiled to an internal form for efficiency." -- does "human readable" mean "let's do a S05-like revolution on the single-letter names for things"? because I doubt I'd pull that off on my own, and certainly not within the scope of this grant. :)
06:59 hanekomu joined #perl6
06:59 masak TimToady: I'm just going to go as close to p5 as possible in Rakudo for now, and then we can evolve the .pack format backed up by working code.
07:03 Casan joined #perl6
07:04 mberends joined #perl6
07:05 mberends \o masak
07:05 masak mberends: o/
07:18 masak std: sub foo( *@items where { @items »~~ Pair }) {}
07:18 p6eval std 31912: OUTPUT«[31m===[0mSORRY![31m===[0m␤Missing « or » at /tmp/8x78Bdr5Hn line 1:␤------> [32msub foo( *@items where { @items »~~[33m⏏[31m Pair }) {}[0m␤    expecting infix_circumfix_meta_operator␤Parse failed␤FAILED 00:01 117m␤»
07:18 masak oh wait.
07:18 masak std: sub foo( *@items where { @items »~~» Pair }) {}
07:18 p6eval std 31912: OUTPUT«ok 00:01 117m␤»
07:22 pugssvn r31923 | masak++ | [S32/Str] cruft-removal for &pack
07:22 pugssvn r31923 |
07:22 pugssvn r31923 | - Ditch the encoding bit for now. Users can encode to Str the usual way.
07:22 pugssvn r31923 | - Not sure a typed slurpy parameter is going to fly. Changing to a 'where'
07:22 pugssvn r31923 |   clause.
07:22 pugssvn r31923 | - Added TOP rule to grammar, anchoring at start and end of format string.
07:23 masak My plan for the day is to study 'perldoc -f pack', grok as much as possible of it, implement as much as possible of it in working code, and update S32/Str with things I learn from that.
07:24 Tene masak: I hear some other languages have very nice binary format handling.  Erlang, maybe?  Might be nice to look around at other sources.
07:26 masak Tene: thanks for the tip.
07:26 masak I've heard too that Erlang rocks at binary format handling.
07:27 masak this seems to be it -- http://www.erlang.org/doc/man/ei.html
07:27 * masak will read
07:31 masak ei_x_format("{~a,~i,~d}", "numbers", 12, 3.14159)
07:31 masak I must say it feels like exactly the same idea as &pack
07:32 masak maybe they just re-invented &pack without realizing it and thought that it was the best thing since sliced bread.
07:37 masak this one did a better job at explaining Erlang's pack format: http://www.trapexit.org/How_to_use_ei_to_marshal_binary_terms_in_port_programs
07:37 masak the ease of communication with C seems to be the important part.
07:39 [Coke] joined #perl6
07:49 Casan I'm experimenting with OO stuff in p6, and have a problem overriding a default constructor. Been reading through s12, but I still can't get it right, I wonder if anyone can see what I'm doing wrong.. there is a pastbin here with the code: http://pastebin.org/456460
07:49 * masak looks
07:50 masak Casan: ok, here's the thing: you're making a .new method as if it were a BUILD submethod.
07:50 masak Casan: let's go through it step by step.
07:50 masak Casan: a constructor, for example one named .new, is a method which returns a new object.
07:51 masak Casan: that means that the method can't access $!id, because it's not *called* on the new object (because it is the method that creates it, so it doesn't exist when we call it, so self can't be bound to the new object)
07:51 masak with me so far?
07:51 Casan I think, let's continue.
07:51 masak next natural question is: how to actually create a new object of a given class?
07:52 masak the answer is SomeClass.bless(*, :attr1(...), :attr2(...))
07:52 masak in your case self.bless(*, :$id, :$name)
07:52 masak that's all your .new method need contain.
07:53 masak make sure that's on the last line, so that it gets returned.
07:53 masak (the 'self' is actually bound to the type object, Student, so it's the same as writing 'Student.bless(...)')
07:54 masak Casan: in some languages, we differ between ordinary methods and "static methods"; the latter are called on a class rather than an instance.
07:54 Casan ohh, so in p6, if you want to override the default constructor, you have to use bless and know additional parts.. I have to admit, I know a little about bless from p5, otherwise I've learned about OO via java and c#, and was hoping that we would abstract away from bless and stuff like that for people not familiar to it.
07:55 masak Casan: in Perl, we don't really have that distinction. a type object (such as Student) is just an undefined, unmodifiable instance of Student.
07:55 masak Casan: in Perl 6, a constructor is any method which does .bless
07:57 masak thus, the default .new is a constructor, and the default .clone is a constructor.
07:57 Casan ok, let me run through your messages for a while, and see if I can apply it into a solution. In my first step I'll just ignore about the real objective of overriding the default constructor, and simply focus on imitating manually what an automatic default constructor would do.
07:59 masak Casan: it's actually set up so that the default .new should be enough most of the time.
08:00 masak Casan: and usually you override BUILD instead to affect how an object is initialized.
08:00 masak Casan: overriding the default .new is mostly if you want the .new method to have a particular signature. in your case, you get positional parameters instead of the default named parameters.
08:00 * masak has to go, will be back later today
08:02 wamba joined #perl6
08:08 risou_ joined #perl6
08:25 hanekomu_ joined #perl6
08:27 snearch joined #perl6
08:38 darkop joined #perl6
08:40 jfried joined #perl6
09:09 risou joined #perl6
09:11 pugssvn r31924 | radus++ | [t/spec] Unfudged test for RT 77072 - @a[*] works as expected now.
09:15 araujo joined #perl6
09:18 Axius joined #perl6
09:21 wamba joined #perl6
09:27 briang joined #perl6
09:29 Alias joined #perl6
09:41 TiMBuS is bug #77078 valid? doesnt it just segfault because its infinitely creating memory until parrots GC fails
09:42 sorear not valid anymore, no
09:44 sawyer_ joined #perl6
09:44 TiMBuS if the * is meant to mean .elems then it needs to be parsed differently or postcircumfix[] needs to have a extra special case added
09:46 wamba left #perl6
09:53 meppl joined #perl6
10:29 wamba joined #perl6
10:31 azert0x joined #perl6
10:33 Alias_ joined #perl6
10:43 Alias__ joined #perl6
10:52 moritz_ good morning
10:53 moritz_ TiMBuS: it's supposed to detect infinite ranges
10:54 TiMBuS i see
10:55 moritz_ also, segfaulting on trying to iterate infinite lists is not OK
10:57 TiMBuS isnt that a parrot issue though?
10:59 moritz_ yes - but we use RT to track all rakudo bugs, including those caused by parrot
10:59 moritz_ http://www.kiffingish.com/2010/03/perl-on-steroids.html
11:02 TiMBuS hrm so then, focusing on what I can try to fix: should the infinite slice actually mean @a[1..@a.elems] or should it really mean what it looks like it means?
11:04 moritz_ I know that array assignment detects it
11:04 moritz_ rakudo: my @a = 1..*; say "alive"; say @a[3];
11:04 p6eval rakudo 6ebba8: OUTPUT«alive␤4␤»
11:04 moritz_ rakudo: say (1..*).perl
11:04 p6eval rakudo 6ebba8: OUTPUT«1..Inf␤»
11:05 moritz_ so it likely needs special-casing
11:05 moritz_ rakudo: my @a = 1..*; my @b = @a; say "alive";
11:05 p6eval rakudo 6ebba8:  ( no output )
11:05 moritz_ curious :-)
11:09 TiMBuS yeah i've stumbled into few eager issues like that. i thought the solution was using gather/take blocks but they also eager-fy when using '='
11:14 moritz_ it needs a lot of tweaking, in a lot of cases
11:16 moritz_ rakudo: say { a => 1, b => 2}.{*}.WHAT
11:16 p6eval rakudo 6ebba8: OUTPUT«Any()␤»
11:16 moritz_ rakudo: say { a => 1, b => 2}.{*}.perl
11:16 p6eval rakudo 6ebba8: OUTPUT«Any␤»
11:21 desertm4x joined #perl6
11:22 TiMBuS p6eval needs updating i guess
11:28 moritz_ somehow I broke all the automatic rebuilds
11:31 moritz_ hugme: add supernovous to proto
11:31 hugme moritz_: ERROR: Can't add supernovous to proto:  404 Not Found
11:31 moritz_ hugme: add supernovus to proto
11:31 * hugme hugs supernovus. Welcome to proto!
11:31 dalek rakudo: 7d4a624 | moritz++ | build/PARROT_REVISION:
11:31 dalek rakudo: bump PARROT_REVISION to get Digest::MD5 fix, cosimo++
11:31 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7d4a62427ea16d6f2c4b864cf9dcaf89c51a7487
11:31 dalek rakudo: 53ee804 | moritz++ | docs/compiler_overview.pod:
11:31 dalek rakudo: [docs] update NQP description in compiler_overview.pod
11:31 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/53ee804b675f51c02d952ae1639bc2231c2fb96c
11:31 cono moritz_: http://github.com/cono/p6-LinkedList any ideas, critic? :)
11:35 * moritz_ takes a look
11:37 moritz_ cono: is there a good reason to use the SENTINEL over just a type object? smart-matchability?
11:38 jferrero joined #perl6
11:43 cono moritz_: It was () (Nil) value before, masak said that Sentinel would be better
11:46 moritz_ curious :-)
11:46 moritz_ anyway, I like the module
11:46 cono thanks :)
11:46 cono But I don't like name "iterate"
11:46 cono any ideas?
11:46 cono I want another method wich will be return descending list iterator
11:46 moritz_ .list
11:47 moritz_ and just return a lazy list
11:47 cono and in descending order?
11:47 moritz_ .descending
11:51 moritz_ rakudo: / <[-]> /
11:51 p6eval rakudo fca2d3: OUTPUT«===SORRY!===␤Unsupported use of - as character range;in Perl 6 please use .. at line 22, near "]> /"␤»
11:53 araujo joined #perl6
11:55 cono moritz_: done ;)
11:56 cono moritz_: btw, I found a minimal version to reproduce a bug: http://rt.perl.org/rt3/Public/Bug/Display.html?id=77036
11:57 moritz_ cono++
11:57 cono Tried to find how to fix it. But lost in "flat" and "eager" methods in pir
11:57 moritz_ :-)
11:57 moritz_ that's a tough area
11:57 moritz_ might also be related .Str/.Stringy
11:57 tadzik joined #perl6
11:58 tadzik morning #perl6
11:58 moritz_ good afternoon tadzik :-)
11:58 pugssvn r31925 | moritz++ | [t/spec] test for hash zen slices; RRT #77072
11:58 tadzik oh wow, it's afternoon alredy
11:58 tadzik tadzik--
11:58 pugssvn r31926 | moritz++ | [t/spec] switch parse error message recognition to new wording in rx.t
11:58 moritz_ (it's 2pm, and I've got up like, one hour ago)
11:58 moritz_ which is fine, attended a wedding yesterday... stretched well into today :-)
11:59 tadzik I got up like now, and got to sleep on like 6 AM
11:59 tadzik how was the wedding?
11:59 cono moritz_: flat returns a Lazy list?
11:59 tadzik Yours? ;)
11:59 moritz_ tadzik: very nice. Not mine
12:00 moritz_ rakudo: say Date.new('2010-08-27') - Date.today()
12:00 p6eval rakudo fca2d3: OUTPUT«19␤»
12:00 moritz_ tadzik: mine is like, in 19 days :-)
12:00 tadzik no way! Congratulations!
12:00 * moritz_ bows
12:00 tadzik awesome :)
12:01 * moritz_ doesn't know what to think of http://www.perlmonks.org/?node_id=853646
12:02 moritz_ "we introduce this random multiplier, and then do concatenation instead of math, and end up with... something that looks like a year". huh.
12:02 tadzik I barely get it
12:03 moritz_ probably because there's barely sense in there
12:04 tadzik It sounds like this people getting celebrity name, adding few letters, removing a few, changing some of them, summing and multiplying randomly finally getting 9/11 or something
12:04 molaf joined #perl6
12:04 moritz_ yes
12:06 moritz_ rakudo: sub abc($x, $y, $_, $z) { say "$x $y $_ $z"; }; abc(1,2,3,4);
12:06 p6eval rakudo fca2d3: OUTPUT«1 2 3 4␤»
12:06 * moritz_ has a hard time finding a place to put tests for that
12:07 moritz_ t/spec/S06-signature/ is full of test files for very advanced features
12:07 moritz_ but has little for simple things like positional and named
12:07 moritz_ oh, there is a positional.t
12:09 MAK__ joined #perl6
12:11 MAK__ Hi
12:11 moritz_ hi
12:12 pugssvn r31927 | moritz++ | [t/spec] test for $_ and $/ as parameter names, RT #77054
12:12 MAK__ Grammar.pm is written in PGE and Actions.pm in NQP
12:12 moritz_ no
12:12 MAK__ where can I read more documentation about them
12:12 moritz_ both are written in NQP-rx
12:12 MAK__ ok
12:12 moritz_ which now supports grammars
12:12 MAK__ ok
12:12 moritz_ PGE is being phased out
12:13 moritz_ (I suppose I should update some old documents... :)
12:13 MAK__ Well where can I read more about NQP?
12:13 moritz_ http://github.com/perl6/nqp-rx/#readme
12:14 moritz_ there are also slides from a talk about nqp-rx, by its creator: http://www.pmichaud.com/2010/pres/yapcna-nqp/slides/start.html
12:14 pmurias joined #perl6
12:14 tadzik that's nicely explained in pmichaud++ talk
12:14 tadzik :)
12:14 TiMBuS maybe that metaperl entry is using metahumor? :/
12:14 * tadzik too slow
12:15 moritz_ std: my Nil $x;
12:15 p6eval std 31912: OUTPUT«ok 00:01 113m␤»
12:17 MAK__ is this talk by pmichaud recorded somewhere?
12:18 moritz_ MAK__: if so, it's probably not yet online
12:18 tadzik yep, but I don't think it's published yet
12:18 moritz_ it was held last Thursday
12:20 whiteknight joined #perl6
12:20 moritz_ rakudo: say {a => 1, b=> 2}.{*}.perl
12:20 p6eval rakudo fca2d3: OUTPUT«(1, 2)␤»
12:20 moritz_ rakudo: say {a => 1, b=> 2}.{*}.perl
12:20 p6eval rakudo fca2d3: OUTPUT«(1, 2)␤»
12:20 moritz_ rakudo: say {a => 1, b=> 2}.{*}.perl
12:20 p6eval rakudo fca2d3: OUTPUT«(1, 2)␤»
12:31 Axius joined #perl6
12:34 moritz_ std: i
12:35 p6eval std 31912: OUTPUT«ok 00:01 111m␤»
12:35 pugssvn r31928 | moritz++ | [t/spec] test for RT #76994, bare i is the complex unit
12:35 tjyang joined #perl6
12:38 tjyang joined #perl6
12:44 TiMBuS rakudo: Seq.new(1..*).eager.[2];
12:44 p6eval rakudo fca2d3:  ( no output )
12:44 TiMBuS uh
12:44 tadzik ENOSAY
12:45 TiMBuS rakudo: say Seq.new(1..*).eager.[2];
12:45 p6eval rakudo fca2d3:  ( no output )
12:45 TiMBuS hrm
12:46 TiMBuS rakudo: say (1..*).Seq.eager.[2]; #maybe?
12:46 p6eval rakudo fca2d3:  ( no output )
12:52 moritz_ why do you .eager an infinite list?
12:54 TiMBuS it's what array assignment does
12:56 tadzik that's why You don't assign infinite list to an array
12:56 TiMBuS but
12:56 TiMBuS rakudo: my @a = (1..*); @a[3].say
12:56 p6eval rakudo 53ee80: OUTPUT«4␤»
12:57 tadzik star: my @a = (1..*); my @b = @a; say 'alive'
12:57 tadzik but
12:57 tadzik star: my @a = (1..*); my @b := @a; say 'alive'
12:57 p6eval star 2010.07:  ( no output )
12:57 tadzik or
12:57 p6eval star 2010.07: OUTPUT«alive␤»
12:57 tadzik star: my @a = (1..*); my $b = @a; say 'alive'
12:57 p6eval star 2010.07: OUTPUT«alive␤»
12:59 TiMBuS well the spec says 'list assignment is eager unless it's infinite'
13:00 tadzik but these are arrays
13:00 tadzik star: my @a = (1..*); say @a.WHAT
13:00 p6eval star 2010.07: OUTPUT«Array()␤»
13:01 TiMBuS im just using the spec terminology here..
13:01 TiMBuS List Assignment: my @a = @something;
13:02 tadzik hrm
13:02 pugssvn r31929 | qiuhw++ | [t/spec] typo fix.
13:02 TiMBuS im also aware that knowing if something is infinite is a little difficult (impossible?)
13:03 TiMBuS isnt it the halting problem. like if you have a loop in a gather
13:05 tadzik what's wrong with a loop in a gather?
13:06 allbery_b hm, I thought the basic assumption was that involvement of Whatever or a closure was enough to dtrip "possibly infinite" and switch to laziness
13:07 allbery_b so up to the point that it's concrete and finite it's eager, but hit Whatever or a closure and it becomes lazy at that point
13:07 allbery_b this was dfiscussed a couple weeks back IIRC
13:08 TiMBuS s07 needs to update that then
13:11 risou_ joined #perl6
13:23 clintongormley joined #perl6
13:25 Visitor99 joined #perl6
13:29 Visitor99 rakudo: my %h = <a 1 b 2 c 3>; %h.perl;
13:29 p6eval rakudo 53ee80:  ( no output )
13:29 tadzik ENOSAY
13:29 TiMBuS i think its broken atm
13:29 TiMBuS oh
13:29 tadzik rakudo: my %h = <a 1 b 2 c 3>; %h.perl.say
13:29 p6eval rakudo 53ee80: OUTPUT«{"c" => "3", "a" => "1", "b" => "2"}␤»
13:29 TiMBuS my bad
13:30 Visitor99 ok, thanks tadzik
13:30 araujo joined #perl6
13:30 Visitor99 i thought that perl implied a "say"
13:30 tadzik Visitor99: REPL prints, evalbot does not
13:32 araujo joined #perl6
13:42 Visitor99 mmm, now everything can use a $ sigil, scalars and hashes too....
13:43 TiMBuS yes, but they work differently for assignment
13:43 tadzik nothing new
13:43 Visitor99 rakudo: my %h = <a 1 b 2 c 3>; %h.push(<a> => 10); %h.perl.say; my $s = %h{'a'}; say $s[0]; $s.WHAT.say; $s.push(100); $s.perl.say;
13:43 p6eval rakudo 53ee80: OUTPUT«{"a" => ["1", 10], "b" => "2", "c" => "3"}␤1␤Array()␤["1", 10, 100]␤»
13:43 Visitor99 timbus, how's that?
13:44 TiMBuS they don't make a copy
13:45 TiMBuS rakudo: my @a = (1,2,3,4); my $b = @a; $b[2] = 'foo';  say ~@a;
13:45 p6eval rakudo 53ee80: OUTPUT«1 2 foo 4␤»
13:46 Axius joined #perl6
13:46 Visitor99 ahh, they are just references..
13:47 Visitor99 rakudo: my Hash $h; $h{'a'}=1; $h.perl.say;
13:47 p6eval rakudo 53ee80: OUTPUT«Type objects are abstract and have no attributes, but you tried to access $!storage␤  in 'at_key' at line 4751:CORE.setting␤  in 'Any::postcircumfix:<{ }>' at line 1704:CORE.setting␤  in main program body at line 1␤»
13:48 TiMBuS that one is a known bug
13:53 LaVolta joined #perl6
13:57 slavik joined #perl6
13:59 tadzik Visitor99: everything is a reference now
14:00 Visitor99 so, what if you want to make a copy?
14:01 Axius joined #perl6
14:02 Visitor99 rakudo: my @a = (1,2,3); my @b = @a; @b[0] = 10; @a.perl.say;
14:02 p6eval rakudo 53ee80: OUTPUT«[1, 2, 3]␤»
14:02 Visitor99 rakudo: my @a = (1,2,3); my $b = @a; $b[0] = 10; @a.perl.say;
14:02 p6eval rakudo 53ee80: OUTPUT«[10, 2, 3]␤»
14:02 Visitor99 ahh, i see
14:03 tadzik :)
14:13 tadzik joined #perl6
14:14 ambs joined #perl6
14:14 ambs hello
14:15 [Coke] phenny: tell masak about http://www.tcl.tk/man/tcl8.5/TclCmd/binary.htm
14:15 phenny [Coke]: I'll pass that on when masak is around.
14:15 ambs how can I do this in Perl 6?   push @{$foo{bar}}, 5;
14:15 ambs my atempt on push @{%foo{'bar'}}, 5;  was not successful :D
14:15 tadzik cmadsen: $foo<bar>.push(5)
14:16 ambs hmms... why $?
14:16 tadzik why not? :)
14:16 tadzik it's just an object, method do not change due to a sigil
14:16 tadzik * methods
14:16 copumpkin joined #perl6
14:16 ambs hmms....
14:17 copumpkin left #perl6
14:17 ambs to access a value on the hash, don't you use %foo{'bar'} ?
14:17 tadzik You don't need no dereferencing in Perl 6
14:17 tadzik ambs: You do
14:17 ambs and why $foo<bar>, then?
14:17 tadzik or %foo<bar>
14:17 tadzik it's the same
14:17 tadzik <> autoquotes
14:17 tadzik {bar} is not the same as {'bar'} anymore
14:17 ambs yes, but you wrote $foo<bar> that was my doubt :)
14:17 tadzik yep
14:18 tadzik $foo<bar> == $foo{'bar'}
14:18 tadzik it's just faster to type :)
14:18 ambs no, no, no. My question is about $ vs % :D
14:18 tadzik which makes everyone like it
14:18 tadzik well, that makes no difference really
14:18 tadzik star: my %hash = foo => 1, bar => 2; my $other = %hash; %hash.WHAT.say; $other.WHAT.say
14:18 p6eval star 2010.07: OUTPUT«Hash()␤Hash()␤»
14:18 tadzik see? Both are hashes
14:19 ambs ok, but if I declared an object with 'has %!foo' then I should use %, right?
14:19 tadzik yep
14:19 ambs ok :)
14:19 ambs ty
14:19 tadzik but, if you have %foo, you extract values with %foo<bar>, not $foo<bar>
14:20 tadzik sigils do not change in Perl 6
14:20 tadzik ambs: have You read Perl 5 to 6 today? :)
14:20 ambs no, I've read half of the Perl 6 book
14:20 ambs but without writing some code, that is worth nothing :)
14:20 tadzik true
14:23 ambs but the book is needing much work :) or I need a coffee.
14:28 moritz_ probably both :-)
14:29 unik joined #perl6
14:29 unik hi #perl6 !
14:30 unik I was wandering if anyone remembers the multi+count bug ?
14:31 moritz_ which one?
14:31 unik rakudo: multi sub dbl { $_ * $_ }; my $a = 0 .. 10; my $b = $a.map: &dbl; say ~$b;
14:31 p6eval rakudo 53ee80: OUTPUT«Method 'count' not found for invocant of class 'Perl6MultiSub'␤  in 'Any::join' at line 1␤  in 'List::Str' at line 2547:CORE.setting␤  in main program body at line 6581:CORE.setting␤»
14:31 unik rakudo: sub dbl { $_ * $_ }; my $a = 0 .. 10; my $b = $a.map: &dbl; say ~$b;
14:31 p6eval rakudo 53ee80: OUTPUT«␤»
14:34 unik weird
14:35 moritz_ $_ is not set in a sub
14:35 unik it's more than one bug here...
14:35 moritz_ and you're doing item assignment
14:35 unik isn't map supposed to get return value of callback?
14:36 unik oh
14:36 moritz_ rakudo: sub dbl { $_ * $_ }; say dbl().perl
14:36 p6eval rakudo 53ee80: OUTPUT«Use of uninitialized value in numeric context␤Use of uninitialized value in numeric context␤0␤»
14:36 unik changing them to $^a worked
14:36 unik rakudo: sub dbl { $^a * $^a }; my $a = 0 .. 10; my $b = $a.map: &dbl; say ~$b;
14:36 p6eval rakudo 53ee80: OUTPUT«0 1 4 9 16 25 36 49 64 81 100␤»
14:37 masak joined #perl6
14:37 masak \o/
14:37 phenny masak: 14:15Z <[Coke]> tell masak about http://www.tcl.tk/man/tcl8.5/TclCmd/binary.htm
14:37 moritz_ o/
14:37 masak \o
14:37 tadzik \o
14:37 masak hokay, tcl does binary stuff too.
14:38 unik i thought $_ could be used in that snippet
14:38 moritz_ rakudo: use MONKEY_TYPING; augment class Perl6MultiSub { method count { 1 } }; multi dbl($x) { $x**2}; say ~(1..5).map: &dbl
14:38 p6eval rakudo 53ee80: OUTPUT«===SORRY!===␤Can't augment class that doesn't exist␤»
14:39 masak ooh!
14:41 moritz_ don't even think about it
14:42 dual joined #perl6
14:44 masak frettled: a solution to the N-queen problem is just a matter of increasing/decreasing the number of nested for loops. (unless you want to get fancy with constraint propagation, something which is probably wise as N goes up)
14:45 masak frettled: and now I got momentarily distracted by http://en.wikipedia.org/wiki/Eight_queens_puzzle and http://en.wikipedia.org/wiki/Eight_queens_puzzle_solutions :)
14:45 ambs does Perl 6 follow the usual module hierarchy like class Module::Class {   ?
14:45 tadzik yep
14:45 tadzik If I understood You correctly :)
14:46 ambs and if so, when declaring a variable this type, I use the full qualitfied name,   Module::Class $var;
14:46 moritz_ and like in p5, nested namespaces are not related to inheritance
14:46 ambs tadzik: heheh, no problem if you don't, just trying to experiment things.
14:46 ambs moritz_: yes, I know :)
14:48 unik do p5 -style signature-less subs imply "no arguments" in p6?
14:49 moritz_ unik: if they contain no mention of @_ and %_, yes
14:49 unik oh, silly me, I got it now
14:50 ambs huh.. it worked? O:-)
14:51 tomaw joined #perl6
14:52 * ambs afks&
14:55 pugssvn r31930 | moritz++ | [t/spec] improve tests for RT #70007
14:55 pugssvn r31931 | moritz++ | [t/spec] some rakudo unfudges
14:56 unik rakudo: multi sub dbl { $^a * $^a }; my $a = 0 .. 10; my $b = $a.map: { dbl($^a); }; say ~$a; say ~$b; # that works
14:56 p6eval rakudo 53ee80: OUTPUT«0 1 2 3 4 5 6 7 8 9 10␤0 1 4 9 16 25 36 49 64 81 100␤»
14:57 unik rakudo: multi sub dbl { $^a * $^a }; my $a = 0 .. 10; my $b = $a.map: &dbl; say ~$a; say ~$b; # that doesn't
14:57 p6eval rakudo 53ee80: OUTPUT«0 1 2 3 4 5 6 7 8 9 10␤Method 'count' not found for invocant of class 'Perl6MultiSub'␤  in 'Any::join' at line 1␤  in 'List::Str' at line 2547:CORE.setting␤  in main program body at line 6581:CORE.setting␤»
14:57 jdv79 any particular reason parrot supports open()ing pipes and rakudo doesn't?
14:58 ktne joined #perl6
14:58 moritz_ jdv79: it seems nobody was aware that parrot supports it, and got around to porting it to rakudo
14:58 moritz_ jdv79: at least I wasn't
14:59 ktne are perl6 performance issues related to rakudo specifically or to parrot?
14:59 moritz_ both
15:04 hillu joined #perl6
15:04 moritz_ rakudo: my $m = Perl6::Grammar.parse('my $x = 0;'); say $m.perl
15:04 p6eval rakudo 53ee80: OUTPUT«Method 'perl' not found for invocant of class 'Regex;Match'␤  in main program body at line 22:/tmp/PcWWbihHoN␤»
15:05 mberends joined #perl6
15:07 masak mberends: home already?
15:07 mberends \o from .nl :)
15:07 moritz_ o/
15:08 mberends masak: yes, about 1.5 hours ago. I had some @chores to do, now it's time for a nice cup of tea.
15:08 masak tadzik: I've started fixing up Text::CSV. test files 01 to 03 pass; there are failures in 04, 05 and 06.
15:09 tadzik masak: good
15:09 masak mberends: we had a jolly old time on the way to Bologna. after a brief disagreement with Tomtom, we ended up on the Really Scenic Route. :)
15:09 * tadzik is thinking about launching something like prototesters, showing which modules actually work
15:10 masak mberends: I'm now sitting outside my room where they plug in the vacuum cleaners, charging my laptop.
15:10 tadzik that would encourage people to 1) write tests 2) make their modules pass those tests
15:10 masak tadzik: shall we write it together? in my mind, that project is called "Emmentaler", and runs on top of pls.
15:10 moritz_ tadzik: I've attended a talk about cpantesters... seems that their infrastructure would be flexible enough to adopt it to our needs
15:10 masak moritz_: ooh!
15:10 moritz_ at least their server-side structure
15:10 masak that's great news.
15:10 tadzik masak: sure
15:11 tadzik hmm
15:11 avar or, just use cpantesters?
15:11 moritz_ they have something called "metabase", which is a database that collects facts
15:11 tadzik oh, curiosity: why are we not on CPAN?
15:11 tadzik but rather launching our own solutions
15:11 moritz_ avar: still involves writing a custom client, probably
15:12 moritz_ tadzik: it's not so easy to use CPAN - but I'd appreciate any progress in that area
15:12 allbery_b because CPAN needs to be extended to know what is perl5 and what is perl6, I think
15:12 tadzik masak: seen my @perl6-users module post?
15:12 masak no. looking now.
15:12 moritz_ allbery_b: right; a good first step would be to make PAUSE ignore any p6 modules, and have our own index
15:13 avar It's easy, just 1. upload tarballs with p6 modules 2. have a META.* in them with no_index 3. Add custom CPAN 2.0 META data to specify prereqs / p6 specific stuff 4. Write a custom indexes (like proto, but use the cpan) 5. monkeypatch tools to work with it.
15:13 avar moritz_: There's already a facility to ignore p6 modules (see 2)
15:13 allbery_b "easy"
15:13 tadzik I'm pretty happy with our own proto
15:13 moritz_ avar: it exists, but it's a bit fragile, if you ask me
15:14 avar How is it fragile?
15:14 masak tadzik: you're looking for some regularity in the module universe? I can't say I blame you :)
15:14 moritz_ avar: last I looked it required no_index for each file to be ignored
15:14 tadzik masak: what do You mean?
15:14 masak tadzik: that's my reaction from reading your email.
15:15 tadzik masak: so are you positive or negative?
15:15 moritz_ avar: or is there a broader no_index thing?
15:15 tadzik I can't say I blame you -- ETOOCRYPTIC
15:15 masak tadzik: I can tell you how I think it should be done. but I'll be careful to phrase it as my opinions, and not as law.
15:15 avar moritz_: no, you can no_index on a per-directory basis. But in any case it's easy either way with tools like dzil that write the meta for you.
15:15 * szbalint arrived $home :)
15:15 moritz_ \o szbalint
15:15 tadzik masak: well, there is no law now, not any I'm aware of
15:15 avar see the no_index here: http://cpansearch.perl.org/src/AVAR/Hailo-0.52/META.json
15:15 masak tadzik: there are many ways to do it now because (1) there's inertia in the system and some or using old solutions, and (2) people have different needs
15:16 szbalint o/
15:16 slavik joined #perl6
15:16 masak tadzik: I think http://github.com/masak/proto/blob/master/PIONEER still summarizes my position fairly well.
15:17 masak tadzik: and ufo summarizes my position on Makefile.in and Configure :)
15:17 moritz_ avar: that's much better than before
15:17 tadzik masak: I see
15:18 masak tadzik: I think that makes me an ultra-liberal, except for the Makefile.in/Configure part.
15:18 tadzik so the only thing neutro does not do now is Configure && make
15:18 avar moritz_: acc. to http://cpan.uwinnipeg.ca/htdocs/CPAN-Meta/CPAN/Meta/History.html#Version_1_0 it has been like that since  november 2006
15:18 tadzik masak: personally, I think this should be avoided
15:18 moritz_ avar: wow
15:19 tadzik masak: but this looks like a nice standard specification
15:19 ambs %!translations{$language}.push($translation); --> Method 'push' not found for invocant of class ''  -- help? :)
15:19 tadzik masak: how about instead of Configure.pl/Makefile there will be some Build.pm perl 6 module, with a build() sub? No external app launching, no make dependency
15:19 tadzik and then installing lib/ as usual
15:20 masak tadzik: ok, let's first define terms here.
15:20 masak tadzik: there's the developer, and there's the user. they have slightly different needs.
15:20 masak the developer wants to be able to run make, run the tests, test install, etc.
15:20 masak the user just wants to run the module, as simply as possible.
15:21 masak tadzik: when you say 'there will be some Build.pm', are you talking about for the developer, or for the user?
15:21 tadzik masak: I was thinking about the developer. Now this approach means that the user will not install the module by himself
15:21 tadzik he will just pls . and the developer's work will do the best
15:21 tadzik * rest
15:22 tadzik masak: as looking at CPAN, some people tend to avoid Extuils::MakeMaker in favor of Module::Build
15:22 masak tadzik: as a developer, ufo mostly fills my needs. it means I don't have to put a Build.pm or a Configure.pm in my repository.
15:22 ambs Module::Build has some nice details
15:22 tadzik which seems like they don't like make, they don't really want not really portable, not-Perl solution
15:22 masak ergh, dangling modifier :)
15:23 tadzik yep, ufo makes makefile which can do what's needed
15:23 masak tadzik: there's been talk of a "pure-Perl6" make-replacing solution lately, including at YAPC::EU.
15:24 tadzik masak: so Your point is that ufo fullfils the developers and the users needs?
15:24 masak tadzik: but people have been trying to replace make for the past 15 years or so, and not succeeded yet.
15:24 masak tadzik: no, my point is that I wrote it to fulfill *my* needs, and it does :)
15:24 tadzik I see :)
15:24 masak tadzik: perhaps others' too
15:24 tadzik well, but let's look at the module management for a while again
15:25 masak I see the last 5 emails on the p6u list were about modules... :)
15:25 tadzik now we have no installing by hand, just a manager which does everything what's good for the use
15:25 masak ok, "module management" is the user installing/upgrading modules and their dependencies, yes?
15:25 tadzik r
15:25 tadzik yep
15:25 tadzik I'd even go for removing
15:26 masak removing is tricky. but sure.
15:26 tadzik What I was always missing in cpan was the lack of ability to: Install module with lots of deps, then remove this module and have the deps automagically removed
15:27 tadzik I've been thinking about this, in terms of neutro, and I figured out it'll be damn hard, if not impossible, to manage modules installed by something else
15:27 masak yes.
15:28 masak to do what you want, you have to have complete control over module installation.
15:28 tadzik I remember one of my first PM meetings, when I said "well, there's no easy way to remove modules" mongers said "oh, they're not big"
15:28 tadzik yep
15:28 tadzik which is, to say it delicately, risky
15:29 tadzik risky to assume and risky to force it
15:29 tadzik but I still thing this is a nice thing and it'd be nice to have
15:29 avar that's easy if you just convert the modules to packages installed by your package manager
15:30 TiMBuS could you not include a way to convert modules+deps into a ^ beaten
15:30 tadzik yep, that's how it usually ends now
15:30 tadzik in Linux distros at least
15:31 tadzik so there's another question, if comprehensive module management is really worth the effort
15:31 avar no?
15:32 tadzik and back to some old things I said: You say, masak, people are unable to replace make for 15 years or so. But make is about building mostly, and I doubt if Perl modules really need a build system
15:32 tadzik make is easy to use, yes, like ufo shows
15:32 slavik tadzik, they might if they have to link to native code or compiled to native code.
15:33 slavik but what's the argument?
15:33 tadzik But I don't think relying on make in the potential Perl module installer is such a good thing
15:33 slavik masak: have you had any experience with the automatic package builders that would create distro specific packages (rpm/deb) from CPAN?
15:33 tadzik well, I'm just thinking aloud, provoking you guys to some discussion
15:33 masak tadzik: it's the little things I like about make. such as, when I do 'make test' and a .pm file is newer than its corresponding .pir file, it rebuilds the .pir file for me first.
15:34 masak tadzik: I could probably make a Perl 6 tool that did that, and never use make again :)
15:34 tadzik so that's nice for the developer
15:34 masak slavik: no, no experience.
15:34 slavik masak: k
15:34 tadzik but in terms of installing modules, it's mostly 1) download the fresh tarball 2) build everything from the beginning
15:34 slavik masak: why would you want to re-implement make?
15:35 masak tadzik: yes, I suspect such things are nice for the developer. nowadays I have Makefiles which make me not need to set PERL6LIB. (I usually end up doing that anyway, though)
15:35 slavik tadzik: I disagree on those steps :)
15:35 tadzik slavik: why so? :)
15:35 masak slavik: it was just an idea. :) I'm not sure I will. but experience seems to show it would help Windows Perl 6 developers, since nmake is so different from GNU make.
15:35 slavik tadzik: what about modules depending on other modules? do you want to blindly get them and build them, too no matter what?
15:36 tadzik slavik: no, checking deps occurs before building
15:36 tadzik I ommited that in those steps, aye
15:36 slavik tadzik: then why not just use make?
15:36 slavik tadzik: even FreeBSD's ports system uses make
15:37 ambs star: my %a; %a<foo>.push(3);
15:37 tadzik slavik: for it's not quite portable. That's just another external app needed
15:37 p6eval star 2010.07: OUTPUT«Method 'push' not found for invocant of class ''␤  in main program body at line 22:/tmp/k8UE5LAD5o␤»
15:37 moritz_ http://blogs.perl.org/users/alberto_simoes/2010/08/yapceu2010---second-afternoon.html fwiw ambs++ re-formulated his review of my talk after private discussion, for which I'm very grateful
15:37 tadzik slavik: I have nothing against it, but sitting here on #perl6 shows me that many Perl devs use Windows
15:37 ambs any hint on how to fix the above code? :)
15:38 slavik tadzik: consider that most (almost all) retail (brick and mortar) systems come with windows.
15:38 slavik ambs: I don't think you can push things onto a hash
15:38 moritz_ ambs: %a<foo> //= []; before the push line is a common work-around
15:38 tadzik ambs: %a<foo> is not an array
15:38 moritz_ ambs: we should have most of the framework in place to implement that kind of autovivification, it just hasn't happened yet
15:39 ambs moritz_: ok, so will use the work-around for now
15:39 masak ambs: do you mean %a.push( foo => 3 ) ?
15:39 masak hm, probably not :)
15:40 ambs masak: no, I wanted %a<foo> to have an array reference (push @{$a{foo}}, 3  #perl5)
15:40 slavik ambs: %a<foo> = []; ?
15:40 moritz_ rakudo: my %h; %h.push('a' => 3); say %h.perl; %h.push('a' => 5); say %h.perl
15:40 p6eval rakudo 53ee80: OUTPUT«{"a" => 3}␤{"a" => [3, 5]}␤»
15:41 moritz_ Hash.push is implemented, but not what ambs wants
15:41 ambs right.
15:41 Axius joined #perl6
15:43 masak ambs: (%a<foo> //= []).push(3) is what I usually end up doing these days.
15:43 ambs masak: yes, that's what moritz_ said. implementing it :)
15:43 ambs and it works :)
15:43 moritz_ \o/
15:43 masak :)
15:44 ambs ;)
15:44 masak moritz_ said on the line before. if I have room enough on the same line, I tend to do it with the parens.
15:44 pugssvn r31932 | moritz++ | [perl6.org] link to mx-declare emacs stuff, avar++
15:44 justatheory joined #perl6
15:45 azert0x_ joined #perl6
15:45 pmurias joined #perl6
15:45 ambs moritz++ # for the emacs stuff as well :)
15:49 ambs is there any option to .perl to make it pretty print? 4 lines of dump is not really legible ;)
15:49 Axius_ joined #perl6
15:49 moritz_ no
15:50 moritz_ I thought maybe a $*PERL_INDENT contextual
15:50 moritz_ if set, enables pretty-printing, and indents that many spaces
15:50 moritz_ (conjectural spec pondering, not working atm)
15:51 desertm4x joined #perl6
15:51 ambs ok. /me crosses the eyes.
15:55 pmurias ruoso: hi
15:57 tadzik masak: so, we end up staying with make?
15:57 masak tadzik: again, you're looking for directions, and I have none to give.
15:57 masak tadzik: I'm hoping someone picks up a torch and leads the way. :)
15:58 tadzik masak: oh, I have a point
15:58 tadzik let's keep the scripts in bin/ like modules in lib/
15:58 tadzik so proto/pls/whatever will know what to instal
15:58 moritz_ and tests in t/
15:59 tadzik yes, but that's alredy common
15:59 pmurias moritz_: that doesn't seem a very elegant solution
15:59 ambs when there is a spec for how modules should be shipped, let us know :)
15:59 tadzik ambs: there is, masak++ wrote one
15:59 tadzik http://github.com/masak/proto/blob/master/PIONEER
15:59 moritz_ pmurias: what would you prefer?
15:59 tadzik masak: mind me menioning bin/ there?
15:59 masak yes, but the "should" in that spec is "do whatever you want!"
16:00 tadzik masak: oh, there's also no mention to lib/
16:00 tadzik "do whatever you want, but remember we're not obliged to run it then :P"
16:00 masak tadzik: I'm afraid I don't really see the big point of bin/ yet.
16:00 pmurias moritz_: a sane default
16:00 moritz_ masak: how would proto install ufo?
16:00 masak tadzik: lib/ should probably be in PIONEER, yes.
16:00 mdxi joined #perl6
16:01 moritz_ pmurias: "sane" depends on use case
16:01 tadzik masak: I can write it
16:01 masak moritz_: ufo has its own Makefile, so pls would default to it.
16:01 tadzik masak: how about ufo?
16:01 tadzik oh, moritz was faster
16:01 xlh joined #perl6
16:01 moritz_ masak: speaking of which... i'd like to add a 'Makefile' target to ufo generated makefiles that rebuilds it
16:01 tadzik masak: so when there's make, we run make install rather than installing lib/?
16:02 masak moritz_: I'm disinclined to make the Makefile generated by ufo dependent on ufo...
16:02 masak tadzik: that's always seemed sane to me.
16:02 tadzik a'right
16:02 masak tadzik: in general, defaulting to the build/install mechanisms we recognize and can handle.
16:03 tadzik masak: how about the bin/?
16:03 moritz_ masak: ok; thought you might have a reason to reject
16:03 mac| joined #perl6
16:03 masak tadzik: I'm afraid I don't really see the big point of bin/ yet.
16:03 mac| hiho #p6!
16:03 tadzik few modules supply scripts
16:03 pmurias moritz_: plus there seems to be more ways of formating code differently (see the list of options to perltidy)
16:03 tadzik mac|: o/
16:03 tadzik masak: let me find some to prove my point, hold on
16:04 tadzik masak: gotcha! Yapsi!
16:04 moritz_ pmurias: and then we have to ask ourselves how much of that belongs into the built-in .perl method
16:04 masak tadzik: ok. Yapsi. no Makefile.in, no Makefile. good.
16:04 ambs (weird, this is working too easily)
16:05 tadzik masak: also, I was thinking about writing a runnable, P6 based file_find binary to use in scripts e.g.
16:05 tadzik bin/ would be nice here
16:05 masak tadzik: pls takes it, generates the Makefile ufo would have generated, and promptly installs it. there's talk about eliminating the Makefile and just doing it all in Perl 6.
16:05 pmurias moritz_: the output of the .perl method is implementation specific
16:05 masak tadzik: sorry, you still haven't explained bin/ in a way that makes me understand what it's for.
16:05 moritz_ I know
16:05 tadzik masak: pls takes what, installing binary?
16:06 masak what? no.
16:06 tadzik masak: it's for modules installing not only modules, but applications
16:06 masak what does that even mean?
16:06 tadzik like Yapsi is an application
16:06 masak no, it's a project.
16:06 masak with a module.
16:06 masak the module can be installed.
16:06 masak just like any module.
16:06 tadzik Web frameworks tend to supply a scripts bootstraping apps, controllers etc
16:06 moritz_ masak: some modules come with executable scripts. bin/ would be a directory that makes it easy to mark files as being scripts-to-be-installed-in-$PATH
16:06 masak oh!
16:07 masak ok. I buy that.
16:07 tadzik moritz_++
16:07 tadzik that's my point
16:07 moritz_ for example on windows you can't look at the executable bit
16:07 masak reluctantly.
16:07 masak tadzik++
16:07 moritz_ because they don't have such a thing
16:07 masak I guess I can live with bin/ufo and bin/yapsi
16:07 tadzik whew. Thanks moritz_, I think I've never explained this eventually ;)
16:07 tadzik masak: yes!
16:07 masak and then they end up in the path when they're installed.
16:07 tadzik so while we have .perl6/lib, there can be .perl6/bin
16:07 masak tadzik: just to show my support, I will now change ufo and yapsi to be that way.
16:08 tadzik and while we are warning about lacking proper PERL6LIB, we can warn about lack of proper PATH
16:08 tadzik masak: great
16:08 tadzik masak: let me menion that in PIONEER
16:08 masak tadzik: let me know if you discover any other scripts like that, and I'll see if I can't get them moved to bin/
16:08 masak tadzik: sure, go ahead.
16:08 masak tadzik: make sure you make it a suggestion, and not a requirement.
16:08 masak tadzik: dangle the it-just-works-during-install flag somehow. :)
16:09 tadzik masak: sure :)
16:09 masak tadzik++
16:09 moritz_ our specs will be "if you put scripts into bin/, we install them for you", not "put scripts into bin/"
16:09 masak we're on the same wavelength now :)
16:09 moritz_ and we should adapt the shebang line on unixoid systems
16:10 masak for those bin files?
16:10 ambs yes
16:10 moritz_ yes
16:10 masak that would have to be just another recommendation. "consider putting a shebang line..."
16:10 ambs (check if they have a sheband, and that that shebang is perl6, if so, adapt to the correct perl6 path -- JMHO)
16:11 moritz_ well, the author doesn't know the path of the perl6 binary in advance
16:11 ambs moritz_: that's why the install system should adapt the path
16:11 tadzik masak: http://wklej.org/id/374229/ ok?
16:11 moritz_ aye
16:12 risou joined #perl6
16:12 masak tadzik: looks fine.
16:12 tadzik commiting
16:14 masak tadzik: there we go. both ufo and yapsi pushed to have a bin/ dir.
16:14 tadzik gitpush'd to proto
16:14 tadzik yayay
16:14 tadzik time to fix neutro now
16:15 tadzik masak: so what about prototesters?
16:15 macroron joined #perl6
16:15 moritz_ http://moritz.faui2k3.org/gallery/pisa/ # the few Pisa pictures I found worth publishing
16:15 * tadzik thinks about writing a blogpost summarizing PIONEER
16:15 masak tadzik: you mean Emmentaler? the pieces are all there, they just have to be assembled. see my emmentaler repo on github for some very early planning.
16:16 masak tadzik: do it! write a blog post.
16:16 tadzik oh, great :)
16:16 ambs more photos: http://ambs.perl-hackers.net/photos/ye2010/
16:17 ambs do we have any Test::Something available?
16:17 moritz_ ambs: Test.pm is shipped with Rakudo
16:17 masak moritz_: who's the statue woman?
16:17 moritz_ ambs: and iirc ingy wrote TestML
16:17 tadzik ambs: there is also Test::Mock in proto
16:18 moritz_ masak: she's called "OH NOEZ"
16:18 dalek yapsi: e4ed4ab | masak++ |  (2 files):
16:18 dalek yapsi: moved yapsi -> bin/yapsi
16:18 dalek yapsi: After discussion with tadzik++ on #perl6.
16:18 dalek yapsi: review: http://github.com/masak/yapsi/commit/e4ed4abbc98c71c85c97c27d714744ce8079465a
16:18 tadzik :D
16:18 masak moritz_: lol!
16:18 ambs hmms, proto isn't been substituted by pls? or I got it wrong from pmichaud  talk?
16:18 tadzik ambs: proto is the idea, with plenty of implementations
16:18 masak moritz_: perfect for some talk some time.
16:18 tadzik ...I think
16:19 ambs ok
16:19 tadzik ambs: from which I'm afraid only neutro is working
16:19 masak tadzik: no, proto was the first installer I wrote.
16:19 ambs still in my beginning on writing one of my perl5 modules in perl6 - http://github.com/ambs/Biblio-Thesaurus-6
16:19 tadzik masak: but the modules are still on proto.perl6.org, and I think proto is now a synonym for CPAN for us, no?
16:19 masak tadzik: pls is the second. it's done, but not sufficiently tried out and not sufficiently well packaged to completely replace proto.
16:19 tadzik Module available in proto
16:19 masak tadzik: that was never the idea.
16:19 tadzik oh
16:20 tadzik I've misunderstood then
16:20 masak please use modules.perl6.org :/
16:20 tadzik ok, pardon
16:20 masak some people like making subdomain names out of my internal never-meant-to-be-public project names.
16:20 masak :)
16:20 tadzik :)
16:20 tadzik like proto.perl6.org?
16:20 masak cf u4x.perl6.org...
16:20 moritz_ some people install permanent redirects to the properl domain names
16:21 tadzik masak: so PIONEER is sort of a standard for making Perl 6 modules?
16:21 masak tadzik: NO!
16:21 tadzik :(
16:21 tadzik I don't get it then
16:21 masak it's just meant to be a reassuring document for people who can't live without standards.
16:21 tadzik oh
16:22 ambs LOL
16:22 masak I. Don't. Make. The. Law.
16:22 moritz_ it's the "how do write a module that will work fine with proto/pls" document
16:22 tadzik You're allergic to the work 'standard', a'nt You masak?
16:22 masak a tiddle bittle.
16:22 tadzik sounds sane
16:22 ambs too early for that, but how to add a module to modules.perl6.org?
16:22 masak ambs: there's a file in the pls branch of the proto repo...
16:23 moritz_ called poc-projects.list or so
16:23 masak it's called poc-projects.list
16:23 masak (but that will change, as will its location)
16:23 masak "poc" stands for "proof-of-concept", which is the stage pls is currently stuck at.
16:23 masak pending someone's tuits.
16:23 masak maybe I should make a ROADMAP.
16:23 * moritz_ hopes he can get some web-based submission thing up and running
16:23 ambs ok, I'll ask later (no idea where that branch is, no idea how to specify a branch on git, yet, and too early to put this module in the index)
16:23 tadzik moritz_: maybe a hugme plugin?
16:24 masak ambs: http://github.com/masak/proto/blob/pls/poc-projects.list
16:24 moritz_ tadzik: maybe
16:24 PacoLinux joined #perl6
16:24 moritz_ tadzik: as an option, not as the sole possiblity
16:24 tadzik moritz_: sure
16:24 ambs btw, smash made a very simple perl6doc.org. who knows if this shouldn't be linked from somewhere.
16:25 masak tadzik: re "fixed pull conflicts", may I recommend the excellent command 'git pull --rebase' next time?
16:25 masak ambs: according to me, that's not Perl 6 documentation, that's Rakudo documentation.
16:25 tadzik masak: oh, I was missing that thing
16:25 [Coke] regarding the discussions about make not being portable - I am pretty sure it works everywhere rakudo does atm.
16:25 [Coke] (including windows)
16:25 masak ambs: I tried telling smash this. not sure he understood what I meant.
16:25 moritz_ [Coke]: which project?
16:26 ambs masak: probably. don't talk to him for some time.
16:26 masak [Coke]: then you should have a chat with jnthn, who tried to make pls work on Windows.
16:26 moritz_ masak: I think it's meant to be a prototype environment, to be filled with "real" Perl 6 docs
16:26 masak ambs: I met him last week.
16:26 masak moritz_: oh, I see.
16:26 ambs masak: yes, I know :P
16:27 masak right :)
16:27 * ambs was there too :P
16:28 [Coke] masak: "I can't write portable makefiles" NEQ "make isn't portable"
16:28 masak [Coke]: you should definitely tell jnthn that.
16:28 masak I'm not the one on Windows, see?
16:29 [Coke] I just hate to see effort put into replacing something servicable when there is so much other places for effort to be expended. (not that effort is fungible) I also don't wish to repeat ant.
16:29 masak me neither.
16:29 masak though both Python and Ruby seem to have made their own make replacements.
16:29 masak so there seems to be *some* reason to.
16:30 [Coke] masak: once I have free time again, I can try pls on windows, sure.
16:30 ambs in any case, I think Schwern had much more problems with ExtUtils::Makefile than 'someone' with Module::Build.
16:30 [Coke] masak: yes, because everyone has NIH syndrome. =-)
16:31 pugssvn r31933 | pmichaud++ | [t/spec]:  Spectest for rakudo fix in 6ebba8 commit.
16:31 [Coke] but I've had this same talk with folks on parrot, and we have dist utils there. So perhaps I should let this go.
16:31 ambs :)
16:31 masak [Coke]: does it have to be NIH? can't there be genuine advantages to having a Ruby build tool written in Ruby, for example?
16:31 ambs [Coke]: btw, do not forget to vote O:-)
16:32 ambs tea time
16:33 * [Coke] drops it.
16:33 [Coke] ambs: I have a whole week left to do that, thanks.
16:35 ambs :)
16:43 * ambs gets back to Perl 6
16:45 ambs constructors are polymorphic? (can I have two new methods with different signatures?)
16:45 masak sure.
16:45 tadzik sure
16:45 masak just declare them 'multi method'
16:45 * tadzik slow again
16:45 ambs ty :)
16:46 masak with the new not-yet-implemented-in-Rakudo spec about proto and multi methods, you'll even be able to dispatch to the default new method, if it's the narrowest match.
16:47 ambs what does it mean self.bless(* ... )?
16:48 ambs I mean, the asterisk
16:48 moritz_ it means "default representation"
16:49 masak ...which is p6opaque
16:49 moritz_ for now.
16:49 masak right.
16:53 ambs sorry for being annoying. If you want me to shut up, I'll do it. -- what I'm doing wrong here? http://pastebin.com/RazfVYxi
16:54 tadzik I don't think accessors are present before bless
16:55 ambs $self.term?
16:55 masak they are, but they belong to the type object.
16:55 tadzik Wouldn't it be self.bless(*, term => $term, def-language => $def-language)?
16:55 masak and you're not allowed to change the attributes of the type object.
16:55 masak tadzik: yes indeed.
16:55 tadzik yay, I remembered
16:55 masak tadzik++
16:56 ambs tadzik, probably, but I was not understanding that type of line on the perl6 document
16:56 tadzik ambs: it's not quite different from Perl 5 here, yep?
16:56 masak ambs: one calls MyClass.new, right? so $.term = $term would try to change MyClass.term, which is disallowed.
16:56 ambs tadzik: now, no. But the example uses :$callback and :@depedencies that, while I've read about them, are not yet working on my head.
16:57 masak ambs: :$callback means :callback($callback)
16:57 tadzik yes
16:57 masak or callback => $callback
16:57 masak it's just sugar.
16:57 ambs yes, that means.. yes, that
16:57 ambs I know, as I've said, I read that :) but not yet really working on my head :)
16:58 masak give it some time.
16:58 * ambs nods
16:59 masak "I also think that compact classes should be able to express their serialization in pack form if asked for it with .packformat or some such." -- TimToady in S32/Str about pack.
16:59 masak I like this idea.
17:00 masak it's sort of &pack meets OO.
17:00 ambs still not working properly - http://pastebin.com/jB9seqw6
17:00 masak ambs: huh.
17:00 masak ambs: trying to reproduce that.
17:01 masak ambs: works here.
17:02 masak ambs: there must be something in the code you didn't post causing that.
17:02 ambs commenting code
17:02 masak or something other than your code, such as a faulty Rakudo.
17:03 ambs it should be rakudo star (of course, things could get mad during build)
17:03 masak I'm running bleed. not much I can do about that.
17:03 ambs :)
17:03 masak might be something that got fixed.
17:04 ambs let me try to install bleed
17:04 masak given what you posted, my bet was on the 'multi' keyword.
17:04 masak but that doesn't seem to be it.
17:04 ambs removed the multi, works
17:06 ambs well, I can create a constructor not named new, and forget the multi for now.
17:08 tadzik ambs: erm, You declared 2-argument new, but You're using named parameters
17:08 masak I'm leaning towards "has been fixed since Star", then.
17:08 masak tadzik: he's using named arguments, which is fine even with positional parameters.
17:08 tadzik oh, ok
17:08 ambs (good)
17:09 masak yes, I was surprised too that that works. :)
17:09 pmurias [Coke]: isn't there a pmake?
17:09 masak right about when jnthn++ implemented it :)
17:12 ambs hmms, with rakudo star I think I've used perl Configure.pl --prefix=/opt/rakudo, but probably I am wrong :-\
17:18 masak &pack in fascinating, because it lies just at the intersection of binary data and character strings. it has a slightly forbidden feel to it.
17:20 masak take this specifier, for example:
17:20 masak A   A text (ASCII) string, will be space padded.
17:20 masak what happens if you send it a Unicode string with non-ASCII characters?
17:20 masak runtime error?
17:21 masak oh, and
17:21 masak I   An unsigned integer value.
17:21 masak can you send an Int to that?
17:21 masak is there an upper limit of the size of Int you can send in?
17:22 masak there's a limit on S, which is always exactly 16 bits wide.
17:23 masak f   A single‐precision float in the native format.
17:23 masak ditto d. I have no idea how to get at 'the native format'. maybe I should ask #parrot.
17:24 ambs does rakudo support already a record separator?  ($/...)
17:25 masak std: $RS
17:25 p6eval std 31912: OUTPUT«[31m===[0mSORRY![31m===[0m␤Variable $RS is not predeclared at /tmp/tYbO4o87nL line 1:␤------> [32m$RS[33m⏏[31m<EOL>[0m␤Check failed␤FAILED 00:01 112m␤»
17:25 masak oh well.
17:25 masak ambs: from S28:
17:25 masak $/ $RS              $*IN.input_record_separator()
17:25 masak that is, the former two have been superseded by the latter.
17:25 xinming joined #perl6
17:26 ambs masak: thanks :)
17:26 masak you'll find other superseded variables in S28, too.
17:26 ambs after setting it, $file.lines does what I expect? :D
17:27 masak tias
17:27 masak if not, submit a rakudobug.
17:27 masak rakudo: say lines
17:28 p6eval rakudo 53ee80: OUTPUT«Land der Berge, Land am Strome,Land der Äcker, Land der Dome,Land der Hämmer, zukunftsreich!Heimat bist du großer Söhne,Volk, begnadet für das Schöne,vielgerühmtes Österreich,vielgerühmtes Österreich!Heiß umfehdet, wild umstrittenliegst dem Erdteil du inmitten,einem starken
17:28 p6eval ..Herzen …
17:28 masak rakudo: say +lines
17:28 p6eval rakudo 53ee80: OUTPUT«23␤»
17:28 tadzik what's that?
17:28 masak tadzik: Austrian national anthem.
17:28 tadzik nice
17:28 ambs :-|
17:28 masak rakudo: $*IN.input_record_separator = "Land"; say +lines
17:28 ambs crazy people
17:28 p6eval rakudo 53ee80: OUTPUT«Method 'input_record_separator' not found for invocant of class 'IO'␤  in main program body at line 22:/tmp/8Tt4WngKVF␤»
17:29 masak ambs: seems NYI.
17:29 ambs :-|
17:29 masak well volunteered!
17:29 masak was I too early? :)
17:29 ambs if I knew where to loot at
17:30 ambs look*
17:32 ambs well, need to prepare the bag for vacations. later :)
17:37 tadzik masak: so, are we playing with Emmentaller?
17:37 masak tadzik: let's set a date and time for it. today I'm still working on GSoC stuff.
17:38 masak tadzik: do you have a feather account?
17:38 tadzik masak: I have plenty of time, feel free to choose what suits You best
17:38 tadzik masak: nah
17:38 masak tadzik: ask Juerd++ for one by email. it'll help.
17:39 tadzik masak: shall I point You and the project as the argumentation?
17:39 masak works for me.
17:39 tadzik a'right
17:40 tadzik …what is feather actually? Some big server for Perl 6-related stuff?
17:40 masak it's a server for diverse Perl 6 projects, admin'd by Juerd++.
17:41 tadzik masak: oh, CSV tests look failing for me
17:42 masak all of them?
17:42 tadzik 04..06
17:42 araujo joined #perl6
17:42 masak oh, that's what I have too.
17:42 tadzik 8 subtests
17:42 tadzik ok then
17:42 masak I figured now that I've gotten some of them working... someone may beat me to fixing the rest. :)
17:42 masak it's probably simple bitrot stuff.
17:44 tadzik masak: oh, You might want to update ufo README. ABC does not use Human Technology anymore
17:49 masak tadzik: noted. will update.
17:55 masak pushed.
17:57 tadzik masak++
17:57 lue joined #perl6
17:57 lue hello o/
18:00 tadzik \o
18:01 tadzik masak: duh. Module installer has to figure out by itself whether to use Perl 5 or Perl 6 to run Configure.pl?
18:07 masak tadzik: are you saying there are still projects out there using a Perl 5 Configure.pl?
18:07 tadzik masak: No idea
18:09 masak then I'm not sure I understand the question.
18:10 tadzik Then I'm sure they all use Perl 6
18:10 tadzik oh, some modules define no install target in Makefile, that has to be checked
18:10 masak again, the same rule applies.
18:11 masak if the project defines something, use that.
18:11 tadzik yep
18:11 masak otherwise, do something default.
18:14 Axius_ joined #perl6
18:18 desertm4x joined #perl6
18:19 lue what if there is only a Makefile and someone is using Windows ?
18:20 lue (for the module installer)
18:20 masak lue: good question. I'd run the Makefile.
18:21 masak and fail to install if it doesn't work.
18:21 desertm4x joined #perl6
18:21 masak explicitly provided things trump platform-dependent workarounds. or something.
18:23 x3nU joined #perl6
18:25 Packetknife joined #perl6
18:25 araujo joined #perl6
18:26 Packetknife joined #perl6
18:26 Packetknife joined #perl6
18:32 desertm4x Is there a way to check whether a string and a certain token within a grammar match? I have written a small grammar and I would like to test some of the tokens separately to find the errors I have made.
18:33 masak desertm4x: say ?("this is my string" ~~ / ^ <MyGrammar::mytoken> $ /)
18:34 moritz_ except it doesn't work in rakudo
18:34 moritz_ what runs now is
18:34 moritz_ MyGrammar.parse($string, :rule<mytoken>);
18:34 masak oh. right. moritz_++
18:34 moritz_ masak: and <MyGrammar::mytoken> will only work for 'our token mytoken' or so
18:36 masak makes sense.
18:36 desertm4x Thanks, it works. :-)
18:46 Axius__ joined #perl6
18:59 hanekomu joined #perl6
19:04 itz joined #perl6
19:07 hanekomu joined #perl6
19:20 moritz_ phenny: tell MAK__ http://www.presentingperl.org/yn2010/not-quite-perl/ # a wee bit older, but should still apply
19:20 phenny moritz_: I'll pass that on when MAK__ is around.
19:49 ethel joined #perl6
20:00 Packetknife joined #perl6
20:00 Packetknife joined #perl6
20:12 smash joined #perl6
20:12 smash hello everyone
20:13 tadzik o/
20:14 briang left #perl6
20:26 masak joined #perl6
20:27 * masak just had mozzarella di bufala
20:27 masak highly recommended.
20:28 molaf joined #perl6
20:35 tadzik masak: what's that? And btw, what's Juerd's mail?
20:36 masak tadzik: see http://juerd.nl/site.plp/
20:36 masak tadzik: have you tried ordinary mozzarella? the one out of cow milk.
20:37 tadzik masak: yeah, I know it
20:37 tadzik masak: these are really #'s?
20:37 masak aye :)
20:37 tadzik :D
20:37 tadzik catch
20:37 tadzik catchy *
20:37 masak says so when you hover on them.
20:38 masak tadzik: well, buffalo mozzarella is what cow milk mozzarella aspires to be.
20:38 tadzik yeah, it just thought there is a trap around ;)
20:39 azert0x joined #perl6
20:53 snearch joined #perl6
20:57 whiteknight joined #perl6
21:08 briang joined #perl6
21:08 briang left #perl6
21:28 cono rakudo: class A { my @!e; }
21:28 p6eval rakudo 53ee80: OUTPUT«Lexical 'self' not found␤  in main program body at line 22:/tmp/86wHIP37CR␤»
21:28 cono std: class A { my @!e; }
21:28 p6eval std 31912: OUTPUT«ok 00:01 113m␤»
21:34 Guest23195 left #perl6
21:34 frettled phenny: tell masak The N-queen problem is not a matter of increasing/decreasing the number of nested loops, as you don't know the value of N.  N may be -12, 0, 1, 6, 8, 11, and a proper solution has no special-case code for normal values (it is usually deemed acceptable to have a cut-off and say that there are zero solutions for N ≤ 0).
21:34 phenny frettled: I'll pass that on when masak is around.
21:34 azert0x joined #perl6
21:41 wamba joined #perl6
21:46 azert0x joined #perl6
22:00 sorear um, -12?
22:05 pmurias joined #perl6
22:09 fod joined #perl6
22:11 gfldex rakudo: say //.WHAT;
22:11 p6eval rakudo 53ee80: OUTPUT«===SORRY!===␤Null regex not allowed at line 22, near ".WHAT;"␤»
22:12 gfldex rakudo: say /a/.WHAT;
22:12 p6eval rakudo 53ee80: OUTPUT«Regex()␤»
22:19 pjcj joined #perl6
22:21 gfldex std: my $re = "abc"; $re.subst(/*/, '.*', :g); say $re;
22:22 p6eval std 31912: OUTPUT«[31m===[0mSORRY![31m===[0m␤Quantifier quantifies nothing at /tmp/lQRfwGOSeu line 1:␤------> [32mmy $re = "abc"; $re.subst(/*[33m⏏[31m/, '.*', :g); say $re;[0m␤Check failed␤FAILED 00:01 118m␤»
22:22 gfldex std: my $re = "abc"; $re.subst(/'*'/, '.*', :g); say $re;
22:22 p6eval std 31912: OUTPUT«ok 00:01 118m␤»
22:22 gfldex rekudo: my $re = "abc"; $re.subst(/'*'/, '.*', :g); say $re;
22:23 gfldex hmm ...
22:24 sorear rakudo: my $re = "abc"; $re.subst(/'*'/, '.*', :g); say $re;
22:24 p6eval rakudo 53ee80: OUTPUT«abc␤»
22:24 sorear there is no literal '*' in $re
22:24 sorear so of course nothing changes
22:25 gfldex i dont got any output from p6eval, what made me hmm
22:25 avuserow you misspelled rakudo
22:25 gfldex :D
22:26 gfldex well, silence is gold i suppose
22:26 avuserow rakudo: (1,1, *+* ... *)[^20].perl.say
22:26 p6eval rakudo 53ee80: OUTPUT«(1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765)␤»
22:26 avuserow rakudo: (1,1, *+* .. *)[^20].perl.say
22:27 p6eval rakudo 53ee80: OUTPUT«(1, 1, { ... }, "_block114", "_block115", "_block116", "_block117", "_block118", "_block119", "_block120", "_block121", "_block122", "_block123", "_block124", "_block125", "_block126", "_block127", "_block128", "_block129", "_block130")␤»
22:27 avuserow rakudo: (0,1, *+* ... *)[^20].perl.say
22:27 p6eval rakudo 53ee80: OUTPUT«(0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181)␤»
22:27 avuserow rakudo: (0,1, *+* ... *)[20].perl.say
22:27 p6eval rakudo 53ee80: OUTPUT«6765␤»
22:27 avuserow rakudo: (2,2, *** ... *)[20].perl.say
22:28 p6eval rakudo 53ee80: OUTPUT«===SORRY!===␤HyperWhatever (**) not yet implemented at line 22, near "* ... *)[2"␤»
22:28 avuserow rakudo: (2,2, * * * ... *)[20].perl.say
22:28 p6eval rakudo 53ee80: OUTPUT«Inf␤»
22:28 avuserow rakudo: (2,2, * * * ... *)[10].perl.say
22:28 p6eval rakudo 53ee80: OUTPUT«6.1897001964269e+26␤»
22:28 avuserow rakudo: (2,2, * * * ... *)[3].perl.say
22:28 p6eval rakudo 53ee80: OUTPUT«8␤»
22:29 avuserow rakudo: (2,2, * * * ... *)[^10].perl.say
22:29 p6eval rakudo 53ee80: OUTPUT«(2, 2, 4, 8, 32, 256, 8192, 2097152, 17179869184, 3.6028797018964e+16)␤»
22:30 avuserow rakudo: (1, * * 2 ... *)[^10].perl.say
22:30 p6eval rakudo 53ee80: OUTPUT«(1, 2, 4, 8, 16, 32, 64, 128, 256, 512)␤»
22:50 ashleydev joined #perl6
22:59 sandra_f joined #perl6
23:05 gfldex how do i say [^abc] in a P6 regex?
23:06 tadzik <-[abc]>
23:11 timdemkowsky hey guys
23:12 tadzik o/
23:13 thowe joined #perl6
23:17 sorear std: / <.++> / # What does this mean?
23:17 p6eval std 31912: OUTPUT«ok 00:01 114m␤»
23:20 Synn joined #perl6
23:31 Actium joined #perl6
23:32 sorear rakudo: / <.++> /
23:32 p6eval rakudo 53ee80: OUTPUT«===SORRY!===␤Confused at line 22, near "/ <.++> /"␤»
23:34 Actium hey fellas, i'm messing around with rakudo * and think I just found a bug. rakudo.org says to check with you guys, before filing an official bug-report. would ne1 be willing to give me a little help?
23:36 avuserow Actium: sure, what's your bug?
23:36 Actium much appreciated :)
23:37 Actium just three little lines of code. i'll try and explain it real quick.
23:38 Actium i defined an array with static types. when printing the array concatenated to sth else, im getting a really weird error. when i dont use static types or dont concatenate it, it works flawlessly.
23:39 sorear Arrays with static types don't work yet.
23:39 Actium ahh. okay.
23:39 Actium good to know, thank you very much.
23:39 Actium so i assume it's not necessary to file a bug report for this?
23:43 sorear no
23:43 sorear it's been done already
23:44 sorear (incidentally, this is what item #3 on the "known missing features" list of the R* announce means)
23:45 Actium oops. that explains why i didnt find it on the bugtracker.
23:47 huf rakudo: say "\nabc\n" ~~ m/ <ws>* 'abc' /; say "alive"
23:47 p6eval rakudo 53ee80:  ( no output )
23:47 huf is this known? what is this? :)
23:47 Actium i suppose that's what happen's when one's so perl6-horny that he stops reading as soon as he stumbled upon the download link ... :D
23:48 sorear huf: the * quantifier is greedy, and <ws> can match an infinite number of times.  So it does.
23:49 Actium well. thanks again and a good night to the europeans (including me) / good morning to the americans :)
23:49 huf ooh
23:59 Psyche^ joined #perl6

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

Perl 6 | Reference Documentation | Rakudo