Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-07-04

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:04 kborer_ left #perl6
00:04 kborer_ joined #perl6
00:07 justatheory joined #perl6
00:08 kborer joined #perl6
00:15 * jnthn -> sleep
00:44 rewt joined #perl6
00:51 justatheory joined #perl6
00:58 pugs_svn r27397 | lwall++ | [STD,CORE,Cursor,etc]
00:58 pugs_svn r27397 | lwall++ | move to an OO model of STASHes and NAMEs
00:58 pugs_svn r27397 | lwall++ | remove ->stash indirection
00:58 pugs_svn r27397 | lwall++ | canonicalize_name now leaves :: on parent package names
00:58 pugs_svn r27397 | lwall++ | recombine notion of symbol table object with stash (assuming object does Hash)
00:58 pugs_svn r27397 | lwall++ | immutable type object no longer points to mutable symbol table
00:58 pugs_svn r27397 | lwall++ | add debugging symbol for output on symbol tables
00:58 pugs_svn r27397 | lwall++ | declarand now remembers pad to export into even if $*CURPAD changes
00:58 pugs_svn r27397 | lwall++ | BEGIN/INIT/START/ENTER/FIRST are now statement prefixes (block or statement)
00:58 pugs_svn r27397 | lwall++ | various small bugfixes and simplifications
01:05 fridim_ joined #perl6
01:41 payload joined #perl6
01:41 molaf_x joined #perl6
01:58 KyleHa joined #perl6
02:22 KyleHa Where would be a good place for a test for http://rt.perl.org/rt3/Public/Bug/Display.html?id=60408   ?
02:23 KyleHa I've spent like a half hour trying to figure it out.  I'm thinking somewhere in S06, perhaps in a new section devoted to perl5ish declarations.
02:27 TimToady S06-signature, I'd guess
02:28 TimToady since implicit @_ is really a (*@_) sig in disguise
02:28 KyleHa OK, thanks.
02:29 KyleHa That narrows it down a bit.
02:29 KyleHa Oh yeah, positional.t is nice and small.  I'll bloat that up.
02:31 TimToady bloat away
02:40 pugs_svn r27398 | kyle++ | [t/spec] Test for RT #60408
03:29 frew__ joined #perl6
03:34 pugs_svn r27399 | lwall++ | [S04] allow certain value-producing blocks as statement prefixes
03:40 drbean joined #perl6
03:43 KyleHa rakudo: for (1,2,3) -> $a,$b { say "$a, $b" }
03:43 p6eval rakudo 6a4d66: OUTPUT«1, 2␤StopIteration␤in Main (/tmp/SxrH6mlYwx:2)␤»
03:43 KyleHa Is that what's supposed to happen?  Run time error?
04:03 justatheory joined #perl6
04:04 * skids resigns for the evening also too youbetcha.
04:06 rewt left #perl6
04:21 alester joined #perl6
05:20 amoc joined #perl6
05:45 Pismire joined #perl6
05:58 azawawi joined #perl6
05:58 azawawi good morning
06:01 payload joined #perl6
06:09 joerg__ joined #perl6
06:12 PZt joined #perl6
06:15 ejs joined #perl6
06:23 iblechbot joined #perl6
06:25 ejs1 joined #perl6
06:29 cotto joined #perl6
06:36 ejs2 joined #perl6
06:58 desertm4x joined #perl6
07:07 eMaX joined #perl6
07:08 meppl joined #perl6
07:10 finanalyst joined #perl6
07:19 szabgab joined #perl6
07:24 tann joined #perl6
07:31 azawawi joined #perl6
07:31 azawawi literal: ping
07:33 azawawi @tell literal i started today integrating grok with Perl 6 plugin. grok --index is really useful. The S29 pod parsing is not really my idea. It was masak's (http://use.perl.org/~masak/journal/38212).
07:33 lambdabot Consider it noted.
07:37 azawawi @tell literal it would be great if grok can output its STDOUT to a file directly. That way I will not get a black command line terminal popup when running in win32 non-console wperl.exe .
07:37 lambdabot Consider it noted.
07:46 mberends phenny, tell DanielC http://gitorious.org/parrot-module-lib/main updated
07:46 phenny mberends: I'll pass that on when DanielC is around.
07:51 moritz_ good morning
07:52 azawawi moritz_: good morning to u 2 :)
08:01 pugs_svn r27400 | moritz++ | [t] remove some nonsense from autoderef.t. The rest of the file is still questionable.
08:02 pugs_svn r27401 | moritz++ | [t] move nested_hashrefs.t to spec
08:02 pugs_svn r27402 | moritz++ | [t] merge braces_in_rules.t into spec/S05-metasyntax/unknown.t
08:05 moritz_ ok, I'm offline again for a while, hope to be back on sunday evening or so
08:26 finanalyst hi
08:27 finanalyst can anyone tell me whether rakudo programs can be given options as well as arguments, eg -o=10 and if so how do i get the option
08:27 finanalyst dont think so, but just checking
08:38 ejs0 joined #perl6
08:53 xinming_ joined #perl6
08:57 DemoFreak joined #perl6
09:05 barney joined #perl6
09:17 azawawi joined #perl6
09:20 azawawi hi
09:24 azawawi @tell literal the following grok code fails on a couple of synopsis-es, http://gist.github.com/140511
09:24 lambdabot Consider it noted.
09:41 buubot joined #perl6
10:09 jnthn o/
10:13 azawawi jnthn: hi :)
10:14 Tim___ joined #perl6
10:21 jnthn hi azawawi
10:24 Tim___ left #perl6
10:26 joerg__ joined #perl6
10:45 masak joined #perl6
10:45 masak greetings gentlemen.
10:50 masak re the behaviour of the minmax operator from a few days ago: isn't it desirable to define minmax in such a way that '@a [minmax] @b' yields '(@a [min] @b), (@a [max] @b)'?
10:51 sri_kraih joined #perl6
10:56 icwiener joined #perl6
11:01 masak phenny: tell KyleHa re StopIteration: no, I don't think that is what's supposed to happen. I for one dislike that behaviour. here's one rakudobug ticket about it: http://rt.perl.org/rt3/Ticket/Display.html?id=66890
11:01 phenny masak: I'll pass that on when KyleHa is around.
11:04 sparc joined #perl6
11:07 scottp joined #perl6
11:12 amoc joined #perl6
11:20 * masak reads and likes http://use.perl.org/~scrottie/journal/39067
11:23 scottp Hey Masak - was just about to write to you on github
11:23 Tim___ joined #perl6
11:23 scottp Is there a way/plan/reason to get proto to access the perl6 modules in pugs/ext ?
11:28 masak scottp: haven't thought about that before. no-one much works on the modules in ext/ in the Pugs repo. when some of the modules were revived, they were moved to the perl6-examples repo on github, IIUC.
11:28 masak but given that loading stuff from ext/ in the Pugs repo is actually what someone wants, I don't see any problems with adding that as a repository type to proto.
11:29 masak that's actually quite timely, since I was planning to OO-ify that part of the proto source code anyway.
11:29 scottp The reason I noticed, is that on the wiki it suggest someone writes File::Spec - but it already exists in pugs.
11:30 scottp The question is, do we manage them independently - ie. copy what is useful, or keep what is there?
11:34 masak I don't have a stake in either modus operandi, but the trend lately has been towards the former. (meaning, I don't know of someone who maintains modules in the Pugs repo)
11:34 payload1 joined #perl6
11:38 masak scottp: I'd be (pleasantly) surprised if you could find even one module in that ext/ dir that ran unchanged in Rakudo.
11:56 azawawi joined #perl6
11:56 azawawi hi
11:58 masak o/
12:09 jnthn oh noes...the airline I'm meant to be flying to YAPC::EU with maybe is going to has a fail...
12:20 mberends jnthn: if u haz enuf time, i may come and give u a lift :)
12:22 scottp masak: thanks that makes sense - I will port what I need then.
12:23 iblechbot joined #perl6
12:25 jnthn mberends: That's quite a detour! ;-)
12:26 mberends the reward of going somewhere is also the journey ;)
12:26 jnthn True. :-)
12:27 jnthn OK, lunch, then I'll try and get this traits refactor wrapped up.
12:38 M_o_C joined #perl6
12:42 masak nice! if jnthn starts hacking on Rakudo after lunch, I'll give some attention to porting Template and MarkupTemplate from Genshi to Hitomi.
12:48 * jnthn has just finished nomming a tasty ham salad
12:49 Pismire joined #perl6
12:49 masak my lunch doesn't have a succinct name like that, but it had a lot of very good ingredients. :)
12:51 mberends jnthn: could you please comment on the sanity of the following plan to give modules Unicode names, :ver and :auth capability: http://gitorious.org/parrot-module-lib/main/blobs/master/src/eval-include-at-line-66.pir
12:52 jnthn mberends: Sure, moment. :-)
12:52 jnthn Just got one thing to sort out quickly before I dig into Rakudo. :-)
13:01 Whiteknight joined #perl6
13:02 skids joined #perl6
13:03 jnthn ok, back
13:03 jnthn .oO( even compiler writers have to do the laundry )
13:05 skids .oO(damn, and I had just managed to conveniently forget the laundry)
13:06 masak time to do some serious coding!
13:06 jnthn mberends: # Translate the :ver and :auth values passed (or absent) to regexes.
13:06 jnthn Are regexes the best way?
13:07 jnthn mberends: I worry a little about e.g. versions like 1.10.5 vs 1.2.3
13:07 mberends some of the possibilities in S11 look very similar to regexes already
13:07 jnthn I guess the second should come before the first, right? So for version at least we'd want to do numeric processing?
13:08 mberends yes, that's a ranking matter
13:08 jnthn OK
13:08 jnthn It's not a serious concern, jut though worth mentioning.
13:08 jnthn Overall it looks like you're probably hooking it in the right place.
13:08 jnthn Of course, the details of the module database I guess are kind of interesting.
13:09 jnthn Will there be separate per-user and system wide DBs, for example?
13:09 jnthn I'd suspect there would need to be to support local module installation.
13:09 mberends that's what some people are suggesting, and maybe enlisting PERL6LIB at that level
13:10 mberends no problem extending the concept to multiple DBs
13:11 masak flexibility is worthwhile, but please keep it simple, with an eye to extending things in various directions later.
13:11 masak just seeing a proof-of-concept of the discussed ideas would help make everything much more concrete.
13:11 jnthn Sure, simple and working beats complex and not working. :-)
13:11 masak that, too. :)
13:11 mberends the initial implementation will be the smallest one that works minimally
13:12 masak but even a working complex system will suffer from parts unexpectedly not being needed after all.
13:12 masak mberends++
13:12 mberends Keep It Simple, Stupid (KISS)
13:14 masak striving for perfection by removing cruft.
13:14 masak look at git -- people love it because it's built on a few basic concepts, and runs with them.
13:15 scottp Is perl6-examples a good place to port the cookbook examples from bugs to work with rakudo?
13:15 masak s/bugs/Pugs/ ? :)
13:15 masak if so, yes.
13:16 scottp yes pugs - ta
13:16 masak scottp: pmichaud liberally gives out commit access to perl6-examples.
13:16 scottp Thanks, I have it already
13:17 masak excellent.
13:19 jnthn ooh, no wonder I broke so many roles tests...I broke parsing of parametric roles.
13:19 * jnthn is relieved it may be an easier fix for those than he had feared
13:20 masak ugh, many Genshi tests need porting...
13:21 masak I need a reward system if I'm to get through this. :)
13:23 amoc joined #perl6
13:26 * masak pulls out the chocolate
13:26 * jnthn looks envious
13:26 masak not much left, though. I may need to go get some more soon.
13:28 jnthn postcircunfix # not my most cunning typo...
13:36 riffraff joined #perl6
13:42 masak rakudo: class A {}; constant B = A; my B $c = A.new; my A $d = B.new
13:42 p6eval rakudo 6a4d66:  ( no output )
13:42 masak rakudo++
13:43 jnthn rakudo: class A {}; constant B = A; my B $c = A.new; my A $d = "fail"
13:43 p6eval rakudo 6a4d66: OUTPUT«Assignment type check failed; expected A, but got Str␤in Main (/tmp/MQomqxxweP:2)␤»
13:43 jnthn \o/
13:44 justatheory_ joined #perl6
13:44 masak rakudo: constant A = Str; my A $d = 'how about this?'
13:44 p6eval rakudo 6a4d66:  ( no output )
13:44 masak yay.
13:45 Minthe joined #perl6
13:47 Minthe Hello, but may I ask for a question about building pugs?
13:48 masak Minthe: sure, go ahead.
13:48 masak (and next time, just ask)
13:50 ruoso joined #perl6
13:51 mvuets joined #perl6
13:52 Minthe make does not seem to parse Makefile corrctly
13:52 buu woah
13:52 buu Notices
13:53 ruoso hmm... it seems that the Notre Dame de Paris has a role in STD now...
13:53 lambdabot ruoso: You have 1 new message. '/msg lambdabot @messages' to read it.
13:54 masak ruoso: how so?
13:54 ruoso :)
13:54 ruoso $QUASIMODO++
13:54 jnthn :D
13:54 masak :)
13:55 masak yeah, look at that. $QUASIMODO.
13:55 jnthn Wheee...finally fixed trait_mod:<does>.
13:55 jnthn bwaha
13:55 jnthn That's awesome.
13:55 jnthn TimToady++
13:55 Minthe #So how can I building? My pugs is still r24512, because I cannot build new revision
13:56 ruoso I'm not sure what it means, but it's certainly cool
13:56 masak ruoso: it's unset in quasi quotes, it seems.
13:57 ruoso I think it's quasi quotes mode
13:57 masak Minthe: for what it's worth, I get the same error here when I try to make manually.
13:57 jnthn Pugs is not really maintained these days. Folks tend to be using other Perl 6 implementations more.
13:58 wknight8111 joined #perl6
13:58 * ruoso happy that TimToady promoted the '::' post-sigil to STD
13:58 wknight8111 joined #perl6
13:58 masak ruoso: something like that. STD.pm:41 describes it with "don't carp about quasi variables"
13:58 ruoso no more globs :)
13:58 jnthn Minthe: If you want to play with Perl 6 rather than play with Pugs specifically, you may be better trying another compiler instead.
13:59 jnthn (Rakudo is best mix of features and active development.)
14:00 masak Rakudo rocks.
14:01 scottp Why would this not work: class Foo { submethod DESTROY{ say 'bang'; }} my $foo = Foo.new; - I don't get the say as the object is destroyed.
14:01 mvuets A lot of viagra has come today via pugs' trac tickets: http://dev.pugscode.org/timeline
14:02 jnthn Maybe that'll raise Pugs development again.
14:02 scottp thaha
14:03 mvuets (=
14:03 jnthn scottp: I believe DESTROY is unimplemented at the moment.
14:03 scottp jnthn: aha :-) thanks
14:03 jnthn scottp: Also, you can't rely on it being fired at any particular point in time, though it should get fired at some point before shutdown.
14:04 jnthn (Once we implement it, that is.)
14:04 mvuets Good joke of TimToady++ about Quasimodo, btw (:
14:04 amoc joined #perl6
14:04 jnthn make spectest && make cuppa-tea
14:05 eMaX joined #perl6
14:06 ruoso jnthn, are you really going to wait for all the spectest before making the tea? :)
14:06 masak mvuets: not sure if it's a joke. maybe there's an actual humpback bell ringer involved somewhere in STD.pm... :P
14:06 jnthn ruoso: fork that...
14:06 jnthn :-)
14:07 ruoso :P
14:07 jnthn ruoso: Actually I make fruit tea where you gotta leave the bag in for a few minutes to infuse anyway. So now the race is one. Do I get my spectest results first, or my tea?
14:07 mvuets masak, who knows... (:
14:07 jnthn s/one/on/
14:08 masak spectests clock in on 24 minutes here nowadays.
14:08 jnthn yeah
14:08 jnthn long time.
14:09 ruoso heh...
14:09 masak but shorter than a month ago.
14:09 masak Rakudo is getting faster.
14:10 jnthn Aye.
14:10 ruoso and mildew is getting slower ;)
14:10 jnthn Well, maybe a bit early to worry about performance just yet.
14:10 jnthn imo
14:10 jnthn Rakudo didn't worry about it for quite a while. :-)
14:13 amoc joined #perl6
14:16 Minthe OK, now I removed old cabal and began reinstallation...
14:16 Minthe s/cabal/all files of Pugs/
14:16 masak Minthe: do you have any specific plans with Pugs?
14:18 last joined #perl6
14:18 Minthe No, but one day I failed to compile "perl6.c" (aka pbc-to-exe perl6.pbc).
14:18 nihiliad joined #perl6
14:18 jnthn Minthe: Ah. Was that recently?
14:19 Minthe Pugs is stable binary perl6
14:19 Minthe Ah... about one month ago I think
14:19 jnthn OK. I think in that timescale the pbc-to-exe has been improved.
14:19 amoc joined #perl6
14:19 jnthn Certainly it works a load better under Win32.
14:20 Minthe OK
14:40 pmichaud Good morning, #perl6
14:41 jnthn morning, pmichaud
14:43 masak y0, pmichaud
14:44 masak so, when I pass parameters, a => "b" is a named param_, whereas "a" => "b" is a positional Pair?
14:45 pmichaud yes.
14:46 masak can I have a named param called '@foo'?
14:46 pmichaud sure:   sub bar(:@foo) { ... }
14:46 pmichaud rakudo:  sub bar(:@foo) { say @foo.elems; };   bar(foo => [1,2,3])
14:47 p6eval rakudo 6a4d66: OUTPUT«3␤»
14:47 masak wouldn't that one be named 'foo'? right.
14:47 masak I can't send it in as '@foo'.
14:47 pmichaud right.
14:47 masak (I'm designing the Hitomi API right now, that's why I'm asking.)
14:47 pmichaud oh, you meant a named argument called '@foo'?  I think that named arguments are limited to valid identifiers
14:47 masak yes, I think so too.
14:48 masak but it's really no problem, since I can check @_ for Pairs. :)
14:49 pmichaud that sounds like another Perl 6 quote:   "I want to do Y, but it's really no problem, since I can do X... "   :-)
14:50 masak aye. and the old tradeoff between user convenience and programmer convenience is in there too.
14:52 M_o_C I suppose it's the "but it's really no problem" part that distinguishes Perl 6 from most other languages? ;)
14:53 masak you'd be surprised. :)
14:53 masak after one year of programming Perl 6 every day, I can attest that it's really no problem.
14:54 masak well, um, when things work. :P
14:54 M_o_C hehe :D
14:55 masak but they do nowadays, surprisingly often.
14:55 masak gone are the days when I would try a new feature with trepidation, thinking "no-one has ever entered this program before. Rakudo _will_ break."
14:55 * jnthn tries to get a PAST tree that generates the trait application for vars that he wants
14:56 masak theses days it's more like "wow! I tried really hard to crash it, and it only went down 1 time out of 25"
14:56 jnthn ...I know exactly how I want the PIR to look. :-/
14:56 jnthn ah shit
14:57 jnthn pmichaud: ping
14:57 pmichaud pmichaud: pong
14:57 jnthn hi
14:57 pmichaud jnthn: pong
14:57 jnthn ol
14:57 jnthn s/o/lo
14:57 jnthn I'm wanting to generate PIR like this
14:57 jnthn $P42 = <the code that inits a Perl 6 scalar>
14:57 meppl joined #perl6
14:58 jnthn $P43 = get_hll_global 'Int'
14:58 jnthn 'trait_mod:of'($P42, $P43)
14:58 jnthn .lex '$x', $P42
14:58 jnthn That is, the trait mod call doesn't get taken as a result.
14:58 jnthn If I push into the viviself though, it emits things like
14:58 jnthn $P44 = 'trait_mod:of'($P42, $P43)
14:58 jnthn .lex $x, $P44
14:59 jnthn Which is of course wrong.
14:59 jnthn How can I do this cleanly?
14:59 frew_ joined #perl6
14:59 pmichaud PAST::Op(:name('trait_mod:of'),  PAST::Var( :scope('lexical'), :name('$x') ), PAST::Var( :scope('package'), :name('Int') ) )
15:00 jnthn I can't do that
15:00 jnthn Because the viviself gets emitted before the .lex '$x', $P44
15:00 jnthn (I've tried it already)
15:00 pmichaud I don't understand (more)
15:00 pmichaud aim for
15:01 pmichaud $P42 = <code for Perl 6 scalar>
15:01 pmichaud .lex '$x', $P42
15:01 pmichaud $P43 = get_hll_global 'Int'
15:01 pmichaud 'trait_mod:of'($P42, $P43)
15:01 alester joined #perl6
15:01 pmichaud ....or are you needing the result of the past tree to be the PAST::Var node?
15:01 jnthn I can get away with a PAST::Op I think.
15:02 jnthn I have a feeling a PAST::Stmts is going to upset things...
15:02 jnthn But can try it.
15:02 pmichaud I'm really asking if you're needing the result of the tree to be the PMC for $x
15:02 jnthn Oh, yes.
15:02 jnthn That's why it's tricky.
15:02 pmichaud okay, just a sec
15:03 jnthn (We need it to be that so things like my Int $x = my Int $y = 42;
15:03 jnthn will work.
15:03 pmichaud you can't have trait_mod:of  return its first param?
15:04 pmichaud (there are probably good reasons for not returning the first param, yes)
15:05 jnthn I could hack it to for now but it's not going to fly when a user writes their own and it's wrong.
15:05 pmichaud okay, that's a good reason.
15:05 jnthn I'd rather get it right rather than postpone the problem. :-)
15:05 pmichaud let me check PAST a second
15:05 jnthn But yes, before I did have a wonderful hack when we were cheating less on traits that did exactly the "and return it" trick. :-)
15:06 jnthn erm, cheating *more* I mean.
15:06 jnthn pmichaud: I think I just found a "solution"
15:07 jnthn (use a named register and spit it out at the end)
15:07 pmichaud yeah, that's always an option but it's a bit hackish
15:10 hudnix_ joined #perl6
15:13 masak some of you might be interested in reading http://www.erlang-factory.com/upload/presentations/116/SimonPeyton-Jones-ErlangFactoryLondon2009-HaskellandErlangGrowinguptogether.pdf -- it has nice points about package systems and community.
15:13 pmichaud I don't have a non-hackish way to do it at the moment.
15:13 jnthn pmichaud: OK, I'll go with working and hackish for now.
15:13 pmichaud I can think of a couple of ways to add the ability to PCT, but need a few hours to think about it.
15:13 jnthn pmichaud: In theory this is only temporary code anyway.
15:13 jnthn pmichaud: That is, after the lexpad changes we want to have in Parrot, traits really can be applied only once.
15:14 pmichaud oooh, yes.
15:14 jnthn I think I'm getting there with this patch now.
15:14 jnthn Some remaining issues to hunt down.
15:18 amoc joined #perl6
15:18 jnthn guts.pir has gone on a bit of a diet too. :-)
15:22 pmichaud rakudo: take 5
15:22 p6eval rakudo 6a4d66: OUTPUT«take without gather␤»
15:23 pmichaud masak++
15:23 masak rakudo: take 5; say 'also note, still alive'
15:23 p6eval rakudo 6a4d66: OUTPUT«take without gather␤also note, still alive␤»
15:23 pmichaud rakudo:  return 5;  say 'also note, still alive?'
15:24 p6eval rakudo 6a4d66: OUTPUT«Can't return outside a routine␤in Main (/tmp/5KnjCqeR5y:2)␤»
15:24 pmichaud interesting.
15:24 masak well, I changed that in the same commit.
15:24 masak forgiveness, permission.
15:26 masak I do believe the spec is silent on that point, however.
15:32 masak "In the end, we want to infect your brain, not your hard drive" spj++
15:43 * jnthn down to six test files with issues
15:50 callatrava10 joined #perl6
15:51 masak rakudo: :a()
15:51 p6eval rakudo 6a4d66: OUTPUT«Null PMC access in find_method()␤in Main (/tmp/9wQurbqQbc:2)␤»
15:51 * masak submits rakudobug
15:51 masak hahaa, my smallest one ever! \o/
15:51 jnthn rakudo: :a
15:51 p6eval rakudo 6a4d66:  ( no output )
15:51 jnthn rakudo: :a(1)
15:51 p6eval rakudo 6a4d66:  ( no output )
15:51 jnthn rakudo: :a( )
15:51 p6eval rakudo 6a4d66: OUTPUT«Null PMC access in find_method()␤in Main (/tmp/iLy43vsr5a:2)␤»
15:51 masak rakudo: :a[] # also
15:52 p6eval rakudo 6a4d66: OUTPUT«Null PMC access in find_method()␤in Main (/tmp/3uFogRzcrW:2)␤»
15:52 jnthn nice catch
15:52 masak I can't really take credit, it happens when I try to use Rakudo for real-world stuff :P
15:53 TimToady rakudo: :()
15:53 p6eval rakudo 6a4d66:  ( no output )
15:53 TimToady rakudo: :$a
15:53 p6eval rakudo 6a4d66: OUTPUT«Symbol '$a' not predeclared in <anonymous>␤in Main (src/gen_setting.pm:3279)␤»
15:53 TimToady rakudo: :$_
15:54 p6eval rakudo 6a4d66:  ( no output )
15:56 payload joined #perl6
16:04 TimToady std: use Test; ok
16:04 p6eval std 27402: OUTPUT«ok 00:02 35m␤»
16:26 jnthn Gah. The trick for var trait application causes explosiveness on our variables. :-(
16:27 jnthn huh... :-|
16:27 pmichaud what is   :a[] supposed to give?
16:27 pmichaud is it the same as   'a'=>[]   ?
16:27 pmichaud (S02 says yes)
16:28 pmichaud and is :a() the same as  'a' => () ?
16:28 masak I say yes to both of these too.
16:28 pmichaud (or perhaps without quotes in each case)
16:29 masak yes, perhaps without quotes.
16:29 masak but that only matters in arg lists, right?
16:29 pmichaud afaik
16:29 * masak still is slightly confused by that magic differentiation in arg lists
16:30 masak but I guess we have to have some way to distinguish pairs from nameds.
16:34 pmichaud ick, :a[]  treats the [] as postcircumfix, but they act more like circumfix.
16:34 jnthn gah
16:35 TimToady I don't know what you mean by "treats"
16:35 jnthn t\spec\S12-attributes\mutators.rakudo is so not going to get away with the stuff it does
16:35 pmichaud parses
16:35 jnthn with this refactor.
16:35 jnthn (uses traits and Proxy that we don't implement yet.
16:35 KyleHa joined #perl6
16:35 pmichaud :a[] parses the [] as postcircumfix, but in terms of what they do, they act more like circumfix.
16:36 TimToady yes, but why would this be a problem?
16:36 KyleHa I wrote tests for ':a()' and ':a[]', but I'm not sure they're right.
16:36 phenny KyleHa: 11:01Z <masak> tell KyleHa re StopIteration: no, I don't think that is what's supposed to happen. I for one dislike that behaviour. here's one rakudobug ticket about it: http://rt.perl.org/rt3/Ticket/Display.html?id=66890
16:36 pmichaud the .ast for [] and .[] look very different.
16:36 KyleHa Should those parse correctly?  Should they execute?
16:36 pmichaud well, perhaps not _very_ different, but different enough.
16:36 pmichaud same for () and .()
16:37 KyleHa I have them both as eval_lives_ok and lives_ok.
16:38 * jnthn can't believe the text of one of his remaining test failures is: constant yak = 'shaving';
16:39 pmichaud in summary, from  $<postcircumfix>.ast  I have to re-evaluate its contents so that it acts like a circumfix
16:39 TimToady pmichaud: perhaps, after verifying that we have an opener of some sort, we just parse a term there to pick up circumfix: and quote:
16:40 pmichaud that would be much better
16:40 masak does anyone have any experience with Perl6::Pod on CPAN?
16:40 pmichaud and yes, a similar issue applies with .{} and {}  :-)
16:41 TimToady or we go as far as to reclassify <>-style quotes as circumfixes, and just call <circumfix>, maybe
16:41 pmichaud either of those would work for me
16:41 pmichaud I was originally thinking we should just call <circumfix>, yes.
16:41 KyleHa Are we trying to figure out what ":a()" and ":a[]" should do?
16:41 jnthn rakudo: package ConstantTest {  constant yak = 'shaving';
16:42 p6eval rakudo 6a4d66: OUTPUT«Unable to parse block; couldn't find final '}' at line 2, near ""␤in Main (src/gen_setting.pm:3279)␤»
16:42 jnthn damm
16:42 pmichaud (I don't think Rakudo handles the quoted forms)
16:42 jnthn rakudo: package ConstantTest {  constant yak = 'shaving'; }; say ConstantTest::yak
16:42 p6eval rakudo 6a4d66: OUTPUT«Null PMC access in isa()␤in Main (/tmp/byb1TFpq8b:2)␤»
16:42 jnthn oh, so that test doesn't even pass on current Rakudo.
16:42 pmichaud KyleHa: we know what they should do semantically, we're trying to figure out how to get the compiler to dtrt
16:42 jnthn *sigh*
16:42 masak jnthn: nope. that's a reported bug.
16:42 KyleHa pmichaud: OK.  Should they parse without dying?  Should they execute without dying?
16:43 jnthn woulda been good to fudge it...
16:43 pmichaud KyleHa: I think they should parse and execute without dying.  Certainly :a[] should
16:43 pmichaud I'm pretty sure that :a() should be the same as  a => ()
16:44 KyleHa Thanks!
16:44 alester seen mauke
16:47 pmichaud interesting question as to whether quotes should part of circumfix :-)
16:47 KyleHa rakudo: a => ()
16:47 p6eval rakudo 6a4d66:  ( no output )
16:47 pmichaud rakudo:  say (a => ()).perl
16:48 p6eval rakudo 6a4d66: OUTPUT«"a" => undef␤»
16:48 pmichaud rakudo:  say (a => []).perl
16:48 p6eval rakudo 6a4d66: OUTPUT«"a" => []␤»
16:48 pmichaud rakudo:  say (a => {}).perl
16:48 p6eval rakudo 6a4d66: OUTPUT«"a" => {}␤»
16:48 pmichaud rakudo:  say ().PARROT
16:48 p6eval rakudo 6a4d66: OUTPUT«Nil␤»
16:49 pmichaud Maybe today I'll clean up as much of the Nil/capture stuff as I can without needing details of capture refactors
16:51 pugs_svn r27403 | kyle++ | [t/spec] Test for RT #67218 with help from pmichaud++
16:51 jnthn pmichaud: I'm really close to being able to land this huge patch.
16:52 TimToady pmichaud: note that 'is foo[]' is also affected, since that :foo[] in disguise
16:52 TimToady *that's
16:52 jnthn ...and don't change any traits stuff or it WILL conflict. :-P
16:53 jnthn And last time I had to resolve conflicts in git I mostly just ended up swearing for an hour at it.
16:53 masak then you might be going about it wrong.
16:54 masak resolving conflicts in many other SCM systems makes me swear nowadays, because I've tried the goodness that is git.
16:54 jnthn If I get conflicts, I'll ask you for help. :-)
16:55 masak :)
16:55 TimToady I feel conflicted
16:55 skids Git's problem is all terminology/documentation.  Obviously it can do a lot of stuff, but it's not actually easy to ask "how do I do this" and get an answer.
16:56 masak jnthn: the one tip I can give right now is that if you've been working on a local (un-pushed) branch all this time, you might gain a lot from rebasing before merging.
16:56 masak skids: I've had a lot of good answers from #git.
16:57 skids Well, kudos to them, but it there should probably be routes to answers that don't involve actual people.
16:58 KyleHa I also like routes to answers that involve MythBusters.
16:58 masak :)
16:59 * skids not a fan since they hosed up the "washboard road" experiment badly.
16:59 masak skids: the docs/tutorials could definitely be better for git.
17:00 pmichaud I haven't looked at the traits refactor yet ("is foo[]")  -- doing that now.
17:00 skids The various quickstart/"dummies guides" are great, but only go so far, and people quickly start using things they don't cover.
17:00 TimToady with s/post// we do lose <a b c> as a type contraint, oh well :)
17:00 jnthn We ever had that as a type constraint?
17:01 jnthn pmichaud: OK. What I'm going to commit follows STD more.
17:01 TimToady syntactically, any "value", and quotes are values, so you should be glad <> are going to be circumfixes now
17:01 TimToady especially «»
17:01 TimToady which are not very value-ish
17:02 masak ooh!
17:02 masak rakudo: :a«»
17:02 SmokeMachine joined #perl6
17:02 p6eval rakudo 6a4d66:  ( no output )
17:02 masak ah, that works.
17:02 pmichaud rakudo:   say (:a«»).perl
17:03 p6eval rakudo 6a4d66: OUTPUT«"a" => []␤»
17:03 masak hm, shouldn't that be "a" => ""?
17:03 pmichaud no.
17:03 pmichaud <>  is a list.
17:03 pmichaud «» is also a list
17:03 masak oh, right.
17:04 pmichaud rakudo:   say «».perl;
17:04 masak so the simplest way to make a key an empty string is :a('')?
17:04 p6eval rakudo 6a4d66: OUTPUT«[]␤»
17:04 pmichaud masak: afaik, yes.
17:04 pmichaud shorter is  a=>''
17:05 masak ah, nice.
17:06 masak rakudo: my $foobar = 'foo bar'; say «$foobar».perl
17:06 p6eval rakudo 6a4d66: OUTPUT«"foo bar"␤»
17:06 pmichaud rakudo still fails on that
17:06 icwiener_ joined #perl6
17:06 * masak looks into what it would take to fix that
17:06 pmichaud it's quite tricky, actually.
17:07 masak :/
17:07 pmichaud iirc, even STD.pm currently punts on it
17:07 masak does STD.pm have to concern itself with that feature?
17:07 masak it only parses stuff...
17:07 jnthn std: say «$foobar».perl
17:07 p6eval std 27403: OUTPUT«Potential difficulties:␤  Variable $foobar is not predeclared at /tmp/Di8bdtYIg8 line 1:␤------> [32msay «$foobar[31m».perl[0m␤ok 00:04 36m␤»
17:08 pmichaud masak: it needs to produce a reasonable parse tree, yes.
17:08 jnthn It seems to know it's a variable.
17:08 pmichaud std:  say «'$foobar'».perl
17:08 p6eval std 27403: OUTPUT«Potential difficulties:␤  Variable $foobar is not predeclared at /tmp/Odb8a2mwX0 line 1:␤------> [32msay «'$foobar[31m'».perl[0m␤ok 00:04 36m␤»
17:09 pmichaud that's *not* a variable, though.
17:09 jnthn oh
17:09 jnthn yeah, I see the quotes now.
17:10 masak and I'm starting to see the tricky part now... :/
17:10 pmichaud then we have things like
17:11 pmichaud «hello $world"xyz abc" »
17:11 masak aye.
17:12 pmichaud and
17:12 pmichaud «hello "$world"»
17:13 masak .oO( that could be read as a deeply cynical statement towards capitalism... )
17:13 pmichaud s/cynical/promotional/  :)
17:14 skids std: my sub f () { }; f(:a<d>:b<g>);
17:14 p6eval std 27403: OUTPUT«ok 00:02 37m␤»
17:14 skids rakudo: my sub f () { }; f(:a<d>:b<g>);
17:14 p6eval rakudo 6a4d66: OUTPUT«Statement not terminated properly at line 2, near "(:a<d>:b<g"␤in Main (src/gen_setting.pm:3279)␤»
17:16 omega_ joined #perl6
17:16 * skids guessing that's a "wait for LTM" thing
17:16 pmichaud no, not so much.
17:16 mvuets left #perl6
17:16 pmichaud it's more a question of "exactly what happens here...?"
17:16 jnthn What does that mean?
17:16 skids Adverbs do not need spaces or commas in between.
17:16 jnthn std: my sub f () { }; f(:a<d> :b<g>); # this the same?
17:17 p6eval std 27403: OUTPUT«ok 00:02 37m␤»
17:17 pmichaud those aren't adverbs.
17:17 zulon joined #perl6
17:17 pmichaud they're colonpairs
17:17 zulon hello!
17:17 zulon I've just one question about rakudo: are $0, $1, $2 etc from regexps implemented?
17:17 jnthn Believe so.
17:17 pmichaud yes, fsvo "implemented"
17:18 zulon I get "get_pmc_keyed() not implemented in class 'Perl6Str'" when trying to use them
17:18 jnthn rakudo: "aaa" ~~ /(a)/; say $0
17:18 p6eval rakudo 6a4d66: OUTPUT«a␤»
17:18 zulon hm
17:18 zulon subst( /[<-[\(\)\,]>]+/, "'$1'", :g )
17:18 zulon here's the beast
17:18 pmichaud there's no $1 there
17:18 masak zulon: you need a P{
17:18 masak um, a {}
17:19 pmichaud also, it needs to be a closure if you want ... what masak said
17:19 zulon ah, thanks
17:19 masak {"'$1'"}
17:19 masak zulon: now think about it, and then explain to me why. :)
17:19 zulon I still get the error
17:19 pmichaud $0
17:19 pmichaud not $1
17:19 masak oh, right.
17:19 zulon corrected too
17:19 masak that, too.
17:19 zulon masak: to do some "laziness", right?
17:19 pmichaud oh, wait
17:19 pmichaud there's no capture there
17:19 masak zulon: yes, exactly.
17:19 pmichaud so there's nothing to substitute
17:20 zulon I've no better word to explain it :/
17:20 Tene zulon: you need ()s for $0
17:20 zulon damn
17:20 masak zulon: 'closure' is the correct word, I believe.
17:20 zulon how could I forgot the () -_-
17:20 zulon well, that still doesn't work
17:20 masak still, it shouldn't break Rakudo.
17:21 skids OK so what am I missing: S02 "When used as named arguments in an argument list, you may put comma between" ... "However, this comma is allowed only when the first pair occurs where a term is expected"
17:21 zulon I'm actually translating an old Perl 5 code
17:21 masak zulon: if you put () around the whole regex, you might as well omit them and do {"'$/'"}
17:21 stDavid joined #perl6
17:21 zulon hm
17:21 zulon ok
17:22 pmichaud rakudo:  "hello,world".subst(/[<-[(),]>]+/, {"'$/'"}, :g).say
17:22 p6eval rakudo 6a4d66: OUTPUT«'hello','world'␤»
17:22 zulon ah, this works this time
17:22 pmichaud rakudo:  "hello,world".subst(/([<-[(),]>]+)/, {"'$0'"}, :g).say
17:22 p6eval rakudo 6a4d66: OUTPUT«'hello','world'␤»
17:22 zulon but doesn't give the expected result
17:23 pmichaud rakudo:  "hello,world".subst(/(<-[(),]>+)/, {"'$0'"}, :g).say
17:23 p6eval rakudo 6a4d66: OUTPUT«'hello','world'␤»
17:23 stDavid left #perl6
17:23 masak rakudo: say "foo".subst(/o/, {"'$0'"}, :g)
17:23 p6eval rakudo 6a4d66: OUTPUT«Use of uninitialized value␤Use of uninitialized value␤f''''␤»
17:23 zulon rakudo: "(foo,bar,(baz))".subst( /<-[(),]>+/, { "'$/'" }, :g )
17:23 p6eval rakudo 6a4d66:  ( no output )
17:23 zulon huh
17:24 pmichaud (no .say)
17:24 zulon rakudo: "(foo,bar,(baz))".subst( /<-[(),]>+/, { "'$/'" }, :g ).say
17:24 p6eval rakudo 6a4d66: OUTPUT«('foo','bar',('baz'))␤»
17:24 zulon damnit
17:24 zulon locally it doesn't work
17:24 masak zulon: old Rakudo?
17:24 zulon I pulled the git this morning
17:24 masak zulon: running with -e?
17:25 zulon (morning in France, so I don't know which time it is in the US)
17:25 zulon in a file
17:25 masak zulon: could you paste the file?
17:25 zulon http://paste.pocoo.org/show/126656/
17:25 masak thank you.
17:25 zulon that's what I was doing :)
17:26 pmichaud skids:  I'm not sure exactly what you're missing, if anything.
17:26 * jnthn is down to what he hopes might be his final pre-commit test run
17:26 masak zulon: not sure what output you're expecting, but things seem to work here. no errors.
17:26 zulon hm
17:26 masak I can paste my output if you want.
17:26 zulon I'm expecting ('foo','bar',('baz'))
17:26 zulon I get ('(foo,bar,(baz))','(foo,bar,(baz))',('(foo,bar,(baz))'))
17:26 pugs_svn r27404 | kyle++ | [t] Further mutated t/syntax/hyper_latin1.t
17:27 skids pmichaud: by "there not adverbs" did you mean to say I should not expect the above to work?
17:27 masak zulon: yes, me too.
17:27 pmichaud skids:  no
17:27 zulon ok
17:27 masak zulon: what do you expect to get?
17:27 zulon I'm expecting ('foo','bar',('baz'))
17:27 skids Then I'm not missing anything :-)
17:27 pmichaud skids:  just that we aren't entirely sure what lists of colonpairs produce
17:27 zulon I think this is because $/ gets the whole $_
17:28 zulon instead of the mere match
17:28 zulon (the matching part, I mean)
17:28 zulon (sorry for bad English)
17:28 masak zulon: your English is fine.
17:28 pmichaud zulon: no, each substitution has $/ set only to the portion that matched
17:28 masak zulon: I'm starting to see what you mean.
17:29 zulon hm
17:29 masak pmichaud: the output of zulon's program seems to counterindicate that.
17:29 dukeleto joined #perl6
17:29 pmichaud agreed -- one moment.
17:29 masak pmichaud: could it be some strange interaction between $_ and $/ ?
17:29 masak rakudo: $_ = "(foo,bar,(baz))"; .=subst( /<-[(),]>+/, { "'$/'" }, :g ); .say
17:30 p6eval rakudo 6a4d66: OUTPUT«Use of uninitialized value␤Use of uninitialized value␤Use of uninitialized value␤('','',(''))␤»
17:30 masak that can't be right.
17:30 pmichaud I suspect the   .=subst
17:30 masak me too.
17:30 * masak submits rakudobug
17:30 zulon even with another var ($x eg) this still gives the same result
17:31 pmichaud looks like a .= bug
17:32 zulon hm you're right, with $x = $x.subst this works fine
17:32 KyleHa I hope someone else writes a test for that one.  it scares me.
17:33 masak zulon: there's your workaround, then. :)
17:33 zulon yes, thanks
17:33 masak KyleHa: I think it can be minimized somewhat.
17:33 jnthn There's some ticket about .= IIRC
17:34 masak now there are two.
17:34 pmichaud rakudo my $x = 'abcdef';  my $y = x.subst(/<[be]>/, {"x$/x"}, :g);  $y.say
17:34 pmichaud rakudo: my $x = 'abcdef';  my $y = x.subst(/<[be]>/, {"x$/x"}, :g);  $y.say
17:34 p6eval rakudo 6a4d66: OUTPUT«Can't use $ as non-variable in interpolated string at line 2, near "$/x\"}, :g)"␤in Main (src/gen_setting.pm:3279)␤»
17:34 pmichaud rakudo: my $x = 'abcdef';  my $y = x.subst(/<[be]>/, {"($/)"}, :g);  $y.say
17:35 p6eval rakudo 6a4d66: OUTPUT«Could not find non-existent sub x␤»
17:35 pmichaud rakudo: my $x = 'abcdef';  my $y = $x.subst(/<[be]>/, {"($/)"}, :g);  $y.say
17:35 p6eval rakudo 6a4d66: OUTPUT«a(b)cd(e)f␤»
17:35 pmichaud rakudo: my $x = 'abcdef';  my $y = $x.subst(/<[be]>/, {"($/)"}, :g); $x.=subst(/<[be]>/, {"($/)"}, :g);  $y.say; $x.say;
17:35 p6eval rakudo 6a4d66: OUTPUT«a(b)cd(e)f␤a(e)cd(e)f␤»
17:35 pmichaud hmmm.
17:36 pmichaud weird.
17:39 skids_ joined #perl6
17:39 skids joined #perl6
17:44 pmichaud skids:  the tricky part to getting  foo(:a<d>:b<g>) to work is getting it to recognize  foo(1, :a<d>:b<g>)  as being the same as   foo(1, :a<d>, :b<g>) and not  foo(1, (:a<d>, :b<g>))
17:45 skids Huh.
17:45 pmichaud when parsing the argument list,  :a<d>:b<g> comes back as a single term.
17:47 Tene colonpairs are always a list passed as :flat?
17:47 pmichaud no.
17:47 pmichaud note that   foo(1, (:a<d>:b<g>)) would be two positionals.
17:47 skids OK, so did you mean that interior () above just conceptually, or in the full "capture" meaning of ()?
17:48 skids I mean in the first above not the second.
17:48 pmichaud it's just a matter of handling it internally in the compiler
17:48 pmichaud we have to have something in the ast that indicates that    :a<d>:b<g>  is different from (:a<d>:b<g>)
17:49 pmichaud (keeping in mind that Rakudo doesn't really grok the "capture" sense of parens, because we aren't entirely sure what that is yet.)
17:51 * skids Senses the dark "spec"tre of unresolved capture details hovering nearby.  Shivers.
17:51 pmichaud regardless, in a PIR sense a colonpair would not be a list passed as :flat -- it would have to be passed as :named:flat
17:52 pmichaud because the colonpairs represent named arguments.
17:57 pmichaud TimToady: a thought --- I'm wondering if our notion of "capture" is still a bit limited by thinking of it strictly in terms of a list and hash (more)
17:57 TimToady I'm trying to think of the name of the type that is more general than Capture :)
17:57 TimToady (1,@a,:b).elems == 3
17:57 pmichaud TimToady: perhaps it really needs to be able to handle the case where there are multiple instances of same-named arguments (more)
17:58 pmichaud and also to be able to keep track of the ordering of positionals and named arguments
17:58 pmichaud (when interleaved)
17:58 TimToady yes, I've had various names for the syntactic list type
17:58 TimToady in Perl 4 Camel it was called LIST
17:58 TimToady but that's confusing
17:58 TimToady I've been hashing over names with Gloria
17:58 pmichaud (heh, "hashing" -- good pun)
17:59 TimToady linguistically, it's a Series, but that's a word that doesn't have a good plural
17:59 TimToady and most other terms are badly overloaded.
17:59 pmichaud Maybe Seq would be better used here?
17:59 pmichaud instead of its current meaning?
17:59 TimToady yes, that's one of my options
17:59 pmichaud okay, you're already way ahead of me on this, so good.  :-)
17:59 TimToady and basically a Seq mutates into a Capture when used as an arglist
18:00 TimToady it's one of the 3 big design issues I've been working on :)
18:00 pmichaud do we need the separate Capture type, though?
18:00 TimToady well, when the compiler notices an arglist, it wants to pull out nameds at compile time
18:00 pmichaud sure, but can't it do that with a Seq?
18:00 TimToady so that type has some name, at least internally
18:00 pmichaud (or whatever we call it?)
18:01 pmichaud let's say Series for now, just to avoid confusion :-)
18:01 TimToady we could finesse it, yes, but then it wouldn't be a Seq anymore :)
18:01 TimToady I'm not terribly excited about Series though
18:01 pmichaud okay
18:01 TimToady I've called them variously Group, OO, XX, SX...
18:02 TimToady even though about renaming Object as O at one point, but decided that would be too confusing with 0
18:02 pmichaud for whatever-it-is,   can we say that internally it maintains the sequence of positional and named parts, but its positional and associative interfaces "logically collapse" it to look like an Array or Hash?
18:02 TimToady though O would be a great name for "undef" :)
18:04 pmichaud this might also help out with some of the things we saw in Match objects -- e.g. with .caps and .chunks
18:04 TimToady yeah, except we've still rather overloaded the meaning of "list context" there
18:04 TimToady does it, or does it not, include the nameds?
18:05 pmichaud I would think "not"
18:05 TimToady that's coercion to capture
18:05 TimToady coercion to flat list might do the other thing
18:05 pmichaud right.
18:05 pmichaud I see the difference now.
18:05 TimToady but it doesn't quite fly that way either
18:06 TimToady but yes, fundamentally there's a raw syntactic list floating around that represents a sequence of objects
18:06 TimToady and the meaning of that is more contextual even than captures
18:06 TimToady and that's what parens create
18:07 pmichaud (speculation)  ... and there are two forms of list context for that raw syntactic list
18:07 pmichaud one that gets all of the elements
18:07 pmichaud and one that gets only the "positionals"
18:08 pmichaud one last thought for now, then I have to run for a bit
18:08 daemon joined #perl6
18:08 pmichaud I wonder if    a => 1     and   'a' => 1   should produce objects of different types.
18:08 pmichaud i.e., the second one is a Pair, but the first is something that can promote to a Pair
18:08 pmichaud (in certain contexts)
18:09 pmichaud Perhaps the first is actually a ColonPair
18:09 TimToady at least the distinction is maintained until the Series is resolved
18:09 TimToady into capture or not
18:09 TimToady maybe they're Raw and Cooked :)
18:09 TimToady sunny-side up or scrambled
18:10 pmichaud nude or clothed
18:10 TimToady maybe you'd better go on your errand :)
18:10 pmichaud plain or peanut  :-)
18:11 TimToady argh, I actually thought of that one yesterday
18:11 pmichaud okay, now I'm frightened.  :-)
18:11 pmichaud so, better errand.
18:11 pmichaud thanks.
18:17 Pismire joined #perl6
18:43 jan_ joined #perl6
18:47 skids http://en.wikipedia.org/wiki/Loom  <-- good place to look for names for "Series"
18:49 skids (if not "loom" itself, as the acronym potentials there...)
18:54 TimToady Obviously we should name tham Jacquards then  :)
18:57 skids What, not Arguiles?
18:58 joerg__ joined #perl6
19:05 pugs_svn r27405 | lwall++ | [STD] parse colonpairs using circumfix instead of postcircumfix
19:05 pugs_svn r27405 | lwall++ | [STD] include CHECK as statement prefix
19:14 tann joined #perl6
19:31 mikehh more tests passing (4/5 real fails) t/spec/S04-declarations/constant.rakudo exits after 7 out of 20 with Null PMC access in type()
19:37 justatheory joined #perl6
19:43 justatheory_ joined #perl6
19:44 PacoLinux joined #perl6
19:44 pmurias joined #perl6
19:44 pmurias ruoso, skids: hi
19:45 justatheory joined #perl6
20:06 pmurias_ joined #perl6
20:14 SmokeMachine joined #perl6
20:18 pmurias ruoso: what do you think of adding vtable entries to the RI for the most common methods
20:18 pmurias ?
20:22 FurnaceBoy joined #perl6
20:24 frew_ joined #perl6
20:26 skids pmurias: hi
20:28 pmurias hi
20:32 pugs_svn r27406 | pmurias++ | [re-smop] yeast should be refered to as yeast not as LOST
21:02 justatheory joined #perl6
21:08 whoppix joined #perl6
21:10 peng__ joined #perl6
21:16 tann_ joined #perl6
21:16 Psyche^ joined #perl6
21:43 justatheory_ joined #perl6
21:43 kst joined #perl6
21:59 ruoso @tell pmurias once you check it's a known RI you can do whatever you want... but then you could simply call a function instead... I don't think adding more things to the public RI interface would be a good idea
21:59 lambdabot Consider it noted.
22:00 ruoso @tell pmurias of course you could have a special kind of RI that would delegate to an internal vtable...
22:00 lambdabot Consider it noted.
22:01 ruoso @tell pmurias like... add a second RI-like field, where the main RI would delegate the known methods to the vtable of the auxiliary RI
22:01 lambdabot Consider it noted.
22:08 DemoFreak joined #perl6
22:09 dduncan joined #perl6
22:13 dduncan TimToady, fyi, I'm now going to make the P6 Synopsis edits re long name canonical order ... as soon as I've got SVN setup ... its been over a year since I had a Pugs repo connection
22:24 arnsholt joined #perl6
22:28 scottp joined #perl6
22:29 lichtkind joined #perl6
22:33 icwiener_ joined #perl6
22:55 KyleHa joined #perl6
22:57 icwiener joined #perl6
23:10 payload joined #perl6
23:15 Limbic_Region joined #perl6
23:22 pugs_svn r27407 | pmichaud++ | [t/spec]:  Test::Harness doesn't like '#' in the descriptions of todo'd items
23:23 pugs_svn r27408 | pmichaud++ | [t/spec]:  Test::Harness doesn't like '#' in the descriptions of todo'd items
23:25 pugs_svn r27409 | pmichaud++ | [t/spec]:  Fix up some rakudo fudging.
23:29 last joined #perl6
23:32 KyleHa There are LOTS of todo items with # in the description.
23:33 * jjore is very late to the game but is writing a p6 program, finally. There are many "TODO: not implemented" in just his program.
23:34 Limbic_Region jjore - I stopped following p6 development closely around the time audrey had to take her leave of the pugs project
23:34 Limbic_Region but
23:34 Limbic_Region pmichaud, jonathan and crew have gotten rakudo to the point
23:34 Limbic_Region where a lot of p6 can be implemented in p6
23:35 Limbic_Region it is no longer called prelude (IIRC) but setting
23:35 Limbic_Region but if you want to implement the todo things then you might be able to without learning any PIR
23:35 jjore Yes, which is kind of why I thought I'd try doing a p6 version for my own edification of http://use.perl.org/~jjore/journal/39223
23:35 pmichaud KyleHa: in the "todo" description or in the test description?
23:35 pmichaud there's a difference
23:35 KyleHa In the "todo" description.
23:36 pmichaud the "todo" description doesn't seem to be a problem.  The test description does.
23:36 KyleHa Oh.
23:36 jjore It's just the very sort of dirt-simple thing that's easy to do several times but get at a few of the commonest things.
23:36 KyleHa I guess I misread the commit.
23:36 Limbic_Region jjore - well, pmichaud is obviously paying attention to the channel - pester him and see what happens
23:36 jjore but fwiw, I've done more pir than p6.
23:37 pmichaud on my system, Test::Harness appears to not like things like   "not ok 15 - failure in test (RT #15632) # TODO todo descriptoin
23:37 KyleHa (And, incidentally, I'll stop doing that.)
23:37 jjore Nah, I figure if I need to flip a "todo" I can do that myself.
23:37 * Limbic_Region wanders off to upload 4th of July photos
23:37 * jjore is skipping the holiday.
23:37 pmichaud jjore/limbic:  yes, I'm paying attention.  :-)
23:38 pmichaud KyleHa: apparently Test::Harness looks for the first '#' and stops there.
23:39 jjore pmichaud: yep, if I had a question I thought I needed your brain for, I'd ask. For now, reading the S\d+ and spec tests are all I need.
23:39 pmichaud jjore: sounds excellent. Feel free to ask here (lots of helpful people here) or perl6-users or perl6-compiler
23:39 pmichaud (the latter two being mailing lists)
23:39 KyleHa I think the tests in t/syntax/hyper_latin1.t ought to be in spec somewhere, but I can't tell where.
23:40 edenc joined #perl6
23:40 pmichaud KyleHa: I guess we could always change Test.pm so that it strips any #'s from the description, though.
23:40 KyleHa pmichaud: That might be confusing for someone searching for a failing test in the test file.
23:40 pmichaud KyleHa: it might, yes.
23:41 pmichaud or maybe we get it to warn instead.
23:42 pmichaud in hyper_latin1.t, the test doesn't test what they think it tests, though.
23:42 pmichaud my $latin1_encoded = "(<a b c>) \c187~\c171 (1,2,3)";
23:42 jjore I am however, interested in why C<< regex git_repo { '/.git' }; '...' ~~ git_repo >> throws an arity error. S06 goes to effort to hint that regexps are really just functions while ~~ ought to notice I've passed a regexp. Instead, I'm told I passed 0 args while 2 were expected.
23:42 pmichaud doesn't produce a latin1 string
23:42 KyleHa What's it make?
23:42 pmichaud jjore: you need ~~ &git_repo instead
23:42 pmichaud if you just say "git_repo", it acts like a subroutine call.
23:42 pmichaud and tries to call the git_repo sub (regex)
23:43 pmichaud and there aren't enough parameters
23:43 pmichaud er, aren't enough arguments
23:43 jjore Ah.
23:43 pmichaud i.e.,   '...' ~~ git_repo   is equivalent to   '...' ~~ git_repo()
23:43 jjore Yes, I gathered.
23:44 pmichaud KyleHa: strings in Perl 6 don't have "encoding"
23:44 jjore Thanks for the explanation.
23:44 pmichaud KyleHa: so  "\c187"   and "«"   are identical.
23:44 pmichaud rakudo:   say "\c187" eq "»"
23:44 p6eval rakudo 6a4d66: OUTPUT«1␤»
23:45 KyleHa pmichaud: That's kind of the point.  \c187 is the right character in latin1.
23:45 pmichaud (oops, got my codepoints backwards -- "\c187" is the same as "»"
23:45 pmichaud \c187 is the right character in *unicode*
23:45 pmichaud because Perl 6 defaults to Unicode semantics
23:46 KyleHa Hmmm.
23:46 arnsholt Any of you guys any good with FreeBSD ports?
23:46 KyleHa OK, yeah, the test needs fixing.
23:47 LumberCartel joined #perl6
23:47 TimToady pmichaud: at the moment I'm thinking "Parcel", for paren cell, or some misspelling like Parsel, for paren selection, or parse list, or parse morsel, or some such
23:47 pmichaud TimToady: I kinda like "parcel".
23:48 TimToady anyway, something that is an item that you don't know what's inside till you unwrap it
23:48 pmichaud not only that, but it has appropriate packing materials :-)
23:49 pmichaud but oddly, what you end up getting from the parcel depends on which side you choose to unwrap :-P
23:49 TimToady for sure, if it's a bomb
23:49 pmichaud Maybe we should call it "catbox", since it has schroedinger's cat inside.  :-P
23:50 pmichaud (i.e. we don't know what kind of cat we have until we collapse it)
23:50 TimToady I think people will think of a different kind of catbox
23:50 TimToady the kind with litter in it
23:50 LumberCartel What about "bindle" instead of parcel?
23:50 TimToady that's what it is after it's bound :)
23:51 * LumberCartel laughs.
23:52 KyleHa left #perl6
23:55 jjore When I read S06 on regexps, it sounded like named captures had been dropped as a feature. Is that right?
23:56 arnsholt Named subrule matches are captured by name
23:59 jjore and I can find that somewhere within the match object then, I guess.

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

Perl 6 | Reference Documentation | Rakudo