Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2010-07-28

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:02 snarkyboojum joined #perl6
00:17 jnthn pmichaud: Seems the build works now. nmake rakudo-install seems to do everything that nmake did though. But both targets work.
00:18 pmichaud I don't understand that middle part
00:18 pmichaud oh, I do understand it.
00:18 pmichaud no, I don't understand it.  :)
00:18 pmichaud oh, I do understand it.
00:18 jnthn Make your mind up man!
00:18 pmichaud okay, I'll fix.
00:18 jnthn :-)
00:18 pmichaud (it's looking for rakudo/perl6 instead of rakudo/perl6.exe)
00:18 jnthn Aha
00:18 jnthn :-)
00:19 jnthn Anyway, works at least.
00:20 pmichaud should be fixed locally
00:20 pmichaud so, does changing "proof_of_concept" to "pls" make sense?
00:21 jnthn pmichaud: IMO yes. Imasak'sO, not sure :-)
00:21 [sbp] joined #perl6
00:21 pmichaud using my magical pumpking powers, I hereby declare it to be okay for now.  (Until masak++ protests. :-)
00:21 jnthn pmichaud: IIRC it was "we should do these things before it's good enough to be called pls"
00:21 pmichaud "release early, release often"
00:21 jnthn But, well, we need it now. :-)
00:21 jnthn Yes, that too.
00:22 pmichaud if it's not good enough to be called pls, it's not good enough to ship with R*, I think.  :)
00:22 [Coke] is 56700 worth saving? (a patch against languages/perl from r2xxxx)
00:22 pmichaud [Coke]: probably not worth saving.
00:22 pmichaud jhorwitz++ should've given up on me completely by now anyway :)
00:23 jnthn Any patch older than ng became master is probably not worth saving. Way too much changed then.
00:25 Juerd joined #perl6
00:25 [Coke] jnthn: this is way before that.
00:32 [Coke] rejected. :(
00:32 [Coke] http://rt.perl.org/rt3/Ticket/Display.html?id=57970 -- ETOOVAGUE.
00:34 [Coke] "refactor c code". Do we need a ticket for that?
00:35 pmichaud we no longer do it in C anyway
00:35 jnthn I'm not convinced that code even exists any more.
00:35 pmichaud just mark the ticket as resolved
00:35 jnthn We refactored it into another langauge. :-)
00:42 jaldhar joined #perl6
00:43 colomon pmichaud: also, disregard all that stuff I said about all the slow being entirely in the iterator code -- I had a broken test case.
00:45 pmichaud I'm afraid I have almost no clue about how to setup ufo, pls, or the modules.
00:46 jnthn pmichaud: Can you even get pls to run?
00:46 pmichaud jnthn: I don't even know how to invoke it properly, apparently
00:46 PerlJam ufo is just "make install" which is just "cp ufo /usr/local/bin" or somesuch
00:46 pmichaud or how to get the files to wherever they need to be
00:46 pmichaud okay, 'ufo' I have installed then.
00:46 jnthn pmichaud: OK, I'll share the bits I know on pls
00:47 pmichaud but the pls branch is missing any sort of documentation
00:47 jnthn pmichaud: It goes through various stages, like "fetch", "build", "install" etc
00:47 jnthn pmichaud: "fetch" grabs stuff from git
00:47 pmichaud let's start back from there
00:47 pmichaud do I have to be in the proto/pls directory in order to run it?
00:47 pmichaud and perl6 has to be in my path?
00:47 jnthn It needs to be able to find the modules in lib
00:47 [Coke] rakudo: rakudo: grammar A { token ws { 'a' }; rule b {x y}; }; say
00:47 [Coke] 'xab' ~~ m/ ^ <a::b> $ /
00:47 p6eval rakudo ac8a2a: OUTPUT«===SORRY!===␤Confused at line 22, near "rakudo: gr"␤»
00:47 [Coke] rakudo: rakudo: grammar A { token ws { 'a' }; rule b {x y}; }; say 'xab' ~~ m/ ^ <a::b> $ /
00:48 p6eval rakudo ac8a2a: OUTPUT«===SORRY!===␤Confused at line 22, near "rakudo: gr"␤»
00:48 jnthn pmichaud: Yes, it does unless the path to where you currently are is going to end up being added to the Makefile
00:48 jnthn pmichaud: I expect you need an installed Perl 6 to really install modules.
00:48 jnthn masak may be able to correct me on that though
00:48 pmichaud jnthn: sure, but "installed Perl 6" doesn't necessarily mean that it's in my PATH yet
00:48 jnthn pmichaud: True
00:50 jnthn I think a valid invocation is: perl6 proof_of_concept json
00:50 pmichaud will Windows give me fits if I try to manipulate PATH from the makefile?
00:50 jnthn pmichaud: Yes if you use the wrong syntax.
00:50 jnthn pmichaud: But otherwise probably not
00:50 pmichaud so, have to use semis?
00:50 pmichaud ick.
00:50 jnthn (the syntax is iirc different)
00:50 jnthn (different between Windows and Linux)
00:50 pmichaud yeah, I think Windows uses semis where Linux uses colons
00:50 pmichaud okay, that doesn't seem plausible.
00:50 jnthn Yes, as the sep.
00:51 jnthn The set command is a bit different too though
00:51 pmichaud well, make would generally handle environment vars for me
00:51 pmichaud i.e., make variables tend to automatically appear in the environment
00:51 pmichaud at any rate, I should look for a different approach
00:51 pmichaud ummmm
00:52 pmichaud so, if I do "perl6 proof_of_concept json", what happens?
00:52 [Coke] rakudo: say '(foo' ~~ / '(' ~ ')' [foo] /
00:52 p6eval rakudo 7f5c22: OUTPUT«Unable to parse _block115, couldn't find final ')' at line 1␤  in <anon> at line 22:/tmp/Z0VMW4W9fV␤  in 'Cool::match' at line 2377:CORE.setting␤  in 'Regex::ACCEPTS' at line 5484:CORE.setting␤  in main program body at line 22:/tmp/Z0VMW4W9fV␤»
00:52 * pmichaud tries it.
00:52 jnthn It should 1) fetch it from git, 2) generate a Makefile, 3) use that Makefile to build it, 4) use that Makefile to install it
00:52 colomon [Coke]: does parrot have an "increment by one" opcode?
00:53 pmichaud colomon: "inc"
00:53 PerlJam colomon: inc
00:53 colomon pmichaud++, PerlJam++
00:53 pmichaud colomon: be careful, though, as it does it in-place
00:53 jnthn pmichaud: I mostly know anything about pls 'cus I already removed a bunch of Windows-specific bits from it.
00:53 pmichaud (for PMCs)
00:53 jnthn pmichaud: er, *nix specific...
00:53 jnthn pmichaud: And re-did them to use Perl 6 built-ins.
00:53 jnthn pmichaud: It used to shell out to the find command!
00:54 colomon pmichaud: oooo, thanks for pointing that out.
00:54 pmichaud so, where does pls get its list of projects?
00:54 pmichaud more to the point, where does it expect to find the poc_projects file?
00:56 PerlJam I'm pretty sure you can only run pls from within the proto dir
00:56 pmichaud so, not ready to be a standalone command line.  so should it even be installed?
00:56 PerlJam i.e. it expects the poc_projects file to be in the current dir when run
00:57 jnthn pmichaud: What PerlJam said - I just wanted to check the code first.
00:57 jnthn Yes, it looks for state file and projects file in cwd
00:57 jnthn pmichaud: It fetches stuff into a "cache" directory.
00:58 jnthn I think The Plan was that the distro would copy (or just have) those things in a cache directory already and a poc-projects.state file would indicate that they were already fetched
00:58 jnthn And thus it'd just work from those to generate a makefile, build them, install them, etc.
00:59 pmichaud but pls itself wouldn't get installed
00:59 pmichaud ?
00:59 PerlJam jnthn: that sounds like the only way it could work  :)
01:00 jnthn pmichaud: The way it looks at the moment, it'd seem like installing it wouldn't be too useful. :S
01:00 pmichaud yeah.
01:01 pmichaud when it install the modules, it installs them to.... where?
01:01 PerlJam IIRC  ~/.perl6
01:02 pmichaud that won't work either :-S
01:02 PerlJam oh, perhaps I'm thinking of the makefile that ufo generates
01:02 jnthn PerlJam: No, seems it's right too
01:03 pmichaud so, pls as it sits now is really for per-account module management, but can't really handle anything at a system level
01:03 jnthn install: all
01:03 jnthn mkdir -p ~/.perl6/lib/JSON/Tiny
01:03 jnthn install lib/JSON/Tiny/Actions.pir ~/.perl6/lib/JSON/Tiny/Actions.pir
01:03 PerlJam pmichaud: basically.
01:03 jnthn That's what's in the generated Makefile.
01:03 jnthn wtf is the "install" command?
01:04 pmichaud it's a command to install programs
01:04 pmichaud (srsly)
01:04 jnthn C:\Consulting\perl6\proto\cache\json>install
01:04 jnthn 'install' is not recognized as an internal or external command,
01:04 jnthn operable program or batch file.
01:04 pmichaud it basically does a copy, but also sets permissions and the like
01:04 PerlJam pls is very unix-centric it seems too
01:04 jnthn PerlJam: It's makefile certainly is.
01:05 pmichaud okay.  for R* I'm guessing I can't really make use of proto/pls for global-installed modules
01:05 jnthn PerlJam: The whole thing used to be.
01:05 jnthn pmichaud: Not without twiddling the Makefile generation to handle that.
01:05 pmichaud right
01:06 pmichaud and if I'm doing that, it seems like 'ufo' makes more sense for that.
01:06 pmichaud if only because it's much smaller :)
01:06 pmichaud I mean, I don't need dependency checking or fetching for R*
01:06 jnthn pmichaud: True
01:07 jnthn OTOH, tweaking pls to do stuff to the global directory, and to keep it's project list and state there, means that it's then usable if installed too.
01:07 pmichaud global directory often isn't writable
01:07 pmichaud pls needs to have an option that allows someone to specify the directory where the module is to be installed
01:08 jnthn *nod*
01:08 jnthn ./pls install --locally json
01:08 pmichaud well, even better:
01:08 pmichaud ./pls install json ~/.perl6
01:08 pmichaud ./pls install json /usr/local/....
01:08 pmichaud ./pls install json --system
01:08 jnthn [Coke]: 63226
01:09 jnthn [Coke]: perl6 -e 'package Foo { sub run() { say "(", @*ARGS,  ")"; } }; Foo::run()' f g h
01:09 jnthn [Coke]: Note the sub under current spec must be declared "our sub"
01:09 jnthn [Coke]: Do that and I suspect all three will work and the ticket can be given for spectest
01:10 jnthn pmichaud: Yes.
01:10 jnthn pmichaud: That makes sense.
01:10 PerlJam ufo is more "makefile template" and pls is more "generate a makefile" by my reading.  The former is probably easier to hack (and it's smaller and there are fewer twisty passages :)
01:12 [Coke] jnthn++ #63226 updated.
01:13 [Coke] rakudo: v6; $b = 1;
01:13 p6eval rakudo 7f5c22: OUTPUT«===SORRY!===␤Symbol '$b' not predeclared in <anonymous> (/tmp/g2BmJ5oGHR:22)␤»
01:13 pmichaud PIRS = $(patsubst %.pm6,%.pir,$(SOURCES:%.pm=%.pir))
01:13 pmichaud ...what is that?
01:13 [Coke] my ::MyType ::= :(Num, Str)
01:13 [Coke] that's a gmake-ism, I think, to do a pattern substitution.
01:14 [Coke] on a glob of filenames.
01:14 PerlJam luckily we have perl then
01:14 [Coke] very likely not nmake safe.
01:14 [Coke] rakudo: my ::MyType ::= :(Num, Str)
01:14 p6eval rakudo 7f5c22: OUTPUT«===SORRY!===␤Malformed my at line 22, near "::MyType :"␤»
01:14 jnthn pmichaud: It's a heap of unportability.
01:14 pmichaud Yeah.
01:15 jnthn pmichaud: tbh, I got some way into porting proto to Win32, got to the Makefile and was like, "oh ffs"
01:15 jnthn :/
01:15 jnthn er, s/proto/pls/
01:16 jnthn pmichaud: I still think generating a Makefile to run some commands is still when we could just run 'em.
01:16 jnthn s:2nd/still/silly/
01:16 [Coke] does chromatic ever show up here?
01:17 jnthn [Coke]: On occasion, I believe.
01:17 [Coke] phenny: tell chromatic - should http://rt.perl.org/rt3/Ticket/Display.html?id=64124 be moved to another queue?
01:17 phenny [Coke]: I'll pass that on when chromatic is around.
01:19 [Coke] rakudo: class A { method foo { say "OH HAI" }; method aie { say
01:19 [Coke] "AIE!" } }; role B { has A $.bar handles * }; class C does B { has A
01:19 [Coke] $.bar handles "foo" }; C.new.aie
01:19 p6eval rakudo 7f5c22: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 22␤»
01:19 [Coke] bah.
01:19 jnthn fail
01:20 [Coke] is there an irssi code for "please don't treat newlines like newlines" ?
01:22 pmichaud why is it that absolutely none of the module READMEs contain any information about how to build+install the module?!?
01:22 jnthn OK, it's sleep time her.
01:22 jnthn *here
01:22 [Coke] rakudo: class A { multi method dispatch(@chunks, %param?) { say %param.perl, defined %param } }; A.new.dispatch([1,2,3]); A.new.dispatch([1,2,3], { "OH" => "HAI" })
01:22 p6eval rakudo 7f5c22: OUTPUT«Method 'perl' not found for invocant of class 'Hash'␤  in 'A::dispatch' at line 22:/tmp/yTsgO7efY0␤  in main program body at line 22:/tmp/yTsgO7efY0␤»
01:23 jnthn pmichaud: Probably because everyone has written them under the assumption that there's an installation tool.
01:23 pmichaud yes, but when the installation tools don't work, or aren't portable....
01:23 pmichaud we're in a heap of hurt.
01:24 PerlJam welcome to the bleeding edge
01:24 jnthn pmichaud: Yes, pls seems further off being a proto replacement than I had first thought. :-(
01:26 dduncan joined #perl6
01:28 pmichaud yeah, I'm not quite sure what to do at this point.
01:28 [Coke] drop back to proto?
01:28 pmichaud since the makefiles are broken.... and we don't have a reliable makefile generator...
01:29 pmichaud [Coke]: I can try dropping back to proto... but I fear it will have very similar issues.
01:29 [Coke] we have parrot.
01:29 PerlJam I'd probably start with making ufo portable/workable and just use that since you only need an installer
01:29 [Coke] not that it will help. =-)
01:29 PerlJam but that's just me
01:30 pmichaud getting ufo to work on windows is going to be a fairly big task.
01:30 pmichaud bigger since I don't have a Windows devel platform to test it with.
01:30 [Coke] get [particle] on board?
01:30 [Coke] maybe alias?
01:31 pmichaud ufo seems to say "I can generate a Makefile for you, if you fit assumptions 1,2,c, and D;  and obtw you have to be running gmake.
01:31 sorear [Coke]: much closer to home.  jnthn
01:31 pmichaud jnthn needs rest, undoubtedly.  :)
01:31 [Coke] yah, but he's sleepy. =-)
01:31 [Coke] ha.
01:31 [Coke] In any case, hit the compiler list and see if you can troll a volunteer.
01:31 jnthn pmichaud: If you can get pls (or ufo) to actually install stuff in the Right Place tonight, and try and do it with a sane Makefile, I can probably clear it up tomorrow for Windows.
01:32 [Coke] I can help test with strawberry perl, but I suspect that would jfw.
01:32 [Coke] AGH I THOUGHT U WAZ SLEEPIN!
01:32 jnthn ;-)
01:32 jnthn [Coke]: Kinda wanted to know we have some way forward before I sleep.
01:33 pmichaud jnthn: I think I'll be able to figure out something.
01:33 pmichaud I'll likely write my own 'ufo' equivalent.
01:33 jnthn pmichaud: OK, that works too.
01:33 pmichaud probably 'ufm', for "unidentified flying makefiles"
01:33 * [Coke] needs to find his way to .eu at some point and drink bierz.
01:33 pmichaud might just do it in perl 5 for now, too.
01:33 jnthn [Coke]: yes, we have good beers.
01:34 jnthn [Coke]: Though, let's go to a neutrel^Wcheap beer country for that ;-)
01:34 pmichaud might just do it without makefiles, for now.
01:34 jnthn pmichaud: My first preference would be "make pls work" but I totally understand why that is unappealing to take on.
01:34 jnthn pmichaud: It is well under 1000 LOC though.
01:34 pmichaud jnthn: pls suffers from the same problem I encounter with many o-o designed applications
01:34 pmichaud it's really hard to see the control flow
01:35 PerlJam pls/proto have too much "conceptual structure", so if it's not hack ufo into shape, then it's write something simple and workable from scratch  (IMHO)
01:35 jnthn *nod*
01:35 _macdaddy joined #perl6
01:35 jnthn pmichaud: Do what you feel best.
01:35 jnthn pmichaud: I'm quite happy that if you come up with something you're comfortable with, then I won't have to do contortions tomorrow to port it.
01:35 pmichaud well, it's that first 'if' part that's a bit of a challenge at the moment :)
01:36 pmichaud at this stage I'm more aiming for "willing to accept" than "comfortable with"
01:36 jnthn pmichaud: We seem to be making a hard job of calling perl6 --target=pir foo.pm > foo.pir, and then a copy command. ;-)
01:36 pmichaud jnthn: yeah, I'm thinking much the same.
01:37 jnthn pmichaud: Because at the end of the day, that's all we really need to do.
01:37 pmichaud well, we need a bit more in the case of blizkost
01:37 [Coke] moritz_: ping.
01:37 colomon ufo seems very straightforward?
01:37 pmichaud but yes, that's pretty much all we *need* for system-level install
01:37 jnthn [Coke]: It's 3:40am for moritz_ :P
01:37 jnthn pmichaud: Blizkost was generated from the make Parrot language thing.
01:37 [Coke] jnthn: If I go to sofia, I've been promised free beer. see you then. ;)
01:38 colomon ah, but ufo is also very Unix-y.  :(
01:38 pmichaud colomon: right
01:38 [Coke] phenny: ask moritz_ if http://rt.perl.org/rt3/Ticket/Display.html?id=65258 is still happening for him.
01:38 phenny [Coke]: I'll pass that on when moritz_ is around.
01:38 pmichaud it's *very* unix-based
01:38 pmichaud as in, little hope of doing an equivalent for winders
01:38 jnthn pmichaud: fwiw, Blizkost does (or did recently) install just fine on Windows.
01:39 pmichaud jnthn: sure.... but it just failed here on my system.
01:39 jnthn pmichaud: It just needs to have it's Configure.pl called with --parrot-config pointed at the right thing.
01:39 pmichaud couldn't find -lperl
01:39 jnthn pmichaud: OK, but that's a missing system dependency, I guess.
01:39 pmichaud jnthn: yes, which we really should be checking for.
01:39 jnthn pmichaud: *nod*
01:40 jnthn pmichaud: We should soft-fail Blizkost IMO though.
01:40 pmichaud what does "soft-fail" mean here?
01:40 pmichaud as in, if it doesn't install, don't worry about it?
01:40 jnthn Right.
01:40 [Coke] <nod>
01:41 [Coke] most people are not going to have the appropriate perl, methinks.
01:41 * [Coke] finds a comment in a ticket about block gobbling.
01:41 jnthn And at the end of the build proccess just say something like "Could not install Perl 5 compatibility. You need to have lib perl installed and version 5.10 or greater."
01:41 pmichaud well, "end of the build process" is likewise tricky there, unless I convert what I have now into a p5 script.
01:41 jnthn But in a "the install was fine but we skipped this bit" sense
01:42 [Coke] rakudo: class A { enum B <c d e>; ::c = B::c }; say A::c
01:42 p6eval rakudo 7f5c22: OUTPUT«Cannot modify readonly value␤  in '&infix:<=>' at line 1␤  in main program body at line 22:/tmp/xfWzETH8wO␤»
01:42 [Coke] rakudo: enum A::B <c d e>; constant B = A::B; say B::c
01:42 jnthn pmichaud: *nod*
01:42 p6eval rakudo 7f5c22: OUTPUT«===SORRY!===␤Constant type declarator not yet implemented at line 22, near "= A::B; sa"␤»
01:43 [Coke] rakudo: my @a := gather { for 1..3 { take $_; say @a.perl } }; say @a.perl;
01:43 p6eval rakudo 7f5c22: OUTPUT«Cannot resume dead coroutine.␤  in 'Any::join' at line 1␤  in 'List::perl' at line 2557:CORE.setting␤  in <anon> at line 22:/tmp/36DxD8nLx7␤  in <anon> at line 1␤  in 'Any::join' at line 1␤  in 'List::perl' at line 2557:CORE.setting␤  in main program body at line
01:43 p6eval ..22:/tmp/36DxD8nLx7…
01:43 jnthn pmichaud: I feel less strongly about that than "Blizkost failing to install shouldn't cause the whole thing to fail" though.
01:43 pmichaud sure
01:43 jnthn pmichaud: It's a nice to have.
01:43 pmichaud I agree that it shouldn't cause an install failure
01:43 [Coke] rakudo: module M; grammar G {}; say "foo" ~~ /<M::G>/
01:43 jnthn Nothing later depends on it.
01:43 p6eval rakudo 7f5c22: OUTPUT«===SORRY!===␤regex assertion not terminated by angle bracket at line 22, near "::G>/"␤»
01:43 pmichaud but we should at least make it a bit more graceful
01:44 jnthn Aye
01:44 [Coke] odd.
01:44 pmichaud [Coke]: afaik, rakudo master doesn't understand any of the <A::B>  syntax yet.
01:44 [Coke] rakudo: class A { method pack($_) { s/c// }}; A.new.pack("ccc") # discovered by cono++
01:44 p6eval rakudo 7f5c22: OUTPUT«Cannot modify readonly value␤  in '&infix:<=>' at line 1␤  in 'A::pack' at line 22:/tmp/HIyuNvbnYe␤  in main program body at line 22:/tmp/HIyuNvbnYe␤»
01:44 jnthn rakudo: my @a := gather { for 1..3 { take $_; say @a.perl } }; say @a.perl;
01:44 pmichaud not to mention that I will not be surprised if it's discontinued or otherwise changes soon.
01:44 p6eval rakudo 7f5c22: OUTPUT«Cannot resume dead coroutine.␤  in 'Any::join' at line 1␤  in 'List::perl' at line 2557:CORE.setting␤  in <anon> at line 22:/tmp/PC_EjQyHIL␤  in <anon> at line 1␤  in 'Any::join' at line 1␤  in 'List::perl' at line 2557:CORE.setting␤  in main program body at line
01:44 p6eval ..22:/tmp/PC_EjQyHIL…
01:45 jnthn Ouch, I thought pmichaud++ fixed that one
01:45 pmichaud so did I
01:45 pmichaud ohhhhh
01:45 [Coke] rakudo: sub a(%p1?){ %p1<a> = 1 };a();
01:45 p6eval rakudo 7f5c22: OUTPUT«Null PMC access in invoke()␤  in 'a' at line 1␤  in main program body at line 22:/tmp/YUbLkL8rTl␤»
01:45 pmichaud I think we have a missing !sink on gather
01:45 pmichaud er, sink
01:45 jnthn A sink will let us wash the bug out.
01:46 pmichaud ...why a bind, ooc?
01:46 pmichaud rakudo:  my @a = gather { for 1..3 { take $_ } };  say @a.perl;
01:46 p6eval rakudo 7f5c22: OUTPUT«[1, 2, 3]␤»
01:46 [Coke] I am trying to go through the tickets one at a time, but will probably reach a point thursday where I just bulk open them. =-)
01:46 [Coke] just fyi. =-)
01:46 pmichaud rakudo:  my @a = gather { for 1..3 { take $_; say @a.perl; } };  say @a.perl;
01:46 p6eval rakudo 7f5c22: OUTPUT«[]␤[]␤[]␤[1, 2, 3]␤»
01:46 jnthn pmichaud: So you don't get that. :-)
01:47 jnthn pmichaud: I think with the bind it says [1],[1,2], etc
01:47 pmichaud well, I think that falls in the realm of "depending on laziness"
01:47 jnthn *nod*
01:47 pmichaud rakudo:  my @a := gather { for 1..3 { take $_; say @a.perl; } };  say @a.perl;
01:47 jnthn Oh, it sure is.
01:47 p6eval rakudo 7f5c22: OUTPUT«Cannot resume dead coroutine.␤  in 'Any::join' at line 1␤  in 'List::perl' at line 2557:CORE.setting␤  in <anon> at line 22:/tmp/LwpyMvBLAj␤  in <anon> at line 1␤  in 'Any::join' at line 1␤  in 'List::perl' at line 2557:CORE.setting␤  in main program body at line
01:47 p6eval ..22:/tmp/LwpyMvBLAj…
01:47 pmichaud but yeah, I'm not sure why we'd get the dead coroutine issue there.
01:47 [Coke] can someone applly http://rt.perl.org/rt3/Ticket/Display.html?id=70642, at least in spirit?
01:48 [Coke] (simple readme update.)
01:49 sorear phenny: ask mberends What do you think would be a good candidate for the first niecza hosted app?  It can't use eval, and it ought to benefit from our one major advantage (<0.3s startup time of precompiled programs)
01:49 phenny sorear: I'll pass that on when mberends is around.
01:50 colomon declare.t broken at the moment?
01:50 jnthn colomon: Yes
01:50 jnthn colomon: Need fudge for Instant
01:50 colomon jnthn: k
01:51 pmichaud is it important that R* be able to run the module tests?
01:51 pmichaud or just that the files get installed?
01:52 jnthn pmichaud: I think the latter.
01:53 jnthn Ok, I really should sleep. Going to Russian lesson semi-concious tomorrow would probably not win the admiration of my very lovely teacher. :-)
01:53 dalek rakudo: 2808a52 | (Solomon Foster)++ | src/core/Int.pm:
01:53 dalek rakudo: Add Int versions of infix:�==�, infix:�!=�, and infix:�<� which go
01:53 dalek rakudo: directly into PIR.
01:53 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/2808a5253485e8ac75fbbf2bb3bd95c45ad4b361
01:53 pmichaud jnthn: sleep well, see you tomorrow
01:53 jnthn $dayjob should be pretty light tomorrow, so I'll have a good bit of time for Rakudo stuff.
01:53 jnthn Thanks, night o/
01:54 colomon \o
01:54 pmichaud colomon: note that you can use  isne  to avoid the reversal of True/False
01:54 colomon pmichaud: is there any real reason to do so, however?
01:54 pmichaud consistency?
01:55 pmichaud is there a strong reason for staying with iseq?
01:55 colomon pmichaud: it's the way it's always been done?  (ie, not really)
01:55 pmichaud I would expect the other comparisons to end up using isgt, isge, isle
01:56 pmichaud so it seems like isne would be a natural
01:56 colomon they don't, actually.  but if isge and isle are out there, it would be easy enough to change.
01:57 pmichaud I don't understand "they don't".  Are you looking at code already?
01:57 colomon The Num versions don't.  (I'm looking at that code.)
01:58 pmichaud the default ones do
01:58 pmichaud our multi infix:«<=»($a, $b) { pir::isle__INN(+$a, +$b) ?? True !! False
01:58 pmichaud }
01:58 pmichaud our multi infix:«>»($a, $b) { pir::isgt__INN(+$a, +$b) ?? True !! False
01:58 pmichaud }
01:58 pmichaud etc.
01:58 ingy patch++ # 3 hours of backporting perl6 to perl5/pegex!!!
01:58 pmichaud weird
01:58 colomon pmichaud: ugh, that's actually broken.
01:58 pmichaud yeah, the Num.pm ones don't seem to follow the pattern.  That's weird.
01:59 pmichaud colomon: why is that broken?
01:59 colomon + calls .Numeric, which doesn't necessarily return a Num.
01:59 colomon or even something convertible to a Num.
02:00 colomon I'll straighten it all out later tonight.
02:00 pmichaud please be careful straightening it out, we're less than 48 hours away from release
02:00 * ingy <3 patch
02:00 pmichaud I'd almost rather leave it in a known state than risk having something really awful in the release
02:02 ingy pmichaud: don't take the release so seriously ;)
02:02 [Coke] rakudo: (1,2,3 Z 4,5,6).perl.say
02:02 p6eval rakudo 7f5c22: OUTPUT«(1, 4, 2, 5, 3, 6)␤»
02:02 pmichaud fail.
02:02 [Coke] rakudo: (1,2,3 Z[,] 4,5,6).perl.say
02:02 p6eval rakudo 7f5c22: OUTPUT«((1, 4), (2, 5), (3, 6))␤»
02:03 [Coke] rakudo: (1,2 Z 3,4).perl.say
02:03 p6eval rakudo 7f5c22: OUTPUT«(1, 3, 2, 4)␤»
02:03 pmichaud also fail.
02:04 sorear hello ingy
02:04 ingy hi sorear
02:04 pugssvn r31851 | felliott++ | document RT # for spectests for RT #76720
02:05 pmichaud ingy: that's good advice (don't take release seriously), but I would like to avoid a release mistake
02:06 sorear "avoid success at all costs"
02:08 snarkyboojum joined #perl6
02:11 [Coke] sorear: pretty sure we can cross that one off our list. =-)
02:11 [Coke] rakudo: my $a = Multi.new; $a.push(sub (1,2,3) { }); $a.push(sub (1,2) { }); say $a.find_possible_candidates(1,2);
02:11 p6eval rakudo 7f5c22: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤  in main program body at line 1␤»
02:12 [Coke] rakudo: my $a = 'abc'; say $a[1];
02:12 p6eval rakudo 7f5c22:  ( no output )
02:13 [Coke] rakudo: role A[B] {}
02:13 p6eval rakudo 7f5c22: OUTPUT«===SORRY!===␤Invalid typename in parameter declaration at line 22, near "] {}"␤»
02:14 [Coke] rakudo: say PARROT(module foo {})
02:14 p6eval rakudo 7f5c22: OUTPUT«Parcel␤»
02:15 [Coke] rakudo: say ClassHOW.methods(ClassHOW)
02:15 p6eval rakudo 7f5c22: OUTPUT«Null PMC access in inspect_str()␤  in main program body at line 22:/tmp/cVEZUx5Ho9␤»
02:15 [Coke] rakudo: my $a = "string".new(''); # masakbot
02:15 p6eval rakudo 7f5c22: OUTPUT«Null PMC access in get_repr()␤  in main program body at line 22:/tmp/a8DmUGvX38␤»
02:16 [Coke] rakudo: say Associative.new{'x'}
02:16 p6eval rakudo 7f5c22: OUTPUT«get_pmc_keyed() not implemented in class ''␤  in 'at_key' at line 27:CORE.setting␤  in 'Any::postcircumfix:<{ }>' at line 1686:CORE.setting␤  in main program body at line 1␤»
02:16 [Coke] rakudo: 3.14159265358979323846264338327950288419716939937510e0
02:16 p6eval rakudo 7f5c22:  ( no output )
02:17 [Coke] rakudo: ::()
02:17 p6eval rakudo 7f5c22: OUTPUT«===SORRY!===␤ResizablePMCArray: Can't pop from an empty array!␤»
02:17 [Coke] alright, down to 295 "new" tickets. meh.
02:18 [Coke] I've been trying to apply patches, double checking bug statuses, updating if changed, assigning to moritz if fixed, opening in any case. Feel free to jump in. :)
02:19 colomon [Coke]: 3.14159265358979323846264338327950288419716939937510e0 works fine now.  Try it in your REPL.
02:19 sorear rakudo: my $a; say +$a;
02:19 p6eval rakudo 7f5c22: OUTPUT«Use of uninitialized value in numeric context␤0␤»
02:19 sorear [Coke]: ?
02:20 PerlJam rakudo: my $a; say ~$a;
02:20 p6eval rakudo 7f5c22: OUTPUT«Any()␤»
02:20 petdance joined #perl6
02:21 PerlJam rakudo: my $a; say ?$a;
02:21 [Coke] sorear: yes?
02:21 p6eval rakudo 7f5c22: OUTPUT«0␤»
02:21 [Coke] if you could add that to the ticket, it would be spiffy.
02:21 [Coke] (sorear)
02:24 [Coke] whoa. robrt fixed my delayed email, I see. (it was stuck in moderation hell)
02:24 sorear what was the ticket number again?
02:24 sorear also
02:24 sorear how do you add stuff to rt tickets
02:24 * sorear only knows how to file them and subscribe to p6c
02:26 [Coke] sorear: I login to https://rt.perl.org/rt3
02:26 sorear Nobody's given me a RT access bit.
02:26 [Coke] I believe I am still have meta-ops on the perl6 queue if you have an account setup there.
02:27 [Coke] felliott: so is 76720 closable now?
02:27 felliott [Coke]: http://rt.perl.org/rt3/Ticket/Display.html?id=64204 seems to be working in the repl, but the tests themselves are busted.
02:28 felliott Yep.  71088, too (same bug).
02:28 [Coke] felliott: ok. if you can update the status on the ticket, +1.
02:28 felliott Which one?
02:28 [Coke] I'm not sure if this bug queue/mailing are setup so you can just reply to the ticket.
02:29 [Coke] the one on which I said "hey, where are the tests?" ;)
02:29 [Coke] 76720
02:29 felliott Ah, shall do.
02:29 [Coke] rakudo: rakudo: my$my
02:29 p6eval rakudo 7f5c22: OUTPUT«===SORRY!===␤Confused at line 22, near "rakudo: my"␤»
02:29 [Coke] rakudo: my$my
02:29 p6eval rakudo 7f5c22:  ( no output )
02:29 [Coke] rakudo: my$my.say
02:29 p6eval rakudo 7f5c22: OUTPUT«===SORRY!===␤Confused at line 22, near "my$my.say"␤»
02:30 [Coke] rakudo: my$my=2; $my.say
02:30 p6eval rakudo 7f5c22: OUTPUT«2␤»
02:30 felliott done
02:32 [Coke] std: my$my.say
02:32 p6eval std 31851: OUTPUT«ok 00:01 115m␤»
02:32 [Coke] felliott++
02:34 felliott For the tests for 64204 in S10-packages/basic.t would it be okay to just use eval_lives_ok instead of smartmatching against fairly_conclusive_platform_error?
02:37 [Coke] rakudo: my $a; CHECK { $a = 42 }
02:37 p6eval rakudo 7f5c22: OUTPUT«===SORRY!===␤Null PMC access in getprop()␤»
02:37 [Coke] ISTR that that the check happened before the my there.
02:38 [Coke] rakudo: Perl6::Compiler.compile('say 42').WHAT
02:38 p6eval rakudo 7f5c22: OUTPUT«Null PMC access in get_attr_str()␤  in main program body at line 22:/tmp/zsLTarXRPv␤»
02:39 * sorear wonders if it might be better to not save file name in position annotations, but instead use real $?FILE
02:39 [Coke] rakudo: Block.()
02:39 p6eval rakudo 7f5c22: OUTPUT«Null PMC access in invoke()␤  in main program body at line 1␤»
02:40 [Coke] rakudo: say my ::say (say $z)
02:40 p6eval rakudo 7f5c22: OUTPUT«Null PMC access in type()␤  in main program body at line 22:/tmp/SDFX85eW4S␤»
02:41 [Coke] colomon: no, works the same in my REPL as before.
02:41 colomon [Coke]: what does it do for you?
02:42 [Coke] (RT# 74640)
02:42 [Coke] same as I posted in the ticket.
02:42 [Coke] rakudo: say try try try die die die
02:42 p6eval rakudo 7f5c22: OUTPUT«Null PMC access in type()␤  in main program body at line 22:/tmp/szu1eufwWn␤»
02:43 [Coke] rakudo: sub foo($a = $default, :$default = 42) { say $a }; foo
02:43 p6eval rakudo 7f5c22: OUTPUT«Any()␤»
02:44 Eddward joined #perl6
02:44 [Coke] rakudo: multi sub f(0) {}; multi sub f($n) { say $n; callwith($n - 1) }; f(3)
02:44 p6eval rakudo 7f5c22: OUTPUT«3␤Null PMC access in clone()␤  in 'f' at line 1␤  in main program body at line 22:/tmp/Punr3W320m␤»
02:44 colomon [Coke]: REPL is right, no?  I suspect it's just too slow for p6eval.
02:44 [Coke] rakudo: class Foo { method bar { Quux.parse('OH HAI'); } }; grammar Quux { rule TOP { .* } }; Foo.bar;
02:45 p6eval rakudo 7f5c22: OUTPUT«Could not find sub &Quux␤  in 'Foo::bar' at line 22:/tmp/jpWyzpF2JS␤  in main program body at line 22:/tmp/jpWyzpF2JS␤»
02:45 [Coke] p6eval: 3.14159265358979323846264338327950288419716939937510e0.perl.say
02:45 [Coke] rakudo: 3.14159265358979323846264338327950288419716939937510e0.perl.say
02:45 p6eval rakudo 7f5c22: OUTPUT«3.14159265358979␤»
02:46 [Coke] ok. they both end up with lower precision. Is that desired?
02:47 [Coke] rakudo: my $socket = IO::Socket::INET.socket(2,1,6); $socket.recv(); while $socket.accept() {};
02:47 colomon yes.  the e0 at the end means it's a Num, which is machine-precision.
02:47 p6eval rakudo 7f5c22: OUTPUT«Method 'socket' not found for invocant of class 'Failure'␤  in main program body at line 22:/tmp/SD5TvrwxLs␤»
02:48 colomon ie it's basically a C double.
02:49 [Coke] colomon++
02:49 [Coke] rakudo: Rat.^add_method('lol', method ($what) { say "lol$what" }).lol('cat')
02:49 p6eval rakudo 7f5c22: OUTPUT«Null PMC access in find_method('lol')␤  in main program body at line 22:/tmp/Gacr5rb0jM␤»
02:50 [Coke] rakudo: class A { has $!to; method x { loop { (:$!to); } } }
02:50 p6eval rakudo 2808a5:  ( no output )
02:50 [Coke] rakudo: class A { has $!to; method x { loop { (:$!to); } } }; "alive".say
02:50 p6eval rakudo 2808a5: OUTPUT«alive␤»
02:52 colomon [Coke]++ for worrying about the old tickets.
02:54 [Coke] phenny: tell moritz I'm sorry about all the questionable testing tickets!
02:54 phenny [Coke]: I'll pass that on when moritz is around.
02:54 [Coke] colomon: sadly, I've done this once before. :P
02:54 [Coke] (not for rakudo, though)
02:54 [Coke] rakudo: class Foo { method bar { Quux.parse('OH HAI'); } }; grammar Quux { rule TOP { .* } }; Foo.bar;
02:55 p6eval rakudo 2808a5: OUTPUT«Could not find sub &Quux␤  in 'Foo::bar' at line 22:/tmp/bZA2BcFVXe␤  in main program body at line 22:/tmp/bZA2BcFVXe␤»
02:55 pmichaud joined #perl6
02:56 [Coke] rakudo: class Forest { class Frog { method speak { say "ribbit ribbit" } }; has Frog $.frog; method new() { my Frog $frog .= new; self.bless(*, :$frog) } }; Forest.new
02:56 p6eval rakudo 2808a5:  ( no output )
02:56 [Coke] rakudo: class Forest { class Frog { method speak { say "ribbit ribbit" } }; has Frog $.frog; method new() { my Frog $frog .= new; self.bless(*, :$frog) } }; Forest.new.say
02:56 p6eval rakudo 2808a5: OUTPUT«Forest()<0x7b1c360>␤»
02:57 [Coke] rakudo: my $a = Multi.new; $a.push(sub (1,2,3) { }); $a.push(sub (1,2) { }); say join ", ", $a.candidates
02:58 p6eval rakudo 2808a5: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤  in main program body at line 1␤»
03:01 [Coke] rakudo: my %h; sub h { say "srsly wtf" }; enum Foo %h;
03:01 p6eval rakudo 2808a5: OUTPUT«Could not find sub &Foo␤  in main program body at line 22:/tmp/1zqFnhDXfg␤»
03:01 high joined #perl6
03:03 * [Coke] reads [pm_groups] running Rakudo * at your PM group InboxX
03:03 [Coke] ewilhelm++
03:11 sorear niecza: my$my.say;
03:11 p6eval niecza 64fc764: OUTPUT«Failed to resolve lexical Any in mainline at CodeGen.pm line 529.␤»
03:19 sorear niecza: my$my.say;
03:19 p6eval niecza 64fc764: OUTPUT«Failed to resolve lexical Any in mainline at CodeGen.pm line 529.␤»
03:20 sorear very strange
03:20 colomon loliblogged: http://justrakudoit.wordpress.com/2010/07/28/optimizing-range-iteration/
03:20 colomon andlolibloggedagain: http://justrakudoit.wordpress.com/2010/07/28/optimizing-range-iteration-part-2/
03:20 colomon and now I'm going to bed.
03:22 tylercurtis joined #perl6
03:24 colomon (ps -- yes, loop unrolling is a big help in iterators.  crazy world we have.)
03:25 sorear How is it possible for an iterator .reify to return more than one value
03:25 sorear in niecza-land, you need iterators in order to effectively use parcels
03:26 sorear so my iterators wind up looking like method reify() { $!valid = 1; $!value = $i; $!next = InfIterator.new($i+1); }
03:36 sorear http://github.com/sorear/niecza/blob/master/Test.pm6  # What do people think of this approach to finding the correct frame, instead of $Test::Builder::level ?
03:39 dalek niecza: 7934168 | sorear++ |  (3 files):
03:39 dalek niecza: Very fudgy implementation of CallFrame
03:39 dalek niecza: Frame objects (which do NOT use the standard responder interface) now respond
03:39 dalek niecza: to methods as if they were instances of CallFrame.  Unfortunately Mu.defined
03:39 dalek niecza: and ClassHOW.isa currently go behind the RI and access DynObject state
03:39 sorear ok, maybe I should push more often.
03:40 dalek joined #perl6
03:40 [Coke] don't push me, coz I'm close to...
03:41 sorear I am, though, still interested in what people think about the $?TRANSPARENT trick.
03:44 ingy src/gen/core.pir is taking hours to build on linux
03:44 ingy is that right?
03:44 pugssvn r31852 | felliott++ | fix broken tests and unfudge for RT #64204
03:46 fda314925 joined #perl6
03:47 felliott [Coke]: 64204 seems to be already fixed.  I've fixed the broken tests and unfudged them.  Should I mark this as resolved?
03:48 felliott (I'm a n00b and not sure about the bug-tending etiquette)
03:49 pmichaud ingy: core.pir takes a long time to generate if there's not sufficient memory
03:51 plobsing joined #perl6
03:54 snarkyboojum joined #perl6
04:07 fda314925 joined #perl6
04:11 IllvilJa joined #perl6
04:15 sorear phenny: ask TimToady I feel like I'm using phenny a bit much.  Does STD.pm6 have a bug tracker?
04:15 phenny sorear: I'll pass that on when TimToady is around.
04:18 high left #perl6
04:19 slavik joined #perl6
04:28 [Coke] felliott: yes.
04:28 [Coke] can't close bug until there are passing tests. you have those, you can try to close the ticket.
04:28 [Coke] (you may not have privs to do so, however.)
04:30 felliott Thanks, [Coke]!
04:34 felliott Derp.
04:34 felliott My message was added, but I didn't have the privileges.
04:35 felliott ..to close it, that is.
04:36 [Coke] I'll get it.
04:36 felliott Thanks! [Coke]++
04:37 [Coke] url?
04:37 [Coke] (I don't see a msg to p6c)
04:38 felliott http://rt.perl.org/rt3/Ticket/Display.html?id=64204
04:38 [Coke] Done.
04:38 [Coke] felliott++
04:48 ashleydev joined #perl6
04:51 Lasse_ joined #perl6
05:18 Su-Shee joined #perl6
05:22 ingy pmichaud: oh right. I think you told me that last time I tried this. Guess I forgot.
05:25 petdance joined #perl6
05:27 kaare joined #perl6
05:46 tadzik joined #perl6
05:50 tadzik hello #perl6
05:53 IllvilJa joined #perl6
06:00 azawawi joined #perl6
06:00 azawawi hi
06:00 azawawi sorear: ping
06:01 sorear pong
06:02 azawawi sorear: how r u?
06:02 sorear I'm fine.
06:03 azawawi sorear: great, im going to start updating S:H:P6 today ... I noticed an STD over CPAN.. doesnt seem stable to install though and re-use.
06:03 sorear Paweł Murias on CPAN is pmurias here, not me
06:04 baest joined #perl6
06:04 azawawi sorear: i see i'll follow up with him
06:05 azawawi sorear: ok, what's the status of blizkost right now?
06:06 sorear it ought to still work fairly well
06:06 sorear strings and closures can be roundtripped to perl5 perfectly
06:06 sorear other objects will be a bit more fiddly and you may have to turn them into closures before sending them
06:07 sorear especially autovivifying aggregates, I basically gave up on getting those to work correctly
06:07 dalek niecza: babc770 | sorear++ |  (4 files):
06:07 dalek niecza: Finish implementing our-scoped packages
06:07 dalek niecza: review: http://github.com/sorear/niecza/commit/babc77048a04962953e4ef945f7b6c24a6c6831e
06:07 dalek niecza: 355ef65 | sorear++ | test.pl:
06:07 dalek niecza: Tests for nested classes
06:07 dalek niecza: review: http://github.com/sorear/niecza/commit/355ef65c62ec9e8fab37b1582089663035e57031
06:07 dalek niecza: 78e1546 | sorear++ |  (2 files):
06:07 dalek niecza: Implement nested class definition and access
06:07 dalek niecza: review: http://github.com/sorear/niecza/commit/78e15461334692be908d8a1a52b1c35c85cc8bdb
06:07 sorear there's an example of using Tk.pm from Rakudo in one of the doc folders
06:07 sorear it worked, last time blizkost was touched
06:09 azawawi sorear: I see, so do you think wxWidgets can be used through it?
06:10 sorear sure
06:10 azawawi sorear: cool will try on win and linux to make sure
06:11 sorear I picked Tk because 1. there is a failed grant on TPF's records to create a Tk.pm6 2. it's pretty popular
06:11 azawawi sorear: s/try/try it
06:12 azawawi sorear: Time to learn Perl 6 again and properly implement stuff ... coloring, refactoring, integration... :)
06:13 PerlJam sorear: how do I "use" niecza?
06:16 uniejo joined #perl6
06:17 milki joined #perl6
06:19 sorear PerlJam: it's a batch compiler; you use it more or less like a C compiler
06:20 sorear ./niecza_eval file.pl # parses file.pl, generates MAIN.exe (I should probably add a -o option sometime), runs it
06:20 dalek book: 7c5b65e | duff++ |  (3 files):
06:20 dalek book: updated operators chapter to reflect Pm's review
06:20 dalek book: review: http://github.com/perl6/book/commit/7c5b65ef1f6f7077e7aea1c9d92272f1073ff6d7
06:20 dalek book: 3f1a6ec | duff++ | src/ (2 files):
06:20 dalek book: Add a sidebar mentioning ~=
06:20 dalek book: review: http://github.com/perl6/book/commit/3f1a6ecb4133f6c40b95072d1a2931101013e1df
06:21 azawawi joined #perl6
06:21 sorear niecza_eval itself is not installable at the moment, but the generated .exes should be relocatable as long as CORE.dll and any modules you use are in MONO_PATH
06:22 azawawi sorear: blizkost test results on Win32 strawberryperl 5.12.0.1
06:22 Su-Shee what do I read to understand as an average developer what the basic concepts of perl 6 are?
06:22 sorear it currently produces rather bloated output - 240kb CORE.dll from 600 lines of Perl6
06:23 azawawi sorear: installation works, gmake is not detected instead 'make' is shown after Configure.pl is given the correct parrot_config
06:24 dukeleto Su-Shee: do you want to understand Perl 6 itself, or how it compares to Perl 5?
06:24 azawawi sorear: after trying the example in the blizkost README, i get a message box with the title "perl6.exe - Entry Point not Found" and the message is "The procedure entry point Perl_Iorigalen_ptr could not be located in the dynamic link library perl512.dll
06:24 dukeleto Su-Shee: http://perlgeek.de/en/article/5-to-6 is a nice intro for the latter
06:24 azawawi sorear: on rakudo's console, i get "===SORRY!=== Class\n'P5Interpreter' not found"
06:25 Su-Shee dukeleto: that's about the usage. I need something about the concepts.
06:26 azawawi sorear: make and make install work without any warnings/errors
06:26 dukeleto Su-Shee: you probably want to read the Synopses, then
06:27 dukeleto Su-Shee: they live in the pugs repo
06:27 dukeleto Su-Shee: http://perlcabal.org/syn/
06:28 Su-Shee dukeleto: yeah, I think I read those in 2003 the first time. ;) I need something for the average developer, an introduction for average people.
06:29 Su-Shee hm, first chapter of the book..
06:31 sorear Su-Shee: the documentation you're looking for doesn't really exist.
06:31 dukeleto Su-Shee: yes, i guess you want http://github.com/perl6/book/
06:31 Su-Shee hm, then I have to mention that. :(
06:32 dduncan left #perl6
06:35 Sanitoeter joined #perl6
06:37 azawawi sorear: any idea how to fix that error?
06:37 * azawawi tries blizkost on linux vm now
06:43 azawawi sorear: http://feather.perl6.nl/~azawawi/blizkost_strawberry_error.png
06:48 Ross^ joined #perl6
06:48 sorear azawawi: ask jnthn and/or #p5p, I haven't used Perl on Windows since 2003
06:50 azawawi sorear: i see so im going to fix it :)
07:01 azawawi sorear: thanks for your help
07:02 azawawi sorear: im trying blizkost now under a ubuntu vm to test it. It is so promising :)
07:02 pmurias joined #perl6
07:03 pmurias azawawi: you were interested in STD on CPAN?
07:03 phenny pmurias: 27 Jul 22:54Z <sorear> tell pmurias any time you rename files you *need* to change the makefile.  On a case by case basis, so I can't help you.
07:03 azawawi pmurias: i already did it in S:H:P6 :)
07:04 azawawi pmurias: so ofcourse im interested...
07:05 azawawi pmurias: it fails to install atm btw... Moose require stuff...
07:05 * pmurias checks
07:05 Su-Shee rakudo: my $foo = 'lala'; say "yes" if 'LaLA'.lc ~~ $foo;
07:05 p6eval rakudo 2808a5: OUTPUT«yes␤»
07:06 pmurias azawawi: ah, the dist.ini has the prereqs specified in the wrong section
07:06 Su-Shee rakudo: my $foo = 'LALa'; say "yes" if $foo.lc ~~ /lala/;
07:06 p6eval rakudo 2808a5: OUTPUT«yes␤»
07:06 pmurias azawawi: i'm currently working on renaming LazyMap,Actions and Cursor to STD::LazyMap...
07:06 azawawi pmurias: what are you using to build the STD distro btw?
07:07 pmurias azawawi: so it's not an unauthorized release
07:07 azawawi pmurias: nice... :)
07:07 pmurias azawawi: Dist::Zilla
07:07 pmurias with a custom plugin
07:08 azawawi pmurias: I remember talking to larry about renaming STD namespace a long time ago and sorear asked about it earlier this month
07:08 azawawi pmurias: only in the p5 translation
07:08 pmurias nothing resulted from that discussion
07:09 pmurias so i'm doing the prefixing
07:09 moritz_ pmurias: TimToady was OK with prefix - maybe you need to backlog :-)
07:09 phenny moritz_: 01:38Z <[Coke]> ask moritz_ if http://rt.perl.org/rt3/Ticket/Display.html?id=65258 is still happening for him.
07:09 pmurias moritz_: i noticed that
07:11 moritz_ ok
07:12 azawawi moritz_: who has commit access to blizkost? :)
07:13 hugme joined #perl6
07:14 moritz_ hugme: add azawawi to blizkost
07:14 hugme moritz_: sorry, I don't know anything about project 'blizkost'
07:14 moritz_ hum
07:14 sorear jnthn, me
07:14 moritz_ azawawi: me, jnthn, dukeleto, sorear iirc
07:15 azawawi sorear: README needs to say that you need to  "sudo apt-get install libperl-dev" on ubuntu... other it fails with the following error "/usr/bin/ld: cannot find -lperl"
07:15 azawawi sorear: dunno if it is the same under a fresh debian
07:16 azawawi sorear: s/other/otherwise/
07:16 sorear I'm not even the maintainer, why do you keep dumping tips at me
07:17 sorear we have phenny, a ticket queue, and a maintainer who loves giving commit bits
07:17 azawawi sorear: sorry :)
07:18 pmurias azawawi: so what do you need from STD?
07:18 azawawi pmurias: let me check
07:18 moritz_ azawawi: or until you have a commit bit, you can also fork + send pull requests
07:19 * moritz_ -> out
07:19 azawawi moritz_: thx
07:20 HarryS joined #perl6
07:20 azawawi joined #perl6
07:20 sorear argh.$GLOBAL::TEST-BUILDER = Builder.CREATE:
07:20 sorear $GLOBAL::TEST-BUILDER.reset;
07:21 sorear guess what this code does
07:21 sorear I have now had my first serious biting by perl 6 syntax
07:21 zulon joined #perl6
07:21 Su-Shee moritz_: does your SVG come with a Grammar?
07:21 Su-Shee "your SVG module"
07:21 pmurias sorear: where's the problem?
07:22 sorear pmurias: it parses as $GLOBAL::TEST-BUILDER = Builder.CREATE($GLOBAL::TEST-BUILDER.reset)
07:23 moritz_ Su-Shee: no, it just produces SVG, no parsing involved
07:23 pmurias : to ; typo?
07:23 sorear correct
07:23 Su-Shee moritz_: I just checked JSON, I take that as an example.
07:24 sorear ; to : actually
07:24 azawawi pmurias: basically re-use it in S:H:P6. I only bundled STD since i didnt find it on CPAN at that time
07:25 pmurias azawawi: so if any files are missing from the STD on CPAN I'll add them
07:26 * pmurias hates the crapy Makfiley stage building
07:26 azawawi pmurias: sure i'll tell you what i need exactly by this weekend
07:26 dalek niecza: f506534 | sorear++ | Test.pm6:
07:26 dalek niecza: Refactor Test.pm6 to use an inner Builder
07:26 dalek niecza: review: http://github.com/sorear/niecza/commit/f506534d4df57aeb241bc87010ee7294d9927f1d
07:26 Su-Shee rakudo: lc('HELLO');
07:27 p6eval rakudo 2808a5:  ( no output )
07:27 azawawi pmurias: thanks
07:27 * azawawi work &
07:28 Su-Shee where does in JSON Tiny the method parse come from? Is this something Grammars just deliver?
07:31 Su-Shee ah, got it.
07:37 Su-Shee rakudo: grammar Name { rule name { <firstname> <lastname> } }; say "yes" if Name.parse("Susanne Schmidt");
07:37 p6eval rakudo 2808a5: OUTPUT«Method 'TOP' not found for invocant of class ''␤  in 'Grammar::parse' at line 5547:CORE.setting␤  in main program body at line 22:/tmp/UfsD37MLPf␤»
07:38 pmichaud another R* candidate tarball:  http://pmichaud.com/sandbox/rakudo-star-beta3.tar.gz
07:39 pmichaud comments and testing welcomed
07:39 pmichaud (off to sleep for a bit)
07:41 Su-Shee how do I use the grammar example correctly?
07:41 pmichaud Name.parse("Someone", :rule<name>)
07:41 pmichaud if :rule isn't supplied, defaults to 'TOP'
07:41 Su-Shee ah.
07:42 Su-Shee rakudo: grammar Name { rule name { <firstname> <lastname> } }; say "yes" if Name.parse("Susanne Schmidt", :rule<name>);
07:42 p6eval rakudo 2808a5: OUTPUT«Method 'firstname' not found for invocant of class 'Name'␤  in 'Name::name' at line 22:/tmp/l8g52qzFgu␤  in 'Grammar::parse' at line 5547:CORE.setting␤  in main program body at line 22:/tmp/l8g52qzFgu␤»
07:46 Ross^ joined #perl6
07:48 Su-Shee Can I use a grammar Email to make a new Type Email so I can declare something as Email and it gets validated automatically?
07:50 Tene No. :(
07:50 au|irc phenny: tell masak s!http://www.perl.com/lpt/a/482!http://www.perl.com/pub/2000/11/perl6rfc.html! in the anniversary post following the perl.com relaunch :) (@BlueT++ on plurk noticed this)
07:50 phenny au|irc: I'll pass that on when masak is around.
07:50 Tene well
07:50 Tene not automatically
07:50 Tene subset Email of Str where { Email::Grammar.parse($_) };
07:51 Tene is something you can do.
07:51 mathw I suspect you could... yes, that
07:51 Tene that *should* work.  I'm not sure of what else that might imply or fail to imply.
07:52 Su-Shee oh. I was hoping for something like grammar Email is Type { complex email grammar here } and then something like $.email of Email is rw; or something.
07:53 tadzik joined #perl6
07:53 Su-Shee rakudo: grammar Name { rule firstname { ucfirst(\w+) } rule lastname { ucfirst(\w+) } rule name { <firstname> <lastname> } }
07:53 p6eval rakudo 2808a5: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 22␤»
07:54 mathw Well, a grammar is a type
07:54 mathw But carrying all the Grammar stuff around is probably not very useful past the initial parsing
07:54 mathw So I would think keeping the grammar and the storage class separate is easier
07:55 mathw and more flexible
07:55 Su-Shee well I have at least 20 use cases where I would need some ruleset to define something and use that as a validation. and I would like to make that really simple. :)
07:56 mathw example?
07:56 Su-Shee Email would be one of those cases.
07:56 Su-Shee Names, german cell phone telefon numbers, zipcodes..
07:57 mathw I wouldn't get into the business of validating names, too messy
07:57 Su-Shee in Moose, I can make those a trait and apply it to an attribute.
07:57 mathw But
07:57 sorear Su-Shee: the Moosian concept of types is basically our 'subtype'
07:58 mathw You could still use a subset type with a where clause
07:58 mathw or a custom type with validating accessors
07:58 moritz_ has Str $.email where { Email.parse($_) }
07:58 Su-Shee hmpf.
07:58 mathw :)
07:59 Su-Shee where do I read up on subtypes?
07:59 Tene Su-Shee: you could define a role and a trait handler to set up a subset type for you
07:59 moritz_ subset EmailStr of Str where { Email.parse($_) };
07:59 moritz_ ...
07:59 Su-Shee I see.
07:59 moritz_ has EmailStr $.email
07:59 sorear What is the correct way to signature a list operator?
07:59 sorear I mean, list-assoc
08:00 moritz_ I guess with a slurpy
08:00 sorear not quite...
08:00 Tene so that would be like: use LolGrammarType; grammar Email is LolGrammarType { ... }; my StrEmail $email = ...
08:00 sorear rakudo: say "a" ~ 1..10
08:00 p6eval rakudo 2808a5: OUTPUT«␤»
08:00 sorear rakudo: say "a" ~ (1..10)
08:00 p6eval rakudo 2808a5: OUTPUT«a1 2 3 4 5 6 7 8 9 10␤»
08:01 cxreg pmichaud: Makefile:       git clone git@github.com:rakudo/rakudo.git $(RAKUDO_DIR)
08:01 cxreg that should probably be a public url
08:01 sorear rakudo: my sub infix_tilde_as_listop(*@args) { my $acc = ''; for (@args) { $acc ~= $_ }; $acc }; infix_tilde_as_listop("a", (1..10))
08:01 cxreg i got a permission error
08:01 p6eval rakudo 2808a5:  ( no output )
08:01 sorear rakudo: my sub infix_tilde_as_listop(*@args) { my $acc = ''; for (@args) { $acc ~= $_ }; $acc }; say infix_tilde_as_listop("a", (1..10))
08:01 p6eval rakudo 2808a5: OUTPUT«a12345678910␤»
08:01 sorear ^^^ not the same
08:02 sorear *@args is flattening
08:02 sorear I need something that works mostly like *@args, but isn't
08:02 moritz_ right
08:02 moritz_ sorear: like (\$args) ?
08:04 sorear perhaps
08:04 sorear \$args has a lot of other unpleasant baggage though
08:04 sorear if I implement it as specced I would have to make huge changes to the binder, like moving the named/positional splitting to the call site
08:05 Tene sorear: like |$args ?
08:06 Tene rakudo: my sub foo(|$args) { say $args.perl; }; foo("a", (1..10));
08:06 p6eval rakudo 2808a5: OUTPUT«\("a", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)␤»
08:06 * cxreg has a couple of minor bugfixes to star
08:07 Tene cxreg: great!  please make sure they get to pmichaud.
08:07 sorear well, now it can accept named arguments
08:07 cxreg Tene: he's sleeping, what's the best way to do that, just ping him later?
08:07 Tene rakudo: my sub foo(|$args) { say $args.perl; }; foo("a", (1..10), :foo<1>, :bar<lol>);
08:07 sorear maybe I could coopt **@foo for this
08:07 p6eval rakudo 2808a5: OUTPUT«\("a", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "foo" => "1", "bar" => "lol")␤»
08:07 moritz_ cxreg: what's your github ID?
08:08 Tene cxreg: you can leave a message for him with phenny
08:08 Tene phenny: tell cxreg OHAI
08:08 phenny Tene: I'll pass that on when cxreg is around.
08:08 justatheory joined #perl6
08:08 Tene cxreg: you could email him
08:08 cxreg moritz_: cxreg
08:08 phenny cxreg: 08:08Z <Tene> tell cxreg OHAI
08:08 Tene or email the list
08:08 moritz_ hugme: add cxreg to star
08:08 * hugme hugs cxreg. Welcome to star!
08:08 cxreg that works, thanks moritz_++
08:08 Tene he's not so happy with github pull requests, I hear.
08:08 Tene Ah, that works!
08:08 Tene :)
08:09 moritz_ they don't scale, wrt commenting on the changes, tracking etc.
08:10 timbunce joined #perl6
08:12 cxreg phenny: tell pmichaud 2 minor bugfixes to star pushed, one resulted in a missing module in beta3
08:12 phenny cxreg: I'll pass that on when pmichaud is around.
08:14 cxreg same bug exists in proto projects.list
08:14 cxreg but not in pls
08:14 cxreg s/mattw/mathw/
08:15 moritz_ hugme: add cxreg to proto
08:15 * hugme hugs cxreg. Welcome to proto!
08:15 moritz_ cxreg: you can fix that too :-)
08:15 cxreg :D
08:15 dakkar joined #perl6
08:20 cxreg moritz_: is the branch 'pls_rstar_hacks' being used?
08:20 moritz_ cxreg: I don't know. My old build script in star/build/buildall.pl used it
08:21 cxreg hrm, it does.  that branch is behind by a bit.
08:21 zulon joined #perl6
08:22 cxreg ok to "git merge pls" maybe?
08:22 moritz_ yes
08:28 cxreg -   $ git fetch origin pls
08:28 cxreg +   $ git fetch
08:28 cxreg the prior version did a totally confusing thing (put origin/pls in FETCH_HEAD)
08:29 cxreg git is odd sometimes
08:29 moritz_ shouldn't it be checking out pls instead?
08:29 cxreg that's the second line, still ok
08:30 cxreg "git fetch" fetches all refs and puts them in the origin/foo refs.  "git fetch origin foo" does something dumb.
08:33 * cxreg is going to heckle a "git internals" talk at $work tomorrow/today
08:34 sorear unsuprisingly, a non-working ~ utterly breaks the test suite
08:39 thebird joined #perl6
08:55 pmichaud cxreg: please add yourself to skel/docs/CREDITS in the star repo :-)
08:55 phenny pmichaud: 08:12Z <cxreg> tell pmichaud 2 minor bugfixes to star pushed, one resulted in a missing module in beta3
08:56 pmichaud afk for sleep again
08:56 * moritz_ generates the list of all contributors to rakudo (from git log)
08:57 * sorear out.
08:58 dalek niecza: 4563a6c | sorear++ |  (4 files):
08:58 dalek niecza: Implement ~ with many arguments
08:58 dalek niecza: review: http://github.com/sorear/niecza/commit/4563a6c35a59cd7c6d15bd78eda854c401c51d05
08:59 timbunce joined #perl6
09:01 Su-Shee can a Role inherit a Grammar?
09:01 moritz_ you can compose a role into a grammar
09:02 moritz_ if you say   role Foo is MyGrammar { }, then the class you compose the role into will inherit from MyGrammar
09:03 Su-Shee and within the role?
09:03 moritz_ a grammar is really just a class that inherits from Grammar
09:03 Su-Shee I have Grammar Atom. I'd like to write an Atom Role which contains something which uses Atom.parse. Then I make a class Feed does Atom after I've made role Atom is AtomGrammar?
09:04 moritz_ don't make role and a grammar of the same name - it will be confusing
09:04 Su-Shee that doesn't really answer my question. ;)
09:05 moritz_ if I understood it correctly, "yes"
09:05 moritz_ when in doubt, just try it out
09:05 Su-Shee where in the book would I read up on that?
09:06 meppl joined #perl6
09:06 moritz_ I don't think it's sufficiently fleshed out yet
09:08 Su-Shee where do I look for all those keywords like "is", "does" and so on?
09:08 moritz_ search the specs for 'trait'
09:08 Su-Shee moritz_: you realize that I essentially have to write "you can do stuff, but you can't look it up anywhere" ;)
09:09 cxreg moritz_: do you know about "git shortlog" ?
09:09 cxreg maybe with the -n -s switches
09:09 moritz_ cxreg: yes
09:09 cxreg ok
09:10 moritz_ cxreg: but it doesn't recognized ++'ing in commit messages
09:10 cxreg oh sure, it just counts authors, good point
09:11 * cxreg submits a --perl6 patch to shortlog :)
09:11 moritz_ and since most rakudo contributors are sloppy with preserving author information (and at SVN times it simply wasn't possible), I parse for 'courtesy of' and '++'
09:13 moritz_ also I need some serious duplicate removal
09:13 moritz_ but I guess that could be a post-processing step
09:13 cognominal rakudo:  say ?('' ~~ m/ :s  \d+ ** ',' /)
09:13 p6eval rakudo 2808a5: OUTPUT«0␤»
09:13 cognominal I would expect a match even if of zero length.
09:14 cognominal someone has a explanation?
09:14 moritz_ a ** b  desugar to a [ b a ]*
09:14 moritz_ if that's not what you want, put [ ... ]?  around it
09:15 cognominal rakudo:  say ?('1' ~~ m/ :s  \d+ ** ',' /)
09:15 p6eval rakudo 2808a5: OUTPUT«1␤»
09:15 cognominal moritz_,  thx.
09:16 cognominal I am not sure this is very huffmanian though
09:18 avar hrm, rakudo * tomorrow?
09:18 moritz_ yes
09:20 avar I'll make sure to check it out then :)
09:23 envi^home joined #perl6
09:23 vorner_ joined #perl6
09:24 zulon joined #perl6
09:25 vorner joined #perl6
09:26 daxim joined #perl6
09:50 xabbu42 joined #perl6
10:10 cognominal rakudo: sub a($a?) { say $a };  a()
10:10 p6eval rakudo 2808a5: OUTPUT«Any()␤»
10:12 cognominal The default is to return the undefined type, but when stringified this breaks expectation of perl 5 people.
10:13 mathw Fortunately this isn't Perl 5
10:14 cognominal well, on the other hand, it is good practice to write:  sub a(Str $a? = "") { say $a };  a()
10:15 mathw that depends on what you're doing with $a in the sub I suspect
10:16 moritz_ if you ahve a default value, there's no need for ?
10:16 mathw if you didn't have a default value, you'd check it for definedness to decide what to do in most cases
10:18 * moritz_ found that in real code out there, you usually either have a default value, or you declare it as named
10:19 TiMBuS is it possible to subclass a builtin type? or is it better to make a class that acts like a native type
10:19 moritz_ TiMBuS: non-native built-in types are subclassable
10:19 TiMBuS class FullName is Str { has $.firstname; has $.lastname; };
10:20 TiMBuS sorta, but I'm not sure how to init it
10:20 moritz_ that's a bad idea, IMHO
10:21 moritz_ class FullName { has $.firstname; has $.lastname; method Str { "$.firstname $.lastname" }}
10:21 TiMBuS yeah
10:21 moritz_ rakudo: class FullName { has $.firstname; has $.lastname; method Str { "$.firstname $.lastname" }}; say FullName.new(firstname => "John', lastname => "Orwant');
10:21 p6eval rakudo 2808a5: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
10:22 moritz_ rakudo: class FullName { has $.firstname; has $.lastname; method Str { "$.firstname $.lastname" }}; say FullName.new(firstname => 'John', lastname => 'Orwant');
10:22 p6eval rakudo 2808a5: OUTPUT«John Orwant␤»
10:23 cognominal rakudo: sub a(:$a? { say $a };  a()
10:23 cognominal oops
10:23 cognominal rakudo: sub a(:$a) { say $a };  a()
10:23 p6eval rakudo 2808a5: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
10:23 p6eval rakudo 2808a5: OUTPUT«Any()␤»
10:24 TiMBuS but I'd like it to behave like a string a little better than that. sometimes an explicit ~ prefix is needed. subs that have Str in their sig is the main one that comes to mind
10:24 TiMBuS need to also define a .match and .ACCEPTS
10:26 kokajxo joined #perl6
10:29 nwc10 joined #perl6
10:31 wamba joined #perl6
10:31 jnthn o/
10:31 tadzik \o
10:32 snarkyboojum o/
10:32 nwc10 what happened to rakudosketch? wasn't useful?
10:39 jnthn nwc10: It got renamed; http://irclog.perlgeek.de/phasers/
10:40 nwc10 aha
10:40 nwc10 also, where does the sub_id get generated and assigned in Rakudo and in NQP? It's really not obvious. I failed to find it even with a brute force search
10:43 jnthn nwc10: If we need to, we can force it to commit to one in Actions.pm
10:43 jnthn nwc10: If not, it gets generated iirc in PAST::Compiler
10:44 tadzik would it be nice for R* to have sth like docs/where_to_start, showing Perl6 newcomers what to do after installing Star, where to seek documentation and stuff, or is this alredy covered somewhere?
10:45 nwc10 jnthn: ah OK.
10:45 nwc10 reason I asked was it looks like the default is a sequence number, '_', epoch time with fractional seconds
10:45 jnthn nwc10: Note that this still lives int he Parrot REPO
10:45 nwc10 which means that every sub gets a new ID every recompile
10:45 nwc10 even if it hasn't changed
10:46 nwc10 creating massive amounts of diff churn on bootstrap files
10:46 nwc10 jnthn: I *thought* I did my brute-force search on a Rakudo checkout with a Parrot checkout inside
10:46 jnthn nwc10: Right.
10:46 jnthn nwc10: That's pretty much exactly what it's doing. And yes, it creates diff churn.
10:46 nwc10 struck me that if the timestamp were replaced with a cryptographic hash of the textual source code of the function, it wouldn't change needlessly on recompiles
10:47 nwc10 which would make it a lot easier to see what the compiler was up to
10:47 nwc10 but that's definately "nice to have"
10:47 vorner left #perl6
10:47 nwc10 and may have downsides
10:47 jnthn nwc10: Takes (a) longer to compute and (b) tuits. :-)
10:47 jnthn The latter of which are never in sufficient supply. :-)
10:48 jnthn I agree it'd be nice to improve things there though.
10:48 nwc10 because if (a) is optimising for the compiler's time, then it's pessimising for the humans' time. :-)
10:50 jnthn *nod*
10:50 jnthn Though making compiles take longer is pessimising a different bunch of human's time too. ;-)
10:51 nwc10 yeah.
10:52 jnthn nwc10: Going to YAPC::EU, BTW?
10:53 nwc10 yeah. I can answer that question better in a few moments, I thinl
10:58 Trashlord joined #perl6
11:05 nwc10 nwc10: better answer: http://conferences.yapceurope.org/ye2010/news/616
11:06 lrnperl6 joined #perl6
11:08 jnthn nwc10: \o/
11:08 jnthn nwc10: Congrats. :-)
11:10 sftp joined #perl6
11:11 Su-Shee is thre a good example for prototype based OO in perl6?
11:11 azert0x joined #perl6
11:25 jnthn phenny: tell pmichaud I have done a fix that gets modules-install to work on Win32.
11:25 phenny jnthn: I'll pass that on when pmichaud is around.
11:26 jnthn phenny: tell pmichaud Seems the installed modules work from the installed Rakudo too. \o/ Pushed, plus some README tweaks.
11:26 phenny jnthn: I'll pass that on when pmichaud is around.
11:28 jnthn Su-Shee: Not so far as I'm aware.
11:29 Mowah joined #perl6
11:33 jnthn Su-Shee: I didn't quite follow your question earlier about a role inheriting from a grammar.
11:33 jnthn Su-Shee: Roles don't really inherit at all, they can just pass along a "add this parent" note to a class when composed into it.
11:34 jnthn Su-Shee: Note that you can write tokens/regexes/rules directly into a role and compose those into a grammar. But I still feel I'm missing what you're actually trying to do.
11:39 hanekomu joined #perl6
11:39 sftp_ joined #perl6
11:44 Su-Shee jnthn: I've tried essentially this: grammar AtomGrammar { .... } role AtomPub is AtomGrammar { .... } class Feed does AtomPub {.... }
11:47 sftp joined #perl6
11:47 tadzik ===SORRY!===
11:47 tadzik syntax error ... somewhere
11:47 tadzik …yeah
11:51 jnthn Su-Shee: That's going to have the same result as if you'd written class Feed is AtomGrammar { }
11:51 jnthn Su-Shee: Plus it'll compose any methods from the AtomPub role into Feed
11:53 ggoebel joined #perl6
11:56 tadzik any plans to include frontend for pir::stat in rakudo? # .oO( how about writing File::Stat? )
11:57 Su-Shee *sigh* I need a handbook.
11:59 moritz_ tadzik: how about writing File::Stat? :-)
11:59 tadzik moritz_: I alredy started :)
11:59 tadzik File::Find will need this, once it gets as fun as we planned
11:59 moritz_ tadzik: missed a pun. You should have said "I already stated" :-)
11:59 tadzik ah, what a missed chance! /o\
12:00 tadzik btw moritz_, what do you think of this:
12:00 tadzik would it be nice for R* to have sth like docs/where_to_start, showing Perl6 newcomers what to do after installing Star, where to seek documentation and stuff, or is this alredy covered somewhere?
12:03 moritz_ yes, would be nice
12:03 moritz_ point to the docs, the REPL, perl6.org
12:04 tadzik will do. And about stat, maybe an IO method for Rakudo? Or we're keeping close to the specs here, no additional stuff?
12:05 moritz_ remeber, we have influence on the spec
12:05 moritz_ it's OK to prototype stuff where the spec is weak
12:06 moritz_ and if it works out well, we add it to the spec
12:06 moritz_ currenlty rakudo has an IO method in class Str
12:06 tadzik so, may I try writing a path for Rakudo?
12:06 moritz_ rakudo: say 'p1'.IO ~~ :e
12:06 tadzik with stat
12:06 p6eval rakudo 2808a5: OUTPUT«0␤»
12:06 tadzik yeah, I know about that
12:07 tadzik so there'd be: 'filename'.IO.stat<size> or something
12:07 moritz_ you could just stuff a .stat method into IO that... right
12:07 tadzik so, yay or nay?
12:07 moritz_ yay
12:07 moritz_ or for me 'filename'.IO.size would also work
12:07 tadzik so separate methods for fields?
12:07 moritz_ whatever interface you prefer
12:08 tadzik http://wklej.org/id/369731/ that's the current sub
12:08 moritz_ maybe a .stat method wouldn't be bad
12:08 tadzik not many methods retun hashes in rakudo, do they?
12:08 moritz_ because 1) it avoids multi calls to stat() under the hood and 2) it doesn't stuff too many methods into a basic type
12:09 tadzik it can even have postcircumfix{} _and_ methods like .size .gid and stuff
12:09 moritz_ it already has .s for size, as a smart-matching artifact
12:10 tadzik oh
12:10 tadzik yeah, I see it
12:10 tadzik so, just more methods?
12:11 tadzik or a new class for methods and calls like 'file'.IO.stat.gid?
12:11 colomon joined #perl6
12:11 moritz_ I think I like the latter best
12:12 moritz_ IO::Stat or so
12:12 tadzik and rewrite file test operations to use .stat?
12:13 moritz_ yes
12:13 tadzik alright, two more things
12:13 tadzik 1) class IO is Cool -- what's the Cool parent?
12:13 tadzik (or maybe one more thing)
12:14 moritz_ Cool is the class where thing like .match, .sin, .cos etc. are defined
12:14 tadzik so it's Cool to inherit from it? :)
12:14 moritz_ so it's what most builtins should inherit from - those that know how turn into a string, a nubmer etc.
12:14 moritz_ aye
12:14 tadzik ok to keep IO::Stat in core/IO.pm?
12:15 moritz_ I'd prefer it in IO/Stat.pm
12:15 tadzik sure thing
12:15 moritz_ (it' just one line added to Makefile.in)
12:18 mscha joined #perl6
12:20 ruoso joined #perl6
12:22 a8b8126d joined #perl6
12:23 Su-Shee how do I install Rakudo * tomorrow?
12:24 Su-Shee still with --gen-parrot?
12:24 moritz_ Su-Shee: perl Configure.pl; make; make install;
12:25 moritz_ Su-Shee: you can try it today
12:25 moritz_ clone the star repo
12:25 moritz_ run make
12:25 moritz_ cd rakudo-star-
12:25 Su-Shee it's for readers of tomorrow. I grab the stuff from github usally.
12:25 moritz_ perl Configure.pl; make; make install; ./perl6 -e 'say "OH HAI"'
12:25 tadzik moritz_: IO/Socket.pm has use v6 pragma, IO.pm does not. Any right way here?
12:25 Su-Shee so parrot is included?
12:26 moritz_ Su-Shee: yes
12:26 moritz_ tadzik: not necessary in the setting
12:26 Su-Shee does make install install to /usr/* ?
12:28 moritz_ no, unless you ask it to
12:28 bluescreen joined #perl6
12:29 moritz_ there's a --prefix option to Configure.pl
12:29 Su-Shee and I can remove the source dir afterwards and that'll work with the needed parrot stuff?
12:29 moritz_ the default is a local install
12:29 [Coke] yay, perl6.org is now unblocked by $client's filter.
12:29 tadzik moritz_: it's good to keep 4-spaces tab in every file?
12:29 Su-Shee yeah, but the usal default ist /usr/local if you say nothing, why keep it locally?
12:30 moritz_ tadzik: 4 spaces, no tabs
12:30 tadzik ok
12:30 moritz_ Su-Shee: because not everbody has write access to /usr/local/
12:31 [Coke] http://pmichaud.com/sandbox/rakudo-star-beta3.tar.gz
12:31 jnthn moritz_, Su-Shee: whichever is the default, we should clearly document what the default is *and* how to do the Other Thing.
12:31 Su-Shee moritz_: in that case you usally add a prefix. rakudo does it essentially the other way round now. that's confusing.
12:32 moritz_ jnthn: agreed
12:33 lrnperl6 joined #perl6
12:34 Mowah joined #perl6
12:35 Su-Shee What do I say on the subject of CPAN?
12:36 moritz_ that there's an infrastructure being built, and modules.perl6.org gives an overview of the existing modules
12:37 moritz_ wait, you do need --gen-parrot if there's no parrot available
12:38 Su-Shee what do those three funny yellow thingies mean in the module list?
12:38 moritz_ http://modules.perl6.org/fame-and-profit
12:38 Su-Shee oh. my. god. ok.
12:39 moritz_ there's also a hover text explaining them
12:39 Su-Shee and me idiot thought they point to informations or suggest the state of development. ;)
12:39 rgrau joined #perl6
12:39 moritz_ well
12:39 moritz_ they do tell you something about the state of the module
12:40 Su-Shee hrgh. empty readmes.
12:42 Su-Shee compiles on linux/unix, mac and win?
12:43 Su-Shee anything I should mention about 64bit or something?
12:43 [Coke] mjd++
12:43 * moritz_ dearly hopes so
12:43 moritz_ Su-Shee: amd64 should be fine.
12:43 moritz_ I've been using rakudo and parrot on 64bit platforms for at least a year now. Probably longer
12:43 Su-Shee ok.
12:44 Su-Shee with a 64bit OS on top?
12:44 jnthn Su-Shee: Confirm it works on Windows. Well, Beta-3 doesn't quite, but the next Beta will.
12:44 jnthn (I already pushed the fix.)
12:44 jnthn oh sh...
12:45 moritz_ what's wrong?
12:45 [Coke] It seems that every day as I read stuff in backscroll, I inadvertently CNP it into the session again. apologies.
12:46 jnthn moritz_: --prefix when passed over to gen_parrot doens't quote it
12:46 tadzik moritz_: could You give me a hand over here? http://wklej.org/id/369763/
12:46 jnthn moritz_: So my attempt to install into C:\Program Files\Rakudo (with a space in) was epic fail
12:46 moritz_ jnthn: parrot can't be installed with a prefix with spaces anyway, IME
12:46 tadzik moritz_: oh, nevermind
12:46 tadzik my bad
12:47 mathw naughty parrot
12:47 jnthn moritz_: WHAT?!
12:47 jnthn for hells sake
12:47 moritz_ jnthn: at least on linux
12:47 tadzik moritz_: or not :) Mind taking a look?
12:47 jnthn We'll see soon on Windows.
12:48 moritz_ tadzik: lines 43-45 look wrong - just leave them out
12:48 moritz_ ($.stat is the same as $( self.stat ), so you're recursing there
12:48 colomon So, I figured out how to shave 66% off the time required for a simple Range iteration last night.
12:48 tadzik oh, sure
12:48 tadzik moritz_++, thanks
12:48 moritz_ tadzik: use IO::Stat; is also wrong
12:49 tadzik moritz_: why so?
12:49 moritz_ tadzik: don't do that, just put a :: before IO::Stat.new
12:49 jnthn colomon: Wow! :-)
12:49 colomon But it requires a completely new IntRangeIter.
12:49 [Coke] colomon++
12:49 colomon I don't know if I should make a mad blitz to get it into R* or not.
12:49 azawawi joined #perl6
12:49 azawawi jnthn: ping
12:49 [Coke] ... if this were parrot, I'd say wait until just after the release.
12:49 moritz_ tadzik: because it's not a module; it's built into the compiler - so you can't use it
12:50 colomon [Coke]: if it were a normal Rakudo release, I'd say the same.
12:50 tadzik moritz_: as in: has $.stat = ::IO::Stat.new(path => $.path);?
12:50 moritz_ tadzik: correct
12:50 tadzik moritz_: I see
12:50 jnthn azawawi: pong
12:50 Su-Shee colomon: what for? there's a new release in 4 weeks, why hurry?
12:51 [Coke] colomon: I'd defer to pmichaud in this case. but he did say tha there's probably going to be another * in a month.
12:51 [Coke] Su-Shee: because the speed is HORRENDOUS. =-)
12:51 azawawi jnthn: I tried blizkost today on win32 (http://irclog.perlgeek.de/perl6/2010-07-28#i_2622456) and had this nasty message  box http://feather.perl6.nl/~azawawi/blizkost_strawberry_error.png
12:51 [Coke] is the plan for R* to do all installs in . ?
12:52 Su-Shee [Coke]: "what speed"?
12:52 Su-Shee oh I though after rakudo * there still will be the monthly release?
12:52 colomon Su-Shee: because this is the first R* release, and will be the first Perl 6 impression for a lot of people.
12:52 [Coke] the compiler will continue to release monthly.
12:53 [Coke] R* will happen to have a release in amonth, but will steady state at quarterly or so.
12:53 lrnperl6 joined #perl6
12:53 colomon Su-Shee: there will be monthly Rakudo releases and less-frequent R* releases
12:53 foodoo joined #perl6
12:53 jnthn azawawi: I've only really tested it with ActiveState Perl + MS VC++.
12:53 Su-Shee colomon: your thingie makes entire rakudo much faster?
12:54 sjn joined #perl6
12:54 azawawi jnthn: any hints where to start looking?
12:54 colomon Su-Shee: not entire Rakudo, but anything like "for 1..1000"
12:55 [Coke] colomon: when you're done speeding up rakudo, I need you over in partcl. =-)
12:55 Su-Shee colomon: hm. never used it. never needed it.
12:55 Su-Shee anyway. none of business.
12:55 [Coke] it is a very common sort of thing when you're playing with a new language and testing the speed, though. =-)
12:56 jnthn azawawi: The error doesn't mean much to me beyond it not being able to find a symbol in a DLL file. :(
12:56 moritz_ oh noes, Math::Model fails with current rakudo :(
12:56 colomon Su-Shee: as a (vaguely) practical example, I'm pretty sure this will nearly double the speed of the Mandelbrot set generating program I have.
12:57 azawawi jnthn: and "===SORRY!=== Class\n'P5Interpreter' not found" on the console... nothing else
12:57 jnthn azawawi: Well yes, that's not so surprising if it failed to load the Perl 5 DLL.
12:57 azawawi jnthn: i'll try debugging it tonight then
12:57 colomon [Coke]: When I'm doing speeding up Rakudo will probably be years from now...  ;)
12:57 azawawi jnthn: thx :)
12:57 colomon s/doing/done/
12:58 Su-Shee colomon: I'm average jane programmer, I don't generate Mandelbrot sets. ;)
12:58 jnthn azawawi: Yeah, I'm really not sure off hand what could be causing it. :(
12:58 colomon I guess, then, the answer is I should get as much done as possible, and let pmichaud++ decide whether it goes in or not.
12:58 zulon joined #perl6
12:59 [Coke] colomon: yah. it's going in /eventually/ =-)
12:59 azawawi jnthn: I have tried it on an xp... i'll try it over vista also tonight to see if it is the same or not. We need blizkost :)
13:00 molecules joined #perl6
13:00 colomon okay, I'm going to have breakfast and then get hacking
13:01 * mathw has dropped the ball on Form's documentation
13:01 * mathw has watched it bounce away down the steps and across a busy motorway
13:01 * moritz_ is glad that balls usually don't break when they hit the floor :-)
13:02 tadzik moritz_: does rakudo at master fail some spectests?
13:02 moritz_ phenny: tell pmichaud to please make sure to pull Math-Model again before shipping R*, I just pushed a fix that makes it work :-)
13:02 phenny moritz_: I'll pass that on when pmichaud is around.
13:03 moritz_ tadzik: no
13:04 Su-Shee *uff* I have simple perl 6, OO, Grammars, Roles & Traits, rules at least mentioned, strived operators.. anything else?
13:05 * azawawi &
13:05 moritz_ Su-Shee: -Ofun :-)
13:06 Su-Shee it's not really fun. too much searching, too much not understanding.
13:06 Su-Shee it's fun if I don't use the fun stuff. ;)
13:09 atrodo joined #perl6
13:10 moritz_ phenny: tell pmichaud it seems that even with a --prefix specified, 'make install' picks up the installation location from the first perl6 in $PATH. Not fatal, but not nice either
13:10 phenny moritz_: I'll pass that on when pmichaud is around.
13:11 daxim joined #perl6
13:12 Su-Shee And now I can start the opinionated piece. ;)
13:12 jnthn moritz_: Yes, you're right, even if I pass a properly quoted path with spaces in to Parrot's Configure.pl for the prefix, it goes and installs to the wrong place.
13:12 jnthn parrot--
13:18 moritz_ http://trac.parrot.org/parrot/ticket/1716
13:19 perlygatekeeper joined #perl6
13:20 cognominal rakudo:  grammar E { token TOP {  \" [ '\\"' | <-["]> ]* \" } }; E.parse('"aa"')
13:20 p6eval rakudo 2808a5:  ( no output )
13:20 cognominal rakudo:  grammar E { token TOP {  \" [ '\\"' | <-["]> ]* \" } }; say E.parse('"aa"')
13:20 p6eval rakudo 2808a5: OUTPUT«"aa"␤»
13:20 cognominal rakudo:  grammar E {  rule TOP {  \" [ '\\"' | <-["]> ]* \" } }; say E.parse('"aa"')
13:20 p6eval rakudo 2808a5: OUTPUT«␤»
13:22 tadzik t/spec/S32-io/file-tests.rakudo ................................ ok
13:22 tadzik \o/
13:22 tadzik looks like I didn't break anything :)
13:22 moritz_ \o/ indeed
13:23 jnthn rakudo: role R { method m { say 42 } }; class C does R { }; C.new.m
13:23 p6eval rakudo 2808a5: OUTPUT«42␤»
13:23 moritz_ \o|
13:25 cognominal I don't understand why substituting 'rule' to 'token' gives a parse  fails here
13:26 petdance joined #perl6
13:26 moritz_ because 'aa' doesn't match a <.ws> a
13:27 cognominal ho, the <.ws> is mandatory! thx.
13:28 moritz_ of course you can add your own ws rule that matches the empty string too
13:28 cognominal I should keep a log of my mistakes. Well, hopefully, I log #perl6
13:29 moritz_ there are public logs too :-)
13:31 cognominal yea, but less easy to parse :)
13:31 moritz_ true
13:31 moritz_ I still plan to implement a better search frontend to it
13:31 moritz_ with KinoSearch
13:31 cognominal btw (:rxtrace)++   it helps very often.
13:32 cognominal KinoSearch?
13:32 moritz_ but ETOOMANYPROJECTS and ETOOLITTLETIME
13:32 moritz_ cognominal: a nice search engine on CPAN
13:33 moritz_ http://search.cpan.org/perldoc?KinoSearch
13:35 cognominal yea, I see. It does stemming.
13:35 moritz_ and lots of other things that the current search is missing
13:35 moritz_ like, proper query parsing
13:38 tadzik moritz_: self.e ?? !$.stat.isdir !! Bool; -- wouldn't it be better to use Bool::False here, just for readability?
13:38 tadzik rakudo: say 'ok' if Bool == Bool::False
13:38 p6eval rakudo 2808a5: OUTPUT«ok␤»
13:39 moritz_ tadzik: there was a test somwhere that assumed a failed ~~ :e test returns an undefined value, or so
13:40 gfldex rakudo: say False.WHAT;
13:40 p6eval rakudo 2808a5: OUTPUT«Bool()␤»
13:40 moritz_ rakudo: say Bool.defined, False.defined
13:40 tadzik moritz_: http://wklej.org/id/369789/ these are the only spectests that fail for me
13:40 p6eval rakudo 2808a5: OUTPUT«01␤»
13:41 pugssvn r31853 | moritz++ | [t/spec] unfudge a passing test for rakudo
13:41 moritz_ tadzik: both seem unrelated... what's your OS?
13:41 tadzik moritz_: Linux
13:41 moritz_ hum.
13:41 tadzik CRUX, to be more precise
13:43 moritz_ ok 2 - We are running under 'thread'
13:43 moritz_ weird OS name
13:43 moritz_ seems like parrot mis-detects your OS
13:43 tadzik looks like isdev doesn't work too good in parrot yet
13:44 tadzik > pir::stat__isi('/dev/null', 3)
13:44 tadzik 0
13:44 tadzik so isdev is basically useless for now
13:45 * jnthn -> lesson, bbl
13:46 tadzik same for uid. Whatever, maybe time for some bug reports. The patch seems to work though
13:46 tadzik moritz_: format-patch?
13:46 moritz_ yes, please
13:46 sftp_ joined #perl6
13:51 tadzik moritz_: mail, nopaste?
13:51 moritz_ tadzik: rakudobug@perl.org, and nopaste it in parallel :-)
13:52 tadzik http://nopaste.snit.ch/22370
13:53 tadzik moritz_: include it as an attachment, right?
13:53 moritz_ tadzik: right
13:53 [Coke] jnthn: we can install in c:\rakudo for now, neh?
13:54 colomon rakudo: say (1, 2, 3).WHAT
13:54 p6eval rakudo 2808a5: OUTPUT«Parcel()␤»
13:54 colomon rakudo: say (1, 2, 3).perl
13:54 [Coke] say .WHAT.WHAT
13:54 p6eval rakudo 2808a5: OUTPUT«(1, 2, 3)␤»
13:54 colomon rakudo: say ((1, 2, 3), 5).perl
13:54 p6eval rakudo 2808a5: OUTPUT«((1, 2, 3), 5)␤»
13:54 moritz_ rakudo: say (1, 2, 3).Seq.perl
13:54 p6eval rakudo 2808a5: OUTPUT«(1, 2, 3)␤»
13:55 jjore joined #perl6
13:56 colomon I'm trying to figure out how to return a Parcel which is another Parcel extended by one element at the end.
13:57 pwd joined #perl6
13:57 colomon rakudo: my $a = (1, 2, 3); say &infix:<,>(!$a, 42).perl
13:57 p6eval rakudo 2808a5: OUTPUT«(Bool::False, 42)␤»
13:57 colomon rakudo: my $a = (1, 2, 3); say &infix:<,>(|$a, 42).perl
13:57 colomon duh
13:57 p6eval rakudo 2808a5: OUTPUT«(1, 2, 3, 42)␤»
13:57 colomon ooooo
13:57 colomon rakudo: my $a = (1, 2, 3); say &infix:<,>(|$a, 42).WHAT
13:57 p6eval rakudo 2808a5: OUTPUT«Parcel()␤»
13:58 colomon that'll do, pig, that'll do.
13:58 moritz_ rakudo: say ((1, 2, 3).flat, 4).perl
13:58 p6eval rakudo 2808a5: OUTPUT«((1, 2, 3), 4)␤»
13:58 * colomon is constructor a very, very simple iterator type
13:58 tadzik moritz_: sent
13:59 moritz_ tadzik++
13:59 moritz_ I need to finish another spectest run before I can apply and test it
13:59 tadzik sure
13:59 tadzik running spectests is hell long -_-
14:00 tadzik 700 tests of tangent function, running like 30 per second…
14:00 PerlJam colomon: for some reason, I find it funny that you use &infix:<,>  *and*  the comma in (|$a, 42)
14:00 colomon strange language, eh?
14:00 PerlJam rakudo: my $a = 1,2,3;  (|$a, 42).WHAT.say
14:00 tadzik :)
14:00 p6eval rakudo 2808a5: OUTPUT«Parcel()␤»
14:00 moritz_ :-)
14:00 moritz_ rakudo: my $a = 1,2,3;  (|$a, 42).perl.say
14:01 p6eval rakudo 2808a5: OUTPUT«(\(1), 42)␤»
14:01 moritz_ rakudo: my $a = (1,2,3);  (|$a, 42).perl.say
14:01 p6eval rakudo 2808a5: OUTPUT«(\(1, 2, 3), 42)␤»
14:01 moritz_ huh.
14:01 PerlJam and I find that completely weird.
14:02 [Coke] Perl 6: I find that completely weird.
14:02 PerlJam Coke++  :)
14:03 PerlSix I am completely weird ... but lovable.
14:03 tadzik bleh, s/current Rakudo/current Parrot/ (in patch)
14:03 tadzik moritz_: ↑
14:04 tadzik does it make sense to send another mail to underline the typo?
14:05 colomon jnthn: ping/
14:05 moritz_ notreally
14:06 synth joined #perl6
14:06 NOTevil joined #perl6
14:07 dual joined #perl6
14:07 [Coke] $ ./install/bin/ufo
14:07 [Coke] PackFile_unpack: This Parrot cannot read bytecode files with version 6.21.
14:07 tadzik1 joined #perl6
14:07 moritz_ meh. old parrot lying around, and being picked up
14:09 [Coke] ew. old /perl6/ lying around and being picked up.
14:09 [Coke] if we're installing our own /everything/, shebang should point to those particular instances.
14:09 moritz_ +1
14:09 [Coke] phenny: tell pmichaud - the shebangs in installed scripts like 'ufo' should have the path to the installed perl6, not "env perl6".
14:09 phenny [Coke]: I'll pass that on when pmichaud is around. I'll have to use a pastebin, though, so your message may get lost.
14:10 [Coke] phenny: you rot!
14:10 [Coke] phenny: tell pheny you rot.
14:10 phenny [Coke]: I'll pass that on when pheny is around.
14:10 [Coke] phenny: tell phenny *thbbtp*
14:10 phenny Hey, I'm not as stupid as Monty you know!
14:10 [Coke] there we go.
14:10 [Coke] $ ./install/bin/perl6 ./install/bin/ufo
14:10 [Coke] lib/ doesn't exist. Nothing to do.
14:12 zulon joined #perl6
14:12 plobsing joined #perl6
14:14 nwc10 left #perl6
14:16 * colomon has a fencepost error
14:17 * moritz_ hands colomon the one missing fencepost
14:17 colomon Actually, Obi-Wan error would be more appropriate name considering current music.
14:17 * frettled waves hand slowly.
14:17 frettled This is not the error you are looking for.
14:18 colomon bingo!
14:18 tadzik :D
14:18 Guest23195 joined #perl6
14:18 pugssvn r31854 | moritz++ | [t/spec] rakudo does not do Instant and Duration yet
14:20 patspam joined #perl6
14:21 colomon rakudo: say (). WHAT
14:21 p6eval rakudo 2808a5: OUTPUT«===SORRY!===␤Confused at line 22, near "say (). WH"␤»
14:21 colomon rakudo: say ().WHAT
14:21 p6eval rakudo 2808a5: OUTPUT«Parcel()␤»
14:23 [Coke] the blocks returned by use should probably not stringify to _blockFoo.
14:24 Mowah joined #perl6
14:25 javs joined #perl6
14:25 cono [Coke]: hey. Sent e-mail to perl6-bugs-follow@perl.org with diff in attachment, but still have not reply...
14:26 [Coke] which ticket #?
14:26 tadzik I thought it was intentional :)
14:26 cono [Coke]: Yup. subject: Re: [perl #75752] [PATCH] make realclean before svn update (parrot)
14:26 patch joined #perl6
14:27 moritz_ http://conferences.yapceurope.org/ye2010/news/617 the second one should be easy for the people in here :-)
14:28 tadzik something ~~ /bridge/, right? :)
14:28 tadzik I have no idea though. Curious
14:28 [Coke] cono: yah, I don't see it either.
14:29 [Coke] cono: where did you get the "follow" address? just a reply to?
14:29 [Coke] ;(for me it's bugs-bitbucket@rt.perl.org)
14:30 [Coke] and it might be moderated because it's email. and the guy doing the moderation is, I think, on vacation or otherwise occupied, so other overworked folks are picking up the slack as possible.
14:30 cono [Coke]: http://home.cono.org.ua/rt.png
14:30 cono [Coke]: yes, Just replied
14:30 [Coke] no rush, though; it'll probably wait until after * anyway.
14:37 dolmen_ masak: what is the state of LAST { } ?
14:38 dolmen_ rakudo: my @a = <a b c> for @a { LAST { say "xx" } };
14:38 p6eval rakudo 2808a5: OUTPUT«===SORRY!===␤Confused at line 22, near "my @a = <a"␤»
14:39 dolmen_ rakudo: my @a = <a b c>; for @a { LAST { say "xx" } };
14:39 p6eval rakudo 2808a5: OUTPUT«===SORRY!===␤LAST phaser not yet implemented at line 22, near " };"␤»
14:48 Axius joined #perl6
14:49 Axius rakudo: say (35 - 35 * 3) + 34
14:49 p6eval rakudo 2808a5: OUTPUT«-36␤»
14:50 [Coke] colomon: please get an RT account so you can have tickets assigned to you. :P
14:50 colomon how does one get an RT account?
14:51 moritz_ I think rt.perl.org/rt3/ has a link for creating an account
14:52 * colomon hates RT, for what it is worth
14:52 frooh_ colomon: either a bitcard account or a PAUSE account will work
14:52 frooh_ colomon: but I think you can just send mail w/o an acct..
14:53 moritz_ colomon: still much better than track
14:53 tadzik would anyone mind Perl6's File::Find not even trying to resemble Perl5's File::Find at all?
14:53 colomon moritz_: come to think of it, I'm not sure I've ever seen a bug tracker I didn't hate.
14:53 frooh_ tadzik: please
14:53 tadzik frooh_: you mean?
14:54 frooh_ tadzik: lets make new mistakes :D
14:54 moritz_ tadzik: wfm
14:54 [Coke] frooh_: yes, he can send email without an account. but I cannot assign tickets to people sans accounts.
14:54 frooh_ tadzik: I mean the old interface suxxorz
14:54 frooh_ [Coke]: ah, ok
14:54 tadzik frooh_: I'd rather make something like File::Find::Rule and not differenciate these modules at all
14:54 tadzik I'm glad no one likes File::Find :)
14:54 frooh_ tadzik: yeah, that sounds more sane
14:54 moritz_ tadzik: I do want a generic file iterator sometimes
14:54 tadzik so it shall be done
14:54 [Coke] colomon: rt may suck (it doesn't), but I remain steadfastly apathetic in regards to leaving it. (having migrated parrot, I will NEVER do that again. =-)
14:55 tadzik moritz_: what do you mean? The good ol' callback-on-every-file interface?
14:55 moritz_ tadzik: but I'm fine if it's not advertized as the one-and-only approch
14:55 moritz_ tadzik: yes
14:55 moritz_ though of course lazy lists make the callbacks mostly unnecessary
14:55 tadzik moritz_: F::F::Rule returns an array of matching files, and so would be our File::Find. Still adding a .callback method isn't a problem at all
14:56 [Coke] evalbot owner, IWBNI he didn't carp on private messages, or perhaps defaulted to something sane.
14:56 colomon [Coke]: have RT account, e-mail there is colomon@gmail.com, user id is Solomon
14:56 moritz_ if I can do   for files('.', matching => :f) -> $f { ... } to get all plain files, that's fine too
14:56 moritz_ as long as the list is lazy
14:57 * [Coke] needs to dig up the "how to add someone to RT" metadata.
14:58 tadzik moritz_: I was thinking about find(.).type('f') or something like this, the methods being something like grep actually
14:58 moritz_ [Coke]: when you have done that, you can also add colomon++ as a bug admin for the perl6 quueue (guess that was your intention, not sure though)
14:58 tadzik but grepping a lazy list is a bit stupid maybe. And I'm not sure how to implement a lazy list there
14:58 moritz_ tadzik: wfm too
14:59 colomon hey, wait a minute, have I been lured into a trap here?  :\
14:59 tadzik Let's make it work and the make it better maybe
14:59 colomon loliblogged: http://justrakudoit.wordpress.com/2010/07/28/a-more-complete-design/
14:59 [Coke] colomon: hey, you have colomon & Solomon =-)
14:59 colomon do I?
14:59 [Coke] whoops. =-)
15:00 [Coke] yah. must have had an old account that didn't show up in the list I was looking at.
15:00 [Coke] I'll op Solomon.
15:00 moritz_ tadzik: if you pass the matchers straight to find(), it's easier to do it both lazy, and abort early
15:00 tadzik moritz_: yeah, sounds better. And this grep-like feature can be available too
15:00 [Coke] colomon: you should be a bugadmin now.
15:01 colomon [Coke]: happy happy.  joy joy.
15:02 tadzik moritz_: still, I don't know how should laziness work here. I guess the subdirectories will be read only after the directory itself will be read, that's the point? Yet I still don't know how it should be implemented
15:02 [Coke] also, I gave you ticket 73402, because it said something about int and num!
15:02 [Coke] ;)
15:02 moritz_ tadzik: it's easy. Just return a gather { ... }, and take() a file name (or path object) once you've found a file
15:03 tadzik waitwaitwait
15:03 tadzik So I'll be returning a gather-take result, that's quite obvious to me. But about the things inside... hmm, let me read something more about gather-take
15:04 moritz_ rakudo: my @a := gather { for 1..4 { take $_; say $_ } }; @a[2];
15:04 p6eval rakudo 2808a5: OUTPUT«1␤2␤»
15:05 moritz_ the say 3; say 4; have never been executed, because only the three first array elements needed to be evaluated
15:05 moritz_ neat, huh?
15:06 tadzik yeah, that's what laziness is all about I guess :)
15:07 tadzik Hmm, using gather-take and lazy lists would be quite simple with the recursive approach I'm using now?
15:07 moritz_ note that you can also call a subroutine, which calls take()
15:07 moritz_ it's dynamically scoped
15:07 tadzik ah, so it maybe is possible
15:07 tadzik oh, wait
15:07 tadzik s/simple/impossible/
15:08 tadzik so now it looks possible
15:08 tadzik I have to get my head around this gather for a sedcond
15:08 moritz_ actually it's not really harder than the non-lazy version
15:08 moritz_ typically you'd do
15:08 moritz_ my @a;
15:09 moritz_ # some code here that pushes to @a
15:09 tadzik ah, I get it now
15:09 moritz_ return @a
15:09 moritz_ instead you do
15:09 moritz_ gather {
15:09 tadzik I was thinking of gather as some specific kind of a loop
15:09 tadzik now I see it's just a magic block
15:09 moritz_ # some code that take()s what you would push to @a
15:09 moritz_ }
15:09 moritz_ right
15:09 tadzik cute
15:10 tadzik I was planning to abandon recursion here anyway, but that'd be also ok I guess
15:10 moritz_ indeed
15:10 moritz_ @larry++
15:10 moritz_ as long as you don't recurse into the function that has the gather-block (but maybe into a helper), that's fine
15:12 tadzik so when we're trying to reach the forth element, gather does not really know what and where it is, it just runs until the forth take() is called, right?
15:12 moritz_ you could look at it that way, but that's not quite what happens
15:13 moritz_ the take() interrupts the control flow
15:13 moritz_ and as soon as items are accessed that have not been computed ("reified") yet, the execution continues
15:13 tadzik I see
15:13 tadzik so it won't compute anything twice
15:13 moritz_ right
15:16 dalek book: abcc64c | (Nikolai Prokoschenko)++ | lib/Makefile (2 files):
15:16 dalek book: update latex-makefile from upstream, our xelatex patches has been integrated
15:16 dalek book: review: http://github.com/perl6/book/commit/abcc64c80aa04dddf215443f1d4ff21ed0464966
15:21 dalek rakudo: 8049d92 | Coke++ | README:
15:21 dalek rakudo: Apply spirit of RT #70642, Courtesy Scott Penrose
15:21 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/8049d92de151a63ffeba3cae8e7dc4d478a955af
15:21 huf joined #perl6
15:22 tadzik erm
15:23 tadzik Note that if you have multiple (Perl 5) C<perl>s in your path, you may need to use a fully qualified path
15:23 tadzik didn't you mean: Perl 6?
15:23 moritz_ or is the perl 5 for the configuration process meant?
15:24 pmichaud good morning, #Perl6
15:24 phenny pmichaud: 11:25Z <jnthn> tell pmichaud I have done a fix that gets modules-install to work on Win32.
15:24 phenny pmichaud: 11:26Z <jnthn> tell pmichaud Seems the installed modules work from the installed Rakudo too. \o/ Pushed, plus some README tweaks.
15:24 phenny pmichaud: 13:02Z <moritz_> tell pmichaud to please make sure to pull Math-Model again before shipping R*, I just pushed a fix that makes it work :-)
15:25 phenny pmichaud: 13:10Z <moritz_> tell pmichaud it seems that even with a --prefix specified, 'make install' picks up the installation location from the first perl6 in $PATH. Not fatal, but not nice either
15:25 phenny [Sorry, some messages were elided and lost...]
15:25 pmichaud looks like I overslept
15:26 gfldex and unhealthy amount of sleep would be worse
15:27 [Coke] pmichaud: when installing 'ufo' et al., we shouuld modify the shebang to point to the install directory perl6.
15:27 dalek rakudo: 3fbd628 | (Tadeusz Sośnierz)++ |  (3 files):
15:27 [Coke] (otherwise when running ufo, it picks up the perl6 in your path, which might be old/wrong/borken/)
15:27 dalek rakudo: Added IO::Stat, and a .stat method for IO
15:27 dalek rakudo: Signed-off-by: Moritz Lenz <moritz@faui2k3.org>
15:27 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3fbd62810a27f6b5d64e7f7128892315600118c9
15:27 dalek rakudo: 7e8134c | moritz++ | tools/contributors.pl:
15:27 dalek rakudo: [tools/contributors.pl] avoid infinite recursion, general cleanup
15:27 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7e8134c58359af840a10317a32008d4f47184d70
15:30 Ross^ joined #perl6
15:36 pmichaud [Coke]: I think 'ufo' and friends should just have '#! perl', and not aim for a specific perl.
15:36 pmichaud is that not the standard for other perl scripts?
15:37 pmichaud pmichaud@orange:~$ head -3 /usr/local/bin/ack
15:37 pmichaud #!/usr/bin/env perl
15:37 pmichaud #
15:37 pmichaud # This file, ack, is generated code.
15:37 pmichaud rephrase
15:37 [Coke] pmichaud: the problem is that I already have perl6 installed, and <random dir I downloaded to>/install/bin is not in my path.
15:37 * jnthn back
15:37 jnthn o/ pmichaud
15:37 pmichaud [Coke]: I think 'ufo' and friends should just have '#! perl6', and not aim for a specific perl6
15:38 [Coke] then don't make them executable.
15:38 alester ufo?
15:38 [Coke] well, that wouldn' thelp, nevermind.
15:38 molecules joined #perl6
15:38 [Coke] but even if they are exectuable, the only reason it even ran is because I had an /old/ perl6 in my path.
15:39 [Coke] for the default linux user, it will just die anyway.
15:39 jnthn colomon: pong
15:39 * pmichaud chuckles at the number of comments in backscroll that say "should we document X?"   where X is already documented in the README.
15:39 [Coke] env: perl6: No such file or directory
15:40 [Coke] (that's what you'll get.)
15:41 [Coke] (the readme does address this. I think we can do a better default, but am willing to point people to the readme. that's fine.)
15:41 [Coke] pmichaud++
15:41 [Coke] -> afk
15:42 pmichaud jnthn: I see you added test-mock into the list of modules, but din't add it to the Makefile.in .. Oversight?
15:43 jnthn pmichaud: Lack of realisation that I had to, probably not helped my insufficient coffee consumption at the time I did it. ;-)
15:43 pmichaud sure
15:43 jnthn pmichaud: Now you mention it it's like "duh, of coruse" :-)
15:43 jnthn I'll add it.
15:43 jnthn The Windows fix was the more important push :-)
15:43 pmichaud yeah, I'm not entirely happy with the way it's set up at the moment -- not enough DRY
15:43 pmichaud (the modules listing)
15:44 jnthn We can improve that in future distros.
15:44 pmichaud right
15:44 molaf joined #perl6
15:44 pmichaud I'm hoping/expecting we'll have better module management overall at some point
15:44 jnthn Same
15:45 pmichaud I'll add a note to the Makefile that says "if you add a module here, don't forget to add it to Makefile.in"
15:45 colomon jnthn: was going to ask about how to quickly make a parcel.  see http://justrakudoit.wordpress.com/2010/07/28/a-more-complete-design/
15:45 Ross^ joined #perl6
15:46 jnthn pmichaud: wait, I'm tangled in a twisy maze :-)
15:46 pmichaud jnthn: ah, you are indeed.
15:46 jnthn pmichaud: What is the Makefile in the root?
15:46 pmichaud it was added to build/download-stuff.pl, which isn't used anymore.
15:46 jnthn The committed one?
15:46 jnthn Oh
15:46 pmichaud yeah.
15:46 jnthn Then let's kill it :-)
15:46 pmichaud killing
15:46 jnthn OK, so it has to go in two makefiles
15:47 jnthn Makefile and skel/build/Makefile.in ?
15:47 Tene pmichaud: I looked at beta3 last night.  make still claimed 'run make test or make spectest to test rakudo', but 'make test' did not work.
15:48 Tene make rakudo-test as mentioned in the README worked fine, of course.
15:48 pmichaud hmmm.  I bet that's coming from rakudo's make.
15:48 Tene yeah
15:48 pmichaud oh, wait.
15:49 pmichaud it's coming from rakudo's Configure.pl
15:49 pmichaud test::mock fixes pushed
15:50 huf can you somehow "upgrade" a Block to a Sub (or any other block that's not transparent to return)
15:50 jnthn pmichaud: Oh, I'd justprepared them too :-)
15:51 hexcoder joined #perl6
15:53 richard_sk_ joined #perl6
15:54 mscha rakudo: sub foo(Int *@bar) { say "@bar[]"; }; foo(1, 2, 3, "apple");
15:54 p6eval rakudo 2808a5: OUTPUT«1 2 3 apple␤»
15:55 huf what's the top of the number type hierarchy?
15:55 jnthn Numeric
15:57 huf ah. what's Num?
15:57 huf or was that renamed?
15:57 jnthn colomon: Making a Parcel is probably easiest done by my $parcel := pir::new__Ps('Parcel'); pir::push($parcel, $value); etc
15:57 jnthn huf: Num is a flaoting point number
15:57 colomon huf: Num is a floating point number
15:57 huf ah, thanks
15:57 jnthn heh :-)
15:57 huf so how about my other question? :) (can you "cast" a Block to a Sub?)
15:58 jnthn Even if you could somehow type cast it, it won't make much difference with regard to what you can return from.
15:58 colomon jnthn: that didn't seem to work when I tried it earlier, but I may not have had the ideal __xx after new.
15:58 jnthn colomon: I think I got it to wrok last night
15:58 jnthn Note := and not =
15:58 jnthn Makes an important difference here
15:58 colomon jnthn: yeah, I definitely had = before.  duh.
15:58 jnthn colomon: Yeah, that makes it into a Seq.
15:59 jnthn Since that's what comes of parcels in item context.
15:59 jnthn huf: What's your use case, ooc?
15:59 pyrimidine joined #perl6
15:59 huf jnthn: i'm just trying to wrap my head around it, and wanted to know if there's a way to fiddle with the difference between different callable types
16:00 jnthn huf: The return exceptions work by us compiling routines to have a handler that catches return exceptions though, so just casting something to Sub if you could do so isn't going to change that.
16:00 colomon jnthn: in retrospect that's obvious.  ;)
16:00 jnthn colomon: In reality, I wrote = when I first tried it too ;-)
16:01 huf jnthn: so sub (Sub &c) { ... } not working is a rakudo thing?
16:01 jnthn huf: What do you think that's going to do?
16:01 huf i'd expect it to only accept subs as parameter, not blocks
16:01 huf but it seems i'm confused
16:01 jnthn huf: Ah, then it's your expectations that are wrong. :-)
16:02 jnthn huf: sub foo (Int @x) { ... } # this means an array declared as having Int elements
16:02 jnthn huf: sub foo (Int &x) { ... } # this means a sub declared as "returns Int"
16:03 huf ah. so how do you restrict on the type of callable?
16:03 colomon Sub $c
16:03 huf the & sigil is just a shorthand for something here, no?
16:03 jnthn huf: Sub $x will do it.
16:03 jnthn Yeah
16:03 huf so no way to keep the nice bareword-looking subroutine name and restrict?
16:03 jnthn &x is short for Callable $x
16:03 huf or can i say c() after Sub $c?
16:03 jnthn No, you can't
16:04 jnthn You can maybe do (&c where Sub) in Rakudo today
16:04 huf so &x isnt Callable $x ? :)
16:04 jnthn huf: It is so far as the dispatcher cares. ;-)
16:04 huf yeah
16:04 huf this is fun
16:04 jnthn But yes, you're correct in that it doesn't let you call it as c()
16:05 mscha rakudo: my @fibo := gather { my $a=0; take $a; my $b=1; take $b; loop { ($a,$b) = ($b,$a+$b); take $b }}; for 3,5,3 -> $i { say @fibo[$i]; }
16:05 p6eval rakudo 2808a5: OUTPUT«2␤5␤5␤»
16:05 jnthn I think that some day you should also be able to write "&c is Sub" but I'm a bit reluctant on that one because it confuses implementation type with traits in general.
16:05 mscha Should be 2, 5, 2, no?
16:06 huf jnthn: so there's no specced way to do this yet? oh well, we're used to sigils on callbacks anyway ;)
16:06 jnthn huf: I think the spec says "is Sub" should work. I'm just saying that it's one of the bits of the spec that I look at and feel quite awkward about.
16:07 pmichaud fwiw,   I'm wondering if   $p := ...   will also force item context on its rhs
16:07 colomon mscha: is that the "take $a" issue?
16:07 pmichaud (which would invalidate the "new Parcel" bit)
16:07 huf jnthn: i see.
16:07 colomon rakudo: my @fibo := 1, 1, *+* ... *; for 3,5,3 -> $i { say @fibo[$i]; }
16:07 p6eval rakudo 2808a5:  ( no output )
16:07 jnthn huf: Anyway, the answer is "yes there should be a way, but I'm not sure the way the spec currently suggests is how it'll end up looking".
16:08 huf i'll wait a bit before trying to understand this bit. there's other stuff
16:08 colomon > my @fibo := 1, 1, *+* ... *; for 3,5,3 -> $i { say @fibo[$i]; }
16:08 colomon ===SORRY!===
16:08 colomon .[3] out of range for type Int()
16:08 jnthn :-)
16:08 Tene rakudo: my @fibo := 1, 1, *+* ... 500; for 3,5,3 -> $i { say @fibo[$i]; }
16:08 p6eval rakudo 2808a5:  ( no output )
16:08 mscha colomon: dunno, don't know what the "take $a" issue is.  Your range version is of course simpler and more elegant, but I was just trying out gather/take.
16:08 Tene rakudo: my @fibo := 1, 1, *+* ... 50; for 3,5,3 -> $i { say @fibo[$i]; }
16:08 p6eval rakudo 2808a5:  ( no output )
16:09 pmichaud rakudo: say (1, 1, *+* ... *).[3];
16:09 Tene rakudo: my @fibo := 1, 1, *+* ... 50; say @fibo.perl;
16:09 p6eval rakudo 2808a5: OUTPUT«3␤»
16:09 p6eval rakudo 2808a5: OUTPUT«1␤»
16:09 Tene rakudo: my @fibo := 1, 1, *+* ... 50; say @fibo[0..5].perl;
16:09 p6eval rakudo 2808a5: OUTPUT«(1, undef, undef, undef, undef, undef)␤»
16:09 colomon mscha: I think what's happening is that you're not taking the values like you expect, you're actually taking the variables themselves
16:09 jnthn Tene: Precednece maybe.
16:09 pmichaud actually, it's item binding
16:09 pmichaud not list binding
16:09 pmichaud @fibo is being bound to 1
16:09 Tene ahh
16:09 jnthn Right.
16:10 colomon works if it's my @fibo := (1, 1, *+* ... *);
16:10 mscha rakudo: my @fibo := gather { my $a=0; take 0+$a; my $b=1; take 0+$b; loop { ($a,$b) = ($b,$a+$b); take 0+$b }}; for 3,5,3 -> $i { say @fibo[$i]; }
16:10 Tene rakudo: my @fibo := (1, 1, *+* ... 50); say @fibo[0..5].perl;
16:10 p6eval rakudo 2808a5: OUTPUT«2␤5␤2␤»
16:10 p6eval rakudo 2808a5: OUTPUT«(1, 1, 2, 3, 5, 8)␤»
16:10 pmichaud (I'm still of the opinion that item assignment causes more confusion than it helps)
16:10 mscha That's better.
16:10 colomon mscha: there you go.
16:10 colomon mscha: what you had before was basically a list that went ($a, $b, $b, $b, $b ...)
16:11 colomon so as you changed those values, the results changed.
16:11 mscha yup, got it.
16:11 mscha thx.
16:11 Tene That's a bug, yes?
16:11 colomon Tene: we've debated a good bit on that.
16:11 pmichaud yes.
16:12 Tene I thought I remembered seeing that fixed?
16:12 Tene did that not happen, or am I misremembering?
16:12 pmichaud take should de-containerize the values it returns
16:12 pmichaud (so should return, unless "is rw" is set)
16:13 pmichaud fixing that in rakudo at the moment will break a few places where 'return' is being abused to get a container.
16:13 * [Coke] sort of apologizes for the huge RT churn on the mailing list.
16:13 [Coke] (but not really)
16:13 colomon "is rw" is set where?
16:13 pmichaud colomon: on a sub
16:13 pmichaud my sub xyz() is rw { ... }
16:13 pmichaud NYI, of couse.
16:14 pmichaud *course
16:14 colomon pmichaud: how does that relate to the gather / take?
16:14 colomon oh, never mind, I see
16:14 pmichaud in the case of gather / take, I think take always decontainerizes
16:14 pmichaud and if you really want to give access to the container, you take a capture or something like that
16:14 colomon and in the case of "return", only if sub is rw
16:15 pmichaud colomon: exactly.
16:15 colomon I read your original line there with "return" as a verb, not a p6 statement.
16:15 pmichaud ah, yes.  I forgot my C<...>  :)
16:16 colomon :)
16:20 cxreg why is everyone always talking about the new york islanders in here
16:21 Tene eh?
16:21 Tene oh
16:21 Tene NYI is Not yet Implemented
16:21 pmichaud (the islanders aren't implemented yet?)
16:21 Tene nope
16:22 pmichaud hmmmmm
16:22 moritz_ the islanders aren't new yet
16:22 jnthn So they're still on the mainland? :-)
16:22 * moritz_ starts to read Dave Whipp's latest mail on p6l, and then stops reading again
16:23 jnthn lol
16:23 PerlJam moritz_: heh, I was just doing that too
16:23 moritz_ does he *really* think that having 1..1e10 an unordered collection is a good idea?
16:24 pmichaud Tene: Configure.pl message now reads
16:24 pmichaud "You can now use 'make' to build Rakudo Perl.
16:24 pmichaud After that, you can use 'make rakudo-test' to run some local tests,
16:24 pmichaud or 'make install' to create a 'perl6' executable in the local directory
16:24 pmichaud and in /home/pmichaud/star/rakudo-star-beta4/install/bin/perl6 .
16:24 pmichaud "
16:24 moritz_ I mean... come on. Just because it's p6l doesn't mean you have to go all bananas
16:25 jnthn moritz_: The subject line of your reply should be "Suggested sanity for p6l posters" ;-)
16:25 pmichaud "Yes, we have no bananas."
16:25 pmichaud I've obviously missed this thread.
16:25 jnthn pmichaud: Lucky you!
16:25 moritz_ jnthn: I'm sorely tempted. But I fear I'd make myself a few enimies. Or maybe a lot
16:25 pmichaud I'm so glad that implementation of Perl 6 can be so far removed from p6l.  :-)
16:26 * moritz_ should propose a second mailing list, perl6-lunatics
16:26 jnthn pmichaud: Is there anything that could use my attention for star?
16:26 jnthn pmichaud: I may look later on tonight at an MSI.
16:26 pmichaud MSI?
16:26 pmichaud oh, automatic installer? neat.
16:26 moritz_ windows installer thingy
16:26 jnthn Gah, these *nix users know nothing :P
16:27 pmichaud if you do a windows installer binary, perhaps see if you can fold Padre into the mix.
16:27 moritz_ they have .deb. Erm, .rpm....
16:27 jnthn pmichaud: Yes, the "standard" installer format for Windows these days.
16:27 justatheory joined #perl6
16:27 [particle] .oO(make scene investigator?) ;)
16:27 jnthn Where "standard" is like, "often used"
16:27 pmichaud I hardly ever use it.  :-P
16:27 jnthn pmichaud: Folding Padre in feels like a bit of a challenge. And perhaps even the wrong way around.
16:28 [particle] it is the wrong way around
16:28 jnthn pmichaud: Given I suspect the Padre installer is going to be more complex than the Rakudo one
16:28 [particle] padre already includes rakudo, dunnit?
16:28 jnthn ...even if I *am* planning to binary patch the exe file after installing it.
16:28 jnthn But I didn't tell you that bit.
16:28 jnthn :-)
16:28 jnthn The joy of compiled in paths... :/
16:30 zulon joined #perl6
16:30 jnthn [particle]: Not sure
16:30 jnthn Not everyone who wants Rakudo will want an IDE anyways
16:30 [particle] no, it has a plugin for parrot, and maybe for rakudo
16:30 jnthn No harm in having both options.
16:30 [particle] with padre, it would be a different distribution, and not R*, imo
16:37 [Coke] even if we decide to include it, I would recommend against trying to add it at *-2.
16:37 pmichaud wfm
16:37 [Coke] Rant: It should be *-0, not *-1 for the last element! W(*#&@
16:37 [Coke] Is it too late to fix that? =-)
16:38 pmichaud yes
16:38 [Coke] I don't mean for tomorrow, just in general.
16:38 PerlJam [Coke]: why?  * is always just beyond your reach, so *-1 should clearly be the last element.
16:38 pmichaud ...what PerlJam said.
16:38 pmichaud * corresponds to the number of elements, not the index of the last one.
16:39 [Coke] lame, but at least explainable.
16:39 cdarroch joined #perl6
16:39 cdarroch joined #perl6
16:39 PerlJam [Coke]: take up any lameness with TimToady :)
16:39 pmichaud I also suspect that *-1 preserves various modulo-arithmetic type properties that *-0 would cause to be off-by-one.
16:39 [Coke] (I actually prefer tcl's approach here, but am SURE I'm in the minority on that one. =-)
16:40 PerlJam [Coke]: how does tcl do it?
16:40 [Coke] http://www.tcl.tk/man/tcl8.6/TclCmd/string.htm#M9
16:41 [Coke] (same for list access as indexed string access). They use the marker "end" there, which is probably how I'm reading the * in p6.
16:41 [Coke] NBD. All the perl5 people will want it the way it is. =-)
16:42 PerlJam rakudo:  my @a = 'a'..'z';  say @a[@a.end];
16:42 p6eval rakudo 2808a5: OUTPUT«z␤»
16:42 PerlJam there you go!  :)
16:42 * moritz_ ponders a new p6d mailing list, where d stands for 'decision' as much as 'design'
16:42 [Coke] moritz_: or you could try not to let p6l bother you. =-)
16:42 davidfetter joined #perl6
16:42 davidfetter hello
16:42 tadzik moritz_: thanks for applying :)
16:43 pyrimidine left #perl6
16:43 pyrimidine joined #perl6
16:43 davidfetter is there an equivalent in perl6 to sub foo{my $bar=shift...} ?
16:43 moritz_ [Coke]: occasionally there are things I want to discuss, and which are more complicated than a few lines in IRC can convey easily
16:43 PerlJam I wonder if something like   @some-long-array-name[*.end] could be made to work.
16:43 [Coke] rakudo:  my @a = 'a'..'z';  say @a[@a.end+3];
16:43 p6eval rakudo 2808a5: OUTPUT«Any()␤»
16:43 [Coke] rakudo:  my @a = 'a'..'z';  say @a[@a.end-3];
16:43 p6eval rakudo 2808a5: OUTPUT«w␤»
16:43 moritz_ rakudo: sub foo { say @_.shift }; foo(1, 2, 3)
16:43 p6eval rakudo 2808a5: OUTPUT«1␤»
16:44 [Coke] moritz_: right, but language seems to be the place for that to happen, even if half the threads are crazy.
16:44 moritz_ rakudo: sub foo(*@a) { say @a.perl  }; foo(1, 2, 3)
16:44 p6eval rakudo 2808a5: OUTPUT«[1, 2, 3]␤»
16:44 [Coke] (it's better than the RFC days!)
16:44 davidfetter anybody?
16:44 moritz_ davidfetter: yes. Just look at my two examples above
16:44 _macdaddy joined #perl6
16:44 davidfetter ah. thanks :)
16:44 moritz_ [Coke]: it goes so far that I don't want to send proposals to p6l, because I don't want to deal with lunatic replies
16:45 PerlJam moritz_: :-(
16:45 moritz_ [Coke]: for example I want to design an exception system (maybe type hierarchy, maybe not), and now I'm wondering how to propose it
16:45 moritz_ maybe nopastes with links from here in the channel
16:46 dukeleto moritz_: i hear you. it seems that people like to hear themselves on that list, but don't consider actual implementation
16:46 PerlJam moritz_: I guess start here on IRC and then move to private email once you've got the right group worked out.
16:46 [Coke] moritz_: if you can't ignore the lunatics, throw it in wiki.
16:46 dukeleto davidfetter: you have to use shift on the object you want to shift now
16:46 moritz_ dukeleto: it's not that they want to hear themselves - it's more like they haven't realized that Perl 6 is quite mature in many areas
16:47 moritz_ right, there are no implicit defaults anymore
16:47 davidfetter what have i done wrong? http://plparrot.privatepaste.com/2b56255434
16:47 mscha davidfetter: even better equivalent: sub foo($bar) { ... }
16:47 [Coke] or, let me rephrase this: why do you think there will be any less crazy on p6d?
16:47 patch moritz_: howdy
16:47 moritz_ davidfetter: what kind of thing is this wrapped into?
16:47 patch moritz_: has any work commenced on a json dumper?
16:48 davidfetter moritz_, it's pl/perl6. cf. #plparrot
16:48 [Coke] moritz_, patch: basic dumper is available from parrot, fwiw.
16:48 dukeleto davidfetter: oh boy, what have you done now? i think this question is better suited for #plparrot
16:48 davidfetter yes
16:48 PerlJam moritz_: I thought the lunacy on p6l was just because everybody loves a good bikeshed.
16:48 jnthn patch: See http://github.com/moritz/json/
16:48 moritz_ [Coke]: I hope that with the right intro, FAQ and mailing list rules, and not advertising, we can have the right people in for a year or two, before the rest of the crowd arrives
16:49 moritz_ patch: JSON::Tiny can dumb JSON - is there anything else you want?
16:49 PerlJam moritz_: or just moderate the list yourself :)
16:49 ashleydev joined #perl6
16:49 jnthn moritz_: dump? :-)
16:49 moritz_ jnthn: it's a dumb dumper :-)
16:49 jnthn ;-)
16:50 patch moritz_: thanks, i didn't realize that
16:50 moritz_ jnthn: and I'm from frankonia, where b and p are essentially the same letter :-)
16:51 jnthn .oO( Connection reset by beer )
16:51 moritz_ davidfetter: point is, the code you showed is not a sub, but just code
16:51 patch moritz_: i'm about to start work on jsync, that's why i ask
16:51 PerlJam from #padre .... <@azawawi> Sewi: now back to blizkost under win32 :)
16:51 jnthn :)
16:51 davidfetter moritz_, looks like this is pl/parrot-specific
16:51 moritz_ davidfetter: and you can only use @_ in subs that don't declare a signtaure
16:52 moritz_ davidfetter: so if it's wrapped into   sub f() { ... }, the () provide an empty signature -> boom
16:55 [Coke] anyone working on de-podifying README?
16:56 moritz_ [Coke]: iirc pmichaud rejected it
16:56 [Coke] no, that's not what he said. =-)
16:56 [Coke] I said a bit more about it as well:  I think we should just eliminate
16:56 [Coke] the pod from the README file altogether, and leave it as plain text."
16:56 [Coke] er, missing initial ".
16:56 moritz_ where it == the approach that I suggested, and frettled++ submitted a patch for
16:57 ingy morning
16:57 davidfetter yes, it is
16:57 [particle] (plain text)++ # i thought that's what was agreed upon
16:57 [Coke] right. pmichaud just recommended on list just removing the POD markers from README and going with a straight text file.
16:57 * [Coke] does so.
16:59 davidfetter left #perl6
17:01 * [Coke] is just going to a straight perldoc -otext for first pass, methinks.
17:01 moritz_ [Coke]: I think the pod2text output is a reasonable first approximation
17:01 * moritz_ too slow
17:03 * [Coke] wonders if that looks the same.
17:03 dukeleto rakudo: sub f(@a) { say ~@_ } foo(1...3)
17:04 p6eval rakudo 3fbd62: OUTPUT«===SORRY!===␤Placeholder variable cannot override existing signature at line 22, near "foo(1...3)"␤»
17:04 * dukeleto facepalms
17:04 dukeleto rakudo: sub f(@a) { say ~@_ } f(1...3)
17:04 p6eval rakudo 3fbd62: OUTPUT«===SORRY!===␤Placeholder variable cannot override existing signature at line 22, near "f(1...3)"␤»
17:04 PerlJam [Coke]: it does here.
17:04 dukeleto interesting
17:04 PerlJam [Coke]: complete with funky character after "Perl" in many (all?) places
17:05 [particle] perl 6 assumes utf-8
17:05 [particle] so non-breaking spaces in readme's are legal
17:05 dukeleto moritz_: so if any function signature is given, @_ is not valid to use within a sub ?
17:05 moritz_ dukeleto: as I said, you can only use @_ if you don't have a signature yet (or use @_ in the signature)
17:05 moritz_ right
17:05 dukeleto moritz_: ok, just verifying, thanks
17:05 * moritz_ too slow, again
17:05 PerlJam [particle]: ah, a non breaking space.  that makes sense
17:06 [particle] it may be worth mentioning its presence in the readme, though.  it will be asked.
17:07 [Coke] [particle]: I am removing the non-breaking spaces, especially since they were not used uniformly. Someone else can add them in if they wish.
17:07 pmichaud [Coke]: +1
17:07 [particle] fair enuff
17:09 dalek rakudo: fe29cde | Coke++ | README:
17:09 dalek rakudo: README should be in text, not POD.
17:09 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/fe29cde77e63c798bc7cf2a8c764d9ed012f2d27
17:09 [Coke] probably time to split some of that out, too.
17:10 jnthn moritz_: oh heh, I was just writing a reply about "hyper" and you beat me. :-)
17:10 moritz_ all() was clever thinking, but it's allowed to short-circuit as soon as one result is False
17:11 patch [Coke]: how would I access the parrot json dumper from p6?  Q:json { ... } ?
17:11 jnthn moritz_: It's not clever really because -> $x will call the block once with the junction.
17:11 moritz_ jnthn: I know. Modulo that, of course
17:11 jnthn :-)
17:12 moritz_ but I didn't bother pointing that out on the list, since it's a lost cause anyway
17:13 jnthn moritz_: Heh, my post was like "Normal iteration with for is *ordered*. Always. End of story." :-)
17:13 moritz_ jnthn: pity you didn't send it
17:13 jnthn Well, yours said exactly what I was going to with hyper :-)
17:14 pmichaud ...should IO::Stat be part of the core language?
17:14 [Coke] patch: an excellent question that I don't know the answer to. =-)
17:15 masak joined #perl6
17:15 pmichaud and does it make sense at all for it to be IO::File::Stat ?
17:15 masak oh hai, #Perl6!
17:15 phenny masak: 27 Jul 23:18Z <Kodi> tell masak http://gist.github.com/493037 A patch to implement Instants and Durations; please review at your convenience.
17:15 phenny masak: 07:50Z <au|irc> tell masak s!http://www.perl.com/lpt/a/482!http://www.perl.com/pub/2000/11/perl6rfc.html! in the anniversary post following the perl.com relaunch :) (@BlueT++ on plurk noticed this)
17:15 ingy rakudo: grammar G { rule TOP { <x> }; rule x { 'xxx' } }; class A { method x($/) { say ~$/ } }; G.parse('xxxx', :actions(A))
17:15 p6eval rakudo 3fbd62:  ( no output )
17:15 pmichaud masak: o/
17:15 jnthn lolitsmasak!
17:15 moritz_ pmichaud: I'm not quite sure, but I think it's a corner worth exploring
17:15 * [Coke] wonders how big phenny's queue is.
17:15 PerlJam greetings masak
17:15 ingy rakudo: grammar G { rule TOP { <x> }; rule x { 'xxx' } }; class A { method x($/) { say ~$/ } }; G.parse('xxx', :actions(A))
17:15 p6eval rakudo 3fbd62: OUTPUT«xxx␤»
17:15 jnthn [Coke]: Next time you're away for a while, I'll research that ;-)
17:16 moritz_ pmichaud: *some* interface to stat should be in core, IMHO - nothing wrong with makeing it a proper interface
17:16 masak au|irc: thanks. will change.
17:16 ingy rakudo: grammar G { rule TOP { <x> }; rule x { 'xxx' } }; class A { method x($/) { say ~$/ } }; G.parse('xxx', :actions(A), :rule('x'))
17:16 moritz_ as opposed to p5's stat(), which is a pure unixism
17:16 p6eval rakudo 3fbd62: OUTPUT«xxx␤»
17:16 masak Kodi: kudos. remind me if I forget. :)
17:16 pmichaud moritz_: I'm fine with making it an interface, yes -- I'm just wondering where it fits.
17:16 ingy rakudo: grammar G { rule x { 'xxx' } }; class A { method x($/) { say ~$/ } }; G.parse('xxx', :actions(A), :rule('x'))
17:16 pmichaud IO::Stat itself feels... wrongish
17:16 p6eval rakudo 3fbd62: OUTPUT«xxx␤»
17:16 moritz_ pmichaud: why?
17:17 pmichaud because the S32 specs tend to treat IO as a role
17:17 ingy rakudo: grammar G { rule x { 'xxx' } }; class A { method x($/) { say ~$/ } }; my $a = A.new; G.parse('xxx', :actions($a), :rule('x'))
17:17 pmichaud and IO::File is what we often ought to be using/returning for file I/O
17:17 p6eval rakudo 3fbd62: OUTPUT«xxx␤»
17:17 moritz_ pmichaud: btw if you have concern including it in R*, feel free to revert, and we can discuss it afterwards
17:17 pmichaud moritz_: I'm fine with it for R*, it's more of a larger question
17:18 moritz_ pmichaud: the larger question is that we have no coherent design for IO, so we just do what we see fit. Solution is to come up with a coherent design, of course
17:18 * moritz_ looks at ingy
17:18 moritz_ s/question/situation/
17:19 ingy :)
17:19 ingy I can wor on that now...
17:19 ingy k
17:19 hercynium joined #perl6
17:20 pmichaud moritz_: agreed; fitting it into a better design spec is what I was referring to.  (Sorry, I was horribly unclear there.)
17:20 moritz_ patch: sorry, was involved in too many discussions half an hour ago... if you're intested in adding JSYNC stuff on top of JSON::Tiny, feel free
17:20 * PerlJam waits for  IO::All to materialize in the Perl 6 universe
17:20 pmichaud I'm going to grab lunch, then I'll draft the release output.
17:20 moritz_ ++pmichaud
17:20 jnthn pmichaud: ...announcement?
17:20 pmichaud announcement
17:20 pmichaud (sigh)
17:20 jnthn You need lunch. :-)
17:20 masak pmichaud: I'm getting the same intermittent segfault from applying my enums commit that caused moritz_ to revert it. the cause is likely a Parrot thing. I'm having some trouble isolating it; seems if I try to minimize too much, it disappears.
17:20 ingy patch++
17:20 pmichaud yeah, and possibly some cold medicine.  I picked up something icky while at OSCON, and it's been slowing me down a bit this week :-|
17:21 jnthn Ugh :-(
17:21 jnthn masak: Having tried to debug said segfault for a few hours - it's non-trival to find.
17:21 pmichaud (fwiw, moritz reverted at my request :-)
17:21 [Coke] masak: oh, sure blame parrot. :P
17:22 masak jnthn: oh, you did?
17:22 jnthn [Coke]: It may or may not be.
17:22 PerlJam T-2.5 hours (ish) until Rakudo code-freeze for R* release, yes?
17:22 masak hugme: hug jnthn
17:22 * hugme hugs jnthn
17:22 pmichaud PerlJam: yes.
17:22 moritz_ pmichaud: which request? i don't quite follow
17:22 jnthn masak: Yeah but didn't get to the bottom of it. :-(
17:22 [Coke] hugme: hug parrot
17:22 * hugme hugs parrot
17:22 pmichaud moritz_: I think I requested that masak++'s enum patch be reverted
17:22 pmichaud and you did the actual reverting :)
17:22 masak [Coke]: Parrot sits right among the likely suspects in this case. :)
17:22 moritz_ pmichaud: oh, I didn't notice; I just bisected to find the offending patch
17:23 masak pmichaud: you both did the Right Thing, since it seems that the commit exposes the problem.
17:23 pmichaud at any rate, the process worked correctly.  :-)
17:23 jnthn masak: I was quite keen that we'd not have to revert the patch, but it was turning into an epic time sink when I needed to fix the role outers bug too.
17:23 pmichaud PerlJam: yes, 157 minutes to "freeze"
17:23 jnthn masak: We'll return to it after R*.
17:23 pmichaud the freeze isn't really a freeze -- commits are still possible -- it's just that I'll pick a git commit id around there to use for R*
17:24 pmichaud so anything that happens after now+156 minutes isn't likely to make it into R*
17:25 nwc10 joined #perl6
17:25 nwc10 pmichaud: the beta 3 tarball works for me on FreeBSD
17:26 moritz_ nwc10++ # testing
17:26 nwc10 I was a bit surprised that there wasn't a test target at the top level
17:26 masak yay -- http://twitter.com/freekey/status/19752653473
17:26 nwc10 particularly as I'd seen mention of one, but (of course) that was parrot's
17:27 pmichaud nwc10: I'm not exactly sure what a test target at the top level should do (more
17:27 pmichaud )
17:27 * moritz_ out for some table tennis training - won't return before the freeze
17:27 pmichaud I've been thinking that "make test" could return a list of possible test targets to try.
17:28 nwc10 pmichaud: that was what I was going to suggest
17:28 nwc10 as I realised that there are a variety of test targets
17:28 macroron joined #perl6
17:28 pmichaud I'll add that after lunch
17:28 pmichaud which I'm going to now
17:28 pmichaud bbiaw
17:28 nwc10 OK
17:29 nwc10 pmichaud: Also, if you want 5% more awesomeness (Well 5% smaller gzip files) for the distribution, try http://en.wikipedia.org/wiki/AdvanceCOMP
17:29 nwc10 you might not consider that worth it.
17:29 am0c joined #perl6
17:30 nwc10 left #perl6
17:32 masak jnthn: ok, I'll give up on it for now.
17:32 Guest84032 joined #perl6
17:32 masak jnthn: maybe it's still worth writing up a poker example for the book? hoping it'll be fixed by the time the book reaches actual readers. hm, or maybe not. :/
17:33 masak I now tried applying all four of my patches as one single patch. the segfault persists.
17:34 jnthn masak: Well, knowing the minimal change that produces the segfault is probably most useful
17:36 tylercurtis joined #perl6
17:36 masak jnthn: the most minimal I've been able to get so far is all of t/spec/S10-packages/basic.rakudo
17:37 masak put otherwise, the actual conditions under which things fail have so far eluded me.
17:37 masak and "time sink" doesn't sound too promising. :)
17:38 jnthn masak: Well, more just a matter of priorities. :-)
17:38 jnthn masak: Shipping with the "can't say in a role method" bug woulda been really really bad.
17:38 masak that one's fixed? o.O
17:38 jnthn Finally.
17:38 masak \\\ooo///
17:39 jnthn Well
17:39 jnthn Worked around.
17:39 masak still.
17:39 jnthn But the workaround gives some good hints towards a long term fix.
17:39 masak jnthn++
17:39 jnthn rakudo: role R { method m { say 42 } }; class C does R { }; C.new.m
17:39 p6eval rakudo 3fbd62: OUTPUT«42␤»
17:39 patch moritz_: thanks!
17:39 masak jnthn⨁⨁ :)
17:41 ash__ joined #perl6
17:43 ash__ ping moritz_ ?
17:43 tadzik ash__: gone for a while
17:43 ash__ ah, thats cool
17:44 * PerlJam finds that he really wishes colomon's .. optimization was in R*
17:45 colomon PerlJam: I'm trying to work up the nerve to build a huge Int .. Int test file to gain confidence the optimization is actually reliable.
17:45 ash__ does anyone here know if the eval bot is in a repo publicly viewable? or is it just a kinda one off solution
17:45 tadzik pmichaud: when will be the last module pull for R*?
17:45 sorear good * #perl6
17:45 tadzik hello sorear
17:45 sorear ash__: both.  it lives in misc/evalbot
17:45 colomon sorear: \o
17:45 ash__ ah, cool
17:45 ash__ sorear: in pugs, i assume
17:46 ash__ ?
17:46 PerlJam tadzik: probably around 2000utc
17:46 [Coke] (segfault) having spent years on and off trying to golf segfaults for tcl-on-parrot, I feel your pain. =-)
17:46 sorear but I've never seen an ircbot that doesn't need massive site-specific customization
17:46 sorear so talk to moritz
17:46 tadzik PerlJam: today or tomorrow?
17:46 PerlJam tadzik: today
17:46 ash__ sorear: i would if he was here, :P
17:46 tadzik oh crap
17:46 [Coke] tadzik: no worries. you can get one in for next month.
17:46 tadzik [Coke]: well, I'd rather have the brand new File::Find in Star
17:47 [Coke] yes. Star will have another release in one month.
17:47 [Coke] (but I know what you're getting at.)
17:47 tadzik as now there'll be 'old' F::F in Star, and another one completely different and incompatibile next month
17:47 tadzik what time in utc is now? :)
17:47 PerlJam tadzik: you can always suggest that the old FF not be included in R*
17:48 PerlJam tadzik: 1747 by my clock
17:48 tadzik PerlJam: yeah, I'm considering this
17:48 tadzik ah, so plenty of time
17:48 tadzik I'm always confused, timezones in Poland change twice a year, I never know in which we are currently
17:48 tadzik PerlJam: I'll probably make it on time then
17:49 [Coke] even more lovely with all the countries slightly out of sync.
17:49 PerlJam tadzik: 2000utc is when pmichaud said he'd "feature freeze" rakudo for R*.  He hasn't actually said anything wrt the included modules.
17:50 tadzik PerlJam: yeah, hence my another question
17:51 [Coke] phenny tell colomon - http://rt.perl.org/rt3/Ticket/Display.html?id=69382 is very out of date; can you update the ticket for a modern rakudo?
17:52 colomon [Coke]: I'll take a look at it in a few minutes, but while the exact error has probably changed, I'm pretty sure it still doesn't work correctly.
17:53 sorear ingy: Would you take a look at niecza's Test.pm6 and tell me if I'm on the right track?
17:55 [Coke] colomon: the file you reference doesn't even exist anymore.
17:55 [Coke] that was more where I was going. =-)
17:56 [Coke] rakudo: say $*OUT.&say.WHAT;
17:56 [Coke] what's up with the bool there?
17:56 p6eval rakudo 3fbd62: OUTPUT«IO()<0x720f0f0>␤Bool()␤»
17:56 sorear $*OUT.&say doesn't do what you think it does
17:56 [Coke] rakudo: say $*OUT.&printf.WHAT;
17:56 p6eval rakudo 3fbd62: OUTPUT«IO()<0x720be20>Bool()␤»
17:56 jnthn rakudo: say $*OUT.&wtf-is-this-syntax.WHAT;
17:56 p6eval rakudo 3fbd62: OUTPUT«Could not find sub &wtf-is-this-syntax␤  in main program body at line 22:/tmp/_zGRGzCBox␤»
17:57 jnthn Ah, OK.
17:57 nimiezko joined #perl6
17:57 sorear say $*OUT.&say.WHAT  ===  say (say($*OUT)).WHAT
17:57 [Coke] jnthn: trying to get at the methods. (RT #69412)
17:57 jnthn [Coke]: That isn't what that syntax does.
17:57 jnthn sorear: Right.
17:57 [Coke] ok. what's the right syntax?
17:58 PerlJam rakduo: $*OUT.^methods.join(" ").say
17:58 jnthn [Coke]: For what, introspecting methods?
17:58 sorear rakudo: say $*OUT.^can("say").WHAT
17:58 p6eval rakudo 3fbd62: OUTPUT«Method 'WHAT' not found for invocant of class 'P6Invocation'␤  in main program body at line 22:/tmp/J65cYmsc3n␤»
17:58 sorear ...yow
17:58 jnthn Oh, the joy of .^can.
17:58 PerlJam rakudo: $*OUT.^methods.join(" ").say
17:58 p6eval rakudo 3fbd62: OUTPUT«open printf s t close slurp eof z autoflush lines stat read get getc d e f ins write l path print say subst Numeric chomp IO index chr acotanh trim-trailing from-radians capitalize pred atanh cosec exp lc p5chop chars sinh to-radians acotan lcfirst roots lines sec trim asec
17:58 p6eval ..trim-le…
17:58 sorear I think "Method 'WHAT' not found" means I just compelely broke Rakudo, yes?
17:58 [Coke] PerlJam: that gets me the methods, or just the method names?
17:59 PerlJam [Coke]: the actual methods.
17:59 sorear rakudo: say $*OUT.HOW.^methods.Str
17:59 p6eval rakudo 3fbd62: OUTPUT«Method 'methods' not found for invocant of class ''␤  in main program body at line 22:/tmp/JuZHtDr00x␤»
17:59 [Coke] rakudo: say $*OUT.^methods{printf}.WHAT
17:59 p6eval rakudo 3fbd62: OUTPUT«No applicable candidates found to dispatch to for 'printf'. Available candidates are:␤:(Any $format, *@args)␤␤  in main program body at line 22:/tmp/oR00CtPK5y␤»
17:59 sorear what, ClassHOW.HOW doesn't have methods?
17:59 jnthn sorear: Sure it does, it just doesn't provide a way to introspect them.
17:59 [Coke] whoops.
17:59 PerlJam sorear: I think there's already a bug report for that too
18:00 jnthn sorear: That'll change.
18:00 sorear jnthn: I meant methods, the method
18:00 [Coke] rakudo: say $*OUT.^methods.grep('printf').WHAT
18:00 jnthn sorear: Ah, mis-read, but same answer.
18:00 p6eval rakudo 3fbd62: OUTPUT«List()␤»
18:00 jnthn sorear: P6metaclass doesn't have a methods method.
18:00 [Coke] rakudo: say $*OUT.^methods.grep('printf')[0].WHAT
18:00 jnthn ClassHOW goes
18:00 p6eval rakudo 3fbd62: OUTPUT«Multi()␤»
18:00 [Coke] aha!
18:00 [Coke] Close enough? =-)
18:00 [Coke] guess I could use .first
18:00 jnthn Eventually ClassHOW.HOW.WHAT is going to say KnowHOW or some such I expect.
18:01 [Coke] rakudo: say $*OUT.^methods.first('printf').WHAT
18:01 p6eval rakudo 3fbd62: OUTPUT«Multi()␤»
18:01 [Coke] rakudo: say $*OUT.^methods.first('say').WHAT
18:01 p6eval rakudo 3fbd62: OUTPUT«Multi()␤»
18:04 sorear niecza: say ClassHOW.HOW.WHAT # Is this not an option?
18:04 p6eval niecza 64fc764: OUTPUT«Failed to resolve lexical &say in mainline at CodeGen.pm line 554.␤»
18:05 sorear stefan@stefans:~/niecza$ ./niecza_eval -e 'say ClassHOW.HOW.WHAT'
18:05 sorear ClassHOW()
18:05 jnthn Well, it's probably implementation specific :-)
18:05 sorear I wish I knew why moritz_ 's niecza build keeps breaking like that.
18:06 masak Class? how? how? what?
18:06 jnthn WHY?!
18:07 masak "Perl 6: the deeply existential language"
18:07 jnthn "Perl 6: how many interegationals can you handle?"
18:07 sorear jnthn: ClassHOW.HOW.WHAT === ClassHOW isn't an implementation artifact; I have a fair amount of code dedicated to tying that specific know
18:07 sorear knot
18:07 jnthn sorear: Right, I just plan to tie the knot in something more primitive.
18:08 jnthn And use that to implement ClassHOW
18:08 jnthn sorear: At the end of the day, it's gotta be tied somewhere though. :-)
18:08 jnthn sorear: And nothing in the spec says we gotta do it the same way.
18:09 jnthn I'm not saying you've done it rong, just that I'm going to do it different. :-)
18:15 jjore joined #perl6
18:16 high joined #perl6
18:17 high_ joined #perl6
18:18 pmurias joined #perl6
18:19 high joined #perl6
18:25 lue joined #perl6
18:26 lue hai o/
18:26 [Coke] moritz_: what's the deal on #76772 ?
18:26 [Coke] 14:23 < [Coke]> Down to 250 new tickets in Rakudo.
18:26 [Coke] 14:24 < [Coke]> 635 altogether, 618 that aren't assigned to moritz. ;)
18:26 [Coke] 14:25 < [Coke]> moritz_: what's the deal on #76772 ?
18:26 [Coke] 14:25 < [Coke]> need tests?
18:26 [Coke] (missent to phasers. :P)
18:26 masak lue: oh hai!
18:27 tadzik when I'm for'ing through a list, is it possible to add some more elements to the traversed list?
18:27 [Coke] 118 of those open-untouched tickets were opened by masak.
18:27 [Coke] er, new-and-untouched.
18:28 Tene rakudo: my @a = 1..5; for @a -> $i { say $i; @a.push($i*2) if $i %% 2; };
18:28 p6eval rakudo 3fbd62: OUTPUT«1␤2␤3␤4␤5␤»
18:28 tadzik yeah, that's it
18:28 cxreg ingy: ping
18:29 tadzik bug, or feature?
18:29 PerlJam tadzik: did you mean that you wanted to iterate over the new elements too?
18:29 masak tadzik: feature.
18:29 tadzik PerlJam: yep
18:29 PerlJam definitely a feature
18:29 tadzik ok
18:29 masak tadzik: think of `for @a, @b`. that usually helps for me.
18:29 cxreg ClassWHY
18:29 cxreg sorry, i missed the train on that joke
18:31 tadzik masak: I don't see the point
18:32 masak tadzik: the thing after 'for' should only be evaluated once.
18:32 mmmpork joined #perl6
18:32 masak tadzik: but if you can push things to @a and those new elements should be reflected in '@a, @b', then the thing after 'for' has to be evaluated many times.
18:33 masak so there's a contradiction, so one of our assumptions are wrong.
18:33 masak turns out the time-consuming assumption is wrong :)
18:33 * cxreg shows #plparrot how to use pointy blocks to enforce signatures on generated subs post-facto
18:34 bgs100 joined #perl6
18:34 pmichaud back together
18:34 cxreg did anyone hack prototyped closures into perl 5 with Devel::Declare?  sounds Moose-ish
18:35 PerlJam I'm pretty sure D::D allows for signatures on anonymous subs.
18:36 PerlJam okay ... only like 60% sure
18:36 high left #perl6
18:37 pmichaud (iterators and modifying the thing being iterated) .... iirc, perl6 says that if you modify something in the midst of iterating it, the results are unspecced.
18:37 masak point is, you're not iterating -it-.
18:37 rindolf joined #perl6
18:37 pmichaud you may be, though.  Consider $filehandle.line()
18:37 pmichaud er, .lines()
18:37 masak oh, sure.
18:38 masak different case.
18:38 masak and we don't implement open(:rw) yet :P
18:38 colomon moritz_: what are the rules for adding long tests to the spectests?
18:39 * colomon has a new 500-some test file of integer ranges to add...
18:40 masak [backlog] changing proof_of_concept to pls is OK by me.
18:40 masak I'd prefer it to be better tested, of course.
18:40 sorear If you need it to be tested, you're doing it wrong.
18:40 sorear Assuming you're both talking about the test file.
18:41 masak no, the actual tests in t/ are satisfactory.
18:41 masak but there is quite a lot of variety among the projects out there; how they prefer to be built, tested and installed.
18:41 masak I've basically only tried pls on one project so far.
18:43 pmichaud masak: I ended up not doing very much with proto/pls (yet)
18:43 pmichaud I wasn't sure how to fit it in to the overall build sequence.
18:43 masak pmichaud: I'll be here to assist for the rest of the CET evening.
18:44 pmichaud well, I didn't plan to do much more with it either.  :-|
18:44 masak ok.
18:44 masak maybe wise. it's not finished yet.
18:44 pmichaud I mean, I'm not opposed to doing more with it, but I don't know how to fit it in yet.
18:44 pmichaud Should I remove it from the R* package altogether, then?
18:44 masak maybe. depends.
18:44 pmichaud I'm wide open for suggestions and advice.  :)
18:45 masak tell me what you want it to be, and I'll say how easy it'll be to make it that before tomorrow.
18:45 pmichaud but right now I've a release announcement to craft :)
18:45 * pyrimidine wishes the magic range thread on p6-lang would die a very rapid death
18:45 pmichaud well, pls looks like it's highly dependent on the projects.list file being in the current dir, or something like that.
18:46 masak pmichaud: yes. that's wont to change.
18:46 pmichaud yeah; that somewhat makes it hard to add in a 'package' sense.
18:46 masak pmichaud: I suspect we'll end up putting that file on-line. perhaps the Pugs/Mu repo.
18:46 pmichaud I'd say it could continue to live on github, fwiw.
18:46 masak either way's fine by me.
18:47 masak I was thinking Pugs/Mu, because that naturally leads to many people having write access to it.
18:47 masak which one wants for that file, but not necessarily for the rest of pls.
18:47 pmichaud sure, that works.
18:48 pmichaud I tend to think of the 'perl6' account on github as being able to have a similar liberal commit policy
18:48 colomon rakudo: say -17..-15
18:48 p6eval rakudo 3fbd62: OUTPUT«-17-16-15␤»
18:48 masak rakudo: say -1..1
18:48 pmichaud and it certainly could separate the metadata into a separate repo with a very liberal commit policy
18:48 p6eval rakudo 3fbd62: OUTPUT«-101␤»
18:49 masak rakudo: say :8(-1..1)
18:49 p6eval rakudo 3fbd62: OUTPUT«DON'T PANIC! Invalid character (-)! Please try again :) ␤  in main program body at line 1␤»
18:49 masak rakudo: say :8(abs -1..1)
18:49 p6eval rakudo 3fbd62: OUTPUT«1␤»
18:49 mrsaturns joined #perl6
18:49 masak rakudo: say abs -1..1
18:49 p6eval rakudo 3fbd62: OUTPUT«1␤»
18:49 masak hm.
18:49 masak rakudo: say abs (-1..1)
18:50 p6eval rakudo 3fbd62: OUTPUT«3␤»
18:50 masak rakudo: say abs ~(-1..1)
18:50 mrsaturns 3?
18:50 p6eval rakudo 3fbd62: OUTPUT«1␤»
18:50 hercynium joined #perl6
18:50 pyrimidine list context?
18:50 masak rakudo: say ~(-1..1)
18:50 p6eval rakudo 3fbd62: OUTPUT«-1 0 1␤»
18:50 masak pyrimidine: aye.
18:50 masak ah. spaces.
18:50 masak rakudo: say (-1..1).join
18:50 p6eval rakudo 3fbd62: OUTPUT«-101␤»
18:50 masak rakudo: say :8( abs join -1..1 )
18:51 p6eval rakudo 3fbd62: OUTPUT«0␤»
18:51 masak rakudo: say :8( abs (-1..1).join ) # 65?
18:51 whee :8?
18:51 p6eval rakudo 3fbd62: OUTPUT«65␤»
18:51 masak \o/
18:51 masak whee: "interpret as octal"
18:51 whee aah
18:51 PerlJam why wasn't :8( abs join -1..1 )  65 ?
18:52 whee I need that on my cheat sheet :D
18:52 masak PerlJam: because -1 got sent in as the join string.
18:52 dalek joined #perl6
18:52 masak PerlJam: @x.join is join '', @x, not join @x
18:52 pmichaud I would've expected the entire range to be sent in as the join string.
18:52 masak that's possible too.
18:53 masak doesn't explain the 0, though.
18:53 pmichaud say (-1..1).Str
18:53 pmichaud rakudo: say (-1..1).Str
18:53 p6eval rakudo fe29cd: OUTPUT«-1 0 1␤»
18:53 rindolf rakudo: [~] 1..5
18:53 Ross joined #perl6
18:53 p6eval rakudo fe29cd:  ( no output )
18:53 pmichaud rakudo:   say join '-1 0 1'
18:53 rindolf rakudo: [~] (1..5)
18:53 p6eval rakudo fe29cd: OUTPUT«␤»
18:53 p6eval rakudo fe29cd:  ( no output )
18:54 pmichaud rakudo:  say '"', (join '-1 0 1'), '"';
18:54 p6eval rakudo fe29cd: OUTPUT«""␤»
18:54 pmichaud sure, since the result from join is an empty string, it evaluates to zero.
18:54 masak ah.
18:54 pmichaud and C<join> returns an empty string because there were no items to join.
18:54 PerlJam I guess that makes sense.
18:55 masak by the way, I think I submitted a ticket asking why +"" shouldn't be NaN.
18:55 masak I think that's more informative than 0.
18:55 chromatic joined #perl6
18:55 masak chromatic! \o/
18:55 pmichaud could arguably be a Failure, too.
18:55 masak pmichaud: except that I expect it to be something Numeric.
18:55 pmichaud +"xyz"   should be a failure of some sort,   +""  seems to fall into that realm as well
18:56 masak oh, indeed.
18:56 pmichaud lots of operations return non-numeric results.  :-)
18:56 chromatic Ruminations on tomorrow's release, intended for publishing on Perl.com: http://nopaste.snit.ch/22395
18:56 phenny chromatic: 01:17Z <[Coke]> tell chromatic - should http://rt.perl.org/rt3/Ticket/Display.html?id=64124 be moved to another queue?
18:56 masak pmichaud: but not prefix:<+> :)
18:56 pmichaud chromatic: reading
18:56 pmichaud masak: yes, even prefix:<+>
18:56 * masak looks
18:56 masak pmichaud: you're thinking of Perl 5, no?
18:58 pmichaud masak: can  &infix:</> return a non-numeric result?
18:58 pmichaud (I say 'yes')
18:58 pmichaud if &infix:</> can return a non-numeric result, I don't see why &prefix:<+> cannot.
18:58 masak yes.
18:58 _macdaddy joined #perl6
18:58 masak pmichaud: point.
18:59 dukeleto chromatic: what do you mean by the "homoiconicity of syntax"? i know what homoiconicity means, but I don't know what you mean.
18:59 colomon chromatic++
18:59 chromatic Lisp
18:59 pyrimidine chromatic: very nice write-up
19:00 masak chromatic: while I might agree in the comfort of #perl6 that "[Perl 6]'s a philosophy...", I shudder to think what people already inclined to think Perl 6 is a big ball of academic esoterics will make of that classification.
19:00 dukeleto chromatic++ # good stuff
19:00 chromatic Which classification, masak?
19:00 masak that it's a philosophy.
19:01 masak what makes it a philosophy rather than, say, a set of coherent design principles?
19:01 colomon pmichaud: are you suggesting that &prefix:<+> should return something Numeric or a Failure?
19:02 chromatic I see little difference, but I can use that phrasing instead of the word "philosophy" the first time and it reads just as well or better.
19:02 masak I'm saying this not because I disagree, but because I've seen people on Twitter read "Perl 6 is a language specification", and ridicule that.
19:02 pmichaud colomon: I'm saying it's possible for &prefix:<+> to return a Failure, that's all.  As it's possible for any operator to do so.
19:02 PerlJam chromatic: I think your "twenty years" is a little conservative :)
19:02 PerlJam chromatic++
19:02 chromatic Likewise, but that's what Larry's always said.
19:02 pmichaud PerlJam: underpromise and overdeliver :-)
19:03 masak I also think it's conservative. but it's the usual number :)
19:03 masak chromatic++ # nice text
19:03 pmichaud I tend to think in terms of fifty years or so
19:03 masak chromatic: ss/the second reinvention/the first reinvention/ ?
19:03 PerlJam pmichaud: but that's at least a 0.5 meter rise in sea level from now!  :)
19:04 * pyrimidine is glad to see perl.com active again
19:04 masak pyrimidine: aye.
19:04 masak chromatic++ # for that, too! :)
19:04 colomon chromatic: did you mean "(and, oh yes, are there opportunities for optimizations)" as a statement?  Right now it parses like a question, but I feel like it really wants an exclamation point....
19:04 pmichaud I'm not sure about the final paragraph.
19:04 chromatic I had a LOT of help for Perl.com.
19:05 pmichaud chromatic: this is being posted on perl.com ?
19:05 chromatic Yes.
19:05 masak chromatic: did you mean "They don't like twigils." ?
19:05 chromatic That too.
19:05 masak makes more sense.
19:06 frettled Regarding splitting README — I can have a look-see about doing the common README + INSTALL thing.
19:06 pmichaud I almost want the tone to change slightly after "Ignore the naysayers."  (more)
19:06 pmichaud Part of me feels like it's slightly better if we bring P5 back into the discussion again at that point (more)
19:06 masak +1
19:06 cono joined #perl6
19:07 pmichaud "Ignore the naysayers.  If Perl 5 continues to be your thing, that's great -- it will be around for a long time to come. "
19:07 pmichaud or something like that
19:08 PerlJam the naysayers are more broadly distributed than that though
19:08 pmichaud not sure how to change it, but as a perl.com article it might be nice to bring it back around to the idea of a family of languages
19:08 Su-Shee I emphasized that one can easily use p6 as a just more polished p5 and ignore the rest.
19:08 pmichaud PerlJam: sure, the naysayers are more broadly distributed than just p5, but there's a point to be made that perl 5 isn't dead either.
19:08 kokajxo rakudo: my @array = gather { take 1 ; take 2 ; say "hello" } ; say "hi" ; say @array[0];
19:08 pmichaud and releasing Rakudo Star should make Perl 5 more valuable, not less.
19:08 p6eval rakudo fe29cd: OUTPUT«hello␤hi␤1␤»
19:08 lue chromatic++
19:09 kokajxo isn't that a bug ?
19:09 pmichaud I'm not sure how to word it, and I'd be fine with the post as it sits now.
19:09 PerlJam pmichaud: that's an interesting point ... how does r8 make p5 more valuable?
19:09 kokajxo (I hope not) why is "hello" printed before hi ?
19:09 PerlJam er, s/r8/r*/
19:10 colomon kokajxo: because you say @array = gather, which evaluates the gather and then stores it in @array
19:10 Su-Shee PerlJam: by letting float ideas back into perl 5 which easily can sneak into companies or projects which make the move to p6 more likely later on.
19:10 pmichaud I'm just thinking that the bottom line "Help us continue to make Perl more powerful"  might want to allude back to the idea that "Perl" means more than just P6
19:10 pmichaud kokajxo: not a bug
19:10 pmichaud kokajxo: list assignment is eager
19:10 frettled Perhaps it is easier to just remove "Ignore the naysayers."?
19:10 pmichaud I like the "Ignore the naysayers" line, myself.
19:10 diakopter we naysayers feel namecalled
19:10 PerlJam frettled: no way. I like that part best
19:10 kokajxo oh, so should I do colomon ?
19:10 Su-Shee diakopter: :)
19:11 colomon rakudo: my @array := gather { take 1 ; take 2 ; say "hello" } ; say "hi" ; say @array[0];
19:11 p6eval rakudo fe29cd: OUTPUT«hi␤1␤»
19:11 pmichaud rakudo:  my $array = gather { take 1;  take 2;  say "hello"; };   say "hi";  say $array[0];
19:11 sorear How long until the pugs repo officially lives in git
19:11 p6eval rakudo fe29cd: OUTPUT«hi␤1␤»
19:11 frettled Yes, yes, but isn't "ignore the naysayers" an oxymoron?
19:11 sorear svn log is driving me bananas
19:11 PerlJam There's a similar "ignore the naysayers" here http://samcrawley.wordpress.com/2010/07/28/ignore-the-haters/
19:11 kokajxo ok, I was reading http://perlgeek.de/en/article/5-to-6#post_12 . Thanks a lot !
19:11 frettled sorear: that's a bug, everything should be peachy
19:11 pmichaud however, note that one generally cannot rely on laziness sideeffects except in the context of "strictly lazy" operators.
19:12 lue .oO(Should I post about R* at 00:00 UTC ? [~5 hours from now])
19:12 pmichaud lue: I recommend waiting for the R* release to actually come out.
19:12 chromatic We're proud of what we've accomplished, and we've reached a point where we want
19:12 chromatic to share it with the wider world.  Now begins the work of polish and
19:12 chromatic optimization and packaging.  Ignore the naysayers.  Perl 5 and Perl 6 are the
19:12 chromatic work of communities of people willing to make amazing things happen.  That task continues--help us make Perl in all its forms more powerful, more flexible, more useful, and more fun.
19:12 chromatic Better?
19:12 pmichaud Much better
19:12 pmichaud +2
19:13 PerlJam chromatic++
19:13 masak aye.
19:13 kokajxo pmichaud: I know, that was just a test :)
19:13 pmichaud my current target is to release R* at 12h00 UTC
19:13 pmichaud i.e., a little less than 19h from now.
19:13 pmichaud but that's not a hard target.
19:14 pmichaud i.e., it may move back if needed.
19:14 timbunce pmichaud: got a draft announcement ?
19:14 [Coke] chromatic++
19:14 pmichaud timbunce: writing it now, if I can tear myself away from #perl6 long enough to finish it.  :)
19:14 pmichaud which I will do now.
19:14 Su-Shee I already delivered. As long as the release actually happens.. :)
19:14 PerlJam Su-Shee: when/where are your article published?
19:14 PerlJam s/article/articles/
19:15 * sorear makes a 1-line fix to STD.pm6 and wanders off for 20 minutes while the thing builds
19:15 dukeleto sorear++ # pugs moving to git
19:15 tadzik pmichaud: when will the last modules pull happen?
19:15 Su-Shee PerlJam: tomorrow "at some point" in german tech news.
19:15 tylercurtis chromatic++, although I share colomon's uncertainty about whether "(and, oh yes, are there opportunities for optimizations)" is intended as statement or question.
19:15 frettled chromatic++ — very good
19:15 lue pmichaud: me too. just thinking international for a second.
19:16 sorear One of these days I think I'm going to write a svn emulator porcelain
19:16 pmichaud tadzik: I don't have an exact time for that.  I wouldn't plan on there being any module pulls after 0300 UTC.
19:16 sorear since 98% of the complaints against git seem to be about the user model
19:16 chromatic Now with revisions: http://nopaste.snit.ch/22396
19:17 * frettled likes git, except that I failed setting up a target for pushing myself, haha.
19:17 pmurias sorear: svn emulator as in bring the horrible svn interface to git?
19:17 chromatic sorear, what's the other 2%?  Fear, Uncertainty, and Drama about rebasing?
19:17 sorear this emulator won't be quite compatible with native git (it'll use trunk/ tags/ branches/, for a start), but it would have all the packfiley 1,000 rev/s cloney goodness
19:17 sorear pmurias: more like, bring the awesome git technology to people who have irrevocably stockholmed the svn interface
19:18 mtk joined #perl6
19:18 pmurias are there much of those?
19:18 pmichaud chromatic: "meet our needs"  -->  "meet needs"   # perhaps
19:18 diakopter still, "Ignore the naysayers." (without qualification immediately adjacent) smacks of cultic withdrawal and "we have the Truth; don't listen to anyone who questions our Words"-ness
19:18 * PerlJam wonders when the proverbial twenty years actually starts
19:18 pmichaud maybe break the optimizations item into two statements, or move the parenthetical outside of the question.
19:19 pmichaud beyond that I'm bikeshedding more than I should
19:19 frettled PerlJam: Thursday ;)
19:20 masak I slightly dislike "Ignore the naysayers." because it's defensive perhaps without needing to be so. for people who weren't aware of any naysayers, it might create naysayers in their minds. put differently, if we're to ignore the naysayers, why point them out?
19:20 pmurias chromatic: what i don't like in git is keeping commits hidden on my computer before they end up pushed to the main repo
19:20 chromatic "Ignore the naysayers.  Try it for yourself."  ?
19:20 pmurias chromatic: but it's a complaint against the default setup (with git-svn) not against the tool as such
19:20 frettled masak: that's why I thought it might be an oxymoron :)  (See also "Microsoft Works", "Military Intelligence")
19:20 timbunce chromatic: I think it's important to introduce the 'Perl is now a family of languages' concept and frame it well. It's a key message for the perl5 user community
19:20 lue to me, "Ignore the naysayers" says "don't let the naysayers influence you before you even try it"
19:21 PerlJam chromatic: my only comment is that the "If you've seen Perl 6 solely as a research project,..." sentence doesn't quite make its point clearly IMHO
19:21 PerlJam chromatic: I mean, I had to read it twice to understand where it was going  (but maybe that's just me)
19:22 timbunce chromatic: I was just thinking the same
19:22 chromatic I'm pondering that right now.
19:22 chromatic The "family of languages" concept has never sat well with me, but I see your point.
19:22 masak chromatic: "Ignore the naysayers.  Try it for yourself." is certainly better. still doesn't solve my above semi-kvetch, though.
19:23 masak &
19:23 Su-Shee you all realize that no matter what you write and say, it really doesn't change any perception or opinion one already has about perl? :) why not confidently point out the cool of p6 and be done with it?
19:24 lue .oO(Maybe someone has never heard of perl?)
19:24 PerlJam lue: that's why they're on perl.com?  :)
19:24 Su-Shee lue: plenty of people actually haven't anymore. so if they really land by accident at perl.com they try it "if it sounds good and interesting"
19:24 timbunce chromatic: the "and not the final, never ever, no more, it's completely finished that's it, install it to run your space station, release" seems a little over-done. I think it would be better without the "never ever, no more" part.
19:25 timbunce chromatic: "never-needs-updated" -> "never-needs-updating"
19:25 chromatic Su-Shee, I expect that Slashdot will link to this article.
19:26 timbunce chromatic: "because twenty years from now we intend it to have regular releases" sounds like "it'll be twenty years before we have regular releases"!
19:27 Su-Shee chromatic: they will and so will probably ars technica for example. but I really don't think people change their minds about perl with a few sentences. you could point out the good and interesting things about both perls very nicely.
19:27 PerlJam I think if we remove "Ignore the naysayers." we should also remove "Ignore those complaints" and s/Perl 6/Perl/ in that paragraph
19:28 tadzik how do I make my class have the same methods as Str? It has the Str method, but I can't easily call e.g. IO on it
19:28 diakopter Naysayers shouldn't necessarily be ignored [just because they are naysaying]; naysayers can be correct in their beliefs/claims. (but with qualification as to *which* naysayers you mean, as I mentioned above, that sentence could be helped)
19:28 PerlJam i.e. "That's neither what Perl is nor how it works."  keep the other Perl 6
19:28 cosimo "tl;dr"
19:28 cognominal joined #perl6
19:28 Tene tadzik: does your class have a Str attribute?
19:29 tadzik Tene: nope, just a Str method
19:29 Tene tadzik: if you want all the Str methods, you should have a Str attribute like: has Str $foo handles Str;
19:30 Su-Shee diakopter: I wrote a naysayer-ish editorial. ;)
19:30 diakopter Su-Shee: oh; I hadn't seen it
19:30 Tene tadzik: I can speculate that someday you could have 'handles Str' on your method, but otherwise just write methods that call your Str method.
19:30 tadzik Tene: thanks, will do
19:30 Tene or do the attribute option.
19:31 tadzik Tene: or, how about is Cool?
19:31 Tene (I'm not sure if that works in current rakudo)
19:31 tadzik looks like it works
19:31 Su-Shee diakopter: as long as you can't read german, you can't. and today I'm too tired to make quick translation.
19:31 PerlJam Su-Shee: google!
19:31 tadzik 'is Cool' is cool :)
19:31 diakopter Google Translate is my friend
19:31 Su-Shee let's see what it makes of it. ;)
19:32 lue .oO(I've come to prefer Yahoo Babelfish)
19:33 PerlJam yahoo owns babelfish now?  I haven't used that in years.  DEC probably still owned it the last time I used it.
19:34 diakopter Su-Shee: url?
19:34 kokajxo Su-Shee: I can read german, a bit. Could I see it please ?
19:35 eternaleye joined #perl6
19:35 Su-Shee wow, google translate is seriously bogus.
19:36 PerlJam Su-Shee: try babelfish then :)
19:36 chromatic http://nopaste.snit.ch/22398 (much beyond this and it's rearranging flowers)
19:37 Su-Shee http://sushee.no-ip.org/translation.txt
19:38 PerlJam chromatic++ ship it!
19:38 cosimo Su-Shee: I agree with you. Focus on the cool/awesome things and ignore comparisons, complaints, and "naysayers" would be good
19:39 cosimo chromatic: personally I'd remove everything from "People will complain..." to "... or how it works"
19:39 cosimo just my 0.02$
19:39 diakopter Su-Shee: "turn my wine back into water" :)
19:40 chromatic cosimo, my intent is a little pre-emptive framing.
19:40 cosimo sorry if I jumped in like that
19:40 tadzik \o/ # File::Find now returns a lazy list
19:40 Su-Shee diakopter: forget everything even slightly looking like a metaphor. I also didn't pun on the middle east with "Gulf region" (orginal said "without too much perl golfing" essentially :)
19:40 diakopter heh
19:42 davidfetter joined #perl6
19:42 timbunce chromatic++ looks good.
19:43 jnthn chromatic: I like it.
19:43 sorear agh.  My change to STD.pm6 *didn't work*
19:44 * sorear builds again
19:44 nimiezko rakudo: DateTime.now.to-epoch
19:44 p6eval rakudo fe29cd: OUTPUT«Method 'to-epoch' not found for invocant of class 'DateTime'␤  in main program body at line 22:/tmp/mpL6dyZris␤»
19:44 Su-Shee rakudo: DateTime.now.til-release
19:44 p6eval rakudo fe29cd: OUTPUT«Method 'til-release' not found for invocant of class 'DateTime'␤  in main program body at line 22:/tmp/s58mzf35uu␤»
19:45 nimiezko rakudo: say DateTime.now
19:45 p6eval rakudo fe29cd: OUTPUT«2010-07-28T19:24:56Z␤»
19:45 tadzik oh, it prints the UTC time?
19:45 tadzik useful
19:46 PerlJam someone's clock is a little off
19:47 nimiezko rakudo: say $*PERL
19:47 p6eval rakudo fe29cd: OUTPUT«name       rakudo␤version    2010.07-45-gfe29cde␤␤»
19:47 tadzik hmm, why the g before revision?
19:48 sorear that's just what git describe does
19:48 20QABJY3Z joined #perl6
19:48 77CAA0BJA joined #perl6
19:48 tadzik mhm
19:53 pmichaud here's a draft of the first part of the release announcement:  http://gist.github.com/496016
19:53 pmichaud I'm still working on a lot more, but it gives a sense of where I think the announcement is going.
19:54 pugssvn r31855 | sorear++ | [STD] Actually record whether a method has a ! or ^ annotation
19:54 cosimo is it possible to include LWP::Simple in the start distribution?
19:54 cosimo s/start/star/
19:54 Mowah joined #perl6
19:55 lue pmichaud++ # I like it so far
19:55 lue out of curiosity, where will R* be available? (rakudo.org and such)
19:55 pmichaud actually, I've moved my draft to http://pmichaud.com/sandbox/2010.07.txt
19:55 pmichaud so you can all reload to see updates in real-time.  :)
19:55 PerlJam the "We'll be honest" comment irks me slightly.
19:56 pmichaud PerlJam: I can change that.
19:56 simcop2387 joined #perl6
19:56 pmichaud (but what part irks you?  What would you like to see instead?)
19:57 lue .oO[ I like how it's release *zero* :) ]
19:57 PerlJam every time someone tells me they're being honest or going to be honest, I wonder why they felt the need to say that.  Are they not normally honest?  Are they not normally honest to me?  etc.
19:57 tadzik cosimo: I'd like it
19:57 tadzik any objections?
19:57 pmichaud cosimo: where is LWP::Simple ?
19:57 cosimo github.com/cosimo/perl6-lwp-simple/
19:57 cosimo pmichaud: ^^
19:58 snarkyboojum joined #perl6
19:58 cosimo that also requires MIME::Base64
19:58 pmichaud I guess we'd also n.... right
19:58 chromatic I'd have written:
19:58 nimiezko How is �$*PERL generated for rakudo ? at build time ? statically ?
19:58 cosimo right now I can't access modules.perl6.org. this airport thinks it's a gambling site
19:58 chromatic Rakudo Star is aimed at "early adopters" of Perl 6.  It contains bugs and is
19:58 chromatic far slower than we'd think it ought to be.  This release isn't at all a
19:58 chromatic complete implementation of Perl 6.
19:59 pmichaud chromatic: I'd like to make it clear that we're not a production release or "1.0" or "6.0.0"
20:00 cosimo tadzik: it's a pity that Digest::MD5 still requires a 1 line patch to parrot that isn't in yet
20:00 chromatic I've never liked the phrase "production release".
20:00 tadzik cosimo: ah :|
20:00 pmichaud I don't like it either, but if we don't explicitly disclaim it, I fear a lot of people will tag us with "falls far short of a production release"  in a negative sense.
20:00 lue .oO(Would I be wrong in saying R* is available at rakudo.org, perl.com, and perl.org ?)
20:00 cosimo tadzik: tried to poke around a bit, but no result
20:00 chromatic More than "early adopters" disclaims?
20:01 lue s/perl.org/perl6.org/
20:01 pmichaud lue: the location is right there in the release announcement.
20:01 Su-Shee pmichaud: well if I managed to throw little bits of dbd in, than it's really more than "isn't at all".
20:01 PerlJam chromatic: I don't think pmichaud can be too redundant on this point.
20:01 tadzik rakudo: sub foo (:$a) { say 'ok' if $a}; foo(a => /regex/) # what's wrong in here?
20:01 p6eval rakudo fe29cd: OUTPUT«Method 'match' not found for invocant of class ''␤  in 'Regex::Bool' at line 5567:CORE.setting␤  in 'foo' at line 1:/tmp/fV8qT_YpMn␤  in 'foo' at line 22:/tmp/fV8qT_YpMn␤  in main program body at line 22:/tmp/fV8qT_YpMn␤»
20:02 chromatic Maybe so, but it's kind of like saying "Don't use this."
20:02 chromatic "Why did you jerks release something I can't use?"
20:02 chromatic Why can't you use it?
20:03 chromatic "You said I can't use it!"
20:03 chromatic Said nothing of the sort!
20:03 pmichaud I don't see it as "Don't use this."  I see it as "Don't use this for anything you think is really important."
20:03 Su-Shee well that's what perl haters say about perl 5 today. ;)
20:04 PerlJam maybe explicitly state some things that it *can* be used for?
20:04 chromatic I think you're better off explaining why not.
20:04 chromatic Otherwise my concern is that we all get stuck explaining why we released it at all.
20:04 pmichaud When someone comments "Rakudo Star is not ready for production", I'd like to be able to respond with "yes, we said that."
20:04 [Coke] no call?
20:04 pmichaud I'll call
20:05 pmichaud so, phone
20:05 tadzik Could someone give me a hand with this sub?
20:05 * davidfetter claps
20:05 davidfetter sorry
20:06 pmichaud explaining "why release at all" seems much easier to me than anything else that might come up
20:07 pmichaud if nothing else, I can fall back on "release early, release often"
20:07 tadzik alright, anyone mind me adding LWP::Simple to Star?
20:07 cosimo tadzik: what are you matching against?
20:07 PerlJam tadzik: looks like a bug to me (your sub problem)
20:07 tadzik cosimo: no matching
20:08 simcop2387 joined #perl6
20:08 cosimo tadzik: i thought you wanted $something ~~ $a
20:08 masak pmichaud: nice announcement draft.
20:08 PerlJam tadzik: you could be a tad more explicit and say  rx/regex/ but that doesn't help you
20:08 tadzik cosimo: look up, it's just "if $a"
20:08 pmichaud still needs more, on phone now
20:08 tadzik alright, adding LWP::Simple
20:09 masak pmichaud: fwiw, I think no official text should ever self-apply the word "honest". "Just to be clear" or equiv would be better.
20:09 PerlJam masak++
20:09 tadzik PerlJam: report it?
20:10 PerlJam tadzik: well, I'm not *sure* it's a bug.  :-)
20:10 cosimo tadzik: LWP::Simple also needs MIME::Base64
20:10 tadzik cosimo: oh, sure
20:10 tylercurtis tadzik: in Rakudo at least(will have to check if it's spec), Regex.Bool is essentially { $_ ~~ self; $match.Bool }.
20:10 PerlJam tadzik: I mean, perhaps you're meant to do something like ...
20:10 jnthn pmichaud: First three paragraphs look good. Less comfortable with the forth one.
20:10 PerlJam rakudo: sub foo (:$a) { say 'ok' if $a.defined }; foo(a => /regex/);
20:10 p6eval rakudo fe29cd: OUTPUT«ok␤»
20:11 tadzik oh, better
20:11 cosimo rakudo: sub foo (:$a) { say $a.perl }; foo(a => /regex/);
20:11 p6eval rakudo fe29cd: OUTPUT«{ ... }␤»
20:11 tadzik but still it sounds like a bug to me
20:11 tadzik cosimo: added
20:11 pyrimidine left #perl6
20:11 lue masak: I agree
20:11 jnthn pmichaud: The "We'll be honest: " maybe isn't needed at all.
20:12 masak pmichaud: or what jnthn said.
20:12 lucs "We are aware that ..."
20:12 masak @darlings>>.kill
20:12 PerlJam tadzik: How about this one ...
20:12 PerlJam rakudo: my $x = rx/regex/; say ?$x;
20:12 p6eval rakudo fe29cd: OUTPUT«Method 'match' not found for invocant of class ''␤  in 'Regex::Bool' at line 5567:CORE.setting␤  in 'prefix:<?>' at line 411:CORE.setting␤  in main program body at line 22:/tmp/L3b1rhbfCD␤»
20:13 jnthn pmichaud: I like the contrast between "it has issues" and "it's still useful and interesting".
20:13 PerlJam (same problem as your sub)
20:13 PerlJam but ...
20:13 PerlJam rakudo: my $x = rx/regex/; say ~$x;
20:13 p6eval rakudo fe29cd: OUTPUT«_block115␤»
20:13 PerlJam What's that all about?
20:13 tadzik PerlJam: $a.defined works fine
20:13 PerlJam (I call bug as it looks like rakudo's parroty guts are leaking through)
20:14 jnthn IIRC, if you put a regex in boolean context it will match against $_
20:14 masak rakudo: my $x = sub {}; say ~$x
20:14 p6eval rakudo fe29cd: OUTPUT«_block115␤»
20:14 jnthn $x contains a regex. ?$x is doing just that.
20:14 PerlJam jnthn: but it doesn't do that in string context?
20:15 jnthn PerlJam: No, then it just does whatever a code object would.
20:16 PerlJam still seems wonky to me
20:16 tylercurtis jnthn, even rx{foo}?
20:17 masak Su-Shee: [backlog] that's probably Perl 6's biggest PR lack right now: that a great getting-started guide doesn't exist.
20:17 whee pmichaud: I'm not sure I really care for the second paragraph (Rakudo Star releases differ...) since if you're trying to attract new people they have no idea what's in the usual releases anyway
20:17 jnthn pmichaud: While I agree with fully brining out that it's slow and has plenty of bugs, I think "isn't at all a complete implementation of Perl 6" wants toning down a bit or some constrasting note that it has got a substantial feature set.
20:18 PerlJam whee: I think that part is fine ... but I have some doubts about R* containing "documentation"  :)
20:18 jnthn pmichaud: Yes, sure, we haven't got *everything* in the spec, but I consider the range of features we have more of a positive point than a failure.
20:19 jnthn pmichaud: Im comparrison to our current state on speed and bugs, anyway.
20:19 lue how about "It's almost a complete implementation" ? [or is that too much on the other end?]
20:19 jnthn lue: Too far the other way.
20:19 jnthn Something in between.
20:20 masak jnthn: ss/at all/yet/, perhaps?
20:20 jnthn But I think that you can try out grammars, multi dispatch, Perl 6 OO, junctions, chained comparrisions, user defiend ops, laziness, etc is a reason *to* play with Rakudo that we maybe should bring out a little more.
20:20 whee how about a "what can I do with it" section?
20:20 lue "It's not complete, but it's very usable" ?
20:20 lichtkind joined #perl6
20:21 jnthn (Not suggesting a laundry list of features, mind.)
20:21 PerlJam perhaps I like lists too much, but I think there should be a list of the major features that work and another of the major features known not to work
20:21 PerlJam blah too slow
20:21 PerlJam what jnthn said
20:21 jnthn masak: Yeah, that leaves us more room.
20:22 jnthn masak: We should certainly not give the impression it's really nearly covering all the spec. I just think that as it is phrased now it understates one of the areas that we don't do quite so badly in.
20:23 masak Rakudo is the least bad impl right now when it comes to spec cov'rige.
20:23 pmichaud "useful parts of the specification"
20:24 pmichaud (still on phone)
20:24 avar writing the * release announcement?
20:25 pmichaud drafting
20:25 masak by the way, after all this talk about Makefiles being less-than-desirable and less-than-platform-independent, I'm thinking we(TM) should probably make an attempt at something like this: http://rake.rubyforge.org/ -- in the mid-to-long run, of course.
20:26 masak food &
20:26 [Coke] http://stackoverflow.com/questions/142799/define-production-ready
20:26 avar Or write a Perl 6 Makefile parser ? :)
20:27 sorear in #toolchain yesterday mst talked about a pure Perl implementation of make
20:28 sorear this could be a fun small project
20:28 sorear like, .signature sized
20:28 sorear (mostly because the portable subset of Makefile syntax is so small)
20:28 rindolf sorear: there is remake I think.
20:29 rindolf No, that's something else.
20:29 colomon cons
20:30 davidfetter my USD 0.02 re: "production ready." if RoR is, rakudo is, /a fortiori/
20:30 rindolf http://makepp.sourceforge.net/
20:30 rindolf colomon: no, not CONS.
20:30 PerlJam cons is dead
20:31 pmichaud off phone, finally
20:31 tadzik hmm. Is any documentation reader going into Star? Something like perldoc
20:36 tadzik rakudo: my $i = 0; loop { if $i++ == 5 { goto END; } } END: say 'ok'; # how is it supposed to work?
20:36 p6eval rakudo fe29cd: OUTPUT«===SORRY!===␤Confused at line 22, near "loop { if "␤»
20:36 PerlJam tadzik: goto NYI
20:36 tadzik oh, ok
20:37 * lue is almost done w/ promotional banner about R* for his blog :)
20:39 tadzik lue: mind showing? :)
20:39 cosimo what's the different between $.bar and $!bar ?
20:40 cosimo difference, even
20:40 tadzik cosimo: public and private accessor
20:40 lue I plan on putting up a `preview', so yes.
20:40 jnthn $!bar declares an attribute
20:40 kokajxo joined #perl6
20:40 jnthn $.bar declares $!bar plus an accessor method.
20:40 _ilbot2 joined #perl6
20:40 Topic for #perl6is now »ö« Welcome to Perl 6! | http://perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: http://irc.pugscode.org/ | UTF-8 is our friend!
20:40 cosimo jnthn: tadzik: thanks
20:41 tadzik so, what about this documentation reader?
20:41 PerlJam tadzik: vi, emacs, notepad, bbedit, textmate, ... your choice.
20:41 tadzik PerlJam: I see
20:43 tylercurtis rakudo: class Foo { method f { $.g; }; method g { say 'g!' } }; Foo.f;
20:43 p6eval rakudo fe29cd: OUTPUT«g!␤»
20:43 tylercurtis cosimo: as well, outside of "has", "$.foo" is basically "$(self.foo)". In other words, it calls whatever method in item context.
20:44 * tadzik is excited before R*
20:44 tadzik I hope I'll be able to sleep
20:45 * moritz_ will, due to exhausting training :-)
20:45 pmichaud draft revised:  http://pmichaud.com/sandbox/2010.07.txt
20:46 ascent_ joined #perl6
20:46 cosimo tylercurtis: thanks
20:46 moritz_ pmichaud: /me likes it
20:47 jnthn pmichaud: That's a huge improvement.
20:47 jnthn pmichaud++
20:47 pmichaud I'd still like to work "not 6.0.0" and "not 1.0" into the text somewhere.
20:48 jnthn pmichaud: In that paragraph or just somewhere?
20:48 pmichaud somewhere.
20:48 jnthn OK
20:48 tadzik This is awesome. People are waiting over 10 years for this moment, and now it's happening. The fact that I did something for the project is truly awesome. Thank you guys for this experience :)
20:48 tylercurtis cosimo: for other contexts, you can also do @.foo, %.foo, &.foo, etc., as with accessors.
20:48 jnthn OK; I don't see a good way to put it into that paragraph right off. :-)
20:48 moritz_ tadzik: I can feel with you :-)
20:48 pmichaud reload, adding the next section
20:49 PerlJam tadzik: I'm not sure they were waiting for *this* moment.  R* isn't quite the same dream as Perl 6  :)
20:49 jnthn pmichaud: s/metamodel/model/
20:49 cosimo well, it's great anyways
20:49 moritz_ Lazy lists
20:49 tadzik PerlJam: well, R* is the huge propaganda hit anyway. I mean, usable Perl 6. Now.
20:49 pmichaud jnthn: fixed
20:49 moritz_ junctions
20:49 tadzik grammars
20:49 jnthn pmichaud: Mention multipe dispatch and junc...yes those
20:49 jnthn tadzik: already there ;-)
20:49 lue I like it.
20:49 moritz_ MAIN and USAGE subs
20:50 pmichaud moritz_: might be hard to explain those in a bullet point
20:50 tylercurtis Feeds are nice.
20:50 jnthn Aye
20:50 Tene I would *not* mention chained comparisons.
20:50 PerlJam feeds++
20:50 jnthn tylercurtis: Feeds are one of the quite incomplete features though.
20:50 moritz_ right; I wouldn't put those in
20:50 Tene It's not actually a big feature, and it seems to devalue the rest by comparison.
20:50 PerlJam jnthn: but the simple, "ordinary" cases work just fine
20:50 chromatic I like this release announcement much more.
20:50 pmichaud chromatic++ and others++ for suggestions
20:51 pmichaud I already see now to work in "not 1.0" and "not 6.0.0".... coming up
20:51 avar It could probably use pointers to online perl6 docs too..
20:51 pmichaud s/now/how/
20:51 jnthn PerlJam: The current impl is like, something I churned out in a spare hour. There's quite a bit from the spec missing. :-)
20:51 jnthn I'd rather focus on the things we have fairly significant coverage of.
20:51 tylercurtis pmichaud: perhaps something like "MAIN subs that automatically parse command line arguments according to the sub's signature."
20:52 jnthn tylercurtis: It's not very snappy though
20:52 chromatic Function signatures
20:52 Tene I'd just say "Improved command-line handling"
20:52 PerlJam jnthn: perhaps I'm just enamored of the novelty that my @a <== grep <== sort <== @thingy; works  :)
20:52 moritz_ "Command line parsing through function signatures"
20:52 pugssvn r31856 | moritz++ | [t/spec] at least a very basic test for $*VM, RT #73888
20:52 pmichaud how about "formal parameter lists and signatures" ?
20:52 moritz_ +1
20:52 jnthn pmichaud: +1
20:53 cosimo I just started porting Cache::Memcached to Perl6. It's amazing how much code you can just cut away
20:53 jnthn PerlJam: Strange, I actually more like @thingy ==> grep *.foo ==> sort ==> my @result; # more
20:53 jnthn :-)
20:53 PerlJam that too!
20:53 rbuels joined #perl6
20:53 PerlJam :)
20:53 moritz_ cosimo: I've shared that experience. Especially for OO code
20:53 [particle] i don't like "So, " in the release announcement.  it's too conversational
20:54 cosimo moritz_: yes, especially that. sub new {} anyone? :)
20:54 cognominal rakudo:  say  ({ qq| $^k="{$^v.perl}"| } )( < a b > )
20:54 p6eval rakudo fe29cd: OUTPUT«Lexical '$v' not found␤  in <anon> at line 22:/tmp/_WdktGMFAg␤  in main program body at line 22:/tmp/_WdktGMFAg␤»
20:54 pmichaud [particle]: would "Thus, " be okay?
20:54 lue .oO(@lista ==> sort ==> my @result <== sort <== @listb)
20:54 [particle] also, starting a sentence with But...
20:54 jnthn pmichaud: Maybe s/binary objects/native types/ maybe? It's a tad more general.
20:54 pmichaud [particle]: nm, changing a bit more radically
20:54 [particle] hrmm, lemme think.
20:55 pugssvn r31857 | moritz++ | [t/spec] so my $x = 3, RT #73352
20:55 pmichaud jnthn: one of the FAQs is pack/unpack
20:55 jnthn [particle]: But can be a valid first word in a sentence. :P
20:55 tadzik lue: what about this banner? :)
20:55 [particle] jnthn: yes, rarely.
20:55 jnthn pmichaud: Then mention them explicitly.
20:55 cognominal should I file it as a bug. Or my expectation is wrong?
20:55 moritz_ pmichaud: mention state variables as not-quite-there
20:55 pmichaud moritz_: it's there now :)
20:55 pmichaud (frequent reloads might be good here :)
20:55 lue I'm finishing it up. (Would  R*.0  be a good abbreviation for Rakudo Star Release 0 ?)
20:56 cognominal anyway, that should be
20:56 moritz_ cognominal: introducing a formal parameter in a block interpolated into a string makes no sense
20:56 moritz_ cognominal: because it's called without an argument
20:56 moritz_ the error message could be more awesome, but it's not supposed to work
20:56 jnthn cognominal: It's right you get an error. The error itself is dubious.
20:57 jnthn pmichaud:   * multiple dispatch and junctions
20:57 jnthn pmichaud: I wouldn't group these
20:57 cognominal yes indeed, the {  }  were there to remind me.
20:57 jnthn pmichaud: The two aren't always related in reality, and for most people using junctions then when they are it's an implementation detail.
20:58 cognominal and there was extraneous double quotes as well.
20:58 [particle] pmichaud: after the bulleted lists, say something like, "You can read more about Perl 6 and the implemented features of Rakudo at <url-here>"
20:59 [particle] pmichaud: also, you must mention the included modules and utilities in the distro, to help reduce confusion with rakudo compiler releases
20:59 avar new paragraph imo at "But Rakudo Perl 6" or ' The "Star" releases', The third paragraph is a bit of a run-on
20:59 [particle] i mean, list bullets
20:59 avar s/As alluded earlier, //
21:00 ash__ anyone here familiar with feather3?
21:00 moritz_ ash__: a bit
21:00 jnthn pmichaud: Is it worth a kind of "Many built-in operators, functions and classes" note at the end of this?
21:00 ash__ is there a system managed version of rakudo on it? or do i need to make my own?
21:00 [particle] if you're open to more collaborative editing, we can create an etherpad ot make edits
21:00 moritz_ ash__: make your own
21:00 pmichaud jnthn: split multidispatch and junctions +1
21:01 moritz_ +1
21:01 jnthn pmichaud: Or just something to indicate that the basic bits are there as well as all this high falutin' stuff. :-)
21:01 [particle] like: http://eiximenis.wikimedia.org/rakudo-star-announce
21:01 ash__ moritz_: kk, will do
21:01 pmichaud [particle]: this is fine with me
21:01 [particle] hokay
21:01 ash__ moritz_: oh http://greaterthaninfinity.dyndns.info/ is working a bit better now, it retains data between calls (try my $a = 1; <enter> say $a; <enter>)
21:02 pmichaud jnthn: added "a rich library of builtin operators, functions, and types"
21:02 ash__ my server is slow (very noticeably slow) for some  reason...
21:02 * [particle] backscrolls to look for discussion of "release 0", which comes across as quite underwhelming
21:03 pmichaud I'm fine with leaving the release number out, if #0 causes issues.
21:03 pmichaud I don't want to call it release #1.
21:03 PerlJam pmichaud: is there really a need to say "Perl 6 grammars" in the first bullet?  (i.e. drop the "Perl 6")
21:03 moritz_ ash__: \o/ works
21:03 pmichaud PerlJam: It feels different with the "Perl 6" there.
21:03 jnthn PerlJam: It may be good to call out the distinction that regexes in Perl 6 are notably different.
21:04 pmichaud PerlJam: maybe I'm just too close to the process, but so far.... what jnthn++ said
21:04 avar PerlJam: It probably helps googling..
21:04 ash__ moritz_: i'd like to get at least that page cleaned up by tonight/tomorrow even if the tutorial parts are still missing...
21:04 pmichaud and several people have mentioned that at this point in time, Perl 6 grammars are its killer app
21:04 jnthn pmichaud: Thatt'll be lost on some people, but not those who have seen/read about them.
21:04 avar Another thing to mention -> some of the build-in-modules?
21:04 [Coke] +1 on using the release month as the version #.
21:04 [Coke] version /string/
21:04 jnthn ash__: It works for me too \o/
21:04 moritz_ ash__: see http://svn.pugscode.org/pugs/misc/evalbot/evalbot.pl for some basic security measures (search for program_prefix)
21:04 ash__ moritz_: i just ended up re-writing the perl backend since i didn't really understand cygx's work so far...
21:04 ash__ i have it already
21:04 ash__ say lines;
21:05 ash__ it has the same stdin as p6eval
21:05 pmichaud [Coke]: changed version number
21:05 moritz_ ah, great
21:05 jnthn Land der Äcker
21:05 moritz_ ash__: and add a
21:05 tadzik ash__: it works! \o/
21:05 jnthn Encoding fail :-)
21:05 tadzik ash__++
21:05 moritz_ ash__: use FORBID_PIR;
21:05 moritz_ ash__: at the end of that list
21:05 moritz_ ash__: so that pir::destructive_call is disabled
21:06 hercynium joined #perl6
21:06 cj joined #perl6
21:06 ash__ http://github.com/moritz/try.rakudo.org/blob/master/frontend/cgi/try.pl#L32 is what i am using now, i'll append those things you just said though
21:06 cj diakopter: moo
21:06 tadzik modules/mainline -- what's that? (in Star)
21:07 pmichaud tadzik: it's HTTP::Daemon
21:07 [particle] am i being pedantic in saying "#2010.07" looks like the 7th release of the year? perhaps "2010-07"?
21:07 pmichaud yes, the name is lta
21:07 pmichaud [particle]: unix package managers all want periods
21:07 tylercurtis phenny: tell masak Wikipedia tells me of a topological-sort algorithm that makes cycle-detection extremely trivial. http://en.wikipedia.org/wiki/Topological_sorting#Algorithms
21:07 phenny tylercurtis: I'll pass that on when masak is around.
21:07 moritz_ pmichaud: one more thing.. mention the REPL
21:07 pmichaud I tried using hyphens and got some grief from the people creating .rpms and .debs
21:07 * [particle] gives unix package managers a :P
21:07 pmichaud moritz_: suggestion?
21:07 [particle] ok, so drop the #
21:07 lue wasn't there already 2010.07? .oO(maybe star.00 ?)
21:08 PerlJam lue: that was Rakudo, not Rakudo Star
21:08 tadzik lue: mind showing the banner? :)
21:08 moritz_ pmichaud: * an interaction read-evaluation-print loop
21:08 lue yes :) just a second...
21:08 pmichaud moritz_: added
21:09 PerlJam pmichaud: is the announcement also going to elaborate on blizkost, zavolaj, etc? or leave that for another document?
21:09 pmichaud PerlJam: working on it
21:09 ash__ how does repr know what the last thing was? like if you do "my $a = 3;" it prints 3
21:09 pmichaud ash__: because the result of "my $a = 3"  is 3.
21:09 pmichaud rakudo:   say (my $a = 3);
21:09 p6eval rakudo fe29cd: OUTPUT«3␤»
21:10 ingy I think I have enough pegex working to do an initial release. the entire p5 testml impl is pegex based. One thing I want to support is a action callback before a rule, after a passing rule, and after a failing rule.
21:10 sorear this is so that you can do $a = ($b = 3);
21:10 ash__ so its it just doing ( ) around the input?
21:10 ash__ (probably not)
21:10 moritz_ print(...) basically
21:10 ingy p6 only supports after a passing rule, right?
21:10 moritz_ erm
21:10 moritz_ say()
21:10 pmichaud it's just looking at the result of the execution and displaying it
21:10 sorear ingy: Oh dear, did you just implement a p6regex to p5 compiler? :(
21:10 * moritz_ out
21:10 am0c joined #perl6
21:10 ingy sorear: I'm getting there
21:11 Guest23195 left #perl6
21:11 sorear ingy: one already exists.  it's called viv, and it powers STD
21:11 ingy sorear: and once rakudo does p5 regex, we can do fast rules :)
21:11 ingy sorear: pegex is an acmeist project. (all langs)
21:12 ingy sorear: it's only heavily influenced by p6r
21:12 cognominal acmeist project?
21:12 ingy cognominal: acmeism.org
21:13 PerlJam ingy: clearly you haven't advertised acmeism enough :)
21:13 * ingy is an acmeist hacker
21:13 * araujo thinks about willy coyote
21:13 ingy PerlJam: I've given about at least 5 talks on it in the last year
21:14 ingy anywho
21:14 PerlJam araujo: "willy"?  ITYM "wiley"  Wile E. Coyote .... Super Genius.
21:14 pmichaud the number of talks doesn't matter.  I've given several dozen talks about Rakudo and Perl 6, but "everyone knows it's vaporware"  :-P
21:15 tadzik :)
21:15 PerlJam pmichaud: not to mention the 31 releases to date
21:15 cognominal I think ingy talked to me about it in a bar in Paris, probably after I drank  too much beers. That's the danger of evangelism in bars.
21:15 pmichaud PerlJam: apparently, "those aren't real release."
21:15 pmichaud *releases
21:15 araujo PerlJam, that one :P
21:16 ingy cognominal: :) paris++
21:16 timbunce joined #perl6
21:16 pmichaud announcement updateded to include "not 1.0" and "not 6.0.0"
21:16 pmichaud suggestions for short descriptive blurbs for the modules welcomed
21:16 cognominal ingy,  you are welcome to talk as osdc.fr or fpw
21:17 cognominal but importing chunk of Perl 6 syntax in other languages will make every language like Perl 6 eventually :)
21:17 cognominal *chunks
21:17 tadzik they will steal features anyway :)
21:17 cognominal ... and will realize they need the syntax as well :)
21:17 ingy cognominal: actually I am hoping to get back to osdc.fr this year, since all the vapor I talked about last year is actually working now :)
21:17 dukeleto tadzik: that would be the best flattery :)
21:18 PerlJam It's just a matter of time before we see the P6CGE  out there to replace (?) PCRE
21:18 tadzik cognominal: and they will migrate to parrot to be able to use P6 :)
21:19 dukeleto tadzik: the parrot hackers sure are hoping for that
21:19 ingy acmeism is not about everyone _stealing_ from p6 but about p6 _sharing_ with everyone
21:19 cbk joined #perl6
21:19 * ingy plays robin hood
21:19 tadzik ingy: stealing is a metaphor here
21:19 ingy tadzik: but it's a bad metaphor
21:19 tadzik there's hardly a thing like stealing in the world of open source software
21:20 [particle] that's bs.
21:20 tadzik ingy: maybe. It sounds like a bad word
21:20 [particle] you need to follow the license provisions, or its stealing.
21:20 PerlJam ingy: some communities have too much of a NIH problem, so they're not into sharing
21:20 tadzik well, sure
21:20 ingy I think you misunderstand me
21:20 chromatic Infringement is not stealing.  That is all.
21:20 timbunce pmichaud: " feedback about Perl 6 +language+ and Rakudo's implementation of it"
21:21 pmichaud timbunce: changed.
21:21 ingy miyagawa++ has stolen great things from python and ruby, but I tell him to be acmeist and give the enhancements back
21:21 araujo ingy, a new algorithm can be considered an acmeism?
21:22 [particle] pmichaud: s/more widely/widely/
21:22 davidfetter looks like dukeleto et al. slid pl/rakudo under the wire :)
21:22 lue tadzik: here it is: http://rdstar.wordpress.com/blog-banners/
21:22 PerlJam I predict MiniDBI will generate the most activity from the R* release (most bugs/comments/hacking/etc)
21:22 pmichaud [particle]: I prefer "more widely"
21:22 ingy araujo: a new algorithm implemented equally in a dozen langs
21:22 pmichaud [particle]: or else we should change "widely" altogether.
21:22 [particle] ok, how about "morer widelier" :P
21:22 tadzik lue: oh, these! :)
21:22 tadzik I've seen them few days ago :)
21:23 timbunce pmichaud: "although we plan for them to appear" seems a little hope-full. "they will appear" perhaps
21:23 ingy acmeism is about caring about ideas and the people they affect more than the language you first implement them in
21:23 lue I just finished the new one! (second) :)
21:23 araujo ingy, well, the algorithm is invented, the people then implement it in whatever language they want
21:23 pmichaud timbunce: changed (thanks)
21:23 sorear pmichaud: tylercurtis: Schwern has been found
21:24 pmichaud .oO( was I looking for Schwern? )
21:24 timbunce What's the state of rakudo's unicode handling? The novel normalized form (graphemes?) is worth adding to the have or will-have list
21:24 ingy araujo: i have committed to implementing my future ideas in all languages
21:24 pmichaud rakudo handles unicode at the grapheme level (I think), but not at any of the other levels.
21:25 pmichaud we don't have the normalized form yet.
21:25 ingy so anything I'm doing here, is going to happen everywhere
21:25 ingy but there's a lot of good energy here day to day
21:25 pmichaud timbunce: added notes about unicode to both the "have" and "have not" lists.
21:25 PerlJam hugme: hug ingy
21:25 * hugme hugs ingy
21:25 ingy so it's a nice place to hanf out
21:25 * PerlJam beams some good energy at ingy
21:25 pmichaud plus there's plenty of hugs about
21:25 lue would it be wrong to call this the 0th R* release, like it did in early drafts of the release announcement?
21:25 ingy PerlJam: \o/
21:26 pmichaud lue: I'm likely to internally continue to treat it as the #0 release
21:26 pmichaud but I probably won't start numbering releases until we get to #2 or #3 :)
21:26 lue alright, because that's what my banner calls it :)
21:26 pmichaud lue: I did say it was worth waiting for the release to actually occur, you know.  :)
21:27 lue It's only a preview of the banner right now :)
21:27 lue right here: http://rdstar.wordpress.com/blog-banners/
21:27 timbunce when will the R* be frozen? (specifically when will MiniDBI get bundled as I'd like to edit its README)
21:28 lue .oO(I reckon I should hide it again, no need to have a preview)
21:29 patrickas joined #perl6
21:29 pmichaud timbunce: module freeze is later this evening
21:29 pmichaud timbunce: you have at least 6 hours or so
21:29 araujo ingy, sounds good idea, but I still think programming languages highly influence sometimes ideas and concepts
21:33 cotto_work joined #perl6
21:33 ingy araujo: of course, but then those good ideas should be proactively shared
21:33 ingy imao ;)
21:33 mscha joined #perl6
21:34 patrickas hello perlsixers
21:34 araujo that is true, they should be shared
21:34 * PerlJam coughs of araujo and shares perhaps too much  ;)
21:35 tadzik patrickas: o/
21:35 patrickas would it be a good idea to have a short description for modules whose functionality is not obvious from the name (like blizkost and zavolaj) in the release announcement ?
21:35 patrickas tadzik \o
21:35 pmichaud patrickas: yes, I'm hoping others will contribute the short descriptions :)
21:35 pmichaud so far nobody has done so. :)
21:36 tadzik pmichaud: where to put them?
21:36 araujo ingy, I think that is possible for many ideas .... the detail is how useful these ideas can come from one language to other, tough I guess acmeism doesn't deal with that now
21:36 pmichaud 21:16 <pmichaud> suggestions for short descriptive blurbs for the modules welcomed
21:36 cotto_work +1 to what patrickas said
21:36 pmichaud tadzik: here on the channel is fine -- I'll paste them in
21:37 jnthn Blizkost allows you to use many Perl 5 modules from within Perl 6.
21:37 pmichaud jnthn: capital "B" ?
21:37 jnthn pmichaud: Yes.
21:38 tadzik pmichaud: File::Find -- find files in a given directory; Term::ANSIColor -- Color screen output using ANSI escape sequences #`[borrowed from CPAN]; Config::INI -- parse and write configuration files
21:38 pmichaud jnthn: updated
21:38 jnthn pmichaud: I tend to like to have names capitalized. :-)
21:38 pmichaud tadzik: updated
21:38 jnthn Zavolaj enables you to call functions from C libraries by declaring stub subroutines in Perl 6.
21:39 jnthn er
21:39 pmichaud * Zavolaj - call functions in C libraries by declaring Perl 6 stubs
21:39 jnthn pmichaud: yes, that's fine
21:40 tadzik LWP::Sipmle -- simple interface to WWW #`[or something brighter]
21:40 patrickas Zavolaj - call C libraries functions from Rakudo
21:40 pmichaud patrickas: I like your desc better -- adopted it
21:40 alexm joined #perl6
21:41 tadzik SVG -- create Scalable Vector Graphics
21:41 jnthn Test::Mock - create mock objects and check what methods were called
21:41 pmichaud tadzik: LWP::Simple needs a better description.  how about "fetch resources from the web?"
21:41 jnthn JSON::Tiny - serialize Perl 6 data structures to/from JSON
21:41 tadzik pmichaud: I thought about 'simple interface to HTTP protocol' but that's rather what HTTP::Client is for
21:42 tadzik pmichaud: your description is nice
21:42 tadzik jnthn: where is JSON::Tiny in Star?
21:42 jnthn tadzik: Oh, I thought it was included?
21:42 tadzik jnthn: I'll include it now
21:42 PerlJam It probably should be
21:42 jnthn +1
21:42 jnthn It's a nice module to read the code of too
21:42 pmichaud I think the original expectation was that proto would provide it, but I think it should be separate.
21:42 jnthn A good example of grammars. :-)
21:43 pmichaud yes, please add it
21:43 tadzik where does it live?
21:43 jnthn github/moritz/json iirc
21:43 tadzik so, JSON or JSON-Tiny?
21:43 tadzik I don't think it's necessary to call it Tiny, for it's the only JSON we have anyway :)
21:43 tadzik does not need to be fat to be good :)
21:43 pmichaud Tiny, in case we have a bigger JSON later.
21:44 tadzik added
21:44 pmichaud "its the only ... we have"  isn't a good argument for a simple name -- we have to think about the future too.
21:44 pmichaud also, we should refer to it by the module name for now.
21:44 timbunce I've updated the MniDBI README: http://github.com/mberends/MiniDBI/commit/bd0881fe113d35dbf5711a93d4e32e5eb4c27907 any comments?
21:44 [particle] pmichaud: the zavolaj description should be consistent with the others, and say Perl 6 instead of Rakudo
21:44 pmichaud timbunce: looking
21:45 PerlJam Math::Model - provides a way to describe and run mathematical models
21:45 PerlJam pmichaud: that first sentence makes for a great description :)
21:45 PerlJam (MiniDBI)
21:45 pmichaud [particle]: added, although I don't know if Zavolaj will ultimately be ported (or portable) to other Perl 6 implementations
21:46 pmichaud [particle]: i've changed them to be "Rakudo Perl 6"
21:46 pmichaud that seems to work okay for me
21:46 timbunce I guess I should write a README for DBDI now!
21:46 jnthn pmichaud: I consider Zavolaj a working draft implementation for a synopsis on native calls.
21:46 pmichaud PerlJam: adopted the minidbi description
21:46 [particle] great! consistency in the message is important.
21:47 pmichaud jnthn: works for me.
21:47 jnthn pmichaud: But it's got a bit to go before I'm ready to propose it.
21:47 jnthn pmichaud: So yes, +1 to "Rakudo Perl 6"
21:47 high joined #perl6
21:47 jnthn pmichaud: I fully intend to port it everywhere Rakudo runs, and may at some point suggest we make it core.
21:47 jnthn pmichaud: But anyway, that's for later.
21:47 PerlJam XML::Writer - module for creating XML in Perl 6
21:48 PerlJam (taken from the README)
21:48 isBEKaml joined #perl6
21:48 pmichaud timbunce: minidbi readme looks good
21:48 tadzik maybe 'build XML from Perl 6'?
21:49 pmichaud 'generate XML output from Perl 6'
21:49 pmichaud or even just 'generate XML output'
21:49 * timbunce thinks it's a pity DBDI isn't quite ready to include in R* (but makes him remember fondly that DBI was almost bundled with Perl 5.0 but he asked Larry to remove it just in time)
21:49 pmichaud timbunce: there will be another release in four weeks.  Maybe even sooner.  :)
21:49 pmichaud timbunce: then DBI can get a prominent position in the release announcement.  :)
21:49 sorear timbunce: Why did DBI need to be removed from Perl 5.0?
21:50 pmichaud "Rakudo Star -- now with DBI!!!!"
21:50 tadzik pmichaud: why output?
21:50 isBEKaml the parrot that will be bundled with R* will be 2.6.0 ?
21:50 pmichaud tadzik: okay, just "generate XML"
21:50 pmichaud isBEKaml: yes.
21:50 PerlJam 'DBDI' ne 'DBI'
21:50 isBEKaml pmichaud: ok. Doing a slackbuild now. :)
21:50 tadzik pmichaud: maybe 'generate XML documents'?
21:50 pmichaud sorry, DBDI
21:50 * davidfetter hopes pmichaud will put PL/R* in the release announcement somewhere
21:50 timbunce pmichaud: no! (please, tell me you're joking) We're a long way from having a DBI!
21:51 pmichaud timbunce: right, I just put the wrong acronym.  :)
21:51 timbunce pmichaud: yeah, it's bound to be a source of confusion
21:51 davidfetter http://pl.parrot.org @ pmichaud
21:51 [particle] pmichaud: mention R* is based on rakudo #31 (or whatever) and parrot 2.6 ?
21:51 pmichaud [particle]: I'm not quite sure where to put that.
21:52 timbunce sorear: DBI didn't need to be removed. I decided it was best not to bundle it. That was the right choice.
21:52 chromatic timbunce, where were you for File::Find and CGI?
21:53 sorear rule modifier_expr { <EXPR> }  #point?
21:53 Mowah joined #perl6
21:53 dalek niecza: c2b609a | sorear++ | STD_REVISION:
21:53 dalek niecza: Bump STD_REVISION to get method parse fixes
21:53 dalek niecza: review: http://github.com/sorear/niecza/commit/c2b609a2de6c0b664e1e19256c6e5ea5b794308d
21:53 dalek niecza: cd418a6 | sorear++ | Niecza/Actions.pm:
21:53 dalek niecza: Implement parsing of "private" methods
21:53 dalek niecza: review: http://github.com/sorear/niecza/commit/cd418a624ce840c5f53450e688a0c6b4138180b5
21:53 dalek niecza: ebfc757 | sorear++ | Niecza/Actions.pm:
21:53 dalek niecza: Implement !method calls
21:53 dalek niecza: review: http://github.com/sorear/niecza/commit/ebfc7571192d34bfed74211984561ac1aeb02d16
21:53 dalek niecza: 667c147 | sorear++ | test.pl:
21:53 dalek niecza: Test for !method calls
21:53 dalek niecza: review: http://github.com/sorear/niecza/commit/667c14798fc0e40d349b5d33e441c7cf622604d7
21:53 dalek niecza: 02a9152 | sorear++ | Test.pm6:
21:53 dalek niecza: Use !method and listop ~ in Test.pm6
21:53 dalek niecza: review: http://github.com/sorear/niecza/commit/02a91524d53f8187982920cbf3fde6d64a18cddc
21:53 timbunce pmichaud: somewhere near "planned on a monthly cycle" where you can point out that Rakudo has had monthly releases for years
21:53 pmichaud davidfetter: PL/R* doesn't seem directly related to the R* release.  Maybe I'm just missing it.
21:53 PerlJam having DBI won't be enough these days anyway.   Now you need the full stack DBDI, DBI, and an ORM
21:54 davidfetter pmichaud, it uses R*
21:54 PerlJam er, and some DBDs of course :)
21:54 timbunce chromatic: Up until *just* before the perl 5.0 release the entire library of modules was in a flat namespace. You can blame me for fixing that and for the knock-on effects of my reorg :)
21:55 davidfetter pmichaud, won't work with versions of rakudo much earlier than R*
21:55 pmichaud davidfetter: I'm open for text suggestions, then.
21:55 [particle] pmichaud: perhaps "Rakudo Star releases are based on Rakudo compiler releases[1], and differ from them in that the Star releases also contain documentation and modules to make for a more complete Perl 6 development environment.  This release of Rakudo Star is based on Rakudo compiler release #31 and Parrot release 2.6.0. A partial list of modules installed as part of Rakudo Star:"
21:55 pmichaud I added a note about rakudo compiler and parrot to the last paragraph
21:56 pmichaud (refresh and see)
21:56 davidfetter "Rakudo Star has already been embedded in PostgreSQL: http://pl.parrot.org/"
21:56 jnthn [particle]: That's not true at all for this release. :-)
21:56 [particle] pmichaud++ for an amazing ability to context switch
21:56 ingy pmichaud: do you think I should put my YAML dumper into *?
21:56 ingy I think I should
21:56 pmichaud ingy: do you think it's ready for it?
21:56 pmichaud ingy:  I think it'd be a worthy module if so.
21:56 ingy well it's 100 times better than .perl
21:56 [particle] jnthn: i'm sad to say i don't know the specifics, just suggesting a format.
21:56 ingy but like .perl it's not perfect
21:56 pmichaud well, .perl still needs a lot of improvement, too.
21:57 tadzik pmichaud: http::daemon -- a simple http server class? borrowed from cpan again
21:57 pmichaud .perl right now is sort of a minimal implementation
21:57 ingy but it's for sure the best way to dump *
21:57 ingy even if it's not always perfect YAML, it's a great visualizer
21:57 pmichaud ingy: I'd need a location to download the yaml dumper and a one-line blurb
21:58 ingy pmichaud: http://github.com/ingydotnet/yaml-pm6 + the README
21:59 ingy it's ufo make testable
21:59 ingy if you have testml
21:59 pmichaud at the moment I'm only doing installs;  we don't have the test harnesses quite right for doing tests before install.  That's a high priority for R*+1
22:00 ingy nod
22:01 pmichaud anyone have any important Rakudo changes before I tag it for R* release?  last chance!  :)
22:01 chromatic Was there a ruling on colomon's iterator improvements?
22:02 jnthn pmichaud: None from me.
22:02 pmichaud I feel safer in waiting on those.
22:03 jnthn pmichaud: Same; slow is one thing, but broken would be worse.
22:03 jnthn pmichaud: We just haven't had enough chance to try it in the wild yet.
22:03 pmichaud agreed.
22:03 cxreg pmichaud: i was worried more about last-second stuff that was already pushed but would break it
22:04 pmichaud cxreg: I plan to run a full set of tests tonight before packaging, to be sure.
22:04 chromatic "Rakudo Star also contains an draft"
22:04 pmichaud chromatic++  # fixed
22:05 colomon chromatic: I didn't actually try to move them into Rakudo today, so I wouldn't be tempted.
22:06 colomon I've got a new test file to stress test int ranges.
22:06 colomon and I think I can integrate my standalone code pretty easily into Range.
22:06 colomon but I think it should wait until after the release.
22:09 masak tylercurtis: ooh, nice. didn't think of that one.
22:09 phenny masak: 21:07Z <tylercurtis> tell masak Wikipedia tells me of a topological-sort algorithm that makes cycle-detection extremely trivial. http://en.wikipedia.org/wiki/Topological_sorting#Algorithms
22:10 drbean joined #perl6
22:11 pmichaud tadzik: in order to add JSON::Tiny, MIME::Base64, and LWP::Simple I also need their github (or other) source locations...
22:11 * masak heads to bed
22:11 jnthn o/ masak
22:11 masak 'night, #p6
22:11 pmichaud (adding to Makefile.in isn't sufficient)
22:11 pmichaud night, masak
22:11 tadzik pmichaud: sure, give me a sec
22:12 pmichaud (they belong in the top-level Makefile)
22:12 drbean_ joined #perl6
22:12 tadzik http://github.com/moritz/json/ http://github.com/snarkyboojum/Perl6-MIME-Base64/ http://github.com/cosimo/perl6-lwp-simple/
22:12 pmichaud okay, adding
22:14 drbean joined #perl6
22:15 pmichaud davidfetter: where would you see the PostgreSQL comment going in the announcement?
22:15 davidfetter where's the draft announcement?
22:16 tadzik pmichaud: to be sure, which Term::ANSIColor are you pulling?
22:16 tadzik oh ok, there are urls in makefile
22:19 pmichaud I expect the build process to improve substantially over the next couple of releases -- at this point the important part is "make a release" more than "make a robust release process"
22:19 pmichaud davidfetter: http://pmichaud.com/sandbox/2010.07.txt
22:20 isBEKaml pmichaud: would rakudo's Configure.pl automatically detect the parrot_config when installed or do we have to explicitly pass in parrot_config to it?
22:21 isBEKaml so far, I have been passing in parrot_config explicitly.
22:21 lue afk
22:21 pmichaud isBEKaml: if parrot_config is in your path, it detects it.
22:21 pmichaud if not, you have to supply it.
22:22 isBEKaml ok
22:22 timbunce pmichaud: perhaps add something about concurrency-friendly hyper-operators
22:23 tadzik goodnight #perl6. May the Star shine upon You :)
22:24 davidfetter pmichaud, probably after the modules list
22:25 cj sorear: just making sure you're here
22:25 cognominal I would like to do a   .subst( /.../, given $the_match { ... } )
22:26 sorear cj: oh, I ... never noticed you here.
22:26 cognominal ...where $the_match would be the tjing matched by /.../. Is that possible?
22:26 pmichaud Paula says the announcement doesn't make the distinction between "Rakudo Star", "Rakudo", and "Perl 6" very clear.
22:26 azert0x joined #perl6
22:26 cognominal that would be   "do given"  I suppose.
22:27 pmichaud timbunce: well, that's more of a future potential of the language than something we have today :)
22:27 azert0x joined #perl6
22:27 pmichaud afk for a bit -- back in ~10
22:28 cj sorear: I don't always idle here.  I think I joined about 45 minutes ago looking for diakopter
22:28 cj who doesn't seem to be around
22:28 cognominal pmichaud, maybe a word about the thing you expect to work on the next release with a timeframe would be nice
22:28 pmichaud cognominal: timeframe is at the bottom of the announcement
22:29 sorear cj: diakopter is on vacation now
22:29 pmichaud also, somewhere (perhaps not in the announcement) we need to figure out where we'll answer   "where is the Perl 6 CPAN?"
22:29 ingy pmichaud: when is the final time that you'll pull yaml-pm6 for *?
22:29 cj bah.  how's he supposed to help me implement compiled regexen in mono if he's on vacation!?
22:29 pmichaud ingy: sometime in the next ~6 hrs, I expect.
22:29 ingy !
22:30 ingy pmichaud: is it already in there?
22:30 cj ingy: did you do any strip teases this year?
22:30 pmichaud ingy: I can pull it now or a specific commit if you want :)
22:30 pmichaud ingy: it's in the build system now -- haven't done a build with it yet.
22:30 ingy pmichaud: I'll get it ready for release
22:30 ingy put the new stuff on a branch
22:30 pmichaud ingy: okay, let me know if I need to remove it or something.
22:31 pmichaud ingy: if you just give me a commit id or tag to pull, I can be sure to grab that.
22:31 ingy pmichaud: ok
22:31 pmichaud bbi10
22:33 ashleydev joined #perl6
22:34 ashleydev joined #perl6
22:36 timbunce joined #perl6
22:40 isBEKaml_ joined #perl6
22:42 ingy hi cj
22:43 isBEKaml_ is there anywhere I can get the Rakudo source tarball without having to do a git clone?
22:43 isBEKaml_ R*
22:45 timbunce joined #perl6
22:46 timbunce pmichaud: a couple of years ago I wrote a list of cool things in perl6 (that I thought would interest academics). I've just found it again. (more)
22:47 timbunce pmichaud: some items to add to the 'in the future' list: Continuation Passing control flow, Resumable exceptions, Hypothetical variables, Automatic threading (concurrency) over Junctions, Constraints - pre and post conditions (design by contract).
22:48 wknight8111 joined #perl6
22:48 dalek niecza: d4465fa | sorear++ |  (2 files):
22:48 dalek niecza: Implement postfix if/while/unless/until
22:48 dalek niecza: review: http://github.com/sorear/niecza/commit/d4465fa0f372918ef27746c66e1540fc758c8bd6
22:50 Tene timbunce: there are resumable exceptions today.
22:50 cxreg isBEKaml_: rakudo star is not released yet, but it should be on the site as a tarball
22:51 cxreg isBEKaml_: you can produce such a tarball by cloning the star repo and running make
22:51 pmichaud the final tarball isn't produced yet (more)
22:51 pmichaud but you can get an intermediate one from
22:51 isBEKaml_ cxreg: Yes, I'm aware of that. I'm asking for th epurpose of building a slackware package.
22:51 pmichaud http://pmichaud.com/sandbox/rakudo-star-beta3.tgz
22:52 timbunce Tene: great. that can be added to the 'available today' list. Is that also true of continuation passing?
22:52 timbunce pmichaud: "The requested URL /sandbox/rakudo-star-beta3.tgz was not found on this server"
22:52 isBEKaml_ pmichaud: 404 - Not Found.
22:53 cotto_work what they said
22:53 pmichaud sorry, .tar.gz
22:53 pmichaud http://pmichaud.com/sandbox/rakudo-star-beta3.tar.gz
22:55 pmichaud timbunce: added some of your items to the draft announcement
22:56 timbunce pmichaud: "Rakudo Star is Copyright (C) 2010 by the Rakudo Star Team" is the Rakudo Star Team an official designation? How is copyright being handled/assigned etc?
22:56 isBEKaml_ pmichaud: you're including parrot within rakudo star dist too? I thought you said that would be a separate dependency download?
22:56 pmichaud isBEKaml_: I don't remember saying that.
22:56 pmichaud isBEKaml_: it will use a separate parrot if you already have one, but if not, there's one there.
22:56 pmichaud timbunce: it's not an official designation, no.
22:56 timbunce pmichaud: README says "Artistic License 2.0" but doesn't include a link and there's no LICENSE file.
22:56 pmichaud timbunce: the copyright really applies only to the build components of the tarball
22:57 pmichaud timbunce: oops, I forgot the LICENSE
22:57 pmichaud thanks
22:57 timbunce pmichaud: "you need at least a C copmiler" - typo
22:57 Tene timbunce: there are at least some pending significant issues with the exceptions system in rakudo.  I don't remember what they are, unfortunately.
22:57 pmichaud put another way,  R*  is really a compilation copyright -- each of the individual components have their own copyright.
22:58 isBEKaml_ pmichaud: sorry, my bad. I misunderstood what you said in phaser y'day.
22:58 timbunce pmichaud: "On Debian GNU/Linux or Ubuntu Linux, the necessary components for building Rakudo can be installed via the command" - but no command given.
22:59 pmichaud it's a copy-paste error -- it's following the next paragraph.
22:59 pmichaud fixing.
23:00 timbunce pmichaud: "Blizkost wants to have" needs a few words to say what it is. "Blizkost, the XYZ, wants to have"
23:00 pmichaud also switched minimum Perl to 5.8.4., since that's Parrot's minimum
23:00 pmichaud timbunce: you may be looking at an outdated copy
23:00 pmichaud (beta3 was made quite some time ago)
23:00 jnthn That's updated since beta3
23:00 ash__ gah, perl6 has spoiled me, i am getting syntax errors on all my other work because i keep doing: if $foo { } instead of if ($foo) { }
23:01 timbunce pmichaud: ok, I was looking at the files in the beta3 tarball
23:01 pmichaud timbunce: http://github.com/rakudo/star/blob/master/skel/README  # updated
23:01 pmichaud Just pushed a few changes to that file from your suggestions.
23:01 Tene ash__: obviously you need to write a source filter to take care of that for you. ;)
23:02 ash__ maybe one day soon i can re-write the try.rakudo.org stuff in perl6 instead of using perl5... :-D
23:03 ingy does dalek report star commits?
23:03 pmichaud I thought it did at one time -- it doesn't seem to be doing so now.
23:04 ingy pmichaud: ok, I just pushed a star commit :)
23:04 ingy apparent typo
23:04 pmichaud ingy++
23:15 ingy um, what is this: Method 'incorporate_candidates' not found for invocant of class 'Undef'
23:18 jnthn A very bad thing.
23:18 jnthn ingy: What produces it?
23:19 ingy yaml-pm6 I think
23:19 ingy make test
23:19 ingy testml seems to pass make test
23:19 cxreg ash__: how's ffi going?
23:20 ash__ cxreg: its done mostly, it's working, i haven't gotten it merged back into the parrot trunk yet though, i am working on a static thunk builder that does the same stuff my new nci thunk builder does, but statically
23:20 cxreg awesome!
23:21 ingy jnthn: it went away
23:21 ingy jnthn: after upgrading *
23:21 ash__ i have only tested in on 32 bit linux, 64 bit linux, 32 bit OS X and 64 bit OS X, so, i still need to figure out how to test it on windows...
23:21 ingy where * means everything
23:21 jnthn ingy: Ah, great.
23:21 cxreg ash__: i have a good use case, plparrot needs support for some goofy signatures in SPI_* space
23:22 pmichaud I made some significant refactors to the draft announcement -- comments welcomed
23:22 pmichaud 1.  changed the announcement title to include the phrase "Perl 6"
23:22 jnthn pmichaud: latest at?
23:22 pmichaud http://pmichaud.com/sandbox/2010.07.txt  # same location
23:22 pmichaud added paragraph 3 to try to explain the distinction between "Perl 6", "Rakudo compiler" and "Rakudo Star"
23:23 HarryS joined #perl6
23:23 pmichaud added a sentence after the description of included modules to say that more modules can be found via proto
23:23 jnthn grow
23:23 jnthn the Perl 6 codebase,
23:23 cxreg stackoverflow needs a Perl 6 category
23:24 jnthn pmichaud: Did you mean by this "grow the amount of code out there"
23:24 jnthn pmichaud: Some people could somehow confuse it with "make Rakudo's code base bigger" if they're still getting their head straight on the differences.
23:24 pmichaud jnthn: I meant both meanings, I think.  I'm open for a clearer phrasing.
23:24 jnthn If you meant both, then it's OK. :-)
23:25 jnthn * Unicode at the grapheme level
23:25 jnthn Aren't we only doing it at the codepoint level ATM?
23:26 jnthn e.g. we don't have NGF strings yet?
23:26 pmichaud I can change it to that
23:26 pmichaud fixed.
23:26 jnthn As far as I grok things, our .chars is still really .codes (whereas it should default to .graphs)
23:27 jnthn * Unicode strings at levels other than graphemes
23:27 jnthn That one wants fixing too
23:27 pmichaud I fixed it too.
23:28 bjarneh joined #perl6
23:29 jnthn ah, yes :-)
23:29 pmichaud Added:
23:29 pmichaud "In many places we've tried to make Rakudo smart enough to inform the
23:29 pmichaud programmer that a given feature isn't implemented, but there are
23:29 pmichaud still many that we've missed.  Bug reports about missing and broken
23:29 pmichaud features are welcomed.
23:29 pmichaud :
23:29 pmichaud "
23:30 isBEKaml_ More information about Perl 6 modules can be found at http://perl6.org/ and http://github.com/masak/proto.
23:30 isBEKaml_ I thought proto listed modules and perl6.org was a general info site?
23:30 jnthn pmichaud: I suggest link to http://modules.perl6.org/
23:30 isBEKaml_ "Perl6 and modules" I think would be clear.
23:31 jnthn Rather than http://github.com/masak/proto
23:31 pmichaud jnthn: +1
23:31 jnthn Since that may get renamed to pls at some point
23:31 pmichaud I didn't realize modules.perl6.org was available.
23:31 jnthn :-)
23:31 isBEKaml_ :) # nor did I
23:32 snarkyboojum proto.perl6.org redirects to modules.perl6.org now too
23:32 pmichaud modules.perl6.org is the perfect address.
23:32 masonkramer joined #perl6
23:33 pmichaud at some point we might want to revive the perl6-examples repository, too.
23:39 timbunce I've added a minimal README to DBDI. http://github.com/timbunce/DBDI/blob/master/README I'll flesh it out before YAPC::EU
23:39 pmichaud timbunce++
23:44 ingy rakudo: my $x = []; $x.push("foo"); say $x.perl
23:44 p6eval rakudo fe29cd: OUTPUT«["foo"]␤»
23:44 ingy rakudo: my $x = []; $x.push($x); say $x.perl
23:44 p6eval rakudo fe29cd: OUTPUT«maximum recursion depth exceeded␤  in 'Block::count' at line 5501:CORE.setting␤  in 'Block::count' at line 5505:CORE.setting␤  in 'Any::join' at line 1␤  in 'Array::perl' at line 2813:CORE.setting␤  in <anon> at line 2813:CORE.setting␤  in 'Any::join' at line 1␤  in
23:44 p6eval ..'Array::perl' a…
23:44 ingy :P
23:44 ingy YAML++ ;)
23:52 Guest86601 joined #perl6
23:53 Guest86601 rakudo: say (10.1).succ
23:53 p6eval rakudo fe29cd: OUTPUT«11.1␤»
23:53 Guest86601 Duh
23:55 ingy pmichaud: http://github.com/ingydotnet/yaml-pm6/tree/rakudo-star-1
23:55 ingy pmichaud: that's the tagged commit
23:55 pmichaud ingy++
23:56 ingy added some string quoting cases and updated the README
23:56 ingy pmichaud: will we add star to the evalbot?
23:57 pmichaud I dunno.
23:57 pmichaud that's up to the evalbot folks, I suspect :)
23:57 ingy whodat?
23:57 pmichaud moritz_ primarily, I think.
23:57 jnthn pmichaud: ETA for tomorrow's release (roughly, or a "not until after")?
23:57 pmichaud jnthn: I'm aiming for 12h00 utc
23:58 Psyche^ joined #perl6
23:58 sorear hmm, yaml-pm6 uses a few unpleasantly advanced features
23:58 jnthn pmichaud: As in, mid-day UTC?
23:58 jnthn pmichaud: Or mid-night UTC?
23:58 pmichaud mid-day
23:58 pmichaud (mid-night UTC would be in 2 minutes :)
23:58 jnthn Oh, yes, duh. :-)
23:58 jnthn OK, so 12 hours.
23:58 pmichaud right
23:59 pmichaud I plan to get online around 11h00, check for any last issues, and then do the release as close to 12h00 as I can make it
23:59 pmichaud I'm about to cut another beta.tar.gz now
23:59 jnthn When will there be a tarball for me to check over on Win32?
23:59 jnthn Oh, great.
23:59 snarkyboojum excellent - that'll still be 29th in Oz then :)
23:59 pmichaud I'm guessing that 12h00 is pretty much "July 29 everywhere"  :-)

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

Perl 6 | Reference Documentation | Rakudo