»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by moderator on 26 July 2010.
00:02 snarkyboojum joined
jnthn pmichaud: Seems the build works now. nmake rakudo-install seems to do everything that nmake did though. But both targets work. 00:17
pmichaud I don't understand that middle part 00:18
oh, I do understand it.
no, I don't understand it. :)
oh, I do understand it.
jnthn Make your mind up man!
pmichaud okay, I'll fix.
jnthn :-)
pmichaud (it's looking for rakudo/perl6 instead of rakudo/perl6.exe)
jnthn Aha
:-)
Anyway, works at least. 00:19
pmichaud should be fixed locally 00:20
so, does changing "proof_of_concept" to "pls" make sense?
jnthn pmichaud: IMO yes. Imasak'sO, not sure :-) 00:21
00:21 [sbp] joined
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"
pmichaud "release early, release often"
jnthn But, well, we need it now. :-)
Yes, that too.
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)
pmichaud [Coke]: probably not worth saving.
jhorwitz++ should've given up on me completely by now anyway :)
jnthn Any patch older than ng became master is probably not worth saving. Way too much changed then. 00:23
00:25 Juerd joined
[Coke] jnthn: this is way before that. 00:25
rejected. :( 00:32
rt.perl.org/rt3/Ticket/Display.html?id=57970 -- ETOOVAGUE.
"refactor c code". Do we need a ticket for that? 00:34
pmichaud we no longer do it in C anyway 00:35
jnthn I'm not convinced that code even exists any more.
pmichaud just mark the ticket as resolved
jnthn We refactored it into another langauge. :-)
00:42 jaldhar joined
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:43
pmichaud I'm afraid I have almost no clue about how to setup ufo, pls, or the modules. 00:45
jnthn pmichaud: Can you even get pls to run? 00:46
pmichaud jnthn: I don't even know how to invoke it properly, apparently
PerlJam ufo is just "make install" which is just "cp ufo /usr/local/bin" or somesuch
pmichaud or how to get the files to wherever they need to be
okay, 'ufo' I have installed then.
jnthn pmichaud: OK, I'll share the bits I know on pls
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
pmichaud: "fetch" grabs stuff from git
pmichaud let's start back from there
do I have to be in the proto/pls directory in order to run it?
and perl6 has to be in my path?
jnthn It needs to be able to find the modules in lib
[Coke] rakudo: rakudo: grammar A { token ws { 'a' }; rule b {x y}; }; say
'xab' ~~ m/ ^ <a::b> $ /
p6eval rakudo ac8a2a: OUTPUT«===SORRY!===␤Confused at line 22, near "rakudo: gr"␤»
[Coke] rakudo: rakudo: grammar A { token ws { 'a' }; rule b {x y}; }; say 'xab' ~~ m/ ^ <a::b> $ /
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
pmichaud: I expect you need an installed Perl 6 to really install modules.
masak may be able to correct me on that though
pmichaud jnthn: sure, but "installed Perl 6" doesn't necessarily mean that it's in my PATH yet
jnthn pmichaud: True
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?
jnthn pmichaud: Yes if you use the wrong syntax.
pmichaud: But otherwise probably not
pmichaud so, have to use semis?
ick.
jnthn (the syntax is iirc different)
(different between Windows and Linux)
pmichaud yeah, I think Windows uses semis where Linux uses colons
okay, that doesn't seem plausible.
jnthn Yes, as the sep.
The set command is a bit different too though 00:51
pmichaud well, make would generally handle environment vars for me
i.e., make variables tend to automatically appear in the environment
at any rate, I should look for a different approach
ummmm
so, if I do "perl6 proof_of_concept json", what happens? 00:52
[Coke] rakudo: say '(foo' ~~ / '(' ~ ')' [foo] /
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␤»
pmichaud tries it.
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
colomon [Coke]: does parrot have an "increment by one" opcode?
pmichaud colomon: "inc" 00:53
PerlJam colomon: inc
colomon pmichaud++, PerlJam++
pmichaud colomon: be careful, though, as it does it in-place
jnthn pmichaud: I mostly know anything about pls 'cus I already removed a bunch of Windows-specific bits from it.
pmichaud (for PMCs)
jnthn pmichaud: er, *nix specific...
pmichaud: And re-did them to use Perl 6 built-ins.
pmichaud: It used to shell out to the find command!
colomon pmichaud: oooo, thanks for pointing that out. 00:54
pmichaud so, where does pls get its list of projects?
more to the point, where does it expect to find the poc_projects file?
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?
PerlJam i.e. it expects the poc_projects file to be in the current dir when run
jnthn pmichaud: What PerlJam said - I just wanted to check the code first. 00:57
Yes, it looks for state file and projects file in cwd
pmichaud: It fetches stuff into a "cache" directory.
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
And thus it'd just work from those to generate a makefile, build them, install them, etc.
pmichaud but pls itself wouldn't get installed 00:59
?
PerlJam jnthn: that sounds like the only way it could work :)
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.
when it install the modules, it installs them to.... where? 01:01
PerlJam IIRC ~/.perl6
pmichaud that won't work either :-S 01:02
PerlJam oh, perhaps I'm thinking of the makefile that ufo generates
jnthn PerlJam: No, seems it's right too
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
mkdir -p ~/.perl6/lib/JSON/Tiny
install lib/JSON/Tiny/Actions.pir ~/.perl6/lib/JSON/Tiny/Actions.pir
PerlJam pmichaud: basically.
jnthn That's what's in the generated Makefile.
wtf is the "install" command?
pmichaud it's a command to install programs 01:04
(srsly)
jnthn C:\\Consulting\\perl6\\proto\\cache\\json>install
'install' is not recognized as an internal or external command,
operable program or batch file.
pmichaud it basically does a copy, but also sets permissions and the like
PerlJam pls is very unix-centric it seems too
jnthn PerlJam: It's makefile certainly is.
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.
pmichaud: Not without twiddling the Makefile generation to handle that.
pmichaud right
and if I'm doing that, it seems like 'ufo' makes more sense for that. 01:06
if only because it's much smaller :)
I mean, I don't need dependency checking or fetching for R*
jnthn pmichaud: True
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
pls needs to have an option that allows someone to specify the directory where the module is to be installed
jnthn *nod* 01:08
./pls install --locally json
pmichaud well, even better:
./pls install json ~/.perl6
./pls install json /usr/local/....
./pls install json --system
jnthn [Coke]: 63226
[Coke]: perl6 -e 'package Foo { sub run() { say "(", @*ARGS, ")"; } }; Foo::run()' f g h 01:09
[Coke]: Note the sub under current spec must be declared "our sub"
[Coke]: Do that and I suspect all three will work and the ticket can be given for spectest
pmichaud: Yes. 01:10
pmichaud: That makes sense.
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 :)
[Coke] jnthn++ #63226 updated. 01:12
rakudo: v6; $b = 1; 01:13
p6eval rakudo 7f5c22: OUTPUT«===SORRY!===␤Symbol '$b' not predeclared in <anonymous> (/tmp/g2BmJ5oGHR:22)␤»
pmichaud PIRS = $(patsubst %.pm6,%.pir,$(SOURCES:%.pm=%.pir))
...what is that?
[Coke] my ::MyType ::= :(Num, Str)
that's a gmake-ism, I think, to do a pattern substitution.
on a glob of filenames. 01:14
PerlJam luckily we have perl then
[Coke] very likely not nmake safe.
rakudo: my ::MyType ::= :(Num, Str)
p6eval rakudo 7f5c22: OUTPUT«===SORRY!===␤Malformed my at line 22, near "::MyType :"␤»
jnthn pmichaud: It's a heap of unportability.
pmichaud Yeah.
jnthn pmichaud: tbh, I got some way into porting proto to Win32, got to the Makefile and was like, "oh ffs" 01:15
:/
er, s/proto/pls/
pmichaud: I still think generating a Makefile to run some commands is still when we could just run 'em. 01:16
s:2nd/still/silly/
[Coke] does chromatic ever show up here?
jnthn [Coke]: On occasion, I believe. 01:17
[Coke] phenny: tell chromatic - should rt.perl.org/rt3/Ticket/Display.html?id=64124 be moved to another queue?
phenny [Coke]: I'll pass that on when chromatic is around.
[Coke] rakudo: class A { method foo { say "OH HAI" }; method aie { say 01:19
"AIE!" } }; role B { has A $.bar handles * }; class C does B { has A
$.bar handles "foo" }; C.new.aie
p6eval rakudo 7f5c22: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 22␤»
[Coke] bah.
jnthn fail
[Coke] is there an irssi code for "please don't treat newlines like newlines" ? 01:20
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.
*here
[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" })
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␤»
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....
we're in a heap of hurt.
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
pmichaud yeah, I'm not quite sure what to do at this point. 01:28
[Coke] drop back to proto?
pmichaud since the makefiles are broken.... and we don't have a reliable makefile generator...
[Coke]: I can try dropping back to proto... but I fear it will have very similar issues. 01:29
[Coke] we have parrot.
PerlJam I'd probably start with making ufo portable/workable and just use that since you only need an installer
[Coke] not that it will help. =-)
PerlJam but that's just me
pmichaud getting ufo to work on windows is going to be a fairly big task. 01:30
bigger since I don't have a Windows devel platform to test it with.
[Coke] get [particle] on board?
maybe alias?
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
pmichaud jnthn needs rest, undoubtedly. :)
[Coke] yah, but he's sleepy. =-)
ha.
In any case, hit the compiler list and see if you can troll a volunteer.
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.
[Coke] I can help test with strawberry perl, but I suspect that would jfw. 01:32
AGH I THOUGHT U WAZ SLEEPIN!
jnthn ;-)
[Coke]: Kinda wanted to know we have some way forward before I sleep.
pmichaud jnthn: I think I'll be able to figure out something. 01:33
I'll likely write my own 'ufo' equivalent.
jnthn pmichaud: OK, that works too.
pmichaud probably 'ufm', for "unidentified flying makefiles"
[Coke] needs to find his way to .eu at some point and drink bierz.
pmichaud might just do it in perl 5 for now, too.
jnthn [Coke]: yes, we have good beers.
[Coke]: Though, let's go to a neutrel^Wcheap beer country for that ;-) 01:34
pmichaud might just do it without makefiles, for now.
jnthn pmichaud: My first preference would be "make pls work" but I totally understand why that is unappealing to take on.
pmichaud: It is well under 1000 LOC though.
pmichaud jnthn: pls suffers from the same problem I encounter with many o-o designed applications
it's really hard to see the control flow
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
jnthn pmichaud: Do what you feel best. 01:35
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.
pmichaud well, it's that first 'if' part that's a bit of a challenge at the moment :)
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. ;-)
pmichaud jnthn: yeah, I'm thinking much the same.
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
[Coke] moritz_: ping.
colomon ufo seems very straightforward?
pmichaud but yes, that's pretty much all we *need* for system-level install
jnthn [Coke]: It's 3:40am for moritz_ :P
pmichaud: Blizkost was generated from the make Parrot language thing.
[Coke] jnthn: If I go to sofia, I've been promised free beer. see you then. ;)
colomon ah, but ufo is also very Unix-y. :( 01:38
pmichaud colomon: right
[Coke] phenny: ask moritz_ if rt.perl.org/rt3/Ticket/Display.html?id=65258 is still happening for him.
phenny [Coke]: I'll pass that on when moritz_ is around.
pmichaud it's *very* unix-based
as in, little hope of doing an equivalent for winders
jnthn pmichaud: fwiw, Blizkost does (or did recently) install just fine on Windows.
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.
pmichaud couldn't find -lperl
jnthn pmichaud: OK, but that's a missing system dependency, I guess.
pmichaud jnthn: yes, which we really should be checking for.
jnthn pmichaud: *nod*
pmichaud: We should soft-fail Blizkost IMO though. 01:40
pmichaud what does "soft-fail" mean here?
as in, if it doesn't install, don't worry about it?
jnthn Right.
[Coke] <nod>
most people are not going to have the appropriate perl, methinks. 01:41
[Coke] finds a comment in a ticket about block gobbling.
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."
pmichaud well, "end of the build process" is likewise tricky there, unless I convert what I have now into a p5 script.
jnthn But in a "the install was fine but we skipped this bit" sense
[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␤»
[Coke] rakudo: enum A::B <c d e>; constant B = A::B; say B::c
jnthn pmichaud: *nod*
p6eval rakudo 7f5c22: OUTPUT«===SORRY!===␤Constant type declarator not yet implemented at line 22, near "= A::B; sa"␤»
[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
..22:/tmp/36DxD8nLx7…
jnthn pmichaud: I feel less strongly about that than "Blizkost failing to install shouldn't cause the whole thing to fail" though.
pmichaud sure
jnthn pmichaud: It's a nice to have.
pmichaud I agree that it shouldn't cause an install failure
[Coke] rakudo: module M; grammar G {}; say "foo" ~~ /<M::G>/
jnthn Nothing later depends on it.
p6eval rakudo 7f5c22: OUTPUT«===SORRY!===␤regex assertion not terminated by angle bracket at line 22, near "::G>/"␤»
pmichaud but we should at least make it a bit more graceful
jnthn Aye 01:44
[Coke] odd.
pmichaud [Coke]: afaik, rakudo master doesn't understand any of the <A::B> syntax yet.
[Coke] rakudo: class A { method pack($_) { s/c// }}; A.new.pack("ccc") # discovered by cono++
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␤»
jnthn rakudo: my @a := gather { for 1..3 { take $_; say @a.perl } }; say @a.perl;
pmichaud not to mention that I will not be surprised if it's discontinued or otherwise changes soon.
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
..22:/tmp/PC_EjQyHIL…
jnthn Ouch, I thought pmichaud++ fixed that one 01:45
pmichaud so did I
ohhhhh
[Coke] rakudo: sub a(%p1?){ %p1<a> = 1 };a();
p6eval rakudo 7f5c22: OUTPUT«Null PMC access in invoke()␤ in 'a' at line 1␤ in main program body at line 22:/tmp/YUbLkL8rTl␤»
pmichaud I think we have a missing !sink on gather
er, sink
jnthn A sink will let us wash the bug out.
pmichaud ...why a bind, ooc? 01:46
rakudo: my @a = gather { for 1..3 { take $_ } }; say @a.perl;
p6eval rakudo 7f5c22: OUTPUT«[1, 2, 3]␤»
[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. =-)
just fyi. =-)
pmichaud rakudo: my @a = gather { for 1..3 { take $_; say @a.perl; } }; say @a.perl;
p6eval rakudo 7f5c22: OUTPUT«[]␤[]␤[]␤[1, 2, 3]␤»
jnthn pmichaud: So you don't get that. :-)
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"
jnthn *nod*
pmichaud rakudo: my @a := gather { for 1..3 { take $_; say @a.perl; } }; say @a.perl;
jnthn Oh, it sure is.
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
..22:/tmp/LwpyMvBLAj…
pmichaud but yeah, I'm not sure why we'd get the dead coroutine issue there.
[Coke] can someone applly rt.perl.org/rt3/Ticket/Display.html?id=70642, at least in spirit?
(simple readme update.) 01:48
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.
colomon declare.t broken at the moment? 01:50
jnthn colomon: Yes
colomon: Need fudge for Instant
colomon jnthn: k
pmichaud is it important that R* be able to run the module tests? 01:51
or just that the files get installed?
jnthn pmichaud: I think the latter. 01:52
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 kudo: 2808a52 | (Solomon Foster)++ | src/core/Int.pm:
Add Int versions of infix:�==�, infix:�!=�, and infix:�<� which go
pmichaud jnthn: sleep well, see you tomorrow
jnthn $dayjob should be pretty light tomorrow, so I'll have a good bit of time for Rakudo stuff.
Thanks, night o/
colomon \\o 01:54
pmichaud colomon: note that you can use isne to avoid the reversal of True/False
colomon pmichaud: is there any real reason to do so, however?
pmichaud consistency?
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)
pmichaud I would expect the other comparisons to end up using isgt, isge, isle
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.
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.)
pmichaud the default ones do 01:58
our multi infix:«<=»($a, $b) { pir::isle__INN(+$a, +$b) ?? True !! False
}
our multi infix:«>»($a, $b) { pir::isgt__INN(+$a, +$b) ?? True !! False
}
etc.
ingy patch++ # 3 hours of backporting perl6 to perl5/pegex!!!
pmichaud weird
colomon pmichaud: ugh, that's actually broken.
pmichaud yeah, the Num.pm ones don't seem to follow the pattern. That's weird.
colomon: why is that broken? 01:59
colomon + calls .Numeric, which doesn't necessarily return a Num.
or even something convertible to a Num.
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
ingy <3 patch
pmichaud I'd almost rather leave it in a known state than risk having something really awful in the release
ingy pmichaud: don't take the release so seriously ;) 02:02
[Coke] rakudo: (1,2,3 Z 4,5,6).perl.say
p6eval rakudo 7f5c22: OUTPUT«(1, 4, 2, 5, 3, 6)␤»
pmichaud fail.
[Coke] rakudo: (1,2,3 Z[,] 4,5,6).perl.say
p6eval rakudo 7f5c22: OUTPUT«((1, 4), (2, 5), (3, 6))␤»
[Coke] rakudo: (1,2 Z 3,4).perl.say 02:03
p6eval rakudo 7f5c22: OUTPUT«(1, 3, 2, 4)␤»
pmichaud also fail.
sorear hello ingy 02:04
ingy hi sorear
pugssvn r31851 | felliott++ | document RT # for spectests for RT #76720
pmichaud ingy: that's good advice (don't take release seriously), but I would like to avoid a release mistake 02:05
sorear "avoid success at all costs" 02:06
02:08 snarkyboojum joined
[Coke] sorear: pretty sure we can cross that one off our list. =-) 02:11
rakudo: my $a = Multi.new; $a.push(sub (1,2,3) { }); $a.push(sub (1,2) { }); say $a.find_possible_candidates(1,2);
p6eval rakudo 7f5c22: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤ in main program body at line 1␤»
[Coke] rakudo: my $a = 'abc'; say $a[1]; 02:12
p6eval rakudo 7f5c22: ( no output )
[Coke] rakudo: role A[B] {} 02:13
p6eval rakudo 7f5c22: OUTPUT«===SORRY!===␤Invalid typename in parameter declaration at line 22, near "] {}"␤»
[Coke] rakudo: say PARROT(module foo {}) 02:14
p6eval rakudo 7f5c22: OUTPUT«Parcel␤»
[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␤»
[Coke] rakudo: my $a = "string".new(''); # masakbot
p6eval rakudo 7f5c22: OUTPUT«Null PMC access in get_repr()␤ in main program body at line 22:/tmp/a8DmUGvX38␤»
[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␤»
[Coke] rakudo: 3.14159265358979323846264338327950288419716939937510e0
p6eval rakudo 7f5c22: ( no output )
[Coke] rakudo: ::() 02:17
p6eval rakudo 7f5c22: OUTPUT«===SORRY!===␤ResizablePMCArray: Can't pop from an empty array!␤»
[Coke] alright, down to 295 "new" tickets. meh.
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:18
colomon [Coke]: 3.14159265358979323846264338327950288419716939937510e0 works fine now. Try it in your REPL. 02:19
sorear rakudo: my $a; say +$a;
p6eval rakudo 7f5c22: OUTPUT«Use of uninitialized value in numeric context␤0␤»
sorear [Coke]: ?
PerlJam rakudo: my $a; say ~$a; 02:20
p6eval rakudo 7f5c22: OUTPUT«Any()␤»
02:20 petdance joined
PerlJam rakudo: my $a; say ?$a; 02:21
[Coke] sorear: yes?
p6eval rakudo 7f5c22: OUTPUT«0␤»
[Coke] if you could add that to the ticket, it would be spiffy.
(sorear)
whoa. robrt fixed my delayed email, I see. (it was stuck in moderation hell) 02:24
sorear what was the ticket number again?
also
how do you add stuff to rt tickets
sorear only knows how to file them and subscribe to p6c
[Coke] sorear: I login to rt.perl.org/rt3 02:26
sorear Nobody's given me a RT access bit.
[Coke] I believe I am still have meta-ops on the perl6 queue if you have an account setup there.
felliott: so is 76720 closable now? 02:27
felliott [Coke]: rt.perl.org/rt3/Ticket/Display.html?id=64204 seems to be working in the repl, but the tests themselves are busted.
Yep. 71088, too (same bug). 02:28
[Coke] felliott: ok. if you can update the status on the ticket, +1.
felliott Which one?
[Coke] I'm not sure if this bug queue/mailing are setup so you can just reply to the ticket.
the one on which I said "hey, where are the tests?" ;) 02:29
76720
felliott Ah, shall do.
[Coke] rakudo: rakudo: my$my
p6eval rakudo 7f5c22: OUTPUT«===SORRY!===␤Confused at line 22, near "rakudo: my"␤»
[Coke] rakudo: my$my
p6eval rakudo 7f5c22: ( no output )
[Coke] rakudo: my$my.say
p6eval rakudo 7f5c22: OUTPUT«===SORRY!===␤Confused at line 22, near "my$my.say"␤»
[Coke] rakudo: my$my=2; $my.say 02:30
p6eval rakudo 7f5c22: OUTPUT«2␤»
felliott done
[Coke] std: my$my.say 02:32
p6eval std 31851: OUTPUT«ok 00:01 115m␤»
[Coke] felliott++
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:34
[Coke] rakudo: my $a; CHECK { $a = 42 } 02:37
p6eval rakudo 7f5c22: OUTPUT«===SORRY!===␤Null PMC access in getprop()␤»
[Coke] ISTR that that the check happened before the my there.
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␤»
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.()
p6eval rakudo 7f5c22: OUTPUT«Null PMC access in invoke()␤ in main program body at line 1␤»
[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␤»
[Coke] colomon: no, works the same in my REPL as before. 02:41
colomon [Coke]: what does it do for you?
[Coke] (RT# 74640) 02:42
same as I posted in the ticket.
rakudo: say try try try die die die
p6eval rakudo 7f5c22: OUTPUT«Null PMC access in type()␤ in main program body at line 22:/tmp/szu1eufwWn␤»
[Coke] rakudo: sub foo($a = $default, :$default = 42) { say $a }; foo 02:43
p6eval rakudo 7f5c22: OUTPUT«Any()␤»
02:44 Eddward joined
[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␤»
colomon [Coke]: REPL is right, no? I suspect it's just too slow for p6eval.
[Coke] rakudo: class Foo { method bar { Quux.parse('OH HAI'); } }; grammar Quux { rule TOP { .* } }; Foo.bar;
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
rakudo: 3.14159265358979323846264338327950288419716939937510e0.perl.say
p6eval rakudo 7f5c22: OUTPUT«3.14159265358979␤»
[Coke] ok. they both end up with lower precision. Is that desired? 02:46
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.
p6eval rakudo 7f5c22: OUTPUT«Method 'socket' not found for invocant of class 'Failure'␤ in main program body at line 22:/tmp/SD5TvrwxLs␤»
colomon ie it's basically a C double. 02:48
[Coke] colomon++ 02:49
rakudo: Rat.^add_method('lol', method ($what) { say "lol$what" }).lol('cat')
p6eval rakudo 7f5c22: OUTPUT«Null PMC access in find_method('lol')␤ in main program body at line 22:/tmp/Gacr5rb0jM␤»
[Coke] rakudo: class A { has $!to; method x { loop { (:$!to); } } } 02:50
p6eval rakudo 2808a5: ( no output )
[Coke] rakudo: class A { has $!to; method x { loop { (:$!to); } } }; "alive".say
p6eval rakudo 2808a5: OUTPUT«alive␤»
colomon [Coke]++ for worrying about the old tickets. 02:52
[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.
[Coke] colomon: sadly, I've done this once before. :P
(not for rakudo, though)
rakudo: class Foo { method bar { Quux.parse('OH HAI'); } }; grammar Quux { rule TOP { .* } }; Foo.bar;
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
02:55 pmichaud joined
[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 )
[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
p6eval rakudo 2808a5: OUTPUT«Forest()<0x7b1c360>␤»
[Coke] rakudo: my $a = Multi.new; $a.push(sub (1,2,3) { }); $a.push(sub (1,2) { }); say join ", ", $a.candidates 02:57
p6eval rakudo 2808a5: OUTPUT«too few positional arguments: 1 passed, 2 (or more) expected␤ in main program body at line 1␤» 02:58
[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
[Coke] reads [pm_groups] running Rakudo * at your PM group InboxX 03:03
ewilhelm++
sorear niecza: my$my.say; 03:11
p6eval niecza 64fc764: OUTPUT«Failed to resolve lexical Any in mainline at CodeGen.pm line 529.␤»
sorear niecza: my$my.say; 03:19
p6eval niecza 64fc764: OUTPUT«Failed to resolve lexical Any in mainline at CodeGen.pm line 529.␤»
sorear very strange 03:20
colomon loliblogged: justrakudoit.wordpress.com/2010/07/...iteration/
andlolibloggedagain: justrakudoit.wordpress.com/2010/07/...on-part-2/
and now I'm going to bed.
03:22 tylercurtis joined
colomon (ps -- yes, loop unrolling is a big help in iterators. crazy world we have.) 03:24
sorear How is it possible for an iterator .reify to return more than one value 03:25
in niecza-land, you need iterators in order to effectively use parcels
so my iterators wind up looking like method reify() { $!valid = 1; $!value = $i; $!next = InfIterator.new($i+1); } 03:26
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:36
dalek ecza: 7934168 | sorear++ | (3 files):
Very fudgy implementation of CallFrame

to methods as if they were instances of CallFrame. Unfortunately Mu.defined and ClassHOW.isa currently go behind the RI and access DynObject state babc770 | sorear++ | (4 files): Finish implementing our-scoped packages
03:39
sorear ok, maybe I should push more often.
03:40 dalek joined
[Coke] don't push me, coz I'm close to... 03:40
sorear I am, though, still interested in what people think about the $?TRANSPARENT trick. 03:41
ingy src/gen/core.pir is taking hours to build on linux 03:44
is that right?
pugssvn r31852 | felliott++ | fix broken tests and unfudge for RT #64204
03:46 fda314925 joined
felliott [Coke]: 64204 seems to be already fixed. I've fixed the broken tests and unfudged them. Should I mark this as resolved? 03:47
(I'm a n00b and not sure about the bug-tending etiquette) 03:48
pmichaud ingy: core.pir takes a long time to generate if there's not sufficient memory 03:49
03:51 plobsing joined 03:54 snarkyboojum joined 04:07 fda314925 joined 04:11 IllvilJa joined
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 04:19 slavik joined
[Coke] felliott: yes. 04:28
can't close bug until there are passing tests. you have those, you can try to close the ticket.
(you may not have privs to do so, however.)
felliott Thanks, [Coke]! 04:30
Derp. 04:34
My message was added, but I didn't have the privileges.
..to close it, that is. 04:35
[Coke] I'll get it. 04:36
felliott Thanks! [Coke]++
[Coke] url? 04:37
(I don't see a msg to p6c)
felliott rt.perl.org/rt3/Ticket/Display.html?id=64204 04:38
[Coke] Done.
felliott++
04:48 ashleydev joined 04:51 Lasse_ joined 05:18 Su-Shee joined
ingy pmichaud: oh right. I think you told me that last time I tried this. Guess I forgot. 05:22
05:25 petdance joined 05:27 kaare joined 05:46 tadzik joined
tadzik hello #perl6 05:50
05:53 IllvilJa joined 06:00 azawawi joined
azawawi hi 06:00
sorear: ping
sorear pong 06:01
azawawi sorear: how r u? 06:02
sorear I'm fine.
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
azawawi sorear: i see i'll follow up with him 06:04
sorear: ok, what's the status of blizkost right now? 06:05
sorear it ought to still work fairly well 06:06
strings and closures can be roundtripped to perl5 perfectly
other objects will be a bit more fiddly and you may have to turn them into closures before sending them
especially autovivifying aggregates, I basically gave up on getting those to work correctly 06:07
ecza: 355ef65 | sorear++ | test.pl:
Tests for nested classes
ecza: 78e1546 | sorear++ | (2 files):
Implement nested class definition and access
sorear there's an example of using Tk.pm from Rakudo in one of the doc folders
it worked, last time blizkost was touched
azawawi sorear: I see, so do you think wxWidgets can be used through it? 06:09
sorear sure 06:10
azawawi sorear: cool will try on win and linux to make sure
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
sorear: Time to learn Perl 6 again and properly implement stuff ... coloring, refactoring, integration... :) 06:12
PerlJam sorear: how do I "use" niecza? 06:13
06:16 uniejo joined 06:17 milki joined
sorear PerlJam: it's a batch compiler; you use it more or less like a C compiler 06:19
./niecza_eval file.pl # parses file.pl, generates MAIN.exe (I should probably add a -o option sometime), runs it 06:20
dalek ok: 7c5b65e | duff++ | (3 files):
updated operators chapter to reflect Pm's review
ok: 3f1a6ec | duff++ | src/ (2 files):
Add a sidebar mentioning ~=
06:21 azawawi joined
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:21
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?
sorear it currently produces rather bloated output - 240kb CORE.dll from 600 lines of Perl6
azawawi sorear: installation works, gmake is not detected instead 'make' is shown after Configure.pl is given the correct parrot_config 06:23
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
dukeleto Su-Shee: perlgeek.de/en/article/5-to-6 is a nice intro for the latter
azawawi sorear: on rakudo's console, i get "===SORRY!=== Class\\n'P5Interpreter' not found"
Su-Shee dukeleto: that's about the usage. I need something about the concepts. 06:25
azawawi sorear: make and make install work without any warnings/errors 06:26
dukeleto Su-Shee: you probably want to read the Synopses, then
Su-Shee: they live in the pugs repo 06:27
Su-Shee: perlcabal.org/syn/
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:28
hm, first chapter of the book.. 06:29
sorear Su-Shee: the documentation you're looking for doesn't really exist. 06:31
dukeleto Su-Shee: yes, i guess you want github.com/perl6/book/
Su-Shee hm, then I have to mention that. :(
06:32 dduncan left 06:35 Sanitoeter joined
azawawi sorear: any idea how to fix that error? 06:37
azawawi tries blizkost on linux vm now
sorear: feather.perl6.nl/~azawawi/blizkost_..._error.png 06:43
06:48 Ross^ joined
sorear azawawi: ask jnthn and/or #p5p, I haven't used Perl on Windows since 2003 06:48
azawawi sorear: i see so im going to fix it :) 06:50
sorear: thanks for your help 07:01
sorear: im trying blizkost now under a ubuntu vm to test it. It is so promising :) 07:02
07:02 pmurias joined
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.
azawawi pmurias: i already did it in S:H:P6 :)
pmurias: so ofcourse im interested... 07:04
pmurias: it fails to install atm btw... Moose require stuff... 07:05
pmurias checks
Su-Shee rakudo: my $foo = 'lala'; say "yes" if 'LaLA'.lc ~~ $foo;
p6eval rakudo 2808a5: OUTPUT«yes␤»
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/;
p6eval rakudo 2808a5: OUTPUT«yes␤»
pmurias azawawi: i'm currently working on renaming LazyMap,Actions and Cursor to STD::LazyMap...
azawawi pmurias: what are you using to build the STD distro btw?
pmurias azawawi: so it's not an unauthorized release 07:07
azawawi pmurias: nice... :)
pmurias azawawi: Dist::Zilla
with a custom plugin
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
pmurias: only in the p5 translation
pmurias nothing resulted from that discussion
so i'm doing the prefixing 07:09
moritz_ pmurias: TimToady was OK with prefix - maybe you need to backlog :-)
phenny moritz_: 01:38Z <[Coke]> ask moritz_ if rt.perl.org/rt3/Ticket/Display.html?id=65258 is still happening for him.
pmurias moritz_: i noticed that
moritz_ ok 07:11
azawawi moritz_: who has commit access to blizkost? :) 07:12
07:13 hugme joined
moritz_ hugme: add azawawi to blizkost 07:14
hugme moritz_: sorry, I don't know anything about project 'blizkost'
moritz_ hum
sorear jnthn, me
moritz_ azawawi: me, jnthn, dukeleto, sorear iirc
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
sorear: dunno if it is the same under a fresh debian
sorear: s/other/otherwise/ 07:16
sorear I'm not even the maintainer, why do you keep dumping tips at me
we have phenny, a ticket queue, and a maintainer who loves giving commit bits 07:17
azawawi sorear: sorry :)
pmurias azawawi: so what do you need from STD? 07:18
azawawi pmurias: let me check
moritz_ azawawi: or until you have a commit bit, you can also fork + send pull requests
moritz_ -> out 07:19
azawawi moritz_: thx
07:20 HarryS joined, azawawi joined
sorear argh.$GLOBAL::TEST-BUILDER = Builder.CREATE: 07:20
$GLOBAL::TEST-BUILDER.reset;
guess what this code does 07:21
I have now had my first serious biting by perl 6 syntax
07:21 zulon joined
Su-Shee moritz_: does your SVG come with a Grammar? 07:21
"your SVG module"
pmurias sorear: where's the problem?
sorear pmurias: it parses as $GLOBAL::TEST-BUILDER = Builder.CREATE($GLOBAL::TEST-BUILDER.reset) 07:22
moritz_ Su-Shee: no, it just produces SVG, no parsing involved 07:23
pmurias : to ; typo?
sorear correct
Su-Shee moritz_: I just checked JSON, I take that as an example.
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
pmurias azawawi: so if any files are missing from the STD on CPAN I'll add them 07:25
pmurias hates the crapy Makfiley stage building 07:26
azawawi pmurias: sure i'll tell you what i need exactly by this weekend
dalek ecza: f506534 | sorear++ | Test.pm6:
Refactor Test.pm6 to use an inner Builder
Su-Shee rakudo: lc('HELLO');
p6eval rakudo 2808a5: ( no output ) 07:27
azawawi pmurias: thanks
azawawi work &
Su-Shee where does in JSON Tiny the method parse come from? Is this something Grammars just deliver? 07:28
ah, got it. 07:31
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␤»
pmichaud another R* candidate tarball: pmichaud.com/sandbox/rakudo-star-beta3.tar.gz 07:38
comments and testing welcomed 07:39
(off to sleep for a bit)
Su-Shee how do I use the grammar example correctly? 07:41
pmichaud Name.parse("Someone", :rule<name>)
if :rule isn't supplied, defaults to 'TOP'
Su-Shee ah.
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
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:48
Tene No. :( 07:50
au|irc phenny: tell masak s!www.perl.com/lpt/a/482!http://www.p...6rfc.html! in the anniversary post following the perl.com relaunch :) (@BlueT++ on plurk noticed this)
phenny au|irc: I'll pass that on when masak is around.
Tene well
not automatically
subset Email of Str where { Email::Grammar.parse($_) };
is something you can do. 07:51
mathw I suspect you could... yes, that
Tene that *should* work. I'm not sure of what else that might imply or fail to imply.
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:52
07:53 tadzik joined
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␤»
mathw Well, a grammar is a type 07:54
But carrying all the Grammar stuff around is probably not very useful past the initial parsing
So I would think keeping the grammar and the storage class separate is easier
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. :)
mathw example? 07:56
Su-Shee Email would be one of those cases.
Names, german cell phone telefon numbers, zipcodes..
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.
mathw But
sorear Su-Shee: the Moosian concept of types is basically our 'subtype'
mathw You could still use a subset type with a where clause 07:58
or a custom type with validating accessors
moritz_ has Str $.email where { Email.parse($_) }
Su-Shee hmpf.
mathw :)
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
moritz_ subset EmailStr of Str where { Email.parse($_) };
...
Su-Shee I see.
moritz_ has EmailStr $.email
sorear What is the correct way to signature a list operator?
I mean, list-assoc
moritz_ I guess with a slurpy 08:00
sorear not quite...
Tene so that would be like: use LolGrammarType; grammar Email is LolGrammarType { ... }; my StrEmail $email = ...
sorear rakudo: say "a" ~ 1..10
p6eval rakudo 2808a5: OUTPUT«␤»
sorear rakudo: say "a" ~ (1..10)
p6eval rakudo 2808a5: OUTPUT«a1 2 3 4 5 6 7 8 9 10␤»
cxreg pmichaud: Makefile: git clone git@github.com:rakudo/rakudo.git $(RAKUDO_DIR) 08:01
that should probably be a public url
sorear rakudo: my sub infix_tilde_as_listop(*@args) { my $acc = ''; for (@args) { $acc ~= $_ }; $acc }; infix_tilde_as_listop("a", (1..10))
cxreg i got a permission error
p6eval rakudo 2808a5: ( no output )
sorear rakudo: my sub infix_tilde_as_listop(*@args) { my $acc = ''; for (@args) { $acc ~= $_ }; $acc }; say infix_tilde_as_listop("a", (1..10))
p6eval rakudo 2808a5: OUTPUT«a12345678910␤»
sorear ^^^ not the same
*@args is flattening 08:02
I need something that works mostly like *@args, but isn't
moritz_ right
sorear: like (\\$args) ?
sorear perhaps 08:04
\\$args has a lot of other unpleasant baggage though
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
Tene sorear: like |$args ? 08:05
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)␤»
cxreg has a couple of minor bugfixes to star
Tene cxreg: great! please make sure they get to pmichaud. 08:07
sorear well, now it can accept named arguments
cxreg Tene: he's sleeping, what's the best way to do that, just ping him later?
Tene rakudo: my sub foo(|$args) { say $args.perl; }; foo("a", (1..10), :foo<1>, :bar<lol>);
sorear maybe I could coopt **@foo for this
p6eval rakudo 2808a5: OUTPUT«\\("a", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, "foo" => "1", "bar" => "lol")␤»
moritz_ cxreg: what's your github ID?
Tene cxreg: you can leave a message for him with phenny 08:08
phenny: tell cxreg OHAI
phenny Tene: I'll pass that on when cxreg is around.
08:08 justatheory joined
Tene cxreg: you could email him 08:08
cxreg moritz_: cxreg
phenny cxreg: 08:08Z <Tene> tell cxreg OHAI
Tene or email the list
moritz_ hugme: add cxreg to star
hugme hugs cxreg. Welcome to star!
cxreg that works, thanks moritz_++
Tene he's not so happy with github pull requests, I hear.
Ah, that works!
:)
moritz_ they don't scale, wrt commenting on the changes, tracking etc. 08:09
08:10 timbunce joined
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.
cxreg same bug exists in proto projects.list 08:14
but not in pls
s/mattw/mathw/
moritz_ hugme: add cxreg to proto 08:15
hugme hugs cxreg. Welcome to proto!
moritz_ cxreg: you can fix that too :-)
cxreg :D
08:15 dakkar joined
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
cxreg hrm, it does. that branch is behind by a bit. 08:21
08:21 zulon joined
cxreg ok to "git merge pls" maybe? 08:22
moritz_ yes
cxreg - $ git fetch origin pls 08:28
+ $ git fetch
the prior version did a totally confusing thing (put origin/pls in FETCH_HEAD)
git is odd sometimes 08:29
moritz_ shouldn't it be checking out pls instead?
cxreg that's the second line, still ok
"git fetch" fetches all refs and puts them in the origin/foo refs. "git fetch origin foo" does something dumb. 08:30
cxreg is going to heckle a "git internals" talk at $work tomorrow/today 08:33
sorear unsuprisingly, a non-working ~ utterly breaks the test suite 08:34
08:39 thebird joined
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
pmichaud afk for sleep again 08:56
moritz_ generates the list of all contributors to rakudo (from git log)
sorear out. 08:57
dalek ecza: 4563a6c | sorear++ | (4 files):
Implement ~ with many arguments
08:58
08:59 timbunce joined
Su-Shee can a Role inherit a Grammar? 09:01
moritz_ you can compose a role into a grammar
if you say role Foo is MyGrammar { }, then the class you compose the role into will inherit from MyGrammar 09:02
Su-Shee and within the role? 09:03
moritz_ a grammar is really just a class that inherits from Grammar
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?
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. ;)
moritz_ if I understood it correctly, "yes" 09:05
when in doubt, just try it out
Su-Shee where in the book would I read up on that?
09:06 meppl joined
moritz_ I don't think it's sufficiently fleshed out yet 09:06
Su-Shee where do I look for all those keywords like "is", "does" and so on? 09:08
moritz_ search the specs for 'trait'
Su-Shee moritz_: you realize that I essentially have to write "you can do stuff, but you can't look it up anywhere" ;)
cxreg moritz_: do you know about "git shortlog" ? 09:09
maybe with the -n -s switches
moritz_ cxreg: yes
cxreg ok
moritz_ cxreg: but it doesn't recognized ++'ing in commit messages 09:10
cxreg oh sure, it just counts authors, good point
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 '++'
also I need some serious duplicate removal 09:13
but I guess that could be a post-processing step
cognominal rakudo: say ?('' ~~ m/ :s \\d+ ** ',' /)
p6eval rakudo 2808a5: OUTPUT«0␤»
cognominal I would expect a match even if of zero length.
someone has a explanation? 09:14
moritz_ a ** b desugar to a [ b a ]*
if that's not what you want, put [ ... ]? around it
cognominal rakudo: say ?('1' ~~ m/ :s \\d+ ** ',' /) 09:15
p6eval rakudo 2808a5: OUTPUT«1␤»
cognominal moritz_, thx.
I am not sure this is very huffmanian though 09:16
avar hrm, rakudo * tomorrow? 09:18
moritz_ yes
avar I'll make sure to check it out then :) 09:20
09:23 envi^home joined, vorner_ joined 09:24 zulon joined 09:25 vorner joined 09:26 daxim joined 09:50 xabbu42 joined
cognominal rakudo: sub a($a?) { say $a }; a() 10:10
p6eval rakudo 2808a5: OUTPUT«Any()␤»
cognominal The default is to return the undefined type, but when stringified this breaks expectation of perl 5 people. 10:12
mathw Fortunately this isn't Perl 5 10:13
cognominal well, on the other hand, it is good practice to write: sub a(Str $a? = "") { say $a }; a() 10:14
mathw that depends on what you're doing with $a in the sub I suspect 10:15
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
moritz_ found that in real code out there, you usually either have a default value, or you declare it as named 10:18
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
TiMBuS class FullName is Str { has $.firstname; has $.lastname; };
sorta, but I'm not sure how to init it 10:20
moritz_ that's a bad idea, IMHO
class FullName { has $.firstname; has $.lastname; method Str { "$.firstname $.lastname" }} 10:21
TiMBuS yeah
moritz_ rakudo: class FullName { has $.firstname; has $.lastname; method Str { "$.firstname $.lastname" }}; say FullName.new(firstname => "John', lastname => "Orwant');
p6eval rakudo 2808a5: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 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␤»
cognominal rakudo: sub a(:$a? { say $a }; a() 10:23
oops
rakudo: sub a(:$a) { say $a }; a()
p6eval rakudo 2808a5: OUTPUT«===SORRY!===␤Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 22␤»
rakudo 2808a5: OUTPUT«Any()␤»
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
need to also define a .match and .ACCEPTS
10:26 kokajxo joined 10:29 nwc10 joined 10:31 wamba joined
jnthn o/ 10:31
tadzik \\o
snarkyboojum o/ 10:32
nwc10 what happened to rakudosketch? wasn't useful?
jnthn nwc10: It got renamed; irclog.perlgeek.de/phasers/ 10:39
nwc10 aha 10:40
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
jnthn nwc10: If we need to, we can force it to commit to one in Actions.pm 10:43
nwc10: If not, it gets generated iirc in PAST::Compiler
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:44
nwc10 jnthn: ah OK. 10:45
reason I asked was it looks like the default is a sequence number, '_', epoch time with fractional seconds
jnthn nwc10: Note that this still lives int he Parrot REPO
nwc10 which means that every sub gets a new ID every recompile
even if it hasn't changed
creating massive amounts of diff churn on bootstrap files 10:46
jnthn: I *thought* I did my brute-force search on a Rakudo checkout with a Parrot checkout inside
jnthn nwc10: Right.
nwc10: That's pretty much exactly what it's doing. And yes, it creates diff churn.
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
which would make it a lot easier to see what the compiler was up to 10:47
but that's definately "nice to have"
10:47 vorner left
nwc10 and may have downsides 10:47
jnthn nwc10: Takes (a) longer to compute and (b) tuits. :-)
The latter of which are never in sufficient supply. :-)
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. :-)
jnthn *nod* 10:50
Though making compiles take longer is pessimising a different bunch of human's time too. ;-)
nwc10 yeah. 10:51
jnthn nwc10: Going to YAPC::EU, BTW? 10:52
nwc10 yeah. I can answer that question better in a few moments, I thinl 10:53
10:58 Trashlord joined
nwc10 nwc10: better answer: conferences.yapceurope.org/ye2010/news/616 11:05
11:06 lrnperl6 joined
jnthn nwc10: \\o/ 11:08
nwc10: Congrats. :-)
11:10 sftp joined
Su-Shee is thre a good example for prototype based OO in perl6? 11:11
11:11 azert0x joined
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.
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.
jnthn Su-Shee: Not so far as I'm aware. 11:28
11:29 Mowah joined
jnthn Su-Shee: I didn't quite follow your question earlier about a role inheriting from a grammar. 11:33
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.
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:34
11:39 hanekomu joined, sftp_ joined
Su-Shee jnthn: I've tried essentially this: grammar AtomGrammar { .... } role AtomPub is AtomGrammar { .... } class Feed does AtomPub {.... } 11:44
11:47 sftp joined
tadzik ===SORRY!=== 11:47
syntax error ... somewhere
…yeah
jnthn Su-Shee: That's going to have the same result as if you'd written class Feed is AtomGrammar { } 11:51
Su-Shee: Plus it'll compose any methods from the AtomPub role into Feed
11:53 ggoebel joined
tadzik any plans to include frontend for pir::stat in rakudo? # .oO( how about writing File::Stat? ) 11:56
Su-Shee *sigh* I need a handbook. 11:57
moritz_ tadzik: how about writing File::Stat? :-) 11:59
tadzik moritz_: I alredy started :)
File::Find will need this, once it gets as fun as we planned
moritz_ tadzik: missed a pun. You should have said "I already stated" :-)
tadzik ah, what a missed chance! /o\\
btw moritz_, what do you think of this: 12:00
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?
moritz_ yes, would be nice 12:03
point to the docs, the REPL, perl6.org
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:04
moritz_ remeber, we have influence on the spec 12:05
it's OK to prototype stuff where the spec is weak
and if it works out well, we add it to the spec 12:06
currenlty rakudo has an IO method in class Str
tadzik so, may I try writing a path for Rakudo?
moritz_ rakudo: say 'p1'.IO ~~ :e
tadzik with stat
p6eval rakudo 2808a5: OUTPUT«0␤»
tadzik yeah, I know about that
so there'd be: 'filename'.IO.stat<size> or something 12:07
moritz_ you could just stuff a .stat method into IO that... right
tadzik so, yay or nay?
moritz_ yay
or for me 'filename'.IO.size would also work
tadzik so separate methods for fields?
moritz_ whatever interface you prefer
tadzik wklej.org/id/369731/ that's the current sub 12:08
moritz_ maybe a .stat method wouldn't be bad
tadzik not many methods retun hashes in rakudo, do they?
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
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
tadzik oh 12:10
yeah, I see it
so, just more methods?
or a new class for methods and calls like 'file'.IO.stat.gid? 12:11
12:11 colomon joined
moritz_ I think I like the latter best 12:11
IO::Stat or so 12:12
tadzik and rewrite file test operations to use .stat?
moritz_ yes 12:13
tadzik alright, two more things
1) class IO is Cool -- what's the Cool parent?
(or maybe one more thing)
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? :)
moritz_ so it's what most builtins should inherit from - those that know how turn into a string, a nubmer etc.
aye
tadzik ok to keep IO::Stat in core/IO.pm?
moritz_ I'd prefer it in IO/Stat.pm 12:15
tadzik sure thing
moritz_ (it' just one line added to Makefile.in)
12:18 mscha joined 12:20 ruoso joined 12:22 a8b8126d joined
Su-Shee how do I install Rakudo * tomorrow? 12:23
still with --gen-parrot? 12:24
moritz_ Su-Shee: perl Configure.pl; make; make install;
Su-Shee: you can try it today 12:25
clone the star repo
run make
cd rakudo-star-
Su-Shee it's for readers of tomorrow. I grab the stuff from github usally.
moritz_ perl Configure.pl; make; make install; ./perl6 -e 'say "OH HAI"'
tadzik moritz_: IO/Socket.pm has use v6 pragma, IO.pm does not. Any right way here?
Su-Shee so parrot is included?
moritz_ Su-Shee: yes 12:26
tadzik: not necessary in the setting
Su-Shee does make install install to /usr/* ?
moritz_ no, unless you ask it to 12:28
12:28 bluescreen joined
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?
moritz_ the default is a local install
[Coke] yay, perl6.org is now unblocked by $client's filter.
tadzik moritz_: it's good to keep 4-spaces tab in every file?
Su-Shee yeah, but the usal default ist /usr/local if you say nothing, why keep it locally?
moritz_ tadzik: 4 spaces, no tabs 12:30
tadzik ok
moritz_ Su-Shee: because not everbody has write access to /usr/local/
[Coke] 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.
Su-Shee moritz_: in that case you usally add a prefix. rakudo does it essentially the other way round now. that's confusing.
moritz_ jnthn: agreed 12:32
12:33 lrnperl6 joined 12:34 Mowah joined
Su-Shee What do I say on the subject of CPAN? 12:35
moritz_ that there's an infrastructure being built, and modules.perl6.org gives an overview of the existing modules 12:36
wait, you do need --gen-parrot if there's no parrot available 12:37
Su-Shee what do those three funny yellow thingies mean in the module list? 12:38
moritz_ modules.perl6.org/fame-and-profit
Su-Shee oh. my. god. ok.
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
moritz_ well 12:39
they do tell you something about the state of the module
Su-Shee hrgh. empty readmes. 12:40
compiles on linux/unix, mac and win? 12:42
anything I should mention about 64bit or something? 12:43
[Coke] mjd++
moritz_ dearly hopes so
Su-Shee: amd64 should be fine.
I've been using rakudo and parrot on 64bit platforms for at least a year now. Probably longer
Su-Shee ok.
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.
(I already pushed the fix.)
oh sh...
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.
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? wklej.org/id/369763/
jnthn moritz_: So my attempt to install into C:\\Program Files\\Rakudo (with a space in) was epic fail
moritz_ jnthn: parrot can't be installed with a prefix with spaces anyway, IME
tadzik moritz_: oh, nevermind
my bad
mathw naughty parrot 12:47
jnthn moritz_: WHAT?!
for hells sake
moritz_ jnthn: at least on linux
tadzik moritz_: or not :) Mind taking a look?
jnthn We'll see soon on Windows.
moritz_ tadzik: lines 43-45 look wrong - just leave them out 12:48
($.stat is the same as $( self.stat ), so you're recursing there
colomon So, I figured out how to shave 66% off the time required for a simple Range iteration last night.
tadzik oh, sure
moritz_++, thanks
moritz_ tadzik: use IO::Stat; is also wrong
tadzik moritz_: why so? 12:49
moritz_ tadzik: don't do that, just put a :: before IO::Stat.new
jnthn colomon: Wow! :-)
colomon But it requires a completely new IntRangeIter.
[Coke] colomon++
colomon I don't know if I should make a mad blitz to get it into R* or not.
12:49 azawawi joined
azawawi jnthn: ping 12:49
[Coke] ... if this were parrot, I'd say wait until just after the release.
moritz_ tadzik: because it's not a module; it's built into the compiler - so you can't use it
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);?
moritz_ tadzik: correct
tadzik moritz_: I see
jnthn azawawi: pong
Su-Shee colomon: what for? there's a new release in 4 weeks, why hurry?
[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
Su-Shee: because the speed is HORRENDOUS. =-)
azawawi jnthn: I tried blizkost today on win32 (irclog.perlgeek.de/perl6/2010-07-28#i_2622456) and had this nasty message box feather.perl6.nl/~azawawi/blizkost_..._error.png
[Coke] is the plan for R* to do all installs in . ?
Su-Shee [Coke]: "what speed"? 12:52
oh I though after rakudo * there still will be the monthly release?
colomon Su-Shee: because this is the first R* release, and will be the first Perl 6 impression for a lot of people.
[Coke] the compiler will continue to release monthly.
R* will happen to have a release in amonth, but will steady state at quarterly or so. 12:53
12:53 lrnperl6 joined
colomon Su-Shee: there will be monthly Rakudo releases and less-frequent R* releases 12:53
12:53 foodoo joined
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
azawawi jnthn: any hints where to start looking? 12:54
colomon Su-Shee: not entire Rakudo, but anything like "for 1..1000"
[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.
anyway. none of business.
[Coke] it is a very common sort of thing when you're playing with a new language and testing the speed, though. =-)
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 :(
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.
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.
azawawi jnthn: i'll try debugging it tonight then
colomon [Coke]: When I'm doing speeding up Rakudo will probably be years from now... ;)
azawawi jnthn: thx :)
colomon s/doing/done/
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. :(
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
[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
colomon okay, I'm going to have breakfast and then get hacking 13:00
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
moritz_ is glad that balls usually don't break when they hit the floor :-)
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 :-)
phenny moritz_: I'll pass that on when pmichaud is around.
moritz_ tadzik: no 13:03
Su-Shee *uff* I have simple perl 6, OO, Grammars, Roles & Traits, rules at least mentioned, strived operators.. anything else? 13:04
azawawi & 13:05
moritz_ Su-Shee: -Ofun :-)
Su-Shee it's not really fun. too much searching, too much not understanding. 13:06
it's fun if I don't use the fun stuff. ;)
13:09 atrodo joined
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
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.
parrot--
moritz_ trac.parrot.org/parrot/ticket/1716 13:18
13:19 perlygatekeeper joined
cognominal rakudo: grammar E { token TOP { \\" [ '\\\\"' | <-["]> ]* \\" } }; E.parse('"aa"') 13:20
p6eval rakudo 2808a5: ( no output )
cognominal rakudo: grammar E { token TOP { \\" [ '\\\\"' | <-["]> ]* \\" } }; say E.parse('"aa"')
p6eval rakudo 2808a5: OUTPUT«"aa"␤»
cognominal rakudo: grammar E { rule TOP { \\" [ '\\\\"' | <-["]> ]* \\" } }; say E.parse('"aa"')
p6eval rakudo 2808a5: OUTPUT«␤»
tadzik t/spec/S32-io/file-tests.rakudo ................................ ok 13:22
\\o/
looks like I didn't break anything :)
moritz_ \\o/ indeed
jnthn rakudo: role R { method m { say 42 } }; class C does R { }; C.new.m 13:23
p6eval rakudo 2808a5: OUTPUT«42␤»
moritz_ \\o|
cognominal I don't understand why substituting 'rule' to 'token' gives a parse fails here 13:25
13:26 petdance joined
moritz_ because 'aa' doesn't match a <.ws> a 13:26
cognominal ho, the <.ws> is mandatory! thx. 13:27
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
moritz_ there are public logs too :-) 13:29
cognominal yea, but less easy to parse :) 13:31
moritz_ true
I still plan to implement a better search frontend to it
with KinoSearch
cognominal btw (:rxtrace)++ it helps very often.
KinoSearch? 13:32
moritz_ but ETOOMANYPROJECTS and ETOOLITTLETIME
cognominal: a nice search engine on CPAN
search.cpan.org/perldoc?KinoSearch 13:33
cognominal yea, I see. It does stemming. 13:35
moritz_ and lots of other things that the current search is missing
like, proper query parsing
tadzik moritz_: self.e ?? !$.stat.isdir !! Bool; -- wouldn't it be better to use Bool::False here, just for readability? 13:38
rakudo: say 'ok' if Bool == Bool::False
p6eval rakudo 2808a5: OUTPUT«ok␤»
moritz_ tadzik: there was a test somwhere that assumed a failed ~~ :e test returns an undefined value, or so 13:39
gfldex rakudo: say False.WHAT; 13:40
p6eval rakudo 2808a5: OUTPUT«Bool()␤»
moritz_ rakudo: say Bool.defined, False.defined
tadzik moritz_: wklej.org/id/369789/ these are the only spectests that fail for me
p6eval rakudo 2808a5: OUTPUT«01␤»
pugssvn r31853 | moritz++ | [t/spec] unfudge a passing test for rakudo 13:41
moritz_ tadzik: both seem unrelated... what's your OS?
tadzik moritz_: Linux
moritz_ hum.
tadzik CRUX, to be more precise
moritz_ ok 2 - We are running under 'thread' 13:43
weird OS name
seems like parrot mis-detects your OS
tadzik looks like isdev doesn't work too good in parrot yet
> pir::stat__isi('/dev/null', 3) 13:44
0
so isdev is basically useless for now
jnthn -> lesson, bbl 13:45
tadzik same for uid. Whatever, maybe time for some bug reports. The patch seems to work though 13:46
moritz_: format-patch?
moritz_ yes, please
13:46 sftp_ joined
tadzik moritz_: mail, nopaste? 13:51
moritz_ tadzik: rakudobug@perl.org, and nopaste it in parallel :-)
tadzik nopaste.snit.ch/22370 13:52
moritz_: include it as an attachment, right? 13:53
moritz_ tadzik: right
[Coke] jnthn: we can install in c:\\rakudo for now, neh?
colomon rakudo: say (1, 2, 3).WHAT 13:54
p6eval rakudo 2808a5: OUTPUT«Parcel()␤»
colomon rakudo: say (1, 2, 3).perl
[Coke] say .WHAT.WHAT
p6eval rakudo 2808a5: OUTPUT«(1, 2, 3)␤»
colomon rakudo: say ((1, 2, 3), 5).perl
p6eval rakudo 2808a5: OUTPUT«((1, 2, 3), 5)␤»
moritz_ rakudo: say (1, 2, 3).Seq.perl
p6eval rakudo 2808a5: OUTPUT«(1, 2, 3)␤»
13:55 jjore joined
colomon I'm trying to figure out how to return a Parcel which is another Parcel extended by one element at the end. 13:56
13:57 pwd joined
colomon rakudo: my $a = (1, 2, 3); say &infix:<,>(!$a, 42).perl 13:57
p6eval rakudo 2808a5: OUTPUT«(Bool::False, 42)␤»
colomon rakudo: my $a = (1, 2, 3); say &infix:<,>(|$a, 42).perl
duh
p6eval rakudo 2808a5: OUTPUT«(1, 2, 3, 42)␤»
colomon ooooo
rakudo: my $a = (1, 2, 3); say &infix:<,>(|$a, 42).WHAT
p6eval rakudo 2808a5: OUTPUT«Parcel()␤»
colomon that'll do, pig, that'll do. 13:58
moritz_ rakudo: say ((1, 2, 3).flat, 4).perl
p6eval rakudo 2808a5: OUTPUT«((1, 2, 3), 4)␤»
colomon is constructor a very, very simple iterator type
tadzik moritz_: sent
moritz_ tadzik++ 13:59
I need to finish another spectest run before I can apply and test it
tadzik sure
running spectests is hell long -_-
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)
colomon strange language, eh?
PerlJam rakudo: my $a = 1,2,3; (|$a, 42).WHAT.say
tadzik :)
p6eval rakudo 2808a5: OUTPUT«Parcel()␤»
moritz_ :-)
rakudo: my $a = 1,2,3; (|$a, 42).perl.say
p6eval rakudo 2808a5: OUTPUT«(\\(1), 42)␤» 14:01
moritz_ rakudo: my $a = (1,2,3); (|$a, 42).perl.say
p6eval rakudo 2808a5: OUTPUT«(\\(1, 2, 3), 42)␤»
moritz_ huh.
PerlJam and I find that completely weird.
[Coke] Perl 6: I find that completely weird. 14:02
PerlJam Coke++ :)
PerlSix I am completely weird ... but lovable. 14:03
tadzik bleh, s/current Rakudo/current Parrot/ (in patch)
moritz_: ↑
does it make sense to send another mail to underline the typo? 14:04
colomon jnthn: ping/ 14:05
moritz_ notreally
14:06 synth joined, NOTevil joined 14:07 dual joined
[Coke] $ ./install/bin/ufo 14:07
PackFile_unpack: This Parrot cannot read bytecode files with version 6.21.
14:07 tadzik1 joined
moritz_ meh. old parrot lying around, and being picked up 14:07
[Coke] ew. old /perl6/ lying around and being picked up. 14:09
if we're installing our own /everything/, shebang should point to those particular instances.
moritz_ +1
[Coke] phenny: tell pmichaud - the shebangs in installed scripts like 'ufo' should have the path to the installed perl6, not "env perl6".
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.
[Coke] phenny: you rot! 14:10
phenny: tell pheny you rot.
phenny [Coke]: I'll pass that on when pheny is around.
[Coke] phenny: tell phenny *thbbtp*
phenny Hey, I'm not as stupid as Monty you know!
[Coke] there we go.
$ ./install/bin/perl6 ./install/bin/ufo
lib/ doesn't exist. Nothing to do.
14:12 zulon joined, plobsing joined 14:14 nwc10 left
colomon has a fencepost error 14:16
moritz_ hands colomon the one missing fencepost 14:17
colomon Actually, Obi-Wan error would be more appropriate name considering current music.
frettled waves hand slowly.
This is not the error you are looking for.
colomon bingo! 14:18
tadzik :D
14:18 Guest23195 joined
pugssvn r31854 | moritz++ | [t/spec] rakudo does not do Instant and Duration yet 14:18
14:20 patspam joined
colomon rakudo: say (). WHAT 14:21
p6eval rakudo 2808a5: OUTPUT«===SORRY!===␤Confused at line 22, near "say (). WH"␤»
colomon rakudo: say ().WHAT
p6eval rakudo 2808a5: OUTPUT«Parcel()␤»
[Coke] the blocks returned by use should probably not stringify to _blockFoo. 14:23
14:24 Mowah joined 14:25 javs joined
cono [Coke]: hey. Sent e-mail to perl6-bugs-follow@perl.org with diff in attachment, but still have not reply... 14:25
[Coke] which ticket #? 14:26
tadzik I thought it was intentional :)
cono [Coke]: Yup. subject: Re: [perl #75752] [PATCH] make realclean before svn update (parrot)
14:26 patch joined
moritz_ conferences.yapceurope.org/ye2010/news/617 the second one should be easy for the people in here :-) 14:27
tadzik something ~~ /bridge/, right? :) 14:28
I have no idea though. Curious
[Coke] cono: yah, I don't see it either.
cono: where did you get the "follow" address? just a reply to? 14:29
;(for me it's bugs-bitbucket@rt.perl.org)
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]: home.cono.org.ua/rt.png
[Coke]: yes, Just replied
[Coke] no rush, though; it'll probably wait until after * anyway.
dolmen_ masak: what is the state of LAST { } ? 14:37
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"␤»
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
Axius rakudo: say (35 - 35 * 3) + 34 14:49
p6eval rakudo 2808a5: OUTPUT«-36␤»
[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?
moritz_ I think rt.perl.org/rt3/ has a link for creating an account 14:51
colomon hates RT, for what it is worth 14:52
frooh_ colomon: either a bitcard account or a PAUSE account will work
colomon: but I think you can just send mail w/o an acct..
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?
colomon moritz_: come to think of it, I'm not sure I've ever seen a bug tracker I didn't hate.
frooh_ tadzik: please
tadzik frooh_: you mean?
frooh_ tadzik: lets make new mistakes :D 14:54
moritz_ tadzik: wfm
[Coke] frooh_: yes, he can send email without an account. but I cannot assign tickets to people sans accounts.
frooh_ tadzik: I mean the old interface suxxorz
[Coke]: ah, ok
tadzik frooh_: I'd rather make something like File::Find::Rule and not differenciate these modules at all
I'm glad no one likes File::Find :)
frooh_ tadzik: yeah, that sounds more sane
moritz_ tadzik: I do want a generic file iterator sometimes
tadzik so it shall be done
[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. =-)
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
tadzik: yes
though of course lazy lists make the callbacks mostly unnecessary
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
[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
moritz_ if I can do for files('.', matching => :f) -> $f { ... } to get all plain files, that's fine too
as long as the list is lazy
[Coke] needs to dig up the "how to add someone to RT" metadata. 14:57
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)
tadzik but grepping a lazy list is a bit stupid maybe. And I'm not sure how to implement a lazy list there
moritz_ tadzik: wfm too
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
colomon loliblogged: justrakudoit.wordpress.com/2010/07/...te-design/
[Coke] colomon: hey, you have colomon & Solomon =-)
colomon do I?
[Coke] whoops. =-)
yah. must have had an old account that didn't show up in the list I was looking at. 15:00
I'll op Solomon.
moritz_ tadzik: if you pass the matchers straight to find(), it's easier to do it both lazy, and abort early
tadzik moritz_: yeah, sounds better. And this grep-like feature can be available too
[Coke] colomon: you should be a bugadmin now.
colomon [Coke]: happy happy. joy joy. 15:01
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!
;)
moritz_ tadzik: it's easy. Just return a gather { ... }, and take() a file name (or path object) once you've found a file
tadzik waitwaitwait 15:03
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
moritz_ rakudo: my @a := gather { for 1..4 { take $_; say $_ } }; @a[2]; 15:04
p6eval rakudo 2808a5: OUTPUT«1␤2␤»
moritz_ the say 3; say 4; have never been executed, because only the three first array elements needed to be evaluated 15:05
neat, huh?
tadzik yeah, that's what laziness is all about I guess :) 15:06
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()
it's dynamically scoped
tadzik ah, so it maybe is possible
oh, wait
s/simple/impossible/
so now it looks possible 15:08
I have to get my head around this gather for a sedcond
moritz_ actually it's not really harder than the non-lazy version
typically you'd do
my @a;
# some code here that pushes to @a 15:09
tadzik ah, I get it now
moritz_ return @a
instead you do
gather {
tadzik I was thinking of gather as some specific kind of a loop
now I see it's just a magic block
moritz_ # some code that take()s what you would push to @a
}
right
tadzik cute
I was planning to abandon recursion here anyway, but that'd be also ok I guess 15:10
moritz_ indeed
@larry++
as long as you don't recurse into the function that has the gather-block (but maybe into a helper), that's fine
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
the take() interrupts the control flow 15:13
and as soon as items are accessed that have not been computed ("reified") yet, the execution continues
tadzik I see
so it won't compute anything twice
moritz_ right
dalek ok: abcc64c | (Nikolai Prokoschenko)++ | lib/Makefile (2 files):
update latex-makefile from upstream, our xelatex patches has been integrated
15:16
kudo: 8049d92 | Coke++ | README:
Apply spirit of RT #70642, Courtesy Scott Penrose
15:21
15:21 huf joined
tadzik erm 15:22
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
didn't you mean: Perl 6?
moritz_ or is the perl 5 for the configuration process meant?
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.
pmichaud: 11:26Z <jnthn> tell pmichaud Seems the installed modules work from the installed Rakudo too. \\o/ Pushed, plus some README tweaks.
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 :-)
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
[Sorry, some messages were elided and lost...]
pmichaud looks like I overslept
gfldex and unhealthy amount of sleep would be worse 15:26
[Coke] pmichaud: when installing 'ufo' et al., we shouuld modify the shebang to point to the install directory perl6. 15:27
dalek kudo: 3fbd628 | (Tadeusz Sośnierz)++ | (3 files):
Added IO::Stat, and a .stat method for IO
[Coke] (otherwise when running ufo, it picks up the perl6 in your path, which might be old/wrong/borken/)
kudo: 7e8134c | moritz++ | tools/contributors.pl:
[tools/contributors.pl] avoid infinite recursion, general cleanup
15:30 Ross^ joined
pmichaud [Coke]: I think 'ufo' and friends should just have '#! perl', and not aim for a specific perl. 15:36
is that not the standard for other perl scripts?
pmichaud@orange:~$ head -3 /usr/local/bin/ack 15:37
#!/usr/bin/env perl
#
# This file, ack, is generated code.
rephrase
[Coke] pmichaud: the problem is that I already have perl6 installed, and <random dir I downloaded to>/install/bin is not in my path.
jnthn back
o/ pmichaud
pmichaud [Coke]: I think 'ufo' and friends should just have '#! perl6', and not aim for a specific perl6
[Coke] then don't make them executable. 15:38
alester ufo?
[Coke] well, that wouldn' thelp, nevermind.
15:38 molecules joined
[Coke] but even if they are exectuable, the only reason it even ran is because I had an /old/ perl6 in my path. 15:38
for the default linux user, it will just die anyway. 15:39
jnthn colomon: pong
pmichaud chuckles at the number of comments in backscroll that say "should we document X?" where X is already documented in the README.
[Coke] env: perl6: No such file or directory
(that's what you'll get.) 15:40
(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
pmichaud++
-> afk
pmichaud jnthn: I see you added test-mock into the list of modules, but din't add it to the Makefile.in .. Oversight? 15:42
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
jnthn pmichaud: Now you mention it it's like "duh, of coruse" :-)
I'll add it.
The Windows fix was the more important push :-)
pmichaud yeah, I'm not entirely happy with the way it's set up at the moment -- not enough DRY
(the modules listing)
jnthn We can improve that in future distros. 15:44
pmichaud right
15:44 molaf joined
pmichaud I'm hoping/expecting we'll have better module management overall at some point 15:44
jnthn Same
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 justrakudoit.wordpress.com/2010/07/...te-design/
15:45 Ross^ joined
jnthn pmichaud: wait, I'm tangled in a twisy maze :-) 15:46
pmichaud jnthn: ah, you are indeed.
jnthn pmichaud: What is the Makefile in the root?
pmichaud it was added to build/download-stuff.pl, which isn't used anymore.
jnthn The committed one?
Oh
pmichaud yeah.
jnthn Then let's kill it :-)
pmichaud killing
jnthn OK, so it has to go in two makefiles
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.
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.
Tene yeah
pmichaud oh, wait.
it's coming from rakudo's Configure.pl 15:49
test::mock fixes pushed
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 15:53 richard_sk_ joined
mscha rakudo: sub foo(Int *@bar) { say "@bar[]"; }; foo(1, 2, 3, "apple"); 15:54
p6eval rakudo 2808a5: OUTPUT«1 2 3 apple␤»
huf what's the top of the number type hierarchy? 15:55
jnthn Numeric
huf ah. what's Num? 15:57
or was that renamed?
jnthn colomon: Making a Parcel is probably easiest done by my $parcel := pir::new__Ps('Parcel'); pir::push($parcel, $value); etc
huf: Num is a flaoting point number
colomon huf: Num is a floating point number
huf ah, thanks
jnthn heh :-)
huf so how about my other question? :) (can you "cast" a Block to a Sub?)
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.
jnthn colomon: I think I got it to wrok last night
Note := and not =
Makes an important difference here
colomon jnthn: yeah, I definitely had = before. duh.
jnthn colomon: Yeah, that makes it into a Seq.
Since that's what comes of parcels in item context. 15:59
huf: What's your use case, ooc?
15:59 pyrimidine joined
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 15:59
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. ;)
jnthn colomon: In reality, I wrote = when I first tried it too ;-)
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?
huf i'd expect it to only accept subs as parameter, not blocks
but it seems i'm confused
jnthn huf: Ah, then it's your expectations that are wrong. :-)
huf: sub foo (Int @x) { ... } # this means an array declared as having Int elements 16:02
huf: sub foo (Int &x) { ... } # this means a sub declared as "returns Int"
huf ah. so how do you restrict on the type of callable? 16:03
colomon Sub $c
huf the & sigil is just a shorthand for something here, no?
jnthn huf: Sub $x will do it.
Yeah
huf so no way to keep the nice bareword-looking subroutine name and restrict?
jnthn &x is short for Callable $x
huf or can i say c() after Sub $c?
jnthn No, you can't
You can maybe do (&c where Sub) in Rakudo today 16:04
huf so &x isnt Callable $x ? :)
jnthn huf: It is so far as the dispatcher cares. ;-)
huf yeah
this is fun
jnthn But yes, you're correct in that it doesn't let you call it as c()
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␤»
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.
mscha Should be 2, 5, 2, no?
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.
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?
pmichaud (which would invalidate the "new Parcel" bit)
huf jnthn: i see.
colomon rakudo: my @fibo := 1, 1, *+* ... *; for 3,5,3 -> $i { say @fibo[$i]; }
p6eval rakudo 2808a5: ( no output )
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".
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]; }
===SORRY!===
.[3] out of range for type Int()
jnthn :-)
Tene rakudo: my @fibo := 1, 1, *+* ... 500; for 3,5,3 -> $i { say @fibo[$i]; }
p6eval rakudo 2808a5: ( no output )
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.
Tene rakudo: my @fibo := 1, 1, *+* ... 50; for 3,5,3 -> $i { say @fibo[$i]; }
p6eval rakudo 2808a5: ( no output )
pmichaud rakudo: say (1, 1, *+* ... *).[3]; 16:09
Tene rakudo: my @fibo := 1, 1, *+* ... 50; say @fibo.perl;
p6eval rakudo 2808a5: OUTPUT«3␤»
rakudo 2808a5: OUTPUT«1␤»
Tene rakudo: my @fibo := 1, 1, *+* ... 50; say @fibo[0..5].perl;
p6eval rakudo 2808a5: OUTPUT«(1, undef, undef, undef, undef, undef)␤»
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
jnthn Tene: Precednece maybe.
pmichaud actually, it's item binding
not list binding
@fibo is being bound to 1
Tene ahh
jnthn Right.
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]; }
Tene rakudo: my @fibo := (1, 1, *+* ... 50); say @fibo[0..5].perl;
p6eval rakudo 2808a5: OUTPUT«2␤5␤2␤»
rakudo 2808a5: OUTPUT«(1, 1, 2, 3, 5, 8)␤»
pmichaud (I'm still of the opinion that item assignment causes more confusion than it helps)
mscha That's better.
colomon mscha: there you go.
mscha: what you had before was basically a list that went ($a, $b, $b, $b, $b ...)
so as you changed those values, the results changed. 16:11
mscha yup, got it.
thx.
Tene That's a bug, yes?
colomon Tene: we've debated a good bit on that.
pmichaud yes.
Tene I thought I remembered seeing that fixed? 16:12
did that not happen, or am I misremembering?
pmichaud take should de-containerize the values it returns
(so should return, unless "is rw" is set)
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.
(but not really)
colomon "is rw" is set where?
pmichaud colomon: on a sub
my sub xyz() is rw { ... }
NYI, of couse.
*course 16:14
colomon pmichaud: how does that relate to the gather / take?
oh, never mind, I see
pmichaud in the case of gather / take, I think take always decontainerizes
and if you really want to give access to the container, you take a capture or something like that
colomon and in the case of "return", only if sub is rw
pmichaud colomon: exactly. 16:15
colomon I read your original line there with "return" as a verb, not a p6 statement.
pmichaud ah, yes. I forgot my C<...> :)
colomon :) 16:16
cxreg why is everyone always talking about the new york islanders in here 16:20
Tene eh? 16:21
oh
NYI is Not yet Implemented
pmichaud (the islanders aren't implemented yet?)
Tene nope
pmichaud hmmmmm 16:22
moritz_ the islanders aren't new yet
jnthn So they're still on the mainland? :-)
moritz_ starts to read Dave Whipp's latest mail on p6l, and then stops reading again
jnthn lol 16:23
PerlJam moritz_: heh, I was just doing that too
moritz_ does he *really* think that having 1..1e10 an unordered collection is a good idea?
pmichaud Tene: Configure.pl message now reads 16:24
"You can now use 'make' to build Rakudo Perl.
After that, you can use 'make rakudo-test' to run some local tests,
or 'make install' to create a 'perl6' executable in the local directory
and in /home/pmichaud/star/rakudo-star-beta4/install/bin/perl6 .
"
moritz_ I mean... come on. Just because it's p6l doesn't mean you have to go all bananas
jnthn moritz_: The subject line of your reply should be "Suggested sanity for p6l posters" ;-) 16:25
pmichaud "Yes, we have no bananas."
I've obviously missed this thread.
jnthn pmichaud: Lucky you!
moritz_ jnthn: I'm sorely tempted. But I fear I'd make myself a few enimies. Or maybe a lot
pmichaud I'm so glad that implementation of Perl 6 can be so far removed from p6l. :-)
moritz_ should propose a second mailing list, perl6-lunatics 16:26
jnthn pmichaud: Is there anything that could use my attention for star?
pmichaud: I may look later on tonight at an MSI.
pmichaud MSI?
oh, automatic installer? neat.
moritz_ windows installer thingy
jnthn Gah, these *nix users know nothing :P
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....
jnthn pmichaud: Yes, the "standard" installer format for Windows these days.
16:27 justatheory joined
[particle]
.oO(make scene investigator?) ;)
16:27
jnthn Where "standard" is like, "often used"
pmichaud I hardly ever use it. :-P
jnthn pmichaud: Folding Padre in feels like a bit of a challenge. And perhaps even the wrong way around.
[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
[particle] padre already includes rakudo, dunnit?
jnthn ...even if I *am* planning to binary patch the exe file after installing it.
But I didn't tell you that bit.
:-)
The joy of compiled in paths... :/
16:30 zulon joined
jnthn [particle]: Not sure 16:30
Not everyone who wants Rakudo will want an IDE anyways
[particle] no, it has a plugin for parrot, and maybe for rakudo
jnthn No harm in having both options.
[particle] with padre, it would be a different distribution, and not R*, imo
[Coke] even if we decide to include it, I would recommend against trying to add it at *-2. 16:37
pmichaud wfm
[Coke] Rant: It should be *-0, not *-1 for the last element! W(*#&@
Is it too late to fix that? =-)
pmichaud yes 16:38
[Coke] I don't mean for tomorrow, just in general.
PerlJam [Coke]: why? * is always just beyond your reach, so *-1 should clearly be the last element.
pmichaud ...what PerlJam said.
* corresponds to the number of elements, not the index of the last one.
[Coke] lame, but at least explainable. 16:39
16:39 cdarroch joined
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.
[Coke] (I actually prefer tcl's approach here, but am SURE I'm in the minority on that one. =-)
PerlJam [Coke]: how does tcl do it? 16:40
[Coke] www.tcl.tk/man/tcl8.6/TclCmd/string.htm#M9
(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
NBD. All the perl5 people will want it the way it is. =-)
PerlJam rakudo: my @a = 'a'..'z'; say @a[@a.end]; 16:42
p6eval rakudo 2808a5: OUTPUT«z␤»
PerlJam there you go! :)
moritz_ ponders a new p6d mailing list, where d stands for 'decision' as much as 'design'
[Coke] moritz_: or you could try not to let p6l bother you. =-)
16:42 davidfetter joined
davidfetter hello 16:42
tadzik moritz_: thanks for applying :)
16:43 pyrimidine left, pyrimidine joined
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
PerlJam I wonder if something like @some-long-array-name[*.end] could be made to work.
[Coke] rakudo: my @a = 'a'..'z'; say @a[@a.end+3];
p6eval rakudo 2808a5: OUTPUT«Any()␤»
[Coke] rakudo: my @a = 'a'..'z'; say @a[@a.end-3];
p6eval rakudo 2808a5: OUTPUT«w␤»
moritz_ rakudo: sub foo { say @_.shift }; foo(1, 2, 3)
p6eval rakudo 2808a5: OUTPUT«1␤»
[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)
p6eval rakudo 2808a5: OUTPUT«[1, 2, 3]␤»
[Coke] (it's better than the RFC days!)
davidfetter anybody?
moritz_ davidfetter: yes. Just look at my two examples above
16:44 _macdaddy joined
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
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
maybe nopastes with links from here in the channel
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.
[Coke] moritz_: if you can't ignore the lunatics, throw it in wiki.
dukeleto davidfetter: you have to use shift on the object you want to shift now
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
right, there are no implicit defaults anymore 16:47
davidfetter what have i done wrong? plparrot.privatepaste.com/2b56255434
mscha davidfetter: even better equivalent: sub foo($bar) { ... }
[Coke] or, let me rephrase this: why do you think there will be any less crazy on p6d?
patch moritz_: howdy
moritz_ davidfetter: what kind of thing is this wrapped into?
patch moritz_: has any work commenced on a json dumper?
davidfetter moritz_, it's pl/perl6. cf. #plparrot 16:48
[Coke] moritz_, patch: basic dumper is available from parrot, fwiw.
dukeleto davidfetter: oh boy, what have you done now? i think this question is better suited for #plparrot
davidfetter yes
PerlJam moritz_: I thought the lunacy on p6l was just because everybody loves a good bikeshed.
jnthn patch: See github.com/moritz/json/
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
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
jnthn moritz_: dump? :-) 16:49
moritz_ jnthn: it's a dumb dumper :-)
jnthn ;-)
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 :-)
jnthn
.oO( Connection reset by beer )
16:51
moritz_ davidfetter: point is, the code you showed is not a sub, but just code
patch moritz_: i'm about to start work on jsync, that's why i ask
PerlJam from #padre .... <@azawawi> Sewi: now back to blizkost under win32 :)
jnthn :)
davidfetter moritz_, looks like this is pl/parrot-specific
moritz_ davidfetter: and you can only use @_ in subs that don't declare a signtaure
davidfetter: so if it's wrapped into sub f() { ... }, the () provide an empty signature -> boom 16:52
[Coke] anyone working on de-podifying README? 16:55
moritz_ [Coke]: iirc pmichaud rejected it 16:56
[Coke] no, that's not what he said. =-)
I said a bit more about it as well: I think we should just eliminate
the pod from the README file altogether, and leave it as plain text."
er, missing initial ".
moritz_ where it == the approach that I suggested, and frettled++ submitted a patch for
ingy morning 16:57
davidfetter yes, it is
[particle] (plain text)++ # i thought that's what was agreed upon
[Coke] right. pmichaud just recommended on list just removing the POD markers from README and going with a straight text file.
[Coke] does so.
16:59 davidfetter left
[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
moritz_ too slow
[Coke] wonders if that looks the same. 17:03
dukeleto rakudo: sub f(@a) { say ~@_ } foo(1...3)
p6eval rakudo 3fbd62: OUTPUT«===SORRY!===␤Placeholder variable cannot override existing signature at line 22, near "foo(1...3)"␤» 17:04
dukeleto facepalms
rakudo: sub f(@a) { say ~@_ } f(1...3)
p6eval rakudo 3fbd62: OUTPUT«===SORRY!===␤Placeholder variable cannot override existing signature at line 22, near "f(1...3)"␤»
PerlJam [Coke]: it does here.
dukeleto interesting
PerlJam [Coke]: complete with funky character after "Perl" in many (all?) places
[particle] perl 6 assumes utf-8 17:05
so non-breaking spaces in readme's are legal
dukeleto moritz_: so if any function signature is given, @_ is not valid to use within a sub ?
moritz_ dukeleto: as I said, you can only use @_ if you don't have a signature yet (or use @_ in the signature)
right
dukeleto moritz_: ok, just verifying, thanks
moritz_ too slow, again
PerlJam [particle]: ah, a non breaking space. that makes sense
[particle] it may be worth mentioning its presence in the readme, though. it will be asked. 17:06
[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
[particle] fair enuff
dalek kudo: fe29cde | Coke++ | README:
README should be in text, not POD.
17:09
[Coke] probably time to split some of that out, too.
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
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.
moritz_ jnthn: I know. Modulo that, of course
jnthn :-)
moritz_ but I didn't bother pointing that out on the list, since it's a lost cause anyway 17:12
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
jnthn Well, yours said exactly what I was going to with hyper :-)
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
pmichaud and does it make sense at all for it to be IO::File::Stat ? 17:15
masak oh hai, #Perl6!
phenny masak: 27 Jul 23:18Z <Kodi> tell masak gist.github.com/493037 A patch to implement Instants and Durations; please review at your convenience.
masak: 07:50Z <au|irc> tell masak s!www.perl.com/lpt/a/482!http://www.p...6rfc.html! in the anniversary post following the perl.com relaunch :) (@BlueT++ on plurk noticed this)
ingy rakudo: grammar G { rule TOP { <x> }; rule x { 'xxx' } }; class A { method x($/) { say ~$/ } }; G.parse('xxxx', :actions(A))
p6eval rakudo 3fbd62: ( no output )
pmichaud masak: o/
jnthn lolitsmasak!
moritz_ pmichaud: I'm not quite sure, but I think it's a corner worth exploring
[Coke] wonders how big phenny's queue is.
PerlJam greetings masak
ingy rakudo: grammar G { rule TOP { <x> }; rule x { 'xxx' } }; class A { method x($/) { say ~$/ } }; G.parse('xxx', :actions(A))
p6eval rakudo 3fbd62: OUTPUT«xxx␤»
jnthn [Coke]: Next time you're away for a while, I'll research that ;-)
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.
ingy rakudo: grammar G { rule TOP { <x> }; rule x { 'xxx' } }; class A { method x($/) { say ~$/ } }; G.parse('xxx', :actions(A), :rule('x'))
moritz_ as opposed to p5's stat(), which is a pure unixism
p6eval rakudo 3fbd62: OUTPUT«xxx␤»
masak Kodi: kudos. remind me if I forget. :)
pmichaud moritz_: I'm fine with making it an interface, yes -- I'm just wondering where it fits.
ingy rakudo: grammar G { rule x { 'xxx' } }; class A { method x($/) { say ~$/ } }; G.parse('xxx', :actions(A), :rule('x'))
pmichaud IO::Stat itself feels... wrongish
p6eval rakudo 3fbd62: OUTPUT«xxx␤»
moritz_ pmichaud: why?
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'))
pmichaud and IO::File is what we often ought to be using/returning for file I/O
p6eval rakudo 3fbd62: OUTPUT«xxx␤»
moritz_ pmichaud: btw if you have concern including it in R*, feel free to revert, and we can discuss it afterwards
pmichaud moritz_: I'm fine with it for R*, it's more of a larger question
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
s/question/situation/
ingy :) 17:19
I can wor on that now...
k
17:19 hercynium joined
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
PerlJam waits for IO::All to materialize in the Perl 6 universe
pmichaud I'm going to grab lunch, then I'll draft the release output.
moritz_ ++pmichaud
jnthn pmichaud: ...announcement?
pmichaud announcement
(sigh)
jnthn You need lunch. :-)
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.
ingy patch++
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 :-|
jnthn Ugh :-( 17:21
masak: Having tried to debug said segfault for a few hours - it's non-trival to find.
pmichaud (fwiw, moritz reverted at my request :-)
[Coke] masak: oh, sure blame parrot. :P
masak jnthn: oh, you did? 17:22
jnthn [Coke]: It may or may not be.
PerlJam T-2.5 hours (ish) until Rakudo code-freeze for R* release, yes?
masak hugme: hug jnthn
hugme hugs jnthn
pmichaud PerlJam: yes.
moritz_ pmichaud: which request? i don't quite follow
jnthn masak: Yeah but didn't get to the bottom of it. :-(
[Coke] hugme: hug parrot
hugme hugs parrot
pmichaud moritz_: I think I requested that masak++'s enum patch be reverted
and you did the actual reverting :)
masak [Coke]: Parrot sits right among the likely suspects in this case. :)
moritz_ pmichaud: oh, I didn't notice; I just bisected to find the offending patch
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. :-)
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.
pmichaud PerlJam: yes, 157 minutes to "freeze"
jnthn masak: We'll return to it after R*.
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*
so anything that happens after now+156 minutes isn't likely to make it into R* 17:24
17:25 nwc10 joined
nwc10 pmichaud: the beta 3 tarball works for me on FreeBSD 17:25
moritz_ nwc10++ # testing 17:26
nwc10 I was a bit surprised that there wasn't a test target at the top level
masak yay -- twitter.com/freekey/status/19752653473
nwc10 particularly as I'd seen mention of one, but (of course) that was parrot's
pmichaud nwc10: I'm not exactly sure what a test target at the top level should do (more 17:27
)
moritz_ out for some table tennis training - won't return before the freeze
pmichaud I've been thinking that "make test" could return a list of possible test targets to try.
nwc10 pmichaud: that was what I was going to suggest 17:28
as I realised that there are a variety of test targets
17:28 macroron joined
pmichaud I'll add that after lunch 17:28
which I'm going to now
bbiaw
nwc10 OK
pmichaud: Also, if you want 5% more awesomeness (Well 5% smaller gzip files) for the distribution, try en.wikipedia.org/wiki/AdvanceCOMP 17:29
you might not consider that worth it.
17:29 am0c joined 17:30 nwc10 left
masak jnthn: ok, I'll give up on it for now. 17:32
17:32 Guest84032 joined
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:32
I now tried applying all four of my patches as one single patch. the segfault persists. 17:33
jnthn masak: Well, knowing the minimal change that produces the segfault is probably most useful 17:34
17:36 tylercurtis joined
masak jnthn: the most minimal I've been able to get so far is all of t/spec/S10-packages/basic.rakudo 17:36
put otherwise, the actual conditions under which things fail have so far eluded me. 17:37
and "time sink" doesn't sound too promising. :)
jnthn masak: Well, more just a matter of priorities. :-) 17:38
masak: Shipping with the "can't say in a role method" bug woulda been really really bad.
masak that one's fixed? o.O
jnthn Finally.
masak \\\\\\ooo///
jnthn Well 17:39
Worked around.
masak still.
jnthn But the workaround gives some good hints towards a long term fix.
masak jnthn++
jnthn rakudo: role R { method m { say 42 } }; class C does R { }; C.new.m
p6eval rakudo 3fbd62: OUTPUT«42␤»
patch moritz_: thanks!
masak jnthn⨁⨁ :)
17:41 ash__ joined
ash__ ping moritz_ ? 17:43
tadzik ash__: gone for a while
ash__ ah, thats cool
PerlJam finds that he really wishes colomon's .. optimization was in R* 17:44
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
tadzik pmichaud: when will be the last module pull for R*?
sorear good * #perl6
tadzik hello sorear
sorear ash__: both. it lives in misc/evalbot
colomon sorear: \\o
ash__ ah, cool
sorear: in pugs, i assume
? 17:46
PerlJam tadzik: probably around 2000utc
[Coke] (segfault) having spent years on and off trying to golf segfaults for tcl-on-parrot, I feel your pain. =-)
sorear but I've never seen an ircbot that doesn't need massive site-specific customization
so talk to moritz
tadzik PerlJam: today or tomorrow?
PerlJam tadzik: today
ash__ sorear: i would if he was here, :P
tadzik oh crap
[Coke] tadzik: no worries. you can get one in for next month.
tadzik [Coke]: well, I'd rather have the brand new File::Find in Star
[Coke] yes. Star will have another release in one month. 17:47
(but I know what you're getting at.)
tadzik as now there'll be 'old' F::F in Star, and another one completely different and incompatibile next month
what time in utc is now? :)
PerlJam tadzik: you can always suggest that the old FF not be included in R*
tadzik: 1747 by my clock 17:48
tadzik PerlJam: yeah, I'm considering this
ah, so plenty of time
I'm always confused, timezones in Poland change twice a year, I never know in which we are currently
PerlJam: I'll probably make it on time then
[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.
tadzik PerlJam: yeah, hence my another question 17:50
[Coke] phenny tell colomon - rt.perl.org/rt3/Ticket/Display.html?id=69382 is very out of date; can you update the ticket for a modern rakudo? 17:51
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:52
sorear ingy: Would you take a look at niecza's Test.pm6 and tell me if I'm on the right track? 17:53
[Coke] colomon: the file you reference doesn't even exist anymore. 17:55
that was more where I was going. =-)
rakudo: say $*OUT.&say.WHAT; 17:56
what's up with the bool there?
p6eval rakudo 3fbd62: OUTPUT«IO()<0x720f0f0>␤Bool()␤»
sorear $*OUT.&say doesn't do what you think it does
[Coke] rakudo: say $*OUT.&printf.WHAT;
p6eval rakudo 3fbd62: OUTPUT«IO()<0x720be20>Bool()␤»
jnthn rakudo: say $*OUT.&wtf-is-this-syntax.WHAT;
p6eval rakudo 3fbd62: OUTPUT«Could not find sub &wtf-is-this-syntax␤ in main program body at line 22:/tmp/_zGRGzCBox␤»
jnthn Ah, OK. 17:57
17:57 nimiezko joined
sorear say $*OUT.&say.WHAT === say (say($*OUT)).WHAT 17:57
[Coke] jnthn: trying to get at the methods. (RT #69412)
jnthn [Coke]: That isn't what that syntax does.
sorear: Right.
[Coke] ok. what's the right syntax?
PerlJam rakduo: $*OUT.^methods.join(" ").say 17:58
jnthn [Coke]: For what, introspecting methods?
sorear rakudo: say $*OUT.^can("say").WHAT
p6eval rakudo 3fbd62: OUTPUT«Method 'WHAT' not found for invocant of class 'P6Invocation'␤ in main program body at line 22:/tmp/J65cYmsc3n␤»
sorear ...yow
jnthn Oh, the joy of .^can.
PerlJam rakudo: $*OUT.^methods.join(" ").say
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
..trim-le…
sorear I think "Method 'WHAT' not found" means I just compelely broke Rakudo, yes?
[Coke] PerlJam: that gets me the methods, or just the method names?
PerlJam [Coke]: the actual methods. 17:59
sorear rakudo: say $*OUT.HOW.^methods.Str
p6eval rakudo 3fbd62: OUTPUT«Method 'methods' not found for invocant of class ''␤ in main program body at line 22:/tmp/JuZHtDr00x␤»
[Coke] rakudo: say $*OUT.^methods{printf}.WHAT
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␤»
sorear what, ClassHOW.HOW doesn't have methods?
jnthn sorear: Sure it does, it just doesn't provide a way to introspect them.
[Coke] whoops.
PerlJam sorear: I think there's already a bug report for that too
jnthn sorear: That'll change. 18:00
sorear jnthn: I meant methods, the method
[Coke] rakudo: say $*OUT.^methods.grep('printf').WHAT
jnthn sorear: Ah, mis-read, but same answer.
p6eval rakudo 3fbd62: OUTPUT«List()␤»
jnthn sorear: P6metaclass doesn't have a methods method.
[Coke] rakudo: say $*OUT.^methods.grep('printf')[0].WHAT
jnthn ClassHOW goes
p6eval rakudo 3fbd62: OUTPUT«Multi()␤»
[Coke] aha!
Close enough? =-)
guess I could use .first
jnthn Eventually ClassHOW.HOW.WHAT is going to say KnowHOW or some such I expect.
[Coke] rakudo: say $*OUT.^methods.first('printf').WHAT 18:01
p6eval rakudo 3fbd62: OUTPUT«Multi()␤»
[Coke] rakudo: say $*OUT.^methods.first('say').WHAT
p6eval rakudo 3fbd62: OUTPUT«Multi()␤»
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.␤»
sorear stefan@stefans:~/niecza$ ./niecza_eval -e 'say ClassHOW.HOW.WHAT' 18:05
ClassHOW()
jnthn Well, it's probably implementation specific :-)
sorear I wish I knew why moritz_ 's niecza build keeps breaking like that.
masak Class? how? how? what? 18:06
jnthn WHY?!
masak "Perl 6: the deeply existential language" 18:07
jnthn "Perl 6: how many interegationals can you handle?"
sorear jnthn: ClassHOW.HOW.WHAT === ClassHOW isn't an implementation artifact; I have a fair amount of code dedicated to tying that specific know
knot
jnthn sorear: Right, I just plan to tie the knot in something more primitive.
And use that to implement ClassHOW 18:08
sorear: At the end of the day, it's gotta be tied somewhere though. :-)
sorear: And nothing in the spec says we gotta do it the same way.
I'm not saying you've done it rong, just that I'm going to do it different. :-) 18:09
18:15 jjore joined 18:16 high joined 18:17 high_ joined 18:18 pmurias joined 18:19 high joined 18:25 lue joined
lue hai o/ 18:26
[Coke] moritz_: what's the deal on #76772 ?
14:23 < [Coke]> Down to 250 new tickets in Rakudo.
14:24 < [Coke]> 635 altogether, 618 that aren't assigned to moritz. ;)
14:25 < [Coke]> moritz_: what's the deal on #76772 ?
14:25 < [Coke]> need tests?
(missent to phasers. :P)
masak lue: oh hai!
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.
er, new-and-untouched.
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␤»
tadzik yeah, that's it
cxreg ingy: ping
tadzik bug, or feature? 18:29
PerlJam tadzik: did you mean that you wanted to iterate over the new elements too?
masak tadzik: feature.
tadzik PerlJam: yep
PerlJam definitely a feature
tadzik ok
masak tadzik: think of `for @a, @b`. that usually helps for me.
cxreg ClassWHY
sorry, i missed the train on that joke
tadzik masak: I don't see the point 18:31
masak tadzik: the thing after 'for' should only be evaluated once. 18:32
18:32 mmmpork joined
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:32
so there's a contradiction, so one of our assumptions are wrong. 18:33
turns out the time-consuming assumption is wrong :)
cxreg shows #plparrot how to use pointy blocks to enforce signatures on generated subs post-facto
18:34 bgs100 joined
pmichaud back together 18:34
cxreg did anyone hack prototyped closures into perl 5 with Devel::Declare? sounds Moose-ish
PerlJam I'm pretty sure D::D allows for signatures on anonymous subs. 18:35
okay ... only like 60% sure 18:36
18:36 high left
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
pmichaud you may be, though. Consider $filehandle.line() 18:37
er, .lines()
masak oh, sure.
different case. 18:38
and we don't implement open(:rw) yet :P
colomon moritz_: what are the rules for adding long tests to the spectests?
colomon has a new 500-some test file of integer ranges to add... 18:39
masak [backlog] changing proof_of_concept to pls is OK by me. 18:40
I'd prefer it to be better tested, of course.
sorear If you need it to be tested, you're doing it wrong.
Assuming you're both talking about the test file.
masak no, the actual tests in t/ are satisfactory. 18:41
but there is quite a lot of variety among the projects out there; how they prefer to be built, tested and installed.
I've basically only tried pls on one project so far.
pmichaud masak: I ended up not doing very much with proto/pls (yet) 18:43
I wasn't sure how to fit it in to the overall build sequence.
masak pmichaud: I'll be here to assist for the rest of the CET evening.
pmichaud well, I didn't plan to do much more with it either. :-| 18:44
masak ok.
maybe wise. it's not finished yet.
pmichaud I mean, I'm not opposed to doing more with it, but I don't know how to fit it in yet.
Should I remove it from the R* package altogether, then?
masak maybe. depends.
pmichaud I'm wide open for suggestions and advice. :)
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 :)
pyrimidine wishes the magic range thread on p6-lang would die a very rapid death
pmichaud well, pls looks like it's highly dependent on the projects.list file being in the current dir, or something like that.
masak pmichaud: yes. that's wont to change. 18:46
pmichaud yeah; that somewhat makes it hard to add in a 'package' sense.
masak pmichaud: I suspect we'll end up putting that file on-line. perhaps the Pugs/Mu repo.
pmichaud I'd say it could continue to live on github, fwiw.
masak either way's fine by me.
I was thinking Pugs/Mu, because that naturally leads to many people having write access to it. 18:47
which one wants for that file, but not necessarily for the rest of pls.
pmichaud sure, that works.
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
p6eval rakudo 3fbd62: OUTPUT«-17-16-15␤»
masak rakudo: say -1..1
pmichaud and it certainly could separate the metadata into a separate repo with a very liberal commit policy
p6eval rakudo 3fbd62: OUTPUT«-101␤»
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␤»
masak rakudo: say :8(abs -1..1)
p6eval rakudo 3fbd62: OUTPUT«1␤»
18:49 mrsaturns joined
masak rakudo: say abs -1..1 18:49
p6eval rakudo 3fbd62: OUTPUT«1␤»
masak hm.
rakudo: say abs (-1..1)
p6eval rakudo 3fbd62: OUTPUT«3␤» 18:50
masak rakudo: say abs ~(-1..1)
mrsaturns 3?
p6eval rakudo 3fbd62: OUTPUT«1␤»
18:50 hercynium joined
pyrimidine list context? 18:50
masak rakudo: say ~(-1..1)
p6eval rakudo 3fbd62: OUTPUT«-1 0 1␤»
masak pyrimidine: aye.
ah. spaces.
rakudo: say (-1..1).join
p6eval rakudo 3fbd62: OUTPUT«-101␤»
masak rakudo: say :8( abs join -1..1 )
p6eval rakudo 3fbd62: OUTPUT«0␤» 18:51
masak rakudo: say :8( abs (-1..1).join ) # 65?
whee :8?
p6eval rakudo 3fbd62: OUTPUT«65␤»
masak \\o/
whee: "interpret as octal"
whee aah
PerlJam why wasn't :8( abs join -1..1 ) 65 ?
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
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.
masak that's possible too.
doesn't explain the 0, though. 18:53
pmichaud say (-1..1).Str
rakudo: say (-1..1).Str
p6eval rakudo fe29cd: OUTPUT«-1 0 1␤»
rindolf rakudo: [~] 1..5
18:53 Ross joined
p6eval rakudo fe29cd: ( no output ) 18:53
pmichaud rakudo: say join '-1 0 1'
rindolf rakudo: [~] (1..5)
p6eval rakudo fe29cd: OUTPUT«␤»
rakudo fe29cd: ( no output )
pmichaud rakudo: say '"', (join '-1 0 1'), '"'; 18:54
p6eval rakudo fe29cd: OUTPUT«""␤»
pmichaud sure, since the result from join is an empty string, it evaluates to zero.
masak ah.
pmichaud and C<join> returns an empty string because there were no items to join.
PerlJam I guess that makes sense.
masak by the way, I think I submitted a ticket asking why +"" shouldn't be NaN. 18:55
I think that's more informative than 0.
18:55 chromatic joined
masak chromatic! \\o/ 18:55
pmichaud could arguably be a Failure, too.
masak pmichaud: except that I expect it to be something Numeric.
pmichaud +"xyz" should be a failure of some sort, +"" seems to fall into that realm as well
masak oh, indeed. 18:56
pmichaud lots of operations return non-numeric results. :-)
chromatic Ruminations on tomorrow's release, intended for publishing on Perl.com: nopaste.snit.ch/22395
phenny chromatic: 01:17Z <[Coke]> tell chromatic - should rt.perl.org/rt3/Ticket/Display.html?id=64124 be moved to another queue?
masak pmichaud: but not prefix:<+> :)
pmichaud chromatic: reading
masak: yes, even prefix:<+>
masak looks
pmichaud: you're thinking of Perl 5, no?
pmichaud masak: can &infix:</> return a non-numeric result? 18:58
(I say 'yes')
if &infix:</> can return a non-numeric result, I don't see why &prefix:<+> cannot.
masak yes.
18:58 _macdaddy joined
masak pmichaud: point. 18:58
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++
chromatic Lisp
pyrimidine chromatic: very nice write-up
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
chromatic Which classification, masak?
masak that it's a philosophy.
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?
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.
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.
PerlJam chromatic: I think your "twenty years" is a little conservative :)
chromatic++
chromatic Likewise, but that's what Larry's always said.
pmichaud PerlJam: underpromise and overdeliver :-)
masak I also think it's conservative. but it's the usual number :) 19:03
chromatic++ # nice text
pmichaud I tend to think in terms of fifty years or so
masak chromatic: ss/the second reinvention/the first reinvention/ ?
PerlJam pmichaud: but that's at least a 0.5 meter rise in sea level from now! :)
pyrimidine is glad to see perl.com active again 19:04
masak pyrimidine: aye.
chromatic++ # for that, too! :)
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....
pmichaud I'm not sure about the final paragraph.
chromatic I had a LOT of help for Perl.com.
pmichaud chromatic: this is being posted on perl.com ? 19:05
chromatic Yes.
masak chromatic: did you mean "They don't like twigils." ?
chromatic That too.
masak makes more sense.
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)
Part of me feels like it's slightly better if we bring P5 back into the discussion again at that point (more)
masak +1
19:06 cono joined
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
or something like that
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
Su-Shee I emphasized that one can easily use p6 as a just more polished p5 and ignore the rest.
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.
kokajxo rakudo: my @array = gather { take 1 ; take 2 ; say "hello" } ; say "hi" ; say @array[0];
pmichaud and releasing Rakudo Star should make Perl 5 more valuable, not less.
p6eval rakudo fe29cd: OUTPUT«hello␤hi␤1␤»
lue chromatic++
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.
PerlJam pmichaud: that's an interesting point ... how does r8 make p5 more valuable?
kokajxo (I hope not) why is "hello" printed before hi ?
PerlJam er, s/r8/r*/
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.
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
kokajxo: not a bug
kokajxo: list assignment is eager
frettled Perhaps it is easier to just remove "Ignore the naysayers."?
pmichaud I like the "Ignore the naysayers" line, myself.
diakopter we naysayers feel namecalled
PerlJam frettled: no way. I like that part best
kokajxo oh, so should I do colomon ?
Su-Shee diakopter: :)
colomon rakudo: my @array := gather { take 1 ; take 2 ; say "hello" } ; say "hi" ; say @array[0]; 19:11
p6eval rakudo fe29cd: OUTPUT«hi␤1␤»
pmichaud rakudo: my $array = gather { take 1; take 2; say "hello"; }; say "hi"; say $array[0];
sorear How long until the pugs repo officially lives in git
p6eval rakudo fe29cd: OUTPUT«hi␤1␤»
frettled Yes, yes, but isn't "ignore the naysayers" an oxymoron?
sorear svn log is driving me bananas
PerlJam There's a similar "ignore the naysayers" here samcrawley.wordpress.com/2010/07/28...he-haters/
kokajxo ok, I was reading perlgeek.de/en/article/5-to-6#post_12 . Thanks a lot !
frettled sorear: that's a bug, everything should be peachy
pmichaud however, note that one generally cannot rely on laziness sideeffects except in the context of "strictly lazy" operators.
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.
chromatic We're proud of what we've accomplished, and we've reached a point where we want
to share it with the wider world. Now begins the work of polish and
optimization and packaging. Ignore the naysayers. Perl 5 and Perl 6 are the
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.
Better?
pmichaud Much better
+2
PerlJam chromatic++ 19:13
masak aye.
kokajxo pmichaud: I know, that was just a test :)
pmichaud my current target is to release R* at 12h00 UTC
i.e., a little less than 19h from now.
but that's not a hard target.
i.e., it may move back if needed. 19:14
timbunce pmichaud: got a draft announcement ?
[Coke] chromatic++
pmichaud timbunce: writing it now, if I can tear myself away from #perl6 long enough to finish it. :)
which I will do now.
Su-Shee I already delivered. As long as the release actually happens.. :)
PerlJam Su-Shee: when/where are your article published?
s/article/articles/
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
tadzik pmichaud: when will the last modules pull happen?
Su-Shee PerlJam: tomorrow "at some point" in german tech news.
tylercurtis chromatic++, although I share colomon's uncertainty about whether "(and, oh yes, are there opportunities for optimizations)" is intended as statement or question.
frettled chromatic++ — very good
lue pmichaud: me too. just thinking international for a second.
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.
sorear since 98% of the complaints against git seem to be about the user model
chromatic Now with revisions: nopaste.snit.ch/22396
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?
chromatic sorear, what's the other 2%? Fear, Uncertainty, and Drama about rebasing?
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
pmurias: more like, bring the awesome git technology to people who have irrevocably stockholmed the svn interface
19:18 mtk joined
pmurias are there much of those? 19:18
pmichaud chromatic: "meet our needs" --> "meet needs" # perhaps
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
PerlJam wonders when the proverbial twenty years actually starts
pmichaud maybe break the optimizations item into two statements, or move the parenthetical outside of the question.
beyond that I'm bikeshedding more than I should 19:19
frettled PerlJam: Thursday ;)
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
chromatic "Ignore the naysayers. Try it for yourself." ?
pmurias chromatic: but it's a complaint against the default setup (with git-svn) not against the tool as such
frettled masak: that's why I thought it might be an oxymoron :) (See also "Microsoft Works", "Military Intelligence")
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
lue to me, "Ignore the naysayers" says "don't let the naysayers influence you before you even try it"
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
chromatic: I mean, I had to read it twice to understand where it was going (but maybe that's just me)
timbunce chromatic: I was just thinking the same 19:22
chromatic I'm pondering that right now.
The "family of languages" concept has never sat well with me, but I see your point.
masak chromatic: "Ignore the naysayers. Try it for yourself." is certainly better. still doesn't solve my above semi-kvetch, though.
& 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?
lue
.oO(Maybe someone has never heard of perl?)
19:24
PerlJam lue: that's why they're on perl.com? :)
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"
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.
chromatic: "never-needs-updated" -> "never-needs-updating" 19:25
chromatic Su-Shee, I expect that Slashdot will link to this article.
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:26
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
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)
PerlJam i.e. "That's neither what Perl is nor how it works." keep the other Perl 6
cosimo "tl;dr"
19:28 cognominal joined
Tene tadzik: does your class have a Str attribute? 19:28
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;
Su-Shee diakopter: I wrote a naysayer-ish editorial. ;) 19:30
diakopter Su-Shee: oh; I hadn't seen it
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.
tadzik Tene: thanks, will do
Tene or do the attribute option.
tadzik Tene: or, how about is Cool? 19:31
Tene (I'm not sure if that works in current rakudo)
tadzik looks like it works
Su-Shee diakopter: as long as you can't read german, you can't. and today I'm too tired to make quick translation.
PerlJam Su-Shee: google!
tadzik 'is Cool' is cool :)
diakopter Google Translate is my friend
Su-Shee let's see what it makes of it. ;)
lue
.oO(I've come to prefer Yahoo Babelfish)
19:32
PerlJam yahoo owns babelfish now? I haven't used that in years. DEC probably still owned it the last time I used it. 19:33
diakopter Su-Shee: url? 19:34
kokajxo Su-Shee: I can read german, a bit. Could I see it please ?
19:35 eternaleye joined
Su-Shee wow, google translate is seriously bogus. 19:35
PerlJam Su-Shee: try babelfish then :) 19:36
chromatic nopaste.snit.ch/22398 (much beyond this and it's rearranging flowers)
Su-Shee sushee.no-ip.org/translation.txt 19:37
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
chromatic: personally I'd remove everything from "People will complain..." to "... or how it works" 19:39
just my 0.02$
diakopter Su-Shee: "turn my wine back into water" :)
chromatic cosimo, my intent is a little pre-emptive framing. 19:40
cosimo sorry if I jumped in like that
tadzik \\o/ # File::Find now returns a lazy list
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 :)
diakopter heh
19:42 davidfetter joined
timbunce chromatic++ looks good. 19:42
jnthn chromatic: I like it. 19:43
sorear agh. My change to STD.pm6 *didn't work*
sorear builds again 19:44
nimiezko rakudo: DateTime.now.to-epoch
p6eval rakudo fe29cd: OUTPUT«Method 'to-epoch' not found for invocant of class 'DateTime'␤ in main program body at line 22:/tmp/mpL6dyZris␤»
Su-Shee rakudo: DateTime.now.til-release
p6eval rakudo fe29cd: OUTPUT«Method 'til-release' not found for invocant of class 'DateTime'␤ in main program body at line 22:/tmp/s58mzf35uu␤»
nimiezko rakudo: say DateTime.now 19:45
p6eval rakudo fe29cd: OUTPUT«2010-07-28T19:24:56Z␤»
tadzik oh, it prints the UTC time?
useful
PerlJam someone's clock is a little off 19:46
nimiezko rakudo: say $*PERL 19:47
p6eval rakudo fe29cd: OUTPUT«name rakudo␤version 2010.07-45-gfe29cde␤␤»
tadzik hmm, why the g before revision?
sorear that's just what git describe does 19:48
19:48 20QABJY3Z joined, 77CAA0BJA joined
tadzik mhm 19:48
pmichaud here's a draft of the first part of the release announcement: gist.github.com/496016 19:53
I'm still working on a lot more, but it gives a sense of where I think the announcement is going.
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?
s/start/star/
19:54 Mowah joined
lue pmichaud++ # I like it so far 19:55
out of curiosity, where will R* be available? (rakudo.org and such)
pmichaud actually, I've moved my draft to pmichaud.com/sandbox/2010.07.txt
so you can all reload to see updates in real-time. :)
PerlJam the "We'll be honest" comment irks me slightly.
pmichaud PerlJam: I can change that. 19:56
19:56 simcop2387 joined
pmichaud (but what part irks you? What would you like to see instead?) 19:56
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.
tadzik cosimo: I'd like it
any objections?
pmichaud cosimo: where is LWP::Simple ?
cosimo github.com/cosimo/perl6-lwp-simple/
pmichaud: ^^
19:58 snarkyboojum joined
cosimo that also requires MIME::Base64 19:58
pmichaud I guess we'd also n.... right
chromatic I'd have written:
nimiezko How is �$*PERL generated for rakudo ? at build time ? statically ?
cosimo right now I can't access modules.perl6.org. this airport thinks it's a gambling site
chromatic Rakudo Star is aimed at "early adopters" of Perl 6. It contains bugs and is
far slower than we'd think it ought to be. This release isn't at all a
complete implementation of Perl 6.
pmichaud chromatic: I'd like to make it clear that we're not a production release or "1.0" or "6.0.0" 19:59
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".
tadzik cosimo: ah :|
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.
lue
.oO(Would I be wrong in saying R* is available at rakudo.org, perl.com, and perl.org ?)
cosimo tadzik: tried to poke around a bit, but no result
chromatic More than "early adopters" disclaims?
lue s/perl.org/perl6.org/ 20:01
pmichaud lue: the location is right there in the release announcement.
Su-Shee pmichaud: well if I managed to throw little bits of dbd in, than it's really more than "isn't at all".
PerlJam chromatic: I don't think pmichaud can be too redundant on this point.
tadzik rakudo: sub foo (:$a) { say 'ok' if $a}; foo(a => /regex/) # what's wrong in here?
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␤»
chromatic Maybe so, but it's kind of like saying "Don't use this." 20:02
"Why did you jerks release something I can't use?"
Why can't you use it?
"You said I can't use it!" 20:03
Said nothing of the sort!
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."
Su-Shee well that's what perl haters say about perl 5 today. ;)
PerlJam maybe explicitly state some things that it *can* be used for? 20:04
chromatic I think you're better off explaining why not.
Otherwise my concern is that we all get stuck explaining why we released it at all.
pmichaud When someone comments "Rakudo Star is not ready for production", I'd like to be able to respond with "yes, we said that."
[Coke] no call?
pmichaud I'll call
so, phone 20:05
tadzik Could someone give me a hand with this sub?
davidfetter claps
sorry
pmichaud explaining "why release at all" seems much easier to me than anything else that might come up 20:06
if nothing else, I can fall back on "release early, release often" 20:07
tadzik alright, anyone mind me adding LWP::Simple to Star?
cosimo tadzik: what are you matching against?
PerlJam tadzik: looks like a bug to me (your sub problem)
tadzik cosimo: no matching
20:08 simcop2387 joined
cosimo tadzik: i thought you wanted $something ~~ $a 20:08
masak pmichaud: nice announcement draft.
PerlJam tadzik: you could be a tad more explicit and say rx/regex/ but that doesn't help you
tadzik cosimo: look up, it's just "if $a"
pmichaud still needs more, on phone now
tadzik alright, adding LWP::Simple
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++
tadzik PerlJam: report it?
PerlJam tadzik: well, I'm not *sure* it's a bug. :-) 20:10
cosimo tadzik: LWP::Simple also needs MIME::Base64
tadzik cosimo: oh, sure
tylercurtis tadzik: in Rakudo at least(will have to check if it's spec), Regex.Bool is essentially { $_ ~~ self; $match.Bool }.
PerlJam tadzik: I mean, perhaps you're meant to do something like ...
jnthn pmichaud: First three paragraphs look good. Less comfortable with the forth one.
PerlJam rakudo: sub foo (:$a) { say 'ok' if $a.defined }; foo(a => /regex/);
p6eval rakudo fe29cd: OUTPUT«ok␤»
tadzik oh, better 20:11
cosimo rakudo: sub foo (:$a) { say $a.perl }; foo(a => /regex/);
p6eval rakudo fe29cd: OUTPUT«{ ... }␤»
tadzik but still it sounds like a bug to me
cosimo: added
20:11 pyrimidine left
lue masak: I agree 20:11
jnthn pmichaud: The "We'll be honest: " maybe isn't needed at all.
masak pmichaud: or what jnthn said. 20:12
lucs "We are aware that ..."
masak @darlings>>.kill
PerlJam tadzik: How about this one ...
rakudo: my $x = rx/regex/; say ?$x;
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␤»
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)
but ...
rakudo: my $x = rx/regex/; say ~$x;
p6eval rakudo fe29cd: OUTPUT«_block115␤»
PerlJam What's that all about?
tadzik PerlJam: $a.defined works fine
PerlJam (I call bug as it looks like rakudo's parroty guts are leaking through)
jnthn IIRC, if you put a regex in boolean context it will match against $_ 20:14
masak rakudo: my $x = sub {}; say ~$x
p6eval rakudo fe29cd: OUTPUT«_block115␤»
jnthn $x contains a regex. ?$x is doing just that.
PerlJam jnthn: but it doesn't do that in string context?
jnthn PerlJam: No, then it just does whatever a code object would. 20:15
PerlJam still seems wonky to me 20:16
tylercurtis jnthn, even rx{foo}?
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
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.
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.
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?]
jnthn lue: Too far the other way.
Something in between.
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.
whee how about a "what can I do with it" section?
lue "It's not complete, but it's very usable" ?
20:20 lichtkind joined
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
blah too slow
what jnthn said
jnthn masak: Yeah, that leaves us more room.
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:22
masak Rakudo is the least bad impl right now when it comes to spec cov'rige. 20:23
pmichaud "useful parts of the specification"
(still on phone) 20:24
avar writing the * release announcement?
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: rake.rubyforge.org/ -- in the mid-to-long run, of course.
food & 20:26
[Coke] stackoverflow.com/questions/142799/...tion-ready
avar Or write a Perl 6 Makefile parser ? :)
sorear in #toolchain yesterday mst talked about a pure Perl implementation of make 20:27
this could be a fun small project 20:28
like, .signature sized
(mostly because the portable subset of Makefile syntax is so small)
rindolf sorear: there is remake I think.
No, that's something else. 20:29
colomon cons
davidfetter my USD 0.02 re: "production ready." if RoR is, rakudo is, /a fortiori/ 20:30
rindolf makepp.sourceforge.net/
colomon: no, not CONS.
PerlJam cons is dead
pmichaud off phone, finally 20:31
tadzik hmm. Is any documentation reader going into Star? Something like perldoc
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 "␤»
PerlJam tadzik: goto NYI
tadzik oh, ok
lue is almost done w/ promotional banner about R* for his blog :) 20:37
tadzik lue: mind showing? :) 20:39
cosimo what's the different between $.bar and $!bar ?
difference, even 20:40
tadzik cosimo: public and private accessor
lue I plan on putting up a `preview', so yes.
jnthn $!bar declares an attribute
20:40 kokajxo joined
jnthn $.bar declares $!bar plus an accessor method. 20:40
20:40 _ilbot2 joined
moderator »ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
cosimo jnthn: tadzik: thanks 20:40
tadzik so, what about this documentation reader? 20:41
PerlJam tadzik: vi, emacs, notepad, bbedit, textmate, ... your choice.
tadzik PerlJam: I see
tylercurtis rakudo: class Foo { method f { $.g; }; method g { say 'g!' } }; Foo.f; 20:43
p6eval rakudo fe29cd: OUTPUT«g!␤»
tylercurtis cosimo: as well, outside of "has", "$.foo" is basically "$(self.foo)". In other words, it calls whatever method in item context.
tadzik is excited before R* 20:44
I hope I'll be able to sleep
moritz_ will, due to exhausting training :-) 20:45
pmichaud draft revised: pmichaud.com/sandbox/2010.07.txt
20:46 ascent_ joined
cosimo tylercurtis: thanks 20:46
moritz_ pmichaud: /me likes it
jnthn pmichaud: That's a huge improvement. 20:47
pmichaud++
pmichaud I'd still like to work "not 6.0.0" and "not 1.0" into the text somewhere.
jnthn pmichaud: In that paragraph or just somewhere? 20:48
pmichaud somewhere.
jnthn OK
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 :)
tylercurtis cosimo: for other contexts, you can also do @.foo, %.foo, &.foo, etc., as with accessors.
jnthn OK; I don't see a good way to put it into that paragraph right off. :-)
moritz_ tadzik: I can feel with you :-)
pmichaud reload, adding the next section
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/
cosimo well, it's great anyways
moritz_ Lazy lists
tadzik PerlJam: well, R* is the huge propaganda hit anyway. I mean, usable Perl 6. Now.
pmichaud jnthn: fixed
moritz_ junctions
tadzik grammars
jnthn pmichaud: Mention multipe dispatch and junc...yes those
tadzik: already there ;-)
lue I like it.
moritz_ MAIN and USAGE subs
pmichaud moritz_: might be hard to explain those in a bullet point 20:50
tylercurtis Feeds are nice.
jnthn Aye
Tene I would *not* mention chained comparisons.
PerlJam feeds++
jnthn tylercurtis: Feeds are one of the quite incomplete features though.
moritz_ right; I wouldn't put those in
Tene It's not actually a big feature, and it seems to devalue the rest by comparison.
PerlJam jnthn: but the simple, "ordinary" cases work just fine
chromatic I like this release announcement much more.
pmichaud chromatic++ and others++ for suggestions
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..
pmichaud s/now/how/
jnthn PerlJam: The current impl is like, something I churned out in a spare hour. There's quite a bit from the spec missing. :-)
I'd rather focus on the things we have fairly significant coverage of.
tylercurtis pmichaud: perhaps something like "MAIN subs that automatically parse command line arguments according to the sub's signature."
jnthn tylercurtis: It's not very snappy though 20:52
chromatic Function signatures
Tene I'd just say "Improved command-line handling"
PerlJam jnthn: perhaps I'm just enamored of the novelty that my @a <== grep <== sort <== @thingy; works :)
moritz_ "Command line parsing through function signatures"
pugssvn r31856 | moritz++ | [t/spec] at least a very basic test for $*VM, RT #73888
pmichaud how about "formal parameter lists and signatures" ?
moritz_ +1
jnthn pmichaud: +1
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
:-)
PerlJam that too!
20:53 rbuels joined
PerlJam :) 20:53
moritz_ cosimo: I've shared that experience. Especially for OO code
[particle] i don't like "So, " in the release announcement. it's too conversational
cosimo moritz_: yes, especially that. sub new {} anyone? :) 20:54
cognominal rakudo: say ({ qq| $^k="{$^v.perl}"| } )( < a b > )
p6eval rakudo fe29cd: OUTPUT«Lexical '$v' not found␤ in <anon> at line 22:/tmp/_WdktGMFAg␤ in main program body at line 22:/tmp/_WdktGMFAg␤»
pmichaud [particle]: would "Thus, " be okay?
lue
.oO(@lista ==> sort ==> my @result <== sort <== @listb)
[particle] also, starting a sentence with But...
jnthn pmichaud: Maybe s/binary objects/native types/ maybe? It's a tad more general.
pmichaud [particle]: nm, changing a bit more radically
[particle] hrmm, lemme think.
pugssvn r31857 | moritz++ | [t/spec] so my $x = 3, RT #73352 20:55
pmichaud jnthn: one of the FAQs is pack/unpack
jnthn [particle]: But can be a valid first word in a sentence. :P
tadzik lue: what about this banner? :)
[particle] jnthn: yes, rarely.
jnthn pmichaud: Then mention them explicitly.
cognominal should I file it as a bug. Or my expectation is wrong?
moritz_ pmichaud: mention state variables as not-quite-there
pmichaud moritz_: it's there now :)
(frequent reloads might be good here :)
lue I'm finishing it up. (Would R*.0 be a good abbreviation for Rakudo Star Release 0 ?)
cognominal anyway, that should be 20:56
moritz_ cognominal: introducing a formal parameter in a block interpolated into a string makes no sense
cognominal: because it's called without an argument
the error message could be more awesome, but it's not supposed to work
jnthn cognominal: It's right you get an error. The error itself is dubious.
pmichaud: * multiple dispatch and junctions 20:57
pmichaud: I wouldn't group these
cognominal yes indeed, the { } were there to remind me.
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.
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>"
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
[particle] i mean, list bullets
avar s/As alluded earlier, //
ash__ anyone here familiar with feather3? 21:00
moritz_ ash__: a bit
jnthn pmichaud: Is it worth a kind of "Many built-in operators, functions and classes" note at the end of this?
ash__ is there a system managed version of rakudo on it? or do i need to make my own?
[particle] if you're open to more collaborative editing, we can create an etherpad ot make edits
moritz_ ash__: make your own
pmichaud jnthn: split multidispatch and junctions +1
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. :-)
[particle] like: eiximenis.wikimedia.org/rakudo-star-announce
ash__ moritz_: kk, will do
pmichaud [particle]: this is fine with me
[particle] hokay
ash__ moritz_: oh greaterthaninfinity.dyndns.info/ is working a bit better now, it retains data between calls (try my $a = 1; <enter> say $a; <enter>)
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...
[particle] backscrolls to look for discussion of "release 0", which comes across as quite underwhelming
pmichaud I'm fine with leaving the release number out, if #0 causes issues. 21:03
I don't want to call it release #1.
PerlJam pmichaud: is there really a need to say "Perl 6 grammars" in the first bullet? (i.e. drop the "Perl 6")
moritz_ ash__: \\o/ works
pmichaud PerlJam: It feels different with the "Perl 6" there.
jnthn PerlJam: It may be good to call out the distinction that regexes in Perl 6 are notably different.
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..
ash__ moritz_: i'd like to get at least that page cleaned up by tonight/tomorrow even if the tutorial parts are still missing...
pmichaud and several people have mentioned that at this point in time, Perl 6 grammars are its killer app
jnthn pmichaud: Thatt'll be lost on some people, but not those who have seen/read about them.
avar Another thing to mention -> some of the build-in-modules?
[Coke] +1 on using the release month as the version #.
version /string/
jnthn ash__: It works for me too \\o/
moritz_ ash__: see svn.pugscode.org/pugs/misc/evalbot/evalbot.pl for some basic security measures (search for program_prefix)
ash__ moritz_: i just ended up re-writing the perl backend since i didn't really understand cygx's work so far...
i have it already
say lines;
it has the same stdin as p6eval 21:05
pmichaud [Coke]: changed version number
moritz_ ah, great
jnthn Land der Ãcker
moritz_ ash__: and add a
tadzik ash__: it works! \\o/
jnthn Encoding fail :-)
tadzik ash__++
moritz_ ash__: use FORBID_PIR;
ash__: at the end of that list
ash__: so that pir::destructive_call is disabled
21:06 hercynium joined, cj joined
ash__ github.com/moritz/try.rakudo.org/bl...try.pl#L32 is what i am using now, i'll append those things you just said though 21:06
cj diakopter: moo
tadzik modules/mainline -- what's that? (in Star)
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"?
pmichaud yes, the name is lta
[particle]: unix package managers all want periods
tylercurtis phenny: tell masak Wikipedia tells me of a topological-sort algorithm that makes cycle-detection extremely trivial. en.wikipedia.org/wiki/Topological_s...Algorithms
phenny tylercurtis: I'll pass that on when masak is around.
moritz_ pmichaud: one more thing.. mention the REPL
pmichaud I tried using hyphens and got some grief from the people creating .rpms and .debs
[particle] gives unix package managers a :P
pmichaud moritz_: suggestion?
[particle] ok, so drop the #
lue wasn't there already 2010.07? .oO(maybe star.00 ?)
PerlJam lue: that was Rakudo, not Rakudo Star 21:08
tadzik lue: mind showing the banner? :)
moritz_ pmichaud: * an interaction read-evaluation-print loop
lue yes :) just a second...
pmichaud moritz_: added
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
ash__ how does repr know what the last thing was? like if you do "my $a = 3;" it prints 3
pmichaud ash__: because the result of "my $a = 3" is 3.
rakudo: say (my $a = 3);
p6eval rakudo fe29cd: OUTPUT«3␤»
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);
ash__ so its it just doing ( ) around the input?
(probably not)
moritz_ print(...) basically
ingy p6 only supports after a passing rule, right?
moritz_ erm
say()
pmichaud it's just looking at the result of the execution and displaying it
sorear ingy: Oh dear, did you just implement a p6regex to p5 compiler? :(
moritz_ out
21:10 am0c joined
ingy sorear: I'm getting there 21:10
21:11 Guest23195 left
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 :)
sorear: pegex is an acmeist project. (all langs)
sorear: it's only heavily influenced by p6r 21:12
cognominal acmeist project?
ingy cognominal: acmeism.org
PerlJam ingy: clearly you haven't advertised acmeism enough :) 21:13
ingy is an acmeist hacker
araujo thinks about willy coyote
ingy PerlJam: I've given about at least 5 talks on it in the last year
anywho 21:14
PerlJam araujo: "willy"? ITYM "wiley" Wile E. Coyote .... Super Genius.
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
tadzik :) 21:15
PerlJam pmichaud: not to mention the 31 releases to date
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.
pmichaud PerlJam: apparently, "those aren't real release."
*releases
araujo PerlJam, that one :P
ingy cognominal: :) paris++ 21:16
21:16 timbunce joined
pmichaud announcement updateded to include "not 1.0" and "not 6.0.0" 21:16
suggestions for short descriptive blurbs for the modules welcomed
cognominal ingy, you are welcome to talk as osdc.fr or fpw
but importing chunk of Perl 6 syntax in other languages will make every language like Perl 6 eventually :) 21:17
*chunks
tadzik they will steal features anyway :)
cognominal ... and will realize they need the syntax as well :)
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 :)
dukeleto tadzik: that would be the best flattery :)
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 :)
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
ingy plays robin hood 21:19
tadzik ingy: stealing is a metaphor here
ingy tadzik: but it's a bad metaphor
tadzik there's hardly a thing like stealing in the world of open source software
[particle] that's bs. 21:20
tadzik ingy: maybe. It sounds like a bad word
[particle] you need to follow the license provisions, or its stealing.
PerlJam ingy: some communities have too much of a NIH problem, so they're not into sharing
tadzik well, sure
ingy I think you misunderstand me
chromatic Infringement is not stealing. That is all.
timbunce pmichaud: " feedback about Perl 6 +language+ and Rakudo's implementation of it"
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
araujo ingy, a new algorithm can be considered an acmeism?
[particle] pmichaud: s/more widely/widely/ 21:22
davidfetter looks like dukeleto et al. slid pl/rakudo under the wire :)
lue tadzik: here it is: rdstar.wordpress.com/blog-banners/
PerlJam I predict MiniDBI will generate the most activity from the R* release (most bugs/comments/hacking/etc)
pmichaud [particle]: I prefer "more widely"
ingy araujo: a new algorithm implemented equally in a dozen langs
pmichaud [particle]: or else we should change "widely" altogether.
[particle] ok, how about "morer widelier" :P
tadzik lue: oh, these! :)
I've seen them few days ago :)
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
lue I just finished the new one! (second) :)
araujo ingy, well, the algorithm is invented, the people then implement it in whatever language they want
pmichaud timbunce: changed (thanks)
sorear pmichaud: tylercurtis: Schwern has been found
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
ingy araujo: i have committed to implementing my future ideas in all languages
pmichaud rakudo handles unicode at the grapheme level (I think), but not at any of the other levels.
we don't have the normalized form yet. 21:25
ingy so anything I'm doing here, is going to happen everywhere
but there's a lot of good energy here day to day
pmichaud timbunce: added notes about unicode to both the "have" and "have not" lists.
PerlJam hugme: hug ingy
hugme hugs ingy
ingy so it's a nice place to hanf out
PerlJam beams some good energy at ingy
pmichaud plus there's plenty of hugs about
lue would it be wrong to call this the 0th R* release, like it did in early drafts of the release announcement?
ingy PerlJam: \\o/
pmichaud lue: I'm likely to internally continue to treat it as the #0 release 21:26
but I probably won't start numbering releases until we get to #2 or #3 :)
lue alright, because that's what my banner calls it :)
pmichaud lue: I did say it was worth waiting for the release to actually occur, you know. :)
lue It's only a preview of the banner right now :) 21:27
right here: rdstar.wordpress.com/blog-banners/
timbunce when will the R* be frozen? (specifically when will MiniDBI get bundled as I'd like to edit its README)
lue
.oO(I reckon I should hide it again, no need to have a preview)
21:28
21:29 patrickas joined
pmichaud timbunce: module freeze is later this evening 21:29
timbunce: you have at least 6 hours or so
araujo ingy, sounds good idea, but I still think programming languages highly influence sometimes ideas and concepts
21:33 cotto_work joined
ingy araujo: of course, but then those good ideas should be proactively shared 21:33
imao ;)
21:33 mscha joined
patrickas hello perlsixers 21:34
araujo that is true, they should be shared
PerlJam coughs of araujo and shares perhaps too much ;)
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 ?
tadzik \\o
pmichaud patrickas: yes, I'm hoping others will contribute the short descriptions :)
so far nobody has done so. :)
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
pmichaud 21:16 <pmichaud> suggestions for short descriptive blurbs for the modules welcomed
cotto_work +1 to what patrickas said
pmichaud tadzik: here on the channel is fine -- I'll paste them in
jnthn Blizkost allows you to use many Perl 5 modules from within Perl 6. 21:37
pmichaud jnthn: capital "B" ?
jnthn pmichaud: Yes.
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
jnthn pmichaud: I tend to like to have names capitalized. :-)
pmichaud tadzik: updated
jnthn Zavolaj enables you to call functions from C libraries by declaring stub subroutines in Perl 6.
er 21:39
pmichaud * Zavolaj - call functions in C libraries by declaring Perl 6 stubs
jnthn pmichaud: yes, that's fine
tadzik LWP::Sipmle -- simple interface to WWW #`[or something brighter] 21:40
patrickas Zavolaj - call C libraries functions from Rakudo
pmichaud patrickas: I like your desc better -- adopted it
21:40 alexm joined
tadzik SVG -- create Scalable Vector Graphics 21:41
jnthn Test::Mock - create mock objects and check what methods were called
pmichaud tadzik: LWP::Simple needs a better description. how about "fetch resources from the web?"
jnthn JSON::Tiny - serialize Perl 6 data structures to/from JSON
tadzik pmichaud: I thought about 'simple interface to HTTP protocol' but that's rather what HTTP::Client is for
pmichaud: your description is nice 21:42
jnthn: where is JSON::Tiny in Star?
jnthn tadzik: Oh, I thought it was included?
tadzik jnthn: I'll include it now
PerlJam It probably should be
jnthn +1
It's a nice module to read the code of too
pmichaud I think the original expectation was that proto would provide it, but I think it should be separate.
jnthn A good example of grammars. :-)
pmichaud yes, please add it 21:43
tadzik where does it live?
jnthn github/moritz/json iirc
tadzik so, JSON or JSON-Tiny?
I don't think it's necessary to call it Tiny, for it's the only JSON we have anyway :)
does not need to be fat to be good :)
pmichaud Tiny, in case we have a bigger JSON later.
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.
also, we should refer to it by the module name for now.
timbunce I've updated the MniDBI README: github.com/mberends/MiniDBI/commit/...5eb4c27907 any comments?
[particle] pmichaud: the zavolaj description should be consistent with the others, and say Perl 6 instead of Rakudo
pmichaud timbunce: looking
PerlJam Math::Model - provides a way to describe and run mathematical models 21:45
pmichaud: that first sentence makes for a great description :)
(MiniDBI)
pmichaud [particle]: added, although I don't know if Zavolaj will ultimately be ported (or portable) to other Perl 6 implementations
[particle]: i've changed them to be "Rakudo Perl 6" 21:46
that seems to work okay for me
timbunce I guess I should write a README for DBDI now!
jnthn pmichaud: I consider Zavolaj a working draft implementation for a synopsis on native calls.
pmichaud PerlJam: adopted the minidbi description
[particle] great! consistency in the message is important.
pmichaud jnthn: works for me. 21:47
jnthn pmichaud: But it's got a bit to go before I'm ready to propose it.
pmichaud: So yes, +1 to "Rakudo Perl 6"
21:47 high joined
jnthn pmichaud: I fully intend to port it everywhere Rakudo runs, and may at some point suggest we make it core. 21:47
pmichaud: But anyway, that's for later.
PerlJam XML::Writer - module for creating XML in Perl 6
(taken from the README) 21:48
21:48 isBEKaml joined
pmichaud timbunce: minidbi readme looks good 21:48
tadzik maybe 'build XML from Perl 6'?
pmichaud 'generate XML output from Perl 6' 21:49
or even just 'generate XML output'
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)
pmichaud timbunce: there will be another release in four weeks. Maybe even sooner. :)
timbunce: then DBI can get a prominent position in the release announcement. :)
sorear timbunce: Why did DBI need to be removed from Perl 5.0?
pmichaud "Rakudo Star -- now with DBI!!!!" 21:50
tadzik pmichaud: why output?
isBEKaml the parrot that will be bundled with R* will be 2.6.0 ?
pmichaud tadzik: okay, just "generate XML"
isBEKaml: yes.
PerlJam 'DBDI' ne 'DBI'
isBEKaml pmichaud: ok. Doing a slackbuild now. :)
tadzik pmichaud: maybe 'generate XML documents'?
pmichaud sorry, DBDI
davidfetter hopes pmichaud will put PL/R* in the release announcement somewhere
timbunce pmichaud: no! (please, tell me you're joking) We're a long way from having a DBI!
pmichaud timbunce: right, I just put the wrong acronym. :) 21:51
timbunce pmichaud: yeah, it's bound to be a source of confusion
davidfetter pl.parrot.org @ pmichaud
[particle] pmichaud: mention R* is based on rakudo #31 (or whatever) and parrot 2.6 ?
pmichaud [particle]: I'm not quite sure where to put that.
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?
sorear rule modifier_expr { <EXPR> } #point? 21:53
21:53 Mowah joined
dalek ecza: c2b609a | sorear++ | STD_REVISION:
Bump STD_REVISION to get method parse fixes
21:53
ecza: cd418a6 | sorear++ | Niecza/Actions.pm:
Implement parsing of "private" methods
ecza: ebfc757 | sorear++ | Niecza/Actions.pm:
Implement !method calls
ecza: 667c147 | sorear++ | test.pl:
Test for !method calls
ecza: 02a9152 | sorear++ | Test.pm6:
Use !method and listop ~ in Test.pm6
timbunce pmichaud: somewhere near "planned on a monthly cycle" where you can point out that Rakudo has had monthly releases for years
pmichaud davidfetter: PL/R* doesn't seem directly related to the R* release. Maybe I'm just missing it.
PerlJam having DBI won't be enough these days anyway. Now you need the full stack DBDI, DBI, and an ORM
davidfetter pmichaud, it uses R* 21:54
PerlJam er, and some DBDs of course :)
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 :)
davidfetter pmichaud, won't work with versions of rakudo much earlier than R* 21:55
pmichaud davidfetter: I'm open for text suggestions, then.
[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:"
pmichaud I added a note about rakudo compiler and parrot to the last paragraph
(refresh and see) 21:56
davidfetter "Rakudo Star has already been embedded in PostgreSQL: pl.parrot.org/"
jnthn [particle]: That's not true at all for this release. :-)
[particle] pmichaud++ for an amazing ability to context switch
ingy pmichaud: do you think I should put my YAML dumper into *?
I think I should
pmichaud ingy: do you think it's ready for it?
ingy: I think it'd be a worthy module if so.
ingy well it's 100 times better than .perl
[particle] jnthn: i'm sad to say i don't know the specifics, just suggesting a format.
ingy but like .perl it's not perfect
pmichaud well, .perl still needs a lot of improvement, too.
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
ingy but it's for sure the best way to dump *
even if it's not always perfect YAML, it's a great visualizer
pmichaud ingy: I'd need a location to download the yaml dumper and a one-line blurb
ingy pmichaud: github.com/ingydotnet/yaml-pm6 + the README 21:58
it's ufo make testable 21:59
if you have testml
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
ingy nod 22:00
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?
jnthn pmichaud: None from me. 22:02
pmichaud I feel safer in waiting on those.
jnthn pmichaud: Same; slow is one thing, but broken would be worse. 22:03
pmichaud: We just haven't had enough chance to try it in the wild yet.
pmichaud agreed.
cxreg pmichaud: i was worried more about last-second stuff that was already pushed but would break it
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"
pmichaud chromatic++ # fixed
colomon chromatic: I didn't actually try to move them into Rakudo today, so I wouldn't be tempted. 22:05
I've got a new test file to stress test int ranges. 22:06
and I think I can integrate my standalone code pretty easily into Range.
but I think it should wait until after the release.
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. en.wikipedia.org/wiki/Topological_s...Algorithms
22:10 drbean joined
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
jnthn o/ masak
masak 'night, #p6
pmichaud (adding to Makefile.in isn't sufficient)
night, masak
tadzik pmichaud: sure, give me a sec
pmichaud (they belong in the top-level Makefile) 22:12
22:12 drbean_ joined
tadzik github.com/moritz/json/ github.com/snarkyboojum/Perl6-MIME-Base64/ github.com/cosimo/perl6-lwp-simple/ 22:12
pmichaud okay, adding
22:14 drbean joined
pmichaud davidfetter: where would you see the PostgreSQL comment going in the announcement? 22:15
davidfetter where's the draft announcement?
tadzik pmichaud: to be sure, which Term::ANSIColor are you pulling? 22:16
oh ok, there are urls in makefile
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
davidfetter: pmichaud.com/sandbox/2010.07.txt
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:20
so far, I have been passing in parrot_config explicitly. 22:21
lue afk
pmichaud isBEKaml: if parrot_config is in your path, it detects it.
if not, you have to supply it.
isBEKaml ok 22:22
timbunce pmichaud: perhaps add something about concurrency-friendly hyper-operators
tadzik goodnight #perl6. May the Star shine upon You :) 22:23
davidfetter pmichaud, probably after the modules list 22:24
cj sorear: just making sure you're here 22:25
cognominal I would like to do a .subst( /.../, given $the_match { ... } )
sorear cj: oh, I ... never noticed you here. 22:26
cognominal ...where $the_match would be the tjing matched by /.../. Is that possible?
pmichaud Paula says the announcement doesn't make the distinction between "Rakudo Star", "Rakudo", and "Perl 6" very clear.
22:26 azert0x joined
cognominal that would be "do given" I suppose. 22:26
pmichaud timbunce: well, that's more of a future potential of the language than something we have today :) 22:27
22:27 azert0x joined
pmichaud afk for a bit -- back in ~10 22:27
cj sorear: I don't always idle here. I think I joined about 45 minutes ago looking for diakopter 22:28
who doesn't seem to be around
cognominal pmichaud, maybe a word about the thing you expect to work on the next release with a timeframe would be nice
pmichaud cognominal: timeframe is at the bottom of the announcement
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?"
ingy pmichaud: when is the final time that you'll pull yaml-pm6 for *?
cj bah. how's he supposed to help me implement compiled regexen in mono if he's on vacation!?
pmichaud ingy: sometime in the next ~6 hrs, I expect.
ingy !
pmichaud: is it already in there? 22:30
cj ingy: did you do any strip teases this year?
pmichaud ingy: I can pull it now or a specific commit if you want :)
ingy: it's in the build system now -- haven't done a build with it yet.
ingy pmichaud: I'll get it ready for release
put the new stuff on a branch
pmichaud ingy: okay, let me know if I need to remove it or something.
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
pmichaud bbi10
22:33 ashleydev joined 22:34 ashleydev joined 22:36 timbunce joined 22:40 isBEKaml_ joined
ingy hi cj 22:42
isBEKaml_ is there anywhere I can get the Rakudo source tarball without having to do a git clone? 22:43
R*
22:45 timbunce joined
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:46
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:47
22:48 wknight8111 joined
dalek ecza: d4465fa | sorear++ | (2 files):
Implement postfix if/while/unless/until
22:48
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
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)
but you can get an intermediate one from
isBEKaml_ cxreg: Yes, I'm aware of that. I'm asking for th epurpose of building a slackware package.
pmichaud pmichaud.com/sandbox/rakudo-star-beta3.tgz
timbunce Tene: great. that can be added to the 'available today' list. Is that also true of continuation passing? 22:52
pmichaud: "The requested URL /sandbox/rakudo-star-beta3.tgz was not found on this server"
isBEKaml_ pmichaud: 404 - Not Found.
cotto_work what they said 22:53
pmichaud sorry, .tar.gz
pmichaud.com/sandbox/rakudo-star-beta3.tar.gz
timbunce: added some of your items to the draft announcement 22:55
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?
pmichaud isBEKaml_: I don't remember saying that.
isBEKaml_: it will use a separate parrot if you already have one, but if not, there's one there.
timbunce: it's not an official designation, no.
timbunce pmichaud: README says "Artistic License 2.0" but doesn't include a link and there's no LICENSE file.
pmichaud timbunce: the copyright really applies only to the build components of the tarball
timbunce: oops, I forgot the LICENSE 22:57
thanks
timbunce pmichaud: "you need at least a C copmiler" - typo
Tene timbunce: there are at least some pending significant issues with the exceptions system in rakudo. I don't remember what they are, unfortunately.
pmichaud put another way, R* is really a compilation copyright -- each of the individual components have their own copyright.
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.
pmichaud it's a copy-paste error -- it's following the next paragraph. 22:59
fixing.
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
timbunce: you may be looking at an outdated copy
(beta3 was made quite some time ago)
jnthn That's updated since beta3
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) { }
timbunce pmichaud: ok, I was looking at the files in the beta3 tarball 23:01
pmichaud timbunce: github.com/rakudo/star/blob/master/skel/README # updated
Just pushed a few changes to that file from your suggestions.
Tene ash__: obviously you need to write a source filter to take care of that for you. ;)
ash__ maybe one day soon i can re-write the try.rakudo.org stuff in perl6 instead of using perl5... :-D 23:02
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.
ingy pmichaud: ok, I just pushed a star commit :) 23:04
apparent typo
pmichaud ingy++
ingy um, what is this: Method 'incorporate_candidates' not found for invocant of class 'Undef' 23:15
jnthn A very bad thing. 23:18
ingy: What produces it?
ingy yaml-pm6 I think 23:19
make test
testml seems to pass make test
cxreg ash__: how's ffi going?
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!
ingy jnthn: it went away 23:21
jnthn: after upgrading *
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...
ingy where * means everything
jnthn ingy: Ah, great.
cxreg ash__: i have a good use case, plparrot needs support for some goofy signatures in SPI_* space
pmichaud I made some significant refactors to the draft announcement -- comments welcomed 23:22
1. changed the announcement title to include the phrase "Perl 6"
jnthn pmichaud: latest at?
pmichaud pmichaud.com/sandbox/2010.07.txt # same location
added paragraph 3 to try to explain the distinction between "Perl 6", "Rakudo compiler" and "Rakudo Star"
23:23 HarryS joined
pmichaud added a sentence after the description of included modules to say that more modules can be found via proto 23:23
jnthn grow
the Perl 6 codebase,
cxreg stackoverflow needs a Perl 6 category
jnthn pmichaud: Did you mean by this "grow the amount of code out there" 23:24
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.
pmichaud jnthn: I meant both meanings, I think. I'm open for a clearer phrasing.
jnthn If you meant both, then it's OK. :-)
* Unicode at the grapheme level 23:25
Aren't we only doing it at the codepoint level ATM?
e.g. we don't have NGF strings yet? 23:26
pmichaud I can change it to that
fixed.
jnthn As far as I grok things, our .chars is still really .codes (whereas it should default to .graphs)
* Unicode strings at levels other than graphemes 23:27
That one wants fixing too
pmichaud I fixed it too.
23:28 bjarneh joined
jnthn ah, yes :-) 23:29
pmichaud Added:
"In many places we've tried to make Rakudo smart enough to inform the
programmer that a given feature isn't implemented, but there are
still many that we've missed. Bug reports about missing and broken
features are welcomed.
:
"
isBEKaml_ More information about Perl 6 modules can be found at perl6.org/ and github.com/masak/proto. 23:30
I thought proto listed modules and perl6.org was a general info site?
jnthn pmichaud: I suggest link to modules.perl6.org/
isBEKaml_ "Perl6 and modules" I think would be clear.
jnthn Rather than github.com/masak/proto 23:31
pmichaud jnthn: +1
jnthn Since that may get renamed to pls at some point
pmichaud I didn't realize modules.perl6.org was available.
jnthn :-)
isBEKaml_ :) # nor did I
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
pmichaud at some point we might want to revive the perl6-examples repository, too. 23:33
timbunce I've added a minimal README to DBDI. github.com/timbunce/DBDI/blob/master/README I'll flesh it out before YAPC::EU 23:39
pmichaud timbunce++
ingy rakudo: my $x = []; $x.push("foo"); say $x.perl 23:44
p6eval rakudo fe29cd: OUTPUT«["foo"]␤»
ingy rakudo: my $x = []; $x.push($x); say $x.perl
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
..'Array::perl' a…
ingy :P
YAML++ ;)
23:52 Guest86601 joined
Guest86601 rakudo: say (10.1).succ 23:53
p6eval rakudo fe29cd: OUTPUT«11.1␤»
Guest86601 Duh
ingy pmichaud: github.com/ingydotnet/yaml-pm6/tree...udo-star-1 23:55
pmichaud: that's the tagged commit
pmichaud ingy++
ingy added some string quoting cases and updated the README 23:56
pmichaud: will we add star to the evalbot?
pmichaud I dunno. 23:57
that's up to the evalbot folks, I suspect :)
ingy whodat?
pmichaud moritz_ primarily, I think.
jnthn pmichaud: ETA for tomorrow's release (roughly, or a "not until after")?
pmichaud jnthn: I'm aiming for 12h00 utc
23:58 Psyche^ joined
sorear hmm, yaml-pm6 uses a few unpleasantly advanced features 23:58
jnthn pmichaud: As in, mid-day UTC?
pmichaud: Or mid-night UTC?
pmichaud mid-day
(mid-night UTC would be in 2 minutes :)
jnthn Oh, yes, duh. :-)
OK, so 12 hours.
pmichaud right
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
I'm about to cut another beta.tar.gz now
jnthn When will there be a tarball for me to check over on Win32?
Oh, great.
snarkyboojum excellent - that'll still be 29th in Oz then :)
pmichaud I'm guessing that 12h00 is pretty much "July 29 everywhere" :-)