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 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 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