pugscode.org/ planetsix.perl.org/ feather.perl6.nl/syn/ perlcabal.org/svn/pugs/log github.com/rakudo/rakudo | nopaste: sial.org/pbot/perl6 | evalbot: "perl6: say 3;" | irclog: irc.pugscode.org/ | Rakudo.org www.perlfoundation.org/perl6/index.cgi?smop perl.net.au/wiki/Elf |~300 days 'til Xmas
Set by mncharity1 on 25 February 2009.
00:08 DemoFreak left
pugs_svn r25638 | putter++ | [spec] S05-mass/rx.t: Fix typo in comments (missing trailing / in match specs). 00:10
frooh Does anyone here know where I can show someone some kind of formal definition of Prelude? 00:12
all I can find is examples of people talking about it
00:13 mikehh left
pmichaud frooh: I don't know that there's an extensive one that exists yet. 00:26
00:28 aindilis` joined, mikehh joined
frooh pmichaud: ok. I though that the way larry was talking about it it was typical practice for compilers 00:31
pmichaud I suspect it's atypical in many respects.
I should rephrase 00:32
many compilers and languages build their libraries in the language itself
but it's probably not called a "prelude"
frooh ok
so that came from GHC then?
pmichaud I couldn't say. Sounds likely though.
frooh It's one of the only things that came up on a google search 00:33
skids pmichaud: Yeah well I don't see much use for it but it would be less confusing if any syntax sugar was not called "reverse". Maybe a :vk adverb if even that. 00:35
pmichaud skids: I think the original intent may have been to duplicate the meaning of "reverse %hash" from Perl 5. 00:36
skids reverse %Hash should just call the List and "reverse" the pairs which is essentially a nothing OP unless it's a tied ordered-hash of some sort.
And the existence of phpesque ordered Hash subclasses would be a good reason to ditch a hash-specific reverse because it would get in the way. 00:38
00:40 Ariens_Hyperion left 00:42 aindilis left
frooh Anyone have any suggestions for something I could do on the setting? 00:44
pmichaud here's the approach I expect to take for my work on the setting: 00:45
00:46 knubbli__ joined
pmichaud (1) review existing methods defined in the spec 00:46
(2) ask myself, "do I think I can implement method in Perl 6"
(3) try adding the method to the setting and see if it works
knubbli__ check this out tinyurl.com/rolfxd lol
00:46 knubbli__ left
pmichaud (4) profit 00:46
frooh pmichaud: ok, so we are trying to move things from PIR to the setting if possible? 00:47
pmichaud in general, yes.
frooh ok, cool
thanks
pmichaud there are still some limitations as to what can be moved, though.
we can't move operators yet, for example.
and we can't move methods that need 'is export'
frooh ok
pmichaud (this latter one should be fixed soon; possibly tomorrow)
frooh is export means it can be used as a function and not just a method, right/ 00:48
skids Well, if I felt safe moving stuff out of there I moght be able to come up with something to work on, but aren't much of the PIR routines called internally from each other? Or are they pretty safe to pull?
pmichaud skids: they should be pretty safe to pull.
the places where PIR routines call each other internally they do so via the normal method or function call interface.
frooh: yes, is export means it acts as a function also.
skids So they would call a perl6 sub from setting? 00:49
pmichaud skids: yes.
skids cool! that I didn't know.
00:49 kane_ left
pmichaud even if rakudo doesn't end up using the actual method, simply having a perl6 description of the method is useful (and can get some feedback) 00:49
the things that can't easily be moved are calls to functions that begin with an exclamation point. Those are definitely internal. 00:51
anyway, gotta run (dinner) bbl
skids l8r
frooh rakudo: if (1 eqv 1) { say "station" } 00:53
p6eval rakudo 1e22a6: OUTPUTĀ«No applicable methods.ā¤ā¤current instr.: '_block14' pc 78 (EVAL_17:44)ā¤Ā»
frooh pugs: if (1 eqv 1) { say "station" }
p6eval pugs: OUTPUTĀ«stationā¤Ā»
frooh hmm
that's not good
skids maybe I'll hold off on that git pull. :-) 00:54
frooh well
other things are working fine
I just don't know how that got in there 00:55
there are tests for eqv...
skids Oh that's not if () breakage, eqv just isn't there.
frooh yeah 00:56
pugs: if (11) { say "station" }
p6eval pugs: OUTPUTĀ«stationā¤Ā»
frooh rakudo: if (11) { say "station" } 00:57
p6eval rakudo 1e22a6: OUTPUTĀ«stationā¤Ā»
01:01 Ehtyar joined 01:20 justatheory left 01:25 FurnaceBoy joined
pmichaud rakudo: my @a = (11,0,22); say @a ~~ .[0]; 01:29
p6eval rakudo 1e22a6: OUTPUTĀ«1ā¤Ā»
pmichaud rakudo: my @a = (11,0,22); say @a ~~ .[0,1]; 01:35
p6eval rakudo 1e22a6: OUTPUTĀ«1ā¤Ā»
pmichaud (for those following along -- yes, the last one is wrong. fix coming up.) 01:36
01:42 aindilis` left
frooh should @foo.delete(-2) become @foo.delete(*-2) ? 01:42
01:45 AzureStone left 01:49 Whiteknight left
skids tries to fathom git 01:55
OK, so I committed something to my local repository, then I git pulled in updates. 01:56
01:56 AzureStone joined
skids But damned if I can figure out how to generate a diff given the commit number from my commit. 01:56
I can generate patches for all the stuff I just pulled, apparently :-)
frooh git diff <commit hash> ? 01:57
01:58 szabgab left
skids No that's giving me diffs from between when I comitted and now, that is, everything I just pulled. 01:58
frooh ooh 01:59
01:59 AzureStone left
frooh so you just want your changes against the latest stuff 01:59
02:00 kanru2 left
skids Well, it doesn't really matter if it is my changes vs the latest stuff, or my changes vs the tree before I committed because there were no merge conflicts. 02:00
frooh git diff <your commit hash> <commit hash you want to diff against>? 02:01
that may need to be reversed, but I think that would do what you want 02:02
meppl good night 02:03
skids hrm you know I think that maybe I should have done a git commit after my 2nd to last pull, because if I diff my hash versus the hash right below in in the log, I still have tons of stuff mixed in there along with my stuff, which is not mine. 02:04
02:05 meppl left
TimToady diakopter: it's not spitting out AST, but raw parsetree. the problem is it's not generating the AST and putting it under .{''} for item 02:05
02:06 AzureStone joined
eternaleye skids: Fore reordering commits, I believe the canonical tool is `git rebase` 02:08
*for
literal perl6: my @foo = <#perl6 #parrot>; 02:09
eternaleye but beware: In a patch-generating or pushing repo it's fine, but if people pull from it it can cause them problems
p6eval elf 25638: OUTPUTĀ«Unknown rule: quote:q_wā¤It needs to be added to ast_handlers.ā¤ at ./elf_h line 2042ā¤Ā»
..rakudo 1e22a6: RESULTĀ«["#perl6", "#parrot"]Ā»
..pugs: RESULTĀ«\("#perl6", "#parrot")Ā»
literal yay 02:10
it always bugged me that Perl 5 complained when I did qw(#foo #bar)
02:11 brunoV joined, kanru joined
skids Hrm well "git-rebase master" does not seem to help things. Just says it's up to date. 02:21
Haha. git-<TAB> (tap fingers) "Display all 135 possibilities?" lol. 02:26
diakopter TimToady: oh... I'm going to assume that's a bug? 02:28
frooh implementing stuff in the setting is hard....let's go shopping! 02:29
TimToady diakopter: yeah, don't know when it bitrotted exactly... 02:30
frooh speaking of bitrot, when did this happen:
rakudo: 1 eqv 1 02:31
p6eval rakudo 1e22a6: OUTPUTĀ«No applicable methods.ā¤ā¤current instr.: '_block14' pc 73 (EVAL_15:42)ā¤Ā»
TimToady rakudo: 1.0 eqv 1.0 02:32
p6eval rakudo 1e22a6: OUTPUTĀ«No applicable methods.ā¤ā¤current instr.: '_block14' pc 73 (EVAL_15:42)ā¤Ā»
TimToady rakudo "foo" eqv "foo"
rakudo: "foo" eqv "foo"
p6eval rakudo 1e22a6: OUTPUTĀ«No applicable methods.ā¤ā¤current instr.: '_block14' pc 73 (EVAL_13:42)ā¤Ā»
frooh there are tests for that, right? 02:33
TimToady I dont know what rakudo tests or doesn't
skids grep eqv src/classes/* src/builtins/* it ain't implemented yet.
frooh ah, ok, my bad
skids OK, so I finally wrangled a diff out... if I try I git push, that just goes where people can see it under rakudo's account -- or do I need an account on github or what? 02:41
diakopter oooo ActiveState's graphical debugger works against perl from cygwin... oddly. 02:42
frooh skids: I am pretty sure you need an account
skids Funnily, I note the latest post on Rakudo.org is entitled "Developer's Guide" and which says nothing helpful other than that rakudo's on github.
frooh skids: wiki.github.com/rakudo/rakudo/steps...te-a-patch 02:43
that may help some
skids it does. muchly. frooh++ 02:44
diakopter breakpoint in STD.pm5. hrm. boo.
02:52 Tene joined
diakopter gives up debugging generated lasagne code for the time being 02:59
03:05 Tene_ left
skids is there any way to get github to use password prompts instead of preshared pubkeys? 03:10
frooh skids: no
skids bummer.
03:10 justatheory joined
skids I move machines a lot. 03:10
frooh it's only a hassle at first :-)
oh
well
that will be a hassle
put a key on a usb key?
pugs_svn r25639 | lwall++ | [die-and-end] missing 'use Test' 03:11
skids I have enough crap to carry around as is. Sigh. Well, if that's the way it works it is what it is.
03:12 FurnaceBoy left
pugs_svn r25640 | lwall++ | bogus test 03:14
frooh rakudo: <1 2 3>.items 03:17
p6eval rakudo 1e22a6: OUTPUTĀ«Method 'items' not found for invocant of class 'List'ā¤current instr.: 'parrot;P6metaclass;dispatch' pc 320 (src/classes/ClassHOW.pir:161)ā¤Ā»
frooh rakudo: <1 2 3>.elements
p6eval rakudo 1e22a6: OUTPUTĀ«Method 'elements' not found for invocant of class 'List'ā¤current instr.: 'parrot;P6metaclass;dispatch' pc 320 (src/classes/ClassHOW.pir:161)ā¤Ā»
TimToady .elems 03:21
frooh rakudo: <1 2 3>.elems 03:22
p6eval rakudo 1e22a6: RESULTĀ«3Ā»
frooh thanks
I couldn't find it in S29, but I was searching for array
03:22 Counterspell joined
TimToady pugs: <1 2 3>.WHAT 03:23
p6eval pugs: RESULTĀ«::ArrayĀ»
TimToady rakudo: <1 2 3>.WHAT
p6eval rakudo 1e22a6: RESULTĀ«ListĀ»
frooh yeah 03:24
that would have found it
03:27 nbrown joined 03:28 nbrown left 03:29 nbrown joined
frooh what is the equivalent of `commands` in perl6? 03:29
pugs_svn r25641 | putter++ | [elfparse] Snarf t/ ratchet tests. 03:30
03:42 dukeleto left
skids frooh: it's an adverb on q{} 03:45
q:x I think. 03:46
frooh hmm 03:47
it gives errors for q:x{'ls'}
am I doing it wrong
TimToady it's like unimplemented 03:49
*likely
frooh :-(
pmichaud rakudo doesn't implement qx yet. 03:50
frooh so much for a real perl6 program
TimToady you might be able to use run() instead of system()
frooh but run only gives you return value
pmichaud parrot doesn't have a way to capture the output of a program run via the os
frooh I need the output
TimToady you can get the return value from a file
frooh ah
clever
TimToady unless you need it piped asynchronously
frooh so like, run('foo > bar'); # open bar etc 03:51
TimToady and maybe even then, under linux
frooh I don't need it async
cool
TimToady yes, assuming your shell can do redirection
and assuming rakudo's run() invokes the shell
frooh what shells cant?
well 03:52
it works here
TimToady no modern ones :)
frooh which is what matters to me
TimToady if you really needed it async there are ways to do that with a named pipe under unix 03:53
frooh I don't at all
03:54 hercynium left 03:55 Maghnus left
frooh TimToady: is the reason for "for =$fh -> $line" = looks like lines on a page or something? 03:56
eternaleye frooh: prefix = on a file handle reads and autochomps a line, and the arrow marks the for as a pointy block with one parameter, $line, which comes from the handle (If I remember correctly) 03:57
dalek kudo: 7bd5a95 | pmichaud++ | src/parser/actions.pm:
Fix .<>, .[], and .{} in smart matching (RT #61136)
frooh eternaleye: yeah, I see what it means in the test. I was just wondering why the = sign 03:58
eternaleye =filehandle is the p6 way to say $line = <filehandle>
er, $line = =filehandle 03:59
03:59 Maghnus joined
frooh ah 03:59
eternaleye for just puts it in the pointy parameter
frooh yeah, I see that
eternaleye I believe prefix = generally means 'iterate'
skids frooh: have you ever used one of those old calculators?
eternaleye But I may be wrong
RPN?
skids Where you say 2 * 2 and then just keep hitting =? 04:00
frooh haha, yeah
skids That's why -- the filehandle is just a special case of an "iterator" =@array will eventually work too.
frooh skids: that explains it; thanks 04:01
so = is the iterator sigil?
or something like that?
eternaleye It's a unary operator, like ! 04:02
frooh ok
skids If you'd like to appreciate some of the poetry in perl6, whether it was intentional, subconsciously derived, or pure cooincidence, I tried to note themes here (in the mnemonics): www.perlfoundation.org/perl6/index.cgi?witch 04:04
frooh cool 04:05
skids Feel free to create an account and edit as you learn. It's far from complete. 04:06
frooh haha 04:07
is << called the texas quote because it's bigger than the other quotes?
skids Yeah.
frooh that's hilarious
skids well that and to pair it with "french quote" 04:08
And the fact that it's going to be us unicode-averse Americans who use it the most.
frooh haha 04:09
well, I couldn
t even find it in the gnome character map
skids There's probably a compose key combo but I usually just find it somewhere and use the clipboard. 04:13
frooh right
I was gonna make a tiny file with <<, >>, and any other ones I came across 04:14
04:14 dukeleto joined
pmichaud on my keyboard I have the "right ALT" mapped to the super, then it's just R_Alt+<+< 04:14
in vim it's Ctrl+K < <
frooh cool!
pmichaud in vim, ":dig" gives a list of the available shortcuts (depending on how much of vim you have loaded :-) 04:15
frooh pmichaud: all of it :-)
wow
just wow 04:16
so is <...> not implemented in PGE? 04:18
pmichaud it is not.
frooh ok
just making sure I wasn't doing something wrong
rakudo: my $f = ".frew"; $f[0] = ''; 04:32
p6eval rakudo 7bd5a9: OUTPUTĀ«Method 'postcircumfix:[ ]' not found for invocant of class 'Str'ā¤current instr.: 'postcircumfix:[ ]' pc 3605 (src/classes/Positional.pir:100)ā¤Ā»
frooh rakudo: my $f = ".frew"; $f.chars.unshift;
p6eval rakudo 7bd5a9: OUTPUTĀ«Method 'unshift' not found for invocant of class 'Integer'ā¤current instr.: 'parrot;P6metaclass;dispatch' pc 320 (src/classes/ClassHOW.pir:161)ā¤Ā»
04:33 Kimtaro left
dalek kudo: af4b730 | pmichaud++ | src/parser/grammar.pg:
Produce a "qx not implemented" message (RT #62024)
04:34
04:36 dukeleto_ joined
skids pmichaud: github.com/skids/rakudo/commit/7af6...9f1fb8dde9 04:38
how'd I do?
04:38 dukeleto__ joined
pmichaud iirc, rand is a 0-argument function. 04:39
oh, wait, no.
just a sec.
04:39 dukeleto left
pmichaud you don't want to constrain the invocant to be a Num 04:39
i.e., '45'.rand should work also.
frooh rakudo: (1..10).pick 04:40
p6eval rakudo 7bd5a9: RESULTĀ«[7]Ā»
frooh rakudo: 1 04:41
p6eval rakudo 7bd5a9: RESULTĀ«1Ā»
frooh why does pick return an array?
pmichaud because that's the way S29 specced it? ;-)
skids: I would expect
frooh haha, ok/
pmichaud multi method rand() is export { self * q:PIR { %r = ... } } 04:42
skids Maybe... I just did what the synopsis said.
pmichaud much of S29 was written before we decided that the methods should be in Any
skids I didn't do the sub because it is listed as a special term:rand ... so I don;t know what's up with that.
pmichaud just a sec, checking... 04:43
okay, you're right.
skids Efficiencywise, any gain from having the PIR in .rand instead of just called perl6 rand? 04:44
pmichaud rand() is a named 0-array
while .rand is based on the method.
sorry, .rand is based on the invocant
it's undoubtedly faster to use the PIR, but this is a case where I think I'd prefer to use the builtin.
so multi method rand() { self * rand } 04:45
skids Is there a way to get the named 0-ary into setting, or are those special terms something that has to stay PIR? 04:46
pmichaud I think sub rand() { ... } should work.
but it has to be 'is export'
I'll probably do 'is export' tomorrow
(would do it now but I'm getting sleep and would probably screw it up) 04:47
*sleepy
in real Perl 6 it might need to be sub term:rand() { ... } but Rakudo wouldn't be able to handle the 'term:' part yet. 04:48
skids yeah got to keep the sleep cycle from slipping too far off this weekend myself.
04:53 alester joined 04:54 dukeleto_ left 04:55 awwaiid joined 04:56 Counterspell left, dukeleto__ left 04:59 brunoV left 05:00 Kimtaro joined
diakopter alester: link broken on www.rakudo.org/community 05:05
The official Parrot wiki
should be parrot/wiki not wiki/parrot
er
trac.parrot.org I mean :)
alester thanks, fixed 05:06
diakopter does it take a while to uncache or something? 05:07
TimToady frooh: actually, it *was* motivated originally by "lines on a page" 05:08
frooh TimToady: haha, awesome! I am getting closer to the Mind of Wall
alester it might, yeah, a minute I think.
pugs_svn r25642 | lwall++ | [STD] more improvements in symbol lookup, importing Test symbols 05:18
r25642 | lwall++ | start on setting values of compile-time variables
diakopter does that fix the Parse() ? 05:29
er parse() 05:30
alester hey diakopter does www.rakudo.org/community look ok for you now? 05:32
diakopter oh; yeah the link fix appeared after a minute like you said 05:33
TimToady diakopter: it doesn't fix viv, if that's what you're asking 05:34
05:41 masak joined
diakopter oh; yeah that's what I was asking. 05:46
alester diakopter: It's PHP, so caching is an important part 05:57
05:58 alester left 05:59 kanru left
masak if you want to know how far Rakudo has come in half a year, look no further than use.perl.org/~masak/journal/37303 06:00
see especially how more or less all of the complaints I had at that time have gotten fixed, and how the things I praised have only gotten better. 06:01
frooh rakudo: for 1..10 { say $^a; say $^b; say $^c; say "test"; } 06:03
p6eval rakudo af4b73: OUTPUTĀ«1ā¤2ā¤3ā¤testā¤4ā¤5ā¤6ā¤testā¤7ā¤8ā¤9ā¤testā¤StopIterationā¤current instr.: '_block14' pc 125 (EVAL_20:56)ā¤Ā»
pmichaud masak: excellent update, thanks! 06:05
btw, you had asked about where to indicate "really important tickets" -- we could start using the 'priority' field of the RT tickets, or there's also a meta ticket (#49171) where high-priority tickets can be hung as dependencies 06:06
masak pmichaud: ok, great. thanks!
right now I have no really high-priority tickets. 06:07
pmichaud (it wouldn't have worked previously, because I had basically forgotten about the ticket, but we can start watching it again :-)
at the least you can bug the devels to say "hey, anyone worked on #49171?" instead of having to list all of your high priority tickets :)
masak heh. :) 06:08
oh, #62704 is not good. I'll up the priority on that. 06:10
pmichaud what you're getting back there are actually match objects.
at least, they're subclasses of PGE::Match 06:11
masak ok.
pmichaud PGE currently implements grammar objects as subclasses of PGE::Match.
masak then I guess I was just unlucky in getting them to work.
pmichaud well, there's a bit of a role weirdness there
because Match derives from PGE::Match, and Grammar derives from PGE::Match, which means that the things you get back from a match aren't .isa(Match) 06:12
masak ouch.
pmichaud but I think I can set Grammar to derive from (rakudo) Match and all will be will again.
I'll look at it tomorrow. 06:13
masak I fail to see why it should, but then again I don't know about the internals.
pmichaud (too tired tonight -- just cleaning a few things up here)
06:14 kanru joined, nihiliad left
pmichaud okay, time for sleep here -- more hacking tomorrow. see ya! 06:20
masak pmichaud: o/
is it bad practice for an installer to do a self-update if it notices that a project wasn't found? 06:29
pugs_svn r25643 | lwall++ | [STD] more parse more $? variables 07:16
TimToady more grammar more would be nicer too
masak TimToady++ # more STD more 07:19
07:20 szabgab joined 07:23 masak left 07:48 araujo left 07:51 justatheory left 07:57 slango joined
slango are there books on Perl6 yet? 07:57
or is it still too likely to change for any books to be worth the money? 07:58
08:07 masak joined
masak rakudo: say Hash ~~ Code; say Hash.isa(Code) # which one of these should be True? 08:09
p6eval rakudo af4b73: OUTPUTĀ«0ā¤0ā¤Ā»
masak s/one/one(s)/
szabgab slango, there are books but they are mostly outdated 08:13
there are several online tutorials 08:14
perl6: sub infix:<zzz> ( $a, $b ) { return $a+$b }; 08:16
p6eval pugs: RESULTĀ«\sub :($a, $b) "$_" := "Scalar" #<Scalar:0xb71d7c79>ā¤ "&?ROUTINE" := "Sub" #<Sub:0xb718483d>ā¤ "&?BLOCK" := "Sub" #<Sub:0xb718483d>ā¤ "$a" := "Scalar" #<Scalar:0xb71d7c81>ā¤ "$b" := "Scalar" #<Scalar:0xb7a510a9> {"&infix:zzz" := "S...
..rakudo af4b73: OUTPUTĀ«Malformed routine definition at line 1, near "infix:<zzz"ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤Ā»
..elf 25643: RESULTĀ«undefā¤Ā»
szabgab std: sub infix:<zzz> ( $a, $b ) { return $a+$b };
p6eval std 25643: OUTPUTĀ«ok 00:03 37mā¤Ā»
szabgab is there any way to define a new operator that already works in Rakudo ? 08:17
TimToady I don't believe so, but I could be wrong. 08:18
masak szabgab: I also don't believe so. 08:19
szabgab: the only way I can think of is lying to oneself about what 'operator' means, and defining a sub. ;)
szabgab I don't need it now, I just wanted to play with it 08:21
masak szabgab: aye. me too.
TimToady std: sub infix:<zzz> ( $a, $b ) { return $a+$b }; 42 zzz 'yowzer'
p6eval std 25643: OUTPUTĀ«ok 00:03 37mā¤Ā»
masak the need will come once it's there, though.
szabgab and see if I understand at least the syntax 08:22
TimToady pugs: sub infix:<zzz> ( $a, $b ) { return $a+$b }; 42 zzz 'yowzer'
p6eval pugs: RESULTĀ«42.0Ā»
masak Pugs++
szabgab wow, but it blew up when I asked it 08:23
it seems it listens to TimToady more..
masak "The man who could talk to small dogs."
TimToady you only asked for the definition, and pugs gave it to you
szabgab ah
masak oh, the English title should be "Pug whisperer", of course. 08:24
szabgab: yesterday, mberends proposed the same idea as you did a while back, about proto keeping all .pm files under a common lib/ directory. while I personally think that the idea might lead to chaos, or something very much like chaos, I'm considering making this an option in the config.proto file. 08:28
masak will be back in a few hours 08:29
08:29 masak left, barney joined
pugs_svn r25644 | lwall++ | [viv] fix viv bug for diakopter++ 08:43
r25645 | lwall++ | doc tweaks. $?OSVER should be $?OS.ver or some such 08:48
szabgab is there a way to fetch all existing subroutines available ? 08:56
TimToady there are a lot of subroutines in the world 08:58
szabgab in the current scope maybe ?
exported to the current scope?
TimToady grep /^'&'/, keys %$?SCOPE or some such 09:00
zzz & # thunk 09:01
szabgab rakudo: %$?SCOPE.perl
p6eval rakudo af4b73: OUTPUTĀ«Scope not found for PAST::Var '%$?SCOPE' in ā¤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)ā¤Ā» 09:02
TimToady rakudo: %MY::
p6eval rakudo af4b73: OUTPUTĀ«Scope not found for PAST::Var '%MY' in ā¤current instr.: 'parrot;PCT;HLLCompiler;panic' pc 146 (src/PCT/HLLCompiler.pir:102)ā¤Ā»
TimToady zzz & # really 09:03
szabgab g night 09:04
09:08 cognominal left 09:09 ejs joined 09:11 cognominal joined 09:13 riffraff joined, ejs left
riffraff hi 09:14
diakopter hi 09:17
09:19 protorom joined, mikehh left, mikehh joined 09:33 protorom_ joined 09:36 ejs joined 09:45 barney left 09:48 protorom left 09:53 kane_ joined 10:06 barney joined 10:12 masak joined 10:13 DemoFreak joined
masak fwiw, I think '$?OS.version' would trump '$?OS.ver' in niceness. 10:14
10:23 duke_leto joined, duke_leto left
szabgab masak, any idea if I can get the list of subs available in the current scope? 10:36
masak szabgab: in Rakudo, today?
szabgab yes 10:37
masak szabgab: no.
as in "no, I don't have any idea".
but also a little of "no, they cannot be done at present", to the extent that I know such things.
szabgab oh and is arity defined on multi subs ? 10:41
rakudo: sub f($z) {}; &f.arity.say 10:42
p6eval rakudo af4b73: OUTPUTĀ«1ā¤Ā»
szabgab rakudo: multi sub f($z) {}; &f.arity.say
p6eval rakudo af4b73: OUTPUTĀ«Null PMC access in find_method()ā¤current instr.: '_block14' pc 79 (EVAL_16:43)ā¤Ā»
masak submits rakudobug
szabgab++
szabgab should that return a junctions? 10:43
and then, can I get the signature from a sub ?
masak today, in Rakudo? no, I think think so. 10:44
szabgab sub f($z) {}; &f.signature.say
rakudo: sub f($z) {}; &f.signature.say
p6eval rakudo af4b73: OUTPUTĀ«Signature<0xb60bf308>ā¤Ā»
szabgab but what can I do with that ? 10:45
masak ooh. 10:48
szabgab: I'll read source and tell you. :)
you can do .params 10:49
szabgab rakudo: sub f($z) {}; &f.params
p6eval rakudo af4b73: OUTPUTĀ«Method 'params' not found for invocant of class 'Perl6Sub'ā¤current instr.: 'parrot;P6metaclass;dispatch' pc 320 (src/classes/ClassHOW.pir:161)ā¤Ā»
masak rakudo: sub f($z) {}; &f.signature.params 10:50
p6eval rakudo af4b73: RESULTĀ«Null PMC access in find_method()ā¤current instr.: 'infix:=>' pc 10086 (src/classes/Pair.pir:44)ā¤Ā»
masak submits rakudobug
szabgab rakudo: sub f($z) {}; &f.signature.perl.say
p6eval rakudo af4b73: OUTPUTĀ«:(Any $z)ā¤Ā»
szabgab rakudo: sub f($z) {}; &f.signature.params.perl.say
p6eval rakudo af4b73: OUTPUTĀ«Null PMC access in find_method()ā¤current instr.: 'infix:=>' pc 10086 (src/classes/Pair.pir:44)ā¤Ā»
masak same NPMCA as the other one. 10:51
szabgab rakudo: sub f($z) {}; &f.signature.perl.say 10:52
p6eval rakudo af4b73: OUTPUTĀ«:(Any $z)ā¤Ā»
szabgab rakudo: multi sub f($z) {}; &f.signature.perl.say 10:53
p6eval rakudo af4b73: OUTPUTĀ«Null PMC access in find_method()ā¤current instr.: '_block14' pc 79 (EVAL_16:43)ā¤Ā»
szabgab rakudo: sub f($z, $x) {}; &f.signature.perl.say
p6eval rakudo af4b73: OUTPUTĀ«:(Any $z, Any $x)ā¤Ā»
szabgab rakudo: sub f($z, $x?) {}; &f.signature.perl.say
p6eval rakudo af4b73: OUTPUTĀ«:(Any $z, Any $x?)ā¤Ā»
masak submits rakudobug
szabgab it would real awesome for me to have these working, I could improve the Perl 6 plugin of Padre so much with the instrospection 10:56
masak aye. 10:57
I might see if I can track down the problem further.
szabgab thanks
masak no promises, though. I'm on the phone now and I have much to do today. :) 10:58
szabgab and the Parrot embedding is broken anyway 11:05
11:14 protorom_ left
masak the Null PMC access occurs during the .dispatch call on the .HOW object of the multi sub. 11:15
seems to me that method is defined in src/classes/ClassHOW.pir 11:17
something in that method forgets to assume that it might be a multi sub, or it remembers it but contains a logical error. 11:20
11:21 ejs left
dalek kudo: 65e835d | (Carl Masak)++ | src/classes/ClassHOW.pir:
removed superfluous apostrophe from comment
11:22
masak is a bit scared by the ambitiousness of this method 11:23
jnthn: help!
masak gives up for now 11:25
hopefully my scattered thoughts in the log might provide a starting point for someone who has deeper Rakudo-fu than I. 11:26
11:44 rindolf joined 11:47 pmurias joined 12:02 meppl joined, yahooooo left 12:04 Ariens_Hyperion joined 12:14 masak left
pugs_svn r25646 | pmurias++ | [mildew] update to work with the numish/number change in STD 12:26
12:36 szabgab left, viklund joined
viklund @seen masak 12:36
lambdabot I saw masak leaving #perl6 22m 42s ago, and .
viklund dang 12:37
12:37 rindolf left 12:58 araujo joined 12:59 c9s left 13:29 riffraff left 13:59 Whiteknight joined 14:02 Minazo joined 14:12 hercynium joined, Minazo left
skids You put your left brace in, You take your left brace out, 14:16
You put your left brace in and you move it all around
You do the token polka and you give yourself a pound
That's what it's all about
Good morning all :-)
14:22 nihiliad joined 14:23 jan_ left 14:32 ispy_ joined 14:37 Ariens_Hyperion left 14:53 ispy_ left, ispy_ joined 15:01 Ariens_Hyperion joined 15:02 ispy_ left 15:04 aindilis joined 15:17 szabgab joined 15:27 rindolf joined 15:29 alexn_org joined 15:31 pmurias left, ispy_ joined 15:35 jan_ joined 15:47 nihiliad left 15:51 Tene_ joined 16:02 braceta joined 16:06 nihiliad joined 16:08 Tene left 16:26 dwhipp joined
dwhipp perl6: my @evens; @evens = ($_ * 2 if .odd for 0..100); 16:26
p6eval elf 25646: OUTPUTĀ«Use of uninitialized value in concatenation (.) or string at ./elf_h line 3849.ā¤syntax error at (eval 120) line 4, near "(for"ā¤ at ./elf_h line 4346ā¤Ā»
..rakudo 65e835: OUTPUTĀ«Method 'odd' not found for invocant of class 'Int'ā¤current instr.: 'parrot;P6metaclass;dispatch' pc 320 (src/classes/ClassHOW.pir:161)ā¤Ā»
..pugs: OUTPUTĀ«*** ā¤ Unexpected "if"ā¤ expecting operator or ")"ā¤ at /tmp/5qRKzGhe6k line 1, column 29ā¤Ā»
dwhipp std: my @evens; @evens = ($_ * 2 if .odd for 0..100); 16:27
p6eval std 25646: OUTPUTĀ«ok 00:02 35mā¤Ā»
dwhipp that example comes from S04 ("Looping Statement"). Seems strange to have statement modifiers within the parens! 16:28
16:28 justatheory joined 16:34 nihiliad left 16:35 Tene joined 16:36 nihiliad joined 16:51 Tene_ left
dalek kudo: cd8ea0c | pmichaud++ | perl6.pir:
Deal with TAP::Harness 3.16's request for @INC.
16:53
skids perl6: (1,2,3).perl.say 16:54
p6eval pugs: OUTPUTĀ«(1, 2, 3)ā¤Ā»
..elf 25646: OUTPUTĀ«Useless use of a constant in void context at (eval 120) line 3.ā¤3ā¤Ā»
..rakudo 65e835: OUTPUTĀ«[1, 2, 3]ā¤Ā»
skids Hrm, .perl on List should use () right? 16:55
pmichaud It's been discussed many times. Latest I heard was that it produces [].
skids What produces ()?
16:56 brunoV joined
skids rakudo: ((a:2),1,2,3).perl.say 16:57
p6eval rakudo 65e835: OUTPUTĀ«Statement not terminated properly at line 1, near ":2),1,2,3)"ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤Ā» 16:58
skids rakudo: (a => 2,1,2,3).perl.say
p6eval rakudo 65e835: OUTPUTĀ«["a" => 2, 1, 2, 3]ā¤Ā»
skids rakudo: ((a => 2),1,2,3).perl.say
p6eval rakudo 65e835: OUTPUTĀ«["a" => 2, 1, 2, 3]ā¤Ā»
skids rakudo: \(1,2,3).perl.say 17:00
p6eval rakudo 65e835: OUTPUTĀ«[1, 2, 3]ā¤Ā»
skids rakudo: (\(1,2,3),\(3,4,5)).perl.say
p6eval rakudo 65e835: OUTPUTĀ«[[1, 2, 3], [3, 4, 5]]ā¤Ā»
17:01 barney left
pmichaud There was a thread in January about it: groups.google.com/group/perl.perl6....37df72c6dd 17:01
17:01 braceta left
pmichaud and S02 says that it should be brackets 17:02
from S02: "The C<.perl> method will return 17:03
a representation of the object on the assumption that, if the code is
reparsed at some point, it will be used to regenerate the object as a
scalar in item context."
skids OK. 17:06
pugs_svn r25647 | pmichaud++ | [t/spec]: Add some tests for smartmatch .[...] method slice. 17:07
17:09 PacoLinux joined
skids Well, now all the links in google to old rakudo.org posts are broken. Will heal over time. 17:16
But might be good if somewhere on the front page was a link to the old box (which is hostname now ???) ... maybe under the navigation sidebar? 17:18
17:19 hercynium left 17:22 douglashunter joined
pmichaud I think alester was planning to set up redirects for the old posts. Perhaps he hasn't had a chance to do that yet. 17:30
pugs_svn r25648 | putter++ | [elfparse] test_blue.pm: The test jig no longer breaks rx which begin with : . 17:31
TimToady dwhipp: that's how we get list comprehensions in Perl 6 without special-casing it like Python 17:33
dwhipp I cansee that, but I'm not sure I understand how they are "statement modifiers" -- they seem to be acting more as low-precedence operators within an expression. 17:36
can I nest: ( ($_ for 1..$_) for 1..10) ? 17:37
17:39 pmurias joined
TimToady if you want control of the formal parameter name you need to not reuse $_ 17:39
diakopter TimToady: thanks for fixing viv! I want to understand the 'schema' of its ast output... what's the "type" of the top level node "CORE"? namespace? and its child 'Bool::' - is it a module? I realize it's a tree of namespaces/symboltables, but I just want to make sure I know the proper terms for them
17:39 alexn_org left
TimToady can't talk right now, unfortunately 17:40
my Sunday School class is all looking at me funny, since I'm the teacher :)
diakopter lol. Hi Sunday School class!
TimToady bbl &
17:40 yahooooo joined
diakopter doubts #perl6 was on the screen at his class 17:40
(not saying he was implying that; I was joking around.) 17:41
okay, here are my guesses. 17:42
Each node is a symbol; symbols are arranged in a tree of where they were declared. Capitalized children of CORE are CORE symbols (which are also type names recognized by STD); if a type has a sibling node with its name and the '::' suffix, it's a package that has members represented as its children. A 'value' key of a symbol node stores a literal (type inferred whenever) value baked in by STD, CORE, and/or setting... 17:49
The 'file' and 'line' keys declare the declaration origin
of each symbol
the lowercase symbols in CORE are the native types... 17:50
the first successive sibling node (of CORE) holds the AST. YAML::XS appends a datatype flag holding the Perl object's type and package name. 17:52
The nodes of the AST wrap (in the usual way) out-to-inward, with parent nodes encompassing child nodes, with the child nodes listed in the order they matched left-to-right in the source 17:57
Node names represent the names of tokens and rules (et al?) from STD.pm 17:58
(also methods) 17:59
Note: eventually the parser needs to record the name of the grammar/language used to generate the (sub)tree(s); also eventually it probably needs to pass along the AST of STD.pm itself, which it probably should cache on disk since it's gigantic... 18:02
18:02 Kimtaro_ joined
diakopter Okay, I see now that the top node is actually comp_unit, though it's labeled as such only in the yaml datatype tag 18:03
skids rakudo: my $k of Int where {.say}; $k = 78; 18:05
p6eval rakudo cd8ea0: RESULTĀ«78Ā»
skids rakudo: my $k of Int where {.say}; $k = 78; 3;
p6eval rakudo cd8ea0: RESULTĀ«3Ā»
skids I never can tell where where is supposed to work. 18:06
18:13 Psyche^ joined 18:15 Patterner left, Psyche^ is now known as Patterner
pmichaud I'm pretty sure we don't support 'of ...' yet, though. 18:15
Maybe jnthn++ added it.
rakudo: my Int $k where { 3 }; $k = 78; 18:16
p6eval rakudo cd8ea0: RESULTĀ«78Ā»
skids rakudo: my $k where {.say}; $k = 78; 3;
p6eval rakudo cd8ea0: RESULTĀ«3Ā»
skids rakudo: my Int $k where {.say}; $k = 78; 3;
p6eval rakudo cd8ea0: RESULTĀ«3Ā»
pmichaud rakudo: my Int $k where { $_ == 3 }; $k = 78;
p6eval rakudo cd8ea0: RESULTĀ«78Ā»
pmichaud looks to me like 'where' is broken there.
s1n pmichaud: congrats on the rakudo release; i've been sick, but i did see that in my email :) 18:17
pmichaud s1n: thanks!
skids where is broken almost everywhere :-)
18:19 Kimtaro left
s1n pmichaud: if i find some time, i can commit an ebuild to the gentoo perl overlay, gotta catch up on thesis first though 18:19
skids pmichaud: I changed the proto on .rand in another commit. I kept the pir because 0-ary rand blew up inside the method when I tried to use it (attempted to call the method) and if we use a normal sub then 0-ary rand become 0-ary rand that may introduce a list. 18:21
18:25 ispy_ left 18:26 kane_ left
dalek kudo: 0bbdb57 | pmichaud++ | src/classes/ (2 files):
Refactor Grammar and Match inheritance (RT #62704).
18:31
18:31 c9s joined, c9s left, c9s joined 18:32 c9s left, c9s joined 18:38 alexn_org joined
dalek kudo: 023bb60 | pmichaud++ | t/harness:
Re-enable --verbosity option in t/harness (RT #63566).
18:40
18:43 simcop2387 left 18:56 Ariens_Hyperion left 18:58 c9s left 18:59 c9s joined 19:00 M_o_C joined 19:04 Kimtaro_ left 19:08 justatheory left 19:21 hercynium joined 19:22 douglashunter left 19:25 Kimtaro joined 19:29 justatheory joined 19:31 FurnaceBoy joined
frooh rakudo: (1..10).pick 19:33
p6eval rakudo 023bb6: RESULTĀ«[10]Ā»
frooh rakudo: (1..10).pick
p6eval rakudo 023bb6: RESULTĀ«[5]Ā» 19:34
frooh rakudo: (1..10).pick[0]
p6eval rakudo 023bb6: RESULTĀ«8Ā»
frooh rakudo: my @a = (1..10); @a.pick;
p6eval rakudo 023bb6: RESULTĀ«[6]Ā»
frooh rakudo: my @a = (1..10); @a -= @a.pick; @a;
p6eval rakudo 023bb6: RESULTĀ«[9]Ā»
frooh rakudo: my @a = (1..10); @a - @a.pick; 19:35
p6eval rakudo 023bb6: RESULTĀ«9Ā»
19:39 simcop2387 joined 19:42 dwhipp left
diakopter TimToady: does STD produce YAML aliases? 19:45
19:54 Ariens_Hyperion joined 19:55 Whiteknight left 20:02 renormalist joined
TimToady diakopter: not sure what you're asking. the data structure is complicated, but STD isn't about YAML per se 20:07
diakopter I'm asking if a node can ever refer to another node
TimToady you're still not asking a meaningful question; nodes are always referred to by other nodes; are you asking if it's a DAG? the answer is "no" 20:08
diakopter yes, sorry :). DAG or not. got it. 20:09
well, don't you mean it *is* a DAG? 20:10
hrm
diakopter shuts up
20:15 braceta joined, braceta left 20:16 lisppaste3 joined
pugs_svn r25649 | renormalist++ | - cperl-mode.el: "Any" type keyword 20:25
20:46 rkendall joined
rkendall Just calling in to say hi, the rakudo.org website suggests I should say "Hey how can I help" 20:49
20:50 tony_ joined
diakopter rkendall: hi 20:50
have you built rakudo from the git source? 20:51
rkendall yes, just did the new vienna release the other day - haven't done much with it yet 20:52
20:53 dukeleto joined
rkendall I'm a pretty average perl programmer, so don't think I can be much help coding. But I am interested in learning an playing with Perl 6, and also thought I could help in other ways (I'm a web developer with a lot of Drupal experience) 20:54
pmichaud rkendall: hello! I'm still waiting to hear back from Andy about getting people write access to the website. 20:56
rkendall pmichaud: thanks. do you need help with other stuff like themeing? (noticed rakudo.org is using standard theme) 20:59
pmichaud I'm sure we'd be happy to have another theme. Or a logo.
alester and I searched around the drupal theme garden (themegarden.org/) to find one that was acceptable to us -- I think that's how we ended up with this one. 21:00
looks to me as though Andy fiddled a fair bit with the css on it, though.
rkendall quite a good choice, better than most of the others. 21:02
pmichaud Yes, I can be a bit picky on graphic designs. Wish I could design, though. :-)
rkendall I'm lucky that my wife is a graphic designer :-) I actually mentioned to her about the need for a Rakudo logo - but haven't quite talked her into having a go (yet) 21:08
21:09 dukeleto left 21:13 nbrown left
diakopter rkendall: there was this.... www.nntp.perl.org/group/perl.perl6....sg938.html 21:14
(and the rest of the thread below)
and notes.. perlhackerpainter.blogspot.com/ 21:16
rkendall diakopter: thanks, I did see that, but it all seems to have gone quiet since. It's always good to have a few alternative designs to choose from, so figured more wouldn't hurt. 21:17
just a short stop by, have to go now. Thanks for taking the time to respond! 21:20
P.S. thanks for all the hard work and dedication that has gone into Parrot and Rakudo 21:22
21:25 rkendall left
Ariens_Hyperion funny, rakudo.org uses drupal which is wrtten in php 21:32
dalek kudo: 4fcd209 | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 315 files, 7084 passing, 0 failing
21:36
21:45 rindolf left, ispy_ joined 21:53 renormalist left, renormalist joined 21:54 renormalist left 22:03 Ariens_Hyperion left 22:10 ispy_ left 22:14 ispy_ joined 22:16 hercynium left 22:21 alexn_org left 22:24 Ariens_Hyperion joined 22:31 dukeleto joined 22:32 Limbic_Region joined 22:35 M_o_C left 23:12 ispy_ left 23:21 Ariens_Hyperion left, bacek_ joined, japhb left 23:36 wayland76 joined 23:47 PacoLinux left 23:55 japhb joined, hercynium joined 23:57 nbrown joined