»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo: / pugs: / std: , or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by wolfe.freenode.net on 30 October 2009.
00:01 meppl left, skingsbu joined 00:08 araujo left 00:14 araujo joined 00:16 tylerni8 joined, nihiliad left, tylerni7 left, tylerni8 is now known as tylerni7 00:22 rgrau left
pugs_svn r29526 | lwall++ | [Cursor] long-overdue refactor removing RE ast methods from Cursor 00:31
00:44 jlaire left 00:48 ash_ left 01:06 ashizawa joined 01:12 thowe left
pugs_svn r29527 | lwall++ | [STD,Cursor] take lookaheads and whitespace out of expectation lists 01:15
01:18 cognominal_ left 01:22 am0c joined 01:24 cognominal_ joined
cognominal_ TimToady, I don't see the reciprocal of the ** match operator. I would have expected <1 2> ** ', ' eq '1 , 2'. I know about join, but with the parentheses, it is very verbose 01:26
01:26 agentzh joined
cognominal_ Also can 'given' be an expression instead of a statement? 01:27
01:28 cognominal_ is now known as cognominal
TimToady use 'do given' for that 01:29
cognominal thx
01:30 ash_ joined
TimToady otherwise we can't tell it from a 'given' modifier easily 01:30
01:31 skingsbu left
TimToady rakudo: .say given "hi here" 01:31
p6eval rakudo 3867ff: hi here␤
cognominal I did not know about the given modifier.
TimToady similar reasoning for if, while, etc
cognominal makes sense to me.
diakopter backwards xargs? 01:33
TimToady he doesn't like <1 2>.join(', ')
though there's <1 2>.join: ', '
doesn't save any chars though
diakopter 1 fewer keypress? 01:34
std: say ... ... ... ... ... ... 3 01:35
cognominal as for readability, spaces should count as half a char
p6eval std 29527: ok 00:01 105m␤
TimToady but the lack of a closing bracket can detract from readability, if there is doubt about where the construct ends
hence we provide both () and : 01:36
cognominal anayway if I want ** as a join operator, whith multimethods I can get it.
TimToady you can, though it does violence to the usual ** concept
01:36 nihiliad joined
TimToady rakudo: sub infix:<cl> ($x,$y) { "$x, $y" }; say [cl] <1 2> 01:38
p6eval rakudo 3867ff: 1, 2␤
TimToady rakudo: sub infix:<cl> ($x,$y) { "$x, $y" }; say [cl] 1..10
p6eval rakudo 3867ff: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10␤
TimToady I bet that's what you really want :)
cognominal indeed, I like it 01:39
diakopter std: ->(){ }()<->
p6eval std 29527: ok 00:01 107m␤
diakopter std: ()<->(){ }()<->() # there we go 01:40
p6eval std 29527: ok 00:01 105m␤
TimToady std: say == 42 01:41
p6eval std 29527: ===SORRY!===␤Preceding context expects a term, but found infix == instead at /tmp/gkHwnonRal line 1:␤------> say ⏏== 42␤ expecting any of:␤ argument list␤ prefix or term␤FAILED 00:01 105m␤
diakopter std: <<.>><<.>><<.>> 01:48
p6eval std 29527: ok 00:01 105m␤
01:50 lest_away is now known as lestrrat
TimToady std: «.»«.»«.» 01:51
p6eval std 29527: ok 00:01 105m␤
TimToady std: «.«».«».» 01:52
p6eval std 29527: ok 00:01 105m␤
01:52 ash_ left
diakopter what does that last one mean 01:56
02:01 ash_ joined 02:03 ash_ left 02:06 aindilis` left
TimToady it means qqww{.{}.{}.} or some such 02:11
02:11 japhb left 02:14 am0c left
diakopter the compiled-to-JavaScript edition of nqp-rx's Grammar.pm is 111k 02:15
just the P6Regex one, I mean. 02:17
not all of nqp-rx' grammar
pugs_svn r29528 | diakopter++ | [sprixel] finish translating nqp-rx's P6Regex/Grammar.pm
02:18 orafu left 02:19 orafu joined
TimToady decommuting & 02:20
02:21 simcop2387_ joined 02:22 skeptical_p joined 02:29 cls_bsd left
colomon__ jnthn 02:30
02:31 alester joined, alester left
colomon__ jnthn++ 02:31
02:32 Mantis joined 02:33 simcop2387 left 02:34 cls_bsd joined
colomon__ what I meant to say there was, yay, jnthn++ is back! 02:35
cognominal jnthn++ # indeed 02:37
02:52 japhb joined, wayland76 left 02:54 simcop2387_ is now known as simcop2387, agentzh left 03:01 hatseflats left 03:06 ashizawa left 03:08 ashizawa joined 03:09 cdarroch left
cj diakopter: I'm trying to transcribe karma.colliertech.org/~cjac/tmp/0104.png 03:14
c􏿽xCC􏿽x8C􏿽xCC􏿽x93 does not quite look right ;) 03:15
cj notes that he's getting off topic. sorry. you are the most unicodially capable people I know ;) 03:16
colomon__ rakudo: say pi.Rat(1e-10); 03:20
p6eval rakudo 3867ff: 3.14159265361894␤
colomon__ rakudo: say pi.Rat(1e-10).perl;
p6eval rakudo 3867ff: 312689/99532␤
colomon__ say 10.roots(3).perl 03:23
rakudo: say 10.roots(3).perl
p6eval rakudo 3867ff: [Complex.new(2.15443469003188, 0), Complex.new(-1.07721734501594, 1.86579517236206), Complex.new(-1.07721734501594, -1.86579517236206)]␤
colomon__ rakudo: say 10.roots(1).perl 03:30
p6eval rakudo 3867ff: Complex.new(10, 0)␤
diakopter cj: I dunno. 03:37
03:43 agentzh joined, f00li5h[HireMe] joined
f00li5h[HireMe] meow! 03:43
f00li5h[HireMe] paws at 03:44
o_O
i'll be shutting up now... it turns out irssi does odd things if you paste binary on it
diakopter hm 03:45
up-arrow, enter? 03:46
f00li5h[HireMe] seems to have kicked off one of my aliases too...
diakopter restart it? heh
f00li5h[HireMe] I'm not even sure how I got here 03:47
diakopter well, this is the only channel you're in.
that I can see.
03:49 Baggiokwok joined
f00li5h[HireMe] the only channel we share 03:51
03:56 colomon___ joined, colomon__ left 04:04 stephenlb left
dalek kudo/ng: 393c457 | (Solomon Foster)++ | src/core/ (2 files):
Crude but mostly working implementation of Complex.roots. Straightforward implementation of Num.Complex.
04:06
04:10 skeptical_p left 04:35 drbean joined 04:46 ShaneC left 04:51 JimmyZ joined 04:58 Chillance joined 05:11 patspam left 05:12 gfx joined 05:20 JimmyZ left 05:22 lestrrat is now known as lest_away 05:24 Baggiokwok left 05:25 hercynium left 05:27 cognominal left 05:40 cognominal joined 05:44 nihiliad left
pugs_svn r29529 | diakopter++ | [sprixel] Implemented character classes (much more efficient than alternations of 05:53
r29529 | literal strings of length 1, though not after lit() is optimized as well).
r29529 | Implemented panic(). Added a few more locals to the generated parser routine.
05:54 Mantis left 06:13 pnate left, stepnem left 06:20 meppl joined 06:21 agentzh left 06:28 nbrown left 06:32 stepnem joined
pugs_svn r29530 | lwall++ | [Cursor] mv .syml/.store files to syml/ directory 06:34
r29530 | support subdirctories within syml/
r29530 | allow parsing of t/spec/package files, including Test::Util.pm
06:37 Baggiokwok joined 07:00 cls_bsd left 07:01 Baggiokwok left 07:07 justatheory left 07:09 cls_bsd joined 07:11 kaare joined, kaare is now known as Guest91269 07:12 Su-Shee joined 07:14 kaare joined, Guest91269 left 07:15 Chillance left, kaare is now known as Guest13904
Su-Shee good morning 07:19
07:22 am0c joined
saschi gmoin! ^^ 07:23
TimToady hello from the subtropics
saschi wow, hi there! ^^ 07:24
Su-Shee _subtropics_? you can't be in europe then. ;) 07:30
TimToady well, California, though it's feeling downright temperate at the moment, with a rainstorm coming in off the Pacific 07:31
szbalint nice :)
TimToady but it almost never snows here
Su-Shee offers half a meter of fresh snow (white). ;) 07:32
yath hm, it apparently stopped snowing here
(which still doesn't get me motivated to go to work) 07:33
07:44 iblechbot joined 08:00 am0c left
moritz_ good morning 08:08
sjohnson yo 08:14
08:18 cls_bsd left, tylerni7 left, zaphar_ps left, payload left, sunnavy left, hugme left, pugs_svn left, mdxi left, bloonix left, Infinoid left, LionMadeOfLions left, gju left, kcwu left, cj left, f00li5h[HireMe] left, Khisanth left, Exodist left, solarion left, REPLeffect_ left, jogla left, jaldhar left, yves left, dukelet0 left, mtve left, akl left, go|dfish left, zamolxes left, elmex left, mj41 left, RichiH left, gfx left 08:21 cls_bsd joined, f00li5h[HireMe] joined, tylerni7 joined, Exodist joined, zaphar_ps joined, payload joined, solarion joined, REPLeffect_ joined, jogla joined, jaldhar joined, yves joined, sunnavy joined, hugme joined, pugs_svn joined, Infinoid joined, mdxi joined, kcwu joined, cj joined, LionMadeOfLions joined, bloonix joined, Khisanth joined, gju joined, mj41 joined, elmex joined, zamolxes joined, go|dfish joined, mtve joined, akl joined, dukelet0 joined, RichiH joined, irc.freenode.net sets mode: +vv hugme pugs_svn 08:22 agentzh joined, orafu left, orafu joined 08:33 Baggiokwok joined 08:40 lest_away is now known as lestrrat 08:43 barney joined 08:48 Intensity left 09:01 payload left 09:07 payload joined 09:09 dakkar joined 09:17 pnate joined 09:39 nadim left
jnthn morning, #perl6 09:53
mathw jnthn! 09:56
09:56 payload left, payload joined
jnthn finds #perl6 strangely quieter these days. 10:02
jnthn blames it partly on ENOMASAK 10:04
;-)
frettled :) 10:16
ENOMASAK - core quiet
10:17 lestrrat is now known as lest_away
mathw a channel I'm in that's full of friends does a similar thing when one particular member is on holiday 10:38
in those circumstances we can go an entire day without filling a screen 10:39
strange how a community can revolve so strongly around one person 10:40
jnthn: have you started thinking about Perl 6 again yet? 10:41
jnthn mathw: Well, I got all of S06-signature/type-capture.t to pass again yesterday
Which felt like it was involving thinking. :-)
If I don't find more blocks (lack of type captures was the blocker I found yesterday and resolved) I hope to put parametric roles back in todya. 10:42
*today
mathw wheee 10:45
I assume you mean to pass in ng
jnthn Yes.
ng: sub foo(::T) { say T }; foo(42)
p6eval ng 393c45: Int()␤
jnthn Oh, I put type checking on scalars back too.
mathw yay 10:46
jnthn But that was mostly easy.
mathw extra yay
if that was mostly easy, there must be something done right in ng :)
or you're a genius, and your definition of easy is completely different to everyone else's
jnthn Well, it was easy 'cus I'd already put back variable trait mods. ;-)
mathw :) 10:47
Might we get ng for a release before too long?
Rakudo * is starting to look quite close from this side of 2010
Maybe I should help :) 10:48
jnthn It's hard to say.
I can put back lots of stuff but we're hurting for the list/iterator interface bits getting sorted out.
Which pmichaud has spent plenty of time looking at and thinking about and understands...whereas I've thus not worried about thinking about it much. 10:49
mathw So we all need to go to his house and feed him a continual supply of delicious caffeinated snacks until he's done it? 10:50
jnthn Havne't seen pm around yesterday though.
Something like that. ;-)
mathw looks up recipes with coffee in
10:53 Intensity joined 10:58 ihrd joined, ihrd left
jnthn sees what he can get past the C# type checker 11:03
11:06 agentzh left 11:08 Intensity left 11:09 meneldor joined 11:14 rgrau joined 11:18 mikehh_ joined 11:27 jaldhar left 11:34 mikehh left 11:45 payload left 11:55 bluescreen joined 12:00 am0c joined, dakkar left
meneldor guys in which variable inside p6 script i can find the params passed from command line ? 12:02
moritz_ @*ARGS 12:03
meneldor and the first one is in @*ARGS[0] ? 12:04
moritz_ yes
meneldor tnx
hejki meneldor: if you're doing simple argument parsing, you might want to use sub MAIN
meneldor how? 12:05
yes i need simple parsing
hejki e.g. [hejki@cornix ohjelmointi]$ perl6 -e 'sub MAIN ($x) { say $x+2 }' 8 12:07
10
moritz_ though rakudo's support is very limited 12:08
perl6 -e 'sub MAIN(@*a) { .say for @*a }' foo bar
No such attribute '$!do'
hejki that's why i said "simple argument parsing" :)
using sub MAIN {} even with lacked support is still more perl6ish than parsing @*ARGS 12:09
IMO :)
12:09 dakkar joined, SamuraiJack joined 12:10 bluescreen left
meneldor tnx ill try it 12:12
12:14 SamuraiJack left 12:17 payload joined 12:23 iblechbot left 12:25 bluescreen joined
colomon___ ng: my @a = roots(10, 5); say @a.perl 12:32
p6eval ng 393c45: [(Complex.new(1.58489319246111, 0), Complex.new(0.489758930722077, 1.50732299832768), Complex.new(-1.28220552699192, 0.931576844957485), Complex.new(-1.28220552693763, -0.93157684503222), Complex.new(0.489758930809934, -1.50732299829913))]␤
hejki ng: roots("bloody", "roots");
p6eval ng 393c45: Method 'Complex' not found for invocant of class 'Perl6Str'␤current instr.: '&roots' pc 203859 (src/gen/core.pir:5509)␤
jnthn heh heh. 12:33
colomon___ jnthn: see the problem? 12:34
jnthn colomon___: Is Str menat to define Complex? 12:36
12:37 buubot left
colomon___ with mine 12:37
12:38 buubot joined, irc.freenode.net sets mode: +v buubot
jnthn No, what's the problem there? 12:38
Oh, curious extra parens?
colomon___ ng: my @a = roots(10, 5); say @a.elems
p6eval ng 393c45: 1␤
jnthn ah 12:39
12:41 zz_Chazz left 12:42 Guest91012 joined
meneldor guys do i have to export a class from module to be able to use it in my main script? 12:42
i cannot find a tutoral which explain how to write OO module 12:43
oh sry i found the problem 12:49
i've used: method Foo; above the class 12:50
jnthn meneldor: Answer: don't need to export just a "class Foo { ... }" or "class Foo; ... ", though you would if they were lexical classes and didn't make a namespace entry, I believe.
colomon___ jnthn: sorry about that, parental emergency immediately after I typed my last line. 12:51
jnthn colomon___: It's OK, I was hungry and went to make lunch anyway :-)
colomon___ anyway, I fixed roots so it works last night, but roots.t still fails because when you pass a list to my @a =, it makes a one-element array with the list as the first element. 12:56
takadonet morning all 12:59
13:00 bluescreen left, bluescreen joined
colomon___ o/ 13:02
13:06 ruoso joined 13:09 ignacio_ joined 13:24 ignacio_ left 13:26 am0c left 13:27 iblechbot joined 13:34 cognominal left 13:36 mssm joined, payload left 13:37 payload joined 13:38 ignacio_ joined 13:52 JimmyZ joined 14:10 payload left 14:11 payload joined 14:19 cj left 14:22 cj_ joined, cj_ is now known as cj 14:24 tylerni7 left 14:25 tylerni7 joined 14:28 Exodist left 14:32 cognominal joined 14:33 hatseflats joined 14:38 smash_ joined
smash_ hello everyone 14:39
14:40 JimmyZ left
colomon___ 'ello 14:41
mathw hello 14:44
PerlJam good morning 14:55
14:57 Baggiokwok left 15:02 Guest13904 left, Baggiokwok joined 15:07 Baggiokwok left 15:11 Psyche^ joined 15:21 colomon_ joined, colomon___ left 15:23 meneldor left 15:27 Patterner left, Psyche^ is now known as Patterner 15:37 am0c joined 15:50 payload left 15:51 payload joined 15:53 meneldor joined
cj howdy 15:55
mathw hi 15:56
15:57 buubot left 15:59 buubot joined, irc.freenode.net sets mode: +v buubot 16:04 pmurias joined 16:06 jjore left 16:10 soupdragon joined 16:14 uniejo joined 16:18 nihiliad joined 16:23 rgrau` joined 16:29 Exodist joined 16:31 payload left 16:33 pmurias left
TimToady agh, thinking about LTM, I stared too long at the vertical blinds, and now I have stripes everywhere... 16:40
16:40 SmokeMachine joined
soupdragon hehe ;p 16:42
moritz_ now you need to write a program that adjusts the color of your screen in stripes, for compensation :-)
16:44 rgrau` left
TimToady I need an eyetracker for that... 16:45
I wonder how long till TVs track all the faces watching and send different pictures to each eye so 3D glasses are not necessary 16:47
that would be a real eyetracker :)
soupdragon with these new 3D films I think people will want that sooner
although I guess not for a long time after polarized lenses.. 16:48
maybe we will GM ourselves so that we have naturally polarized eyes
diakopter yeah; polarized contact lenses. left vertical right horizontal
TimToady only if you can change the polarization at will
I'd want mine vertical most of the time; I always wear polaroid shades outside 16:49
but I don't think that's what we'll end up with for 3D tv; we need the equivalent of directed beam radars, only in the optical range 16:51
diakopter currently std/cursor is constructing patterns for the prefixes and bruteforcing to get the longest? 16:52
TimToady just think how efficient a TV could be if it only had to make light for your eyes, too
16:52 jackyf joined
TimToady course, intraocular projectors would fix that too 16:52
diakopter that would be neat to watch with water vapor in the air 16:53
soupdragon ooh like in show crash ;p
they have this laser thing which shows you the image
that would be nice
very immersive it might be a bit scary 16:54
diakopter like that sttng episode "the game"
wil wheaton & ashley judd 16:56
TimToady: you're thinking that cursor/std will run its own re engine? 16:58
16:59 justatheory joined 17:00 meneldor left
TimToady eh? it already does...how do you think it parses? 17:01
it doesn't use P5 regexes except incidentally to do character classes and such 17:02
diakopter I thought it emitted the prefixes to perl5 regexes. OH
TimToady it recognizes individual bits of constant token with p5 regexes, but it could just about as easily use substr() for that 17:06
all the hard stuff bypasses the p5 engine entirely, because it wouldn't work 17:07
diakopter I thought you couldn't have hard stuff in token prefixes 17:08
TimToady \w+ is hard
diakopter oh.
TimToady I'm not talking about LTM here, but the engine that LTM determines the fates of 17:09
diakopter oh 17:10
TimToady LTM is currently emulated with p5 regexes, but that just determines the non-deterministic bits of the real regex matcher, which isn't p5
well, isn't p5 regex
see STD.pmc and the methods it calls for the actual regex engine 17:11
diakopter ah. I was imagining the LTM emulation being reworked.
TimToady well, yes, that wants to get to be less hacky, and that's what I was thinking about
17:12 pmurias joined
TimToady separating out all the longest methods to a separate file yesterday was part of that refactoring 17:12
17:12 cdarroch joined
diakopter ... to find the longest token by reversing each of the prefix patterns, sorting them by the ltm priority rules, then merging them into one alternation in reverse priority order, then prepend the whole pattern with ^(?:.*?) 17:14
... and matching it against the input string, reversed and truncated to the input spot. 17:15
current offset spot, I mean
sorting properly would be the tricky part. 17:17
TimToady you can't always tell which of two prefixes will end up longer by inspection
diakopter hm. in that case, you'd have to flatten/expand out all the nested alternations. 17:18
sigh
I thought I read somewhere that it's possible to calculate whether a regular pattern is subsumed by another 17:22
TimToady that's fine if you don't care which pattern matched
we do 17:23
diakopter one could determine that by creating a globally indexed capture for each alternation... ick. 17:24
(and keeping track of which pattern ended up in which slot)
TimToady that's more or less what tagged dfa does, but the tdfa I played with require 17MB of stack space on every token, ouch 17:25
*required
diakopter :o 17:26
TimToady was also a buggy academic toy, so I abandoned it
diakopter batty
TimToady I just plan to mutate my trie implementation into a parallel nfa that caches all recognized tokens in the trie so that the second time we see a particular identifier, it's fast 17:27
and each trie node knows which patterns it has pointers into if the current character doesn't match 17:28
but it only has to traverse those for strings it hasn't seen one of yet
17:29 cognominal left
TimToady currently the LTM just runs all the funny patterns at the beginning and sorts the results, but that's because I can't track intermediate match states on them yet 17:29
when I can keep sets of positions into patterns, I can distribute the parallel match down the trie 17:30
17:30 skeptical_p joined, skeptical_p left 17:31 skeptical_p joined
diakopter hm 17:31
TimToady (probably with some limit on the trie size to avoid explosion on non-recurring texts
at some point it starts behaving more like egrep
and only caches recent state sets 17:32
that's been my plan for a long time now, but I keep having to do silly things like design the language... 17:33
and the current LTM prototype is good enough to have the correct semantics, if slowly
jnthn An irritating distraction. ;-)
17:34 ash_ joined
jnthn hi ash_ :-) 17:34
ash_ hi
jnthn I'd already gone to attempt sleep by the time you wrote some more questions last night, sorry.
ash_ i think i got the method forwarder working now, so my patch is done, with some testing first of course
jnthn \o/
Great.
ash_ no worries
17:35 barney left 17:36 ruoso left
ash_ some of the parrot stuff you did in master i am not completely comprehending, but i think i get the gist of it, for your forwarder 17:36
jnthn Yes, we hide Parrot away behind the metamodel now rather than twiddling with it too directly.
I need to deal with one other $work task and then make some dinner, so I'll probably have time to focus on looking at your patch and hopefully applying it in a couple of hours. 17:37
ash_ how does .lex work? i am having 1 issue with that, creating a closure in parrot for the forwader 17:38
i am on campus at my school and for whatever reason the perl.org irc server won't let me connect 17:39
so i can't get to #parrot
jnthn If you want to see a really simple example of that, see assuming (maybe just in master, not sure if we did also put it ng yet)
17:39 pmurias left
jnthn But basically... 17:39
.lex '$foo', $P0 associates the register $P0 (you can use a symbolic one too) with the name $foo
You then make your inner thingy that you're going to return have it's :outer('...') match the subid of the thing that generates the closure 17:40
And then you can do x = find_lex '$foo'
But be sure to call newclosure as well (in the closure generator) to make sure you get a clone attatched to the right outer scope 17:41
Also I did such a thing in src/metamodel/Attribute.nqp
If you look at how the PIR falls out of that, that may give you more clues.
17:42 Intensity joined 17:43 ruoso joined 17:44 jackyf left
ash_ gist.github.com/275400 so, right now, the Foo.^bar form works, but the forwarder gives: Lexical '$meth_name' not found 17:45
do you see anything i just did wrong?
jnthn hmm, don't immediately see a problem 17:47
Maybe add a :subid('ClassHOW::add_meta_method') and reference that in the :outer though?
In case it's picking up some other add_meta_method
so it's 17:48
.sub 'add_meta_method' :method :subid('ClassHOW::add_meta_method')
and then :outer('ClassHOW::add_meta_method')
below
You have an add_meta_method elsewhere, so probably best to disambiguate. :-)
ash_ alright, i'll try that 17:49
i realize the only difference between your master version and the one i made for ng is i use HOW.HOW's add_method and you do an 'infix:does' 17:50
hmm still getting that error
17:52 jackyf joined
ash_ what if i declare the .sub as a :lex 17:54
17:54 dakkar left 17:55 stephenlb joined
jnthn ash_: You shouldn't have to do that if you have a .lex in the sub itself. 17:55
Oh wait, you mean the inner one... 17:56
Hmm, but try that, but again, I don't *think* that'd make a difference.
ash_ i am having trouble finding much documentation on :lex, but it is mentioned in the PIR book chapter 6 on sub's 17:57
jnthn Yeah, I've never used it as far as I can remember, I think it's for if you have a more dynamic lexpad rather than use .lex 18:00
PerlJam Based on the ack I just did of my parrot working copy, there's not a whole lot of info on :lex 18:01
ash_ Languages where this information is not available can mark the subroutine with :lex instead. /from chapter 6 of pir book 18:02
in regards to .lex 18:03
so, i guess it has something to do with the language lexical rules vs parrots lexical rules?
18:03 r0bby left 18:04 r0bby joined
ash_ would find_dynamic_lex be any better than find_lex? 18:04
i assume they have different lookup rules
jnthn No, find_lex is what we tend to use for this. It looks like it should work, which is odd. :-/ 18:09
18:10 r0bby left
ash_ eh, i'll keep working on it and send it to you later, i am sure i just did something dumb somewhere, i am blaming this one on my lack of pir experience 18:10
18:10 r0bby_ joined
ash_ in parrot, can i return the object idea? _dumper doesn't return that, i am trying to figure out what pmc the inner scope thinks its bound to 18:14
18:16 r0bby_ left, r0bby joined 18:19 am0c left 18:22 r0bby left, r0bby joined 18:28 r0bby left, r0bby joined 18:33 skeptical_p left 18:34 r0bby left, r0bby joined, ash_ left 18:36 IllvilJa left 18:40 r0bby left, r0bby_ joined
jnthn phenny: tell ash_ the interpinfo opcode lets you introspect such things. 18:41
phenny jnthn: I'll pass that on when ash_ is around.
18:46 skeptical_p joined, r0bby_ left, r0bby joined
PerlJam jnthn: could you give an update on Rakudo for #ps since pmichaud seems absent? 18:48
(just asking becuase I'm lurking on #ps right now and there don't seem to be any updates)
18:50 jjore joined 18:53 r0bby_ joined, slavik1 joined, r0bby left 18:54 ShaneC joined, slavik1 left, slavik2 joined 18:58 slavik2 left 18:59 IllvilJa joined, r0bby_ left 19:00 r0bby joined 19:02 frew left 19:04 slavik left, mikehh_ is now known as mikehh 19:05 frew joined, r0bby left 19:06 r0bby_ joined 19:11 squ joined
squ what advantages do perl6 offer over p5 19:11
19:12 r0bby_ left, r0bby joined
Su-Shee squ: extremely smooth coding for starters. everything not-so-nice in p5 is smoothened in p6 19:12
squ: many features you'd like added
squ Id like? 19:13
Su-Shee squ: and on top of it "cool stuff" which makes typical handling of for example lists easier then ever before.
squ I dont get it Su-Shee
Su-Shee squ: "everyone likes" ;) like named parameters, classes for example.
squ p5 dont have classes? 19:14
Su-Shee squ: it does bless. moose added more classy classes. p6 has classes natively, so to speak.
squ: do you know p5 already? 19:15
squ I hope 19:16
no demand to use it often
Su-Shee squ: err.. and you don't know bless? :)
squ nope 19:17
started to learn perl from 5.0004
19:17 rgrau` joined
squ when I bought a book about it 19:17
Su-Shee "and never updated"? ;)
squ no demand 19:18
19:18 hercynium joined, r0bby left, r0bby joined
squ and what forced you to learn bless? 19:18
Su-Shee squ: ?! that's how OO perl is done with perl 5. 19:19
squ wtf
is that anser
w
?
:)
Su-Shee squ: with bless you do objectoriented perl in perl 5. it's how modules let you inherit stuff. 19:20
squ and what forced you to learn bless? 19:21
it is question
12/1/2010 21:23:30 Su-Shee !i=user-405@p579F6F0A.dip.t-dialin.net> squ: with bless you do objectoriented perl in perl 5. it's how modules let you inherit stuff. 19:22
it is statement
Su-Shee I don't even know what to say to that.
squ ah forget, I just wasting my time 19:23
PerlJam squ: Su-Shee wanted to do OOP in perl, ergo she learned about bless.
squ btw, what does proxyscan.freenode.net do to my 80 port and why
?
:( 19:24
TimToady probably makes sure you aren't running an open relay
19:24 r0bby left 19:25 r0bby joined
squ its asking "CONNECT 213.92.8.7:31204 HTTP/1.0" 19:25
19:25 thowe joined
TimToady when you attach to freenode there's a message about how it does that, I think 19:26
squ: here's the message 19:28
18:55 -!- - freenode runs an open proxy scanner. Your use of the network
18:55 -!- - indicates your acceptance of this policy. For details on
18:55 -!- - freenode network policy, please take a look at our policy
18:55 -!- - page (freenode.net/policy.shtml). Thank you for using
18:55 -!- - the network!
19:29 payload joined
TimToady squ: Are you Latvian? 19:29
squ I hope no
diakopter <snort>
squ but enviroinment makes me one of them 19:30
19:30 r0bby left 19:31 r0bby joined
TimToady if russian is your native tongue, we can probably put you in touch with people who can help you more than we can 19:31
squ I dont need help actually 19:32
just have a problem
TimToady if you have a problem, then you need help :)
squ yes
will I abandon perl after 6 come out
as most people did with python when p3 came out 19:33
4 years passed they still use p2.5
TimToady I tend to think that people will abandon python when Perl 6 comes out. :)
squ google use python 19:34
no one wants perl developers
TimToady yes, I know, my brother-in-law works there, and doesn't like Python, so I hear it all the time
squ: you shouldn't make blanket statements that aren't strictly true
squ sorry, my mistake 19:35
Id love to do something with perl, but cant get job as perl developer
so Im forced to learn php
and I am very upset about fact 19:36
but thats not all
TimToady well, if you haven't learned about bless, then you really don't know perl yet, and are asking for a job you aren't yet qualified for
there are still plent of jobs for people who really know perl 19:37
*plenty
squ cool
19:37 r0bby left
squ then Ill go learn bless ok? 19:37
:)
TimToady though perhaps not in .lv
19:37 r0bby joined
TimToady have fun 19:37
squ I go thanks 19:38
19:38 squ left
TimToady
.oO(probably doubly hard for a russian expat to land a job in latvia)
19:39
jnthn TimToady: There's a lot of Russian speakers in Latvia, afaik. 19:41
I think pretty large minority there.
TimToady yes, I know
but they went from top dog to bottom dog overnight
jnthn Yes, true. :-/
TimToady and some of them still have a sense of entitlement that doesn't serve them well in the new "environment"
not saying that's necessarily so in this case, but it is a known failure mode :) 19:42
jnthn :-)
Hmm...maybe time to try and get parametric roles back in place...and then try and do hashes. 19:43
19:43 r0bby left, r0bby joined
TimToady it's hard to explain to someone who only knows Perl 4 why Perl 6 is better than Perl 5... 19:43
Su-Shee that's why I stopped trying.
jnthn PerlJam: oops, sorry, was dinnering 19:44
colomon_ jnthn: do you think patching up ng's list assignment is something that could be done by someone out of his head on cold medicine?
jnthn TimToady: I thought it was 5.004, not 4
TimToady 5.004 had bless, but squ doesn't know it
jnthn Ah, I see your point. :-)
19:45 slavik joined
jnthn colomon_: Erm. Being out of your head may or may not help. Trouble is I dunno how it needs to intereact with laziness... 19:45
colomon_ jnthn: ah, laziness. 19:46
jnthn Yeah. The implementation work on it is, erm, not eager enough. ;-)
colomon_ okay, I'll forget about that for today and pay my taxes or something equally painful instead. 19:47
jnthn You're welcome to have a crack, but otoh it wouldn't surprise me if it ended up getting re-done again later. 19:48
19:49 r0bby left, r0bby joined
jnthn (Which is also what kinda puts me off - because I'm fairly sure pm knows how we wants it to look, but I'm not sure what that way is.) 19:51
Hopefully we get our pm back soon. And masak.
jnthn pines
19:52 dugg joined
Su-Shee did they got married and run away to vegas? 19:52
no, the other way round...:)
jnthn got to vegas and run away married? ;-) 19:53
TimToady pm is rightly concentrating on family matters right now 19:54
19:55 r0bby left
jnthn Aha, OK. 19:55
19:55 r0bby joined
jnthn TimToady: Good to know he's not sick or something - thanks. 19:55
colomon_: How much of a blocker is it? 19:56
PerlJam TimToady: you mean Perl 6 isn't the most important thing ever?!?
(I guess I should add a smiley just in case the sarcasm doesn't quite come through ;-) 19:57
jnthn colomon_: If a big one, we maybe could go for an intermediate non-lazy impl...
19:57 frew left
Su-Shee PerlJam: sure it is. I've today changed our entire software architecture to better fit p6. ;) 19:57
19:59 hercynium left, frew joined
PerlJam Onre of these days I'd like to pin down a couple of those people that are strident nay-sayers about Perl 6 and get them to show me the magic formula that would have already gotten us there. 20:00
s/Onre/One/
of course then it'll probably be "oh, I'd just use ruby and wouldn't bother with perl" 20:01
20:01 r0bby left
PerlJam or some suche 20:01
20:01 r0bby joined
PerlJam s/che/ch/ 20:01
Su-Shee PerlJam: "already gotten us" where? 20:02
PerlJam Su-Shee: to where ever Perl 6 is headed. you know "done"
jnthn *sigh* Oh no, not another "done" discussion. 20:03
:-)
colomon_ jnthn: sorry about that, I wandered away to work on the dishes.
jnthn np
TimToady PerlJam: those are the people who are never happy unless they have something to be unhappy about.
Su-Shee jnthn: he didn't mean the "when done" - more the "where to done" :)
jnthn Su-Shee: Aye...I spent the best part of an hour reading the long discussion from around new years on such things and came away like, "well there's an hour of my life I won't get back..." :-/ 20:05
colomon_ TimToady: do you have any feel for how long pmichaud will be out of it?
PerlJam ha!
colomon_: you've just unknowingly made me a little happy
colomon_ jnthn: in general, list assignment (in one form or another) seems to be blocking a bunch of stuff. I don't have a feel for how important it is in the grand scheme of things, though. 20:06
PerlJam: ?
Su-Shee jnthn: I personally don't care besides my impatience I always have. I will use p6 and I know exactly what for and that's what I'm preparing for today. problem solved for me.
20:07 r0bby left
PerlJam colomon_: I've known pmichaud for a long time and around here people are always asking me about him. It brings me a little bit of joy to see *someone else* asked about pm :) 20:07
20:07 r0bby joined
colomon_ PerlJam: ah! :) 20:07
PerlJam colomon_: If you can do it, then I'd say do it. The worst that could happen is that pm later replaces your implementation. 20:08
(okay, that's not the *worst* that could happen, but that's the most probable worst)
colomon_ Anyway, I don't want to be nosy, just trying to get an idea if maybe it would be worth tackling a few of pmichaud's projects while he is "away". 20:09
jnthn Yes, nothing worse than that's ever happened to me when I wrote code that needed replacing. :-)
colomon_: Aye, I agree knowing "a couple of days" vs "a couple of weeks" would mean we decide things differently.
colomon_ what if it needs replacing .... but it Doesn't Get Replaced!?!!!!! ;) 20:10
jnthn The appocalypse happens early.
So nothing serious really.
PerlJam We've already had the apocalypses :)
jnthn well, nothing to be worried about then. 20:11
20:13 r0bby left, r0bby joined
jnthn colomon_: OK, my feeling is, if you feel it's blocking things, take a look at how it's done in master and then give it a try. You probably will need to implement !STORE on List or some such. 20:16
colomon_ jnthn: groovy. I will see what I can do once I've got my taxes done. :) 20:17
20:18 r0bby left
jnthn fixes a stupid bug he made in the docs for another open source project and finally gets on to doing Rakudo things. 20:20
20:20 bluescreen left 20:26 bluescreen joined 20:29 Mantis joined 20:35 uniejo left
jnthn rakudo: say Positional ~~ Role 20:42
p6eval rakudo 3867ff: 1␤
jnthn rakudo: say Positional[Int] ~~ Role
p6eval rakudo 3867ff: 0␤
jnthn oh, damm, master has the bug too.
.oO( how'd we get away with that... )
20:43
rakudo: say &trait_mod:<does>.candidates>>.signature>>.perl>>.say 20:44
p6eval rakudo 3867ff: :(Object $class where all(), Object $role)␤:(ContainerDeclarand $c, Object $role)␤11␤
jnthn oh heh, like that.
colomon_ looks up briefly from his taxes and is very impressed by that line of code... 20:48
20:48 r0bby joined 20:49 r0bby left, r0bby joined 20:55 ashizawa left 20:56 r0bby left, r0bby_ joined
jnthn Hmm. Having Role represent both the undisambiguated collection of roles and an individual disambiguated role is tricky. 20:56
20:57 r0bby joined 20:58 r0bby left 21:00 r0bby_ left
jnthn TimToady: Any thoughts on this? 21:00
TimToady: I've kinda been treating the thing in the namespace as always being the thingy that knows about all of the roles, and if you try and do that somewhere, it knows to disambiguated itself through doing Foo[]. 21:02
*to disambiguate
Having Foo (all of em) and Foo[] / Foo[Int] etc (particular disambiguated forms of the role) pretending to be the same thing feels a bit awkward in a "trying not to just cheat and lie" world. :-) 21:03
A Perl 6 level way (rather than just a guts one) to know which we have would allow me to make things a little less magical anyways. 21:07
spinclad rather like having both the full multi bundle and the particular chosen candidate being Subs 21:12
jnthn Well, we don't do that in Rakudo either.
spinclad maybe like both Int and 0 being Ints
jnthn rakudo: multi foo() { }; say &foo.WHAT
p6eval rakudo 3867ff: ␤ 21:13
jnthn ...
rakudo: sub foo() { }; say &foo.WHAT
p6eval rakudo 3867ff: Sub()␤
jnthn rakudo: multi foo() { }; say &foo ~~ Sub
p6eval rakudo 3867ff: 0␤
jnthn rakudo: multi foo() { }; say &foo ~~ Multi
p6eval rakudo 3867ff: 1␤
jnthn rakudo: multi foo() { }; say &foo ~~ Code
p6eval rakudo 3867ff: 1␤
jnthn They're all Code but not all Sub.
spinclad right 21:14
jnthn Which is why I'm wondering if there's a "3 things" situation for roles.
spinclad so is Role like Code or like Sub?
jnthn And if it's like Code, what are the names of the other two things? :-)
I think we need to have a way to disambiguate, anyways, for the occasions people will care. 21:15
spinclad i somewhat think of Foo as (*args -> Role) and Foo[Int] as the resulting Role... 21:16
so in that sense different types
jnthn Yeah 21:17
That's my kinda feeling too.
spinclad i would like to definitely think that, with the Specs saying so
jnthn Better than trying to paper over the difference, imo.
21:18 tylerni7 left
spinclad so Role isn't like Code or Sub but like the type they return 21:20
jnthn In a sense, yes. 21:21
spinclad & 21:23
21:24 tylerni7 joined 21:26 r0bby joined 21:30 sjn joined, ignacio_ left 21:32 r0bby left, slavik left, r0bby joined 21:33 SmokeMachine left 21:34 r0bby left 21:37 alester joined, jaldhar joined, soupdragon left 21:38 soupdragon joined, r0bby joined, r0bby left 21:39 mssm left 22:01 ruoso left
dalek kudo/ng: f9001fa | jonathan++ | src/ (7 files):
Bunch of fixes to get parametric roles just about working again.
22:03
22:07 bluescreen left 22:08 dduncan joined 22:11 Su-Shee left
dduncan p6eval 1+1 22:14
oh right
perl6: 1+1
p6eval elf 29530, pugs, rakudo 3867ff: ( no output )
dduncan perl6: say Bool::True.WHAT; 22:15
p6eval pugs: Bool␤
..elf 29530: STRING␤
..rakudo 3867ff: Bool()␤
dduncan perl6: say Same.WHAT;
p6eval rakudo 3867ff: Could not find non-existent sub Same␤in Main (file src/gen_setting.pm, line 324)␤
..elf 29530: STRING␤
..pugs: *** No such subroutine: "&Same"␤ at /tmp/inuctN74F2 line 1, column 5-14␤
dduncan perl6: say Order::Same.WHAT; 22:16
p6eval rakudo 3867ff: Order()␤
..pugs: *** No such subroutine: "&Order::Same"␤ at /tmp/7Uoc88KeBp line 1, column 5-21␤
..elf 29530: STRING␤
22:16 ive joined
cj how do I search under $('#foo') for all elements with class .bar ? 22:17
oops. this isn't #jquery! 22:18
dduncan cj, no, but you can still do that sort of thing in Perl 6
22:18 meppl left
cj dduncan: do I get a pony, too? 22:18
dduncan yes 22:19
perl6: say Bool::False.HOW;
p6eval rakudo 3867ff: Bool()<0x2b47fc5b9db8>␤
..pugs: ^Bit␤
..elf 29530: Can't locate object method "HOW" via package "Bool::False" (perhaps you forgot to load "Bool::False"?) at (eval 123) line 3.␤ at ./elf_h line 5881␤
22:20 ive left 22:22 ash_ joined 22:26 lest_away is now known as lestrrat, ash_ left 22:29 ash_ joined
ash_ jnthn ping? 22:31
jnthn ng: say Int ~~ Num
phenny ash_: 18:41Z <jnthn> tell ash_ the interpinfo opcode lets you introspect such things.
p6eval ng f9001f: 1␤
22:32 slavik joined
jnthn ash_: hi 22:32
ash_ i am going to email you both of my patches, the first one gets meta methods working, the second one still has a bug but i haven't figured out why 22:33
jnthn ash_: OK, great.
email is jnthn at jnthn dot net 22:34
ash_ sure thing
sjohnson rakudo: my @farm = <piggy bird rooster>; @farm.map( { uc; }); say @farm.perl; 22:35
p6eval rakudo 3867ff: No applicable candidates found to dispatch to for 'uc'␤in Main (file <unknown>, line <unknown>)␤
sjohnson rakudo: my @farm = <piggy bird rooster>; @farm.map( { uc($_); }); say @farm.perl;
p6eval rakudo 3867ff: ["piggy", "bird", "rooster"]␤
PerlJam sjohnson: perhaps you wanted @farm.=map ? 22:36
sjohnson i think you are correct
i was kind of thinking the .= is unnecessary... because the $_ is an alias... 22:37
<--- confused 22:38
rakudo: my @farm = <piggy bird rooster>; @farm.map( { $_ = uc($_); }); say @farm.perl;
p6eval rakudo 3867ff: ["PIGGY", "BIRD", "ROOSTER"]␤
sjohnson there we go
rakudo: my @farm = <piggy bird rooster>; @farm.map( { $_.=uc; }); say @farm.perl;
p6eval rakudo 3867ff: ["PIGGY", "BIRD", "ROOSTER"]␤
ash_ jnthn: its sent, so hopefully you should get it in a bit
pugs_svn r29531 | jnthn++ | [t/spec] Correct some tests in light of Int/Num and Num/Rat changes - they're bad examples now, so use explicit declared subtypes for these tests. 22:39
PerlJam my @farm = <piggy bird rooster>; @farm.=map( { uc($_); }); say @farm.perl;
oops.
rakudo: my @farm = <piggy bird rooster>; @farm.=map( { uc($_); }); say @farm.perl;
p6eval rakudo 3867ff: ["PIGGY", "BIRD", "ROOSTER"]␤
PerlJam rakudo: my @farm = <piggy bird rooster>; @farm.=map(uc(*)); say @farm.perl;
p6eval rakudo 3867ff: No applicable candidates found to dispatch to for 'map'␤in Main (file <unknown>, line <unknown>)␤ 22:40
22:40 r0bby joined
PerlJam Hmm. 22:40
jnthn ash_: Thanks.
PerlJam I'm I forgetting something obvious about Whatever, or is that just not implemented?
sjohnson PerlJam: the .=map is food for thought. wrapping my head around it as we speak 22:41
jnthn PerlJam: I think you wanted *.uc
PerlJam jnthn: ah, yes.
ash_ rakudo: <piggy bird rooster>.map({ .uc }).join(', ').say;
jnthn rakudo: my @farm = <piggy bird rooster>; @form>>.=uc; say @farm.perl; # hmm, maybe... :-) 22:42
p6eval rakudo 3867ff: PIGGY, BIRD, ROOSTER␤
rakudo 3867ff: Symbol '@form' not predeclared in <anonymous> (/tmp/7mwEL2EmIP:2)␤in Main (file <unknown>, line <unknown>)␤
jnthn rakudo: my @farm = <piggy bird rooster>; @farm>>.=uc; say @farm.perl; # hmm, maybe... :-)
p6eval rakudo 3867ff: ["PIGGY", "BIRD", "ROOSTER"]␤
PerlJam you must be right. Because the way I wrote it would mean uc({ $_ }) and that's just crazy
jnthn whee
ash_ grumbles jnthn and his silly hyper operators
jnthn I only implemented the spec. :-P 22:43
PerlJam <piggy bird rooster>.map(*.uc).perl.say;
ash_ rakudo?
PerlJam needs a bot that doesn't need "rakudo:" to know I'm talking to it
sjohnson heheh
ash_ perl6: <piggy bird rooster>.map(*.uc).perl.say;
PerlJam It should just go "ah, there's some perl code" and execute it.
:)
p6eval rakudo 3867ff: ["PIGGY", "BIRD", "ROOSTER"]␤
..pugs: *** Cannot cast from VList [VStr "INF"] to Pugs.AST.Types.VCode (VCode)␤ at /tmp/7ldmgVOvc1 line 1, column 1-40␤
..elf 29531: Undefined subroutine &GLOBAL::whatever called at (eval 126) line 3.␤ at ./elf_h line 5881␤
dalek kudo/ng: ca8d80b | jonathan++ | src/ (2 files):
One more fix that sees us able to pass all but two tests in S14-role/parameterized-basic.t that we can in master; will hunt those two down tomorrow.
kudo/ng: 93d662a | jonathan++ | src/ (2 files):
A couple of more role tweaks to get us closer to passing a bit more.
sjohnson PerlJam: i suppose if you wrote a quick script to pass it to a std-like local rakudo thingy 22:44
to run it if it's valid
jnthn ash_: I've spent my evening debugging and sorta fixing parametric roles - I'll take a shufty at your patches and try to debug 'em tomorrow.
ash_ alrighty, did they apply cleanly for you? 22:45
jnthn ('cus I'm tired now)
I didn't try yet, but I don't think anything I've done will cause them not to. Or at least, I hope not.
sjohnson thanks PerlJam
PerlJam rakudo: <piggy bird rooster>>>.uc.perl.say; # this is the one that's likely to cause people fits :)
p6eval rakudo 3867ff: ["PIGGY", "BIRD", "ROOSTER"]␤
sjohnson wow that's a neat trick
rakudo: <piggy bird rooster>.uc.perl.say;
p6eval rakudo 3867ff: "PIGGY BIRD ROOSTER"␤ 22:46
sjohnson what were the extra two >'s for PerlJam ?
PerlJam sjohnson: obfuscation! :)
ash_ hyper operator
sjohnson heh
22:46 r0bby left, r0bby joined
sjohnson i'm a fan of thast obfuscation stuff 22:46
22:46 meppl joined
sjohnson saw some interesting perl 5 japh's 22:46
jnthn sjohnson: If you have @list>>.method then it calls method on every item in the list and makes you a new list of results.
PerlJam rakudo: <piggy bird rooster>.>>.uc.perl.say; # clearer but still makes you think 22:47
p6eval rakudo 3867ff: ["PIGGY", "BIRD", "ROOSTER"]␤
22:47 soupdragon left
sjohnson is the >> operator unncessary though? 22:47
ash_ its required 22:48
sjohnson i did it without it though ash_
jnthn sjohnson: .uc coerced the list to a string and uc'd the one string.
sjohnson rubs eyes 22:49
oh
i c
didn't see those quotes
ash_ sjohnson: notice in your's its 1 big string, not 3 strings in a list
jnthn rakudo: <a b c>.uc.WHAT.say
p6eval rakudo 3867ff: Str()␤
sjohnson good eye!
jnthn rakudo: <a b c>>>.uc.WHAT.say
p6eval rakudo 3867ff: Array()␤
22:49 soupdragon joined
sjohnson irc colour coded quotes for the .perl thing would be pretty k3wl 22:49
might be too cool for school tho 22:50
22:50 soupdragon left 22:51 r0bby left 22:53 dugg left
ash_ so, jnthn if i did (in pir), $P1 = newclosure $P1 \n say $P1.'get_lexinfo'() shouldn't that print out the lexical variables of the closure? 22:54
jnthn no, it's a parse error... 22:55
PerlJam ash_: you can only say/print simple things.
ash_: PIR is assembly after all.
jnthn $P0 = $P1.'get_lexinfo'() and then say $P0 may do something
but probably nothing quite that useful.
I forget what that exactly returns.
ash_ it says it should return a hash
jnthn OK
In that case you can probably iteratre its keys to see what's in there. 22:56
ash_ I just am trying to see find some way to see why find_lex '$meth_name' dies
jnthn Yes, I'm a bit confused about that too. 22:58
I'll dig deeper tomorrow.
ash_ kk
jnthn ('tis about midnight in my $timezone now... :-))
ash_ oh, well, dang, you stay up late then if i keep seeing you online at this thime 22:59
22:59 iblechbot left
jnthn ash_: Oh, I'm certainly an evening person. 23:00
ash_: I've got a phone meeting tomorrow morning though, so can't stay up *too* late tonight. :-) 23:01
ash_ do you work on rakudo full time or is it something you do on the side? 23:02
jnthn ash_: It's been somewhere between the two over the last year really. 23:03
ash_ got ya, just wondering 23:04
jnthn I've not had a full time job, just consulting, and between various jobs and some grants to work on Rakudo, I've managed to keep food on the table and be able to go travel a bit.
sjohnson rakudo: say "40".pack
jnthn In March I am joining a company, which means I won't have to worry so much about where my next bit of work is coming from. 23:05
p6eval rakudo 3867ff: Method 'pack' not found for invocant of class 'Str'␤in Main (file src/gen_setting.pm, line 324)␤
sjohnson rakudo: say pack("c", 40);
p6eval rakudo 3867ff: Could not find non-existent sub pack␤in Main (file src/gen_setting.pm, line 324)␤
PerlJam jnthn: a rakudo-friendly company?
jnthn PerlJam: Yeah. :-)
PerlJam sjohnson: pack/unpack aren't implemented to my knowledge
jnthn PerlJam: I'm not going to be doing full time.
PerlJam: And they're very happy with me going to conferences. 23:06
PerlJam jnthn: yeah, but if you could get paid to work on rakudo, that's always awesome.
ash_ sweet, sounds like a goodjob
23:06 meppl left
jnthn PerlJam: The way it works out I kinda *do* need to do something that pays a bit in the remainder of the time, but yes, I'd like that to be Rakudo stuff. 23:07
23:08 zykes- left, Mantis left, payload left, orafu left, drbean left, japhb left, arnsholt left, takadonet left, renormalist left, astinus left, spinclad left, zibri left, jan_ left, kolibrie left, sjohnson left, gabiruh left, pardunci1 left, ssm left, jaldhar left, nihiliad left, smash_ left, Guest91012 left, rachelBROWN left, gbacon left, PacoLinux left, szabgab left, lisppaste3 left, constant left, partisan left, breinbaas left, yahooooo left, pjcj left, youwin left, nsh left, Woody2143 left, eiro left, phenny left, sbp left
ash_ how does interpinfo work? 23:09
PerlJam We need an Ian Hague type fellow to setup a business that needs rakudo and hire pm + jnthn :)
ash_ like, are there any examples i can reference, doing an ack "interpinfo" didn't get me much
23:10 jaldhar joined, nihiliad joined, smash_ joined, Guest91012 joined, rachelBROWN joined, gbacon joined, PacoLinux joined, szabgab joined, lisppaste3 joined, constant joined, partisan joined, breinbaas joined, yahooooo joined, pjcj joined, Woody2143 joined, youwin joined, nsh joined, sbp joined, phenny joined, pardunci1 joined, ssm joined, eiro joined, irc.freenode.net sets mode: +v phenny
jnthn ash_: oh, it's a funky op. 23:10
ash_: let me try and find you something...
23:10 sjohnson joined, Mantis joined, payload joined, orafu joined, drbean joined, japhb joined, arnsholt joined, takadonet joined, renormalist joined, astinus joined, spinclad joined, zibri joined, jan_ joined, kolibrie joined, gabiruh joined, zykes- joined, irc.freenode.net sets mode: +o sjohnson 23:11 justatheory left
jnthn ash_: oh actually 23:11
I think nicer is...
Tehre's a $P0 = getinterp op
iirc
23:11 justatheory joined
jnthn That gets you an object representing the interpreter 23:11
ash_ k, thanks, ill try that
jnthn Then you can do things like $P0['sub'] or $P0['lexpad']
And it's a much saner interface. 23:12
Not sane, but saner
See I think src/pmc/parrotinterpreter.pmc in Parrot source tree, get_pmc_keyed method or some such.
ash_: oh, here you go 23:13
docs.parrot.org/parrot/latest/html/...r.pmc.html
And getinterp is documented in docs.parrot.org/parrot/latest/html/...e.ops.html
So is interpinfo akshually 23:14
ash_ i am going to sign up for the google summer of code to work on parrot this summer, hopefully to implement an llvm stack frame builder, well thats my proposal anyway, this stuff is helping me learn about parrot a lot, plus i'd love to see rakudo star get as far along as it can before its supposed to be released
jnthn ash_: OK, cool.
ash_: There's likely projects within Rakudo itself as well - really depends on what you will find most -Ofun. :-) 23:15
ash_ interpinfo is confusing, what does it mean by the list of .CAPITAL_LETTERS 23:16
are those options? thats what i found confusing about it
jnthn They're constants 23:17
You have to .include them
Thus why I prefer getinterp
and then inspect that
ash_ k, i'll use that for now 23:18
jnthn k 23:27
jnthn -> rest, night
sjohnson rakudo: my @strs = " x ", "x ", "x", " x "; say @strs.trim.perl;
ash_ cya later
p6eval rakudo 3867ff: "x x x x"␤
sjohnson rakudo: my @strs = " x ", "x ", "x", " x "; say @strs.>>.trim.perl;
p6eval rakudo 3867ff: ["x", "x", "x", "x"]␤ 23:28
sjohnson intersting >> operator.. what do they call it?
TimToady it's not really an operator; it's a meta-operator 23:29
this particular meta-operator is called a hyper
a hyperop modifies some other operator to run in parallel over multiple values
when it would naturally only work on one value
in this case. the method call 23:30
is treated as a fancy postfix operator
ash_ you can do it the other way too
-« (1,2,3); # (-1, -2, -3) # from the spec 23:31
diakopter pugs: say -« (1,2,3); 23:32
p6eval pugs: -1-2-3␤
ash_ i don't think it works in rakudo though
ah, but it works in pugs, cool
sjohnson thanks TimToady and ash_ 23:33
TimToady: is there a pack(); func in p6? 23:34
ash_ its talked about in S03, so you know, the section on Meta Operators goes over the general meta ops and in there are the specifics of hyper
sjohnson: yes, in S32-Str they talk about it for strings, its not yet implemented though 23:35
sjohnson oic
TimToady ash_: you have to understand that sjohnson doesn't actually believe in reading docs. he intents to learn it all by asking questions here. :P
ash_ maybe i should respond with more links? :P 23:36
TimToady commuting &
sjohnson sorry TimToady :( but i will read them 23:37
just need to sit down, and do it
diakopter sjohnson: that's what I do too. 23:38
ash_ perl cabal's syn is searchable btw, perlcabal.org/syn
sjohnson TimToady: if i read the docs, i wont have the joy of having people help me anymore :) 23:39
23:43 payload left 23:50 nihiliad left