perl6-projects.org/ | nopaste: sial.org/pbot/perl6 | evalbot: 'perl6: say 3;' | irclog: irc.pugscode.org/
Set by mncharity on 25 March 2009.
jnthn I much prefer evenings too. 00:00
However, Slovakia is very much an early morning rather than a late night place.
TimToady if I get consistently less than 8 hrs sleep for more than a couple nights, my immune system seems to just shut down
in college I found I could alternate 5 and 8 hr nights 00:01
but two 5 hr nights in a row and I'd be asking for it
jnthn If I get too tired I just get fed up with everyone...
pmichaud 4 or 5 hr nights have long been the norm for me -- going even back to high school.
jnthn That seems to be the only really bad side-effect.
pmichaud usually I manage to put together a long string of 4 or 5 hr nights, and then have one 12 hr night. 00:02
jnthn I rarely get 8 hours. But I need a decent 6 or so most nights.
pmichaud it's not anything I do consciously -- it's just the way my body seems to have adapted.
jnthn I always kinda wish I was one of the people who lay down and just fell asleep.
But that very rarely happens.
00:03 DemoPhreak is now known as DemoFreak
skids I know someone who doesn't even need to lie down. :-) Totally envy him, or I would if he wasn't always more tired than me somehow. 00:03
jnthn Actually, now we're getting to summer I don't mind doing later nights and so on.
I just in winter hated getting up, starting working by midday and looking out the window a few hours into work and noticing it was already dark... 00:04
skids: ah, not having to lie down to sleep could be useful. Sleeping on the long-haul flights where it was appropriate to do so would be helpful... 00:06
TimToady well, if I remove sigil as a listop, the only test that fails to parse is the test for whether sigils can be used as listops :) 00:09
so I'm thinking to break that, and require slice 1,2 Z 3,4 instead of @@ 1,2 Z 3,4
then we can maybe do something sane with non-declarative ($,$) = stuff 00:10
though ($,*@) would still blow sky high 00:11
jnthn In what context?
TimToady non-declarative 00:12
jnthn rakudo: ($, *@) = (1,2,3)
TimToady two terms in a row
* and @
p6eval rakudo 70fc00: OUTPUTĀ«Syntax error at line 1, near "($, *@) = "ā¤ā¤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)ā¤Ā»
jnthn win
my ($, *@) = 1,2,3;
rakudo: my ($, *@) = 1,2,3; 00:13
pmichaud time for me to fetch dinner. And I won't be using a scope on a deer rifle for it. :-)
p6eval rakudo 70fc00: ( no output )
pmichaud bbl
jnthn pmichaud: Use it on a cow and make cheezburger!
TimToady enjoy
jnthn pmichaud: I'll sleep soon, so night :-)
pmichaud jnthn: funny you should say that -- cheezburgers are indeed the preferred meal tonight from the (very tired) family
TimToady the last time my brother went deer hunting he made hamburger out of 3/4s of the meat 00:14
but the antlers were fine :)
00:15 japhb left
jnthn I ate reindeer a copule of times and it was good. 00:19
But in the UK I got accused of "eating Christmas...how will Santa come now" ;-) 00:20
00:21 jferrero left 00:22 meppl left
skids wonders what stork tastes like 00:24
jnthn Never tried that.
I've not treid that many more interesting meats tbh. 00:25
Had wild boar in Belarus.
jnthn ist spat 00:34
Night, folks
00:40 DemoFreak left 00:41 s1n left
pugs_svn r26167 | lwall++ | Eliminate listop forms of sigils. 00:44
00:50 s1n joined
pugs_svn r26168 | lwall++ | [context.t] don't allow listop sigils any more 00:58
r26169 | lwall++ | [STD] treat bare sigils as (illegal) anonymous variables 00:59
01:02 LylePerl joined, LylePerl left 01:20 Tene_ joined
pugs_svn r26170 | lwall++ | [STD] tame overzealous undef check that assumed variable couldn't match bare & 01:24
01:32 Tene left 01:59 eternaleye joined 02:15 c9s left 02:16 c9s joined, frew|work joined, frew|work is now known as frew 02:28 c9s left, c9s joined 02:46 cdarroch left 02:52 alester_ joined 02:59 agentzh left 03:11 Limbic_Region left 03:15 orafu left, orafu joined
pmichaud rakudo: my $b = *-3; say $b(2); 03:18
p6eval rakudo 70fc00: OUTPUTĀ«Use of uninitialized valueā¤invoke() not implemented in class 'Float'ā¤current instr.: '_block14' pc 110 (EVAL_17:52)ā¤Ā» 03:19
03:19 hercynium left
pmichaud rakudo: my $b = */2; say $b(4); 03:19
p6eval rakudo 70fc00: OUTPUTĀ«0.5ā¤Ā»
pmichaud oops.
03:35 sitaram joined 03:44 skids left 03:50 amoc joined, Util left 04:16 justatheory left 04:17 Maghnus joined
pugs_svn r26171 | hinrik++ | [util/perl6.vim] remove listop sigils, highlight $ placeholder like a variable, not an operator 04:36
pmichaud TimToady: ping 04:57
TimToady: earlier you said that infix:<..> has (Int,Whatever) and a (Whatever,Int) (and a (Str,Whatever) and a (Whatever,Str)) 04:58
do we also need (Int,Code), (Code,Int), (Code,Code), (Code,Whatever), (Whatever,Code) ? 04:59
05:01 japhb joined
pmichaud I'm thinking of the case @a[*-3..*-1] 05:01
or perhaps it's enough to have (Any,Code) and (Code,Any) ? 05:04
(and I guess (Code,Code) ) 05:05
multi sub infix:<..>(Code $f, $t) { -> $v { $f($v)..$t } } 05:06
05:12 alester_ left
pmichaud also, S09 has a couple of fossils: 05:13
F @results[-1] = 42; # Same as: @results.unshift(42)
@dwarves[-2..-1] # Same as: @dwarves.unshift(<Groovy Sneaky>)
= <Groovy Sneaky>;
05:20 sri_kraih joined 05:23 zamolxes left 05:25 mib_ba0z3oeb joined
mib_ba0z3oeb hello? 05:26
pmichaud mib_ba0z3oeb: hello. 05:28
mib_ba0z3oeb thank god..
i thought i was the only person left alive.....
(figuralitivly speaking......) 05:30
05:33 mib_ba0z3oeb left
TimToady pmichaud: if we add in the Code variants along with Whatever variants, then we can do (*/2)+1 and such 05:38
pmichaud but I haven't quite figured out how that works yet.
TimToady hmm, for ranges, you mean. lemme think about it some 05:39
pmichaud with @array[*-3..*-1] the postcircumfix sees a Code object
so it invokes it, getting back a Range object 05:40
do we re-dispatch to postcircumfix with the Range object?
also, several comments earlier seemed to indicate that @array[1..*] would be the same as @array[1..Inf] 05:41
but I suspect the former has a finite number of elements (for a fixed array) while the latter would be infinit 05:42
*infinite
i.e.: my @a = <alpha beta gamma>; say @a[2..*].elems, @a[2..Inf].elems; # 2, Inf 05:43
TimToady I suppose the Code forms also have to produce Code that is parameterized on the number of elements 05:44
pmichaud I don't think I follow 05:45
or, I think I don't follow that
TimToady I think subscripting operations always trim to the known number of values 05:46
pmichaud but only for ranges, yse?
because we'd still want @a[5] to give us back something and not trim
it would also seem weird if my @b = 1,2,3,4,5,6; say @a[@b].elems # 6 ? 05:47
my $b = 1..6; say @a[$b].elems # 2? 05:48
05:48 justatheory joined
TimToady well, and @a[$b] bothers me in the first place, since $b doesn't normally interpolate into a list 05:49
pmichaud there's that also :-) 05:50
does it do so in (1,2, 3, $b, 4, 5, 6) ? 05:51
TimToady I dunno, ranges are just a problem; need to cogitate 05:52
pmichaud is it at all possible likely that the whatever handling of subscripts will change (or whatever in infix math ops)? 05:53
I can switch rakudo to do postcircumfix:<[ ]> with code arguments, but we'll fail a few more tests because of the ranges issues
(I don't mind regressing on tests... just don't want to do a lot of changes to postcircumfix:<[ ]> in rakudo just to have to turn around and switch it again if I can avoid doing that :-) 05:54
TimToady need to think, and my thinker is not completely on track right now (sinus infection)
pmichaud oh, very sorry to hear that. I had a sinus infection a week or so ago; it's gone bu tleft me with a minor chest cough/cold 05:55
another item to toss in the mix on this issue, then 05:56
suppose I have a new type Foo and I want to define how postcircumfix:<[ ]> operates on Foo objects.... what's the standard mechanism for doing that?
obviously I'd say "Foo does Positional" or something like that 05:57
but how do I specify that an integer argument maps to some result?
TimToady but we need to figure how multi-dimensionality fits into the role
pmichaud is it a method or a multi sub?
oh yes, and multi-dimensionality too.
essentially, I'm wondering how we get slicing and closure behaviors into custom postcircumfix:<[ ]> operations 05:58
TimToady I suspect we need to see how it works for normal arrays first, and then genericize it
pmichaud I wouldn't want to have to duplicate all of those, so I'm wondering if the generic forms somehow end up re-dispatching to the simple postcircumfix:<[ ]>(Int) form 05:59
so that my custom type defines a postcircumfix:<[ ]>(Int), and gets the slicing/whatever semantics automatically
TimToady well, I think the multi-dim version certainly has to traverse one dimension at a time with a simpler subscripter
pmichaud yes, that makes sense 06:00
06:00 justatheory left
TimToady it's possible that the simpler version is sufficient to generate the more complicated things, presuming multi-dim works similarly 06:00
but things like shaped arrays will work differently from AoA structures 06:01
it would be nice if [1;2] was indistinguishable from [1][2], but it might take some doing to get there 06:02
06:06 sitaram left
dalek kudo: 3280d41 | pmichaud++ | build/gen_whatever_pir.pl:
Whatever arguments appear to have been flipped.
06:06
06:09 agentzh joined
dalek kudo: 712982a | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 356 files, 10284 passing, 0 failing
06:17
06:24 drbean left
pmichaud rakudo: my $b = [1,2,3,4,5]; for $b { .say } 06:31
p6eval rakudo 712982: OUTPUTĀ«1 2 3 4 5ā¤Ā»
pmichaud rakudo: my $b = 1..5; for $b { .say }
p6eval rakudo 712982: OUTPUTĀ«1ā¤2ā¤3ā¤4ā¤5ā¤Ā»
pmichaud that does seem inconsistent, now that I think about it.
also, I wonder what the following should do 06:32
my $b := (1,2,3,4); for $b { .say }
rakudo: my $b = 1..5; say (1,$b,3).elems; 06:34
p6eval rakudo 712982: OUTPUTĀ«7ā¤Ā»
pmichaud rakudo: my $b = * / 2; say $b(8); 06:38
p6eval rakudo 712982: OUTPUTĀ«4ā¤Ā»
pmichaud okay, that's better at least :-)
time for much-needed sleep... bbiaw 06:40
06:43 brunov left 06:47 silug joined 07:06 alexn_org joined 07:45 gfldex left 07:46 gfldex joined 08:08 barney joined 08:12 iblechbot joined 08:13 cai joined 08:18 mikehh_ left 08:19 DemoFreak joined 08:24 mikehh joined, cai left, cai_ joined 08:34 pmurias joined 08:51 cai_ left 09:11 pmurias left, ejs joined 09:12 alexn_org left 09:15 drbean joined 10:00 schmalbe joined 10:16 barney left 10:26 plash joined 10:40 pmurias joined, M_o_C joined 10:59 ejs left 11:01 ihrd joined 11:02 wknight8111 joined 11:18 literal joined 11:19 DemoFreak left, brunov joined 11:52 ihrd left 12:09 shachaf left, PerlJam left, diakopter left, broquaint left, zostay left, dukeleto left, silug left 12:10 PerlJam joined, shachaf joined, allbery_b joined, mj41 joined, lucs joined, Woody2143 joined, frobnitz joined, pmichaud joined, yves joined, szbalint joined, scrottie joined, irc.freenode.net sets mode: +oo PerlJam pmichaud, silug joined, zostay joined, broquaint joined, dukeleto joined, diakopter joined 12:12 Helios left 12:13 rafl joined 12:16 Helios joined 13:09 ejs joined 13:14 explorer joined 13:16 sitaram joined 13:42 ejs left 13:46 explorer left 13:51 explorer joined 13:52 Tene joined 13:56 ejs joined 14:02 sephee left 14:04 Tene_ left 14:06 schmalbe left 14:13 ejs left 14:21 skids joined 14:25 nihiliad joined 14:32 DemoFreak joined 14:35 wolverian joined 14:42 nihiliad left 14:59 riffraff joined
pugs_svn r26172 | pmurias++ | [re-smop] ported over Code add Hash.bind_key 15:01
15:02 rindolf joined 15:03 rindolf left 15:04 rindolf joined 15:05 justatheory joined 15:14 meppl joined
pmichaud jnthn: ping 15:18
15:21 frew left 15:23 plash left 15:52 silug left 15:53 Psyche^ joined 15:58 FurnaceBoy joined 16:02 nihiliad joined 16:10 Patterner left, Psyche^ is now known as Patterner 16:13 nihiliad left
pugs_svn r26173 | pmurias++ | [re-smop] fix memory leaks found by valgrind in the test suit 16:14
16:21 LylePerl joined 16:22 kimtaro joined
LylePerl ping jnthn 16:24
eiro "hello world".say 16:25
TimToady .= awake(:sorta) 16:28
16:30 SIGJIT joined 16:31 SIGJIT left
LylePerl Hi TimToady 16:31
TimToady o/ ... _/ ... __ 16:32
I've obviously been reading too much xkcd lately... 16:33
LylePerl :)
TimToady \o\ ... /o/ ... \o\ ... /o/ 16:34
jnthn oh noes who wanted me? 16:35
TimToady everyone, it would seem
LylePerl jnthn: me 16:36
TimToady and pm
jnthn LylePerl,pmichaud: Oh hai I'm back from Good Friday service.
jnthn figures if two people want him he must be in really big trouble :-)
LylePerl jnthn: I'm trying to document my learning how to contribute into some sort of guide that others like me can follow 16:37
jnthn LylePerl: Nice. :-)
LylePerl jnthn: I'm not having a good time building pugs on win32
rindolf Hi all.
jnthn LylePerl: It's been probably over a year or maybe 2 years since I tried that. :-| 16:38
rindolf: Hi
rindolf jnthn: how was the service?
LylePerl jnthn: How did you fare with haskell package regex-pcre-builtin?
jnthn rindolf: Was very nicely done, a good time to reflect on stuff. :-) 16:39
LylePerl: I don't think I tried that.
LylePerl: At least, I don't remember trying that... 16:40
16:40 eternaleye left
LylePerl jnthn: It's needed for regexps to work, except it doesn't want to install. I could skip it, but that would be a bit of a killer 16:41
jnthn: just wondered if you had issues and knew a way to resolve them... I'll plug on
jnthn LylePerl: 'fraid not. When I want to know what Pugs makes of something these days I tend to use the evalbot on this channel.
Which ain't practical if you want to run bigger things, I know.
pugs_svn r26174 | pmurias++ | [re-smop] make the mold assignment op respect reference counters 16:43
pmichaud jnthn: I worked on *-1 a bit last night, but ran into design issues 16:48
jnthn pmichaud: Eww. What sort of design issues?
pmichaud short summary: @a[*-3..*-1] is a bit... complicated
discussion with TimToady at irclog.perlgeek.de/perl6/2009-04-10#i_1053997 16:49
16:49 rindolf left
jnthn looking 16:52
TimToady turns into @a[ -> $end { infix:<..>( { $^e - 3 }($end), { $^e - 1 }($end) ) } 16:54
or something like that
pmichaud also weird is something like @a[*-3..*] 16:55
TimToady so actually something more like
jnthn oh noes I failed it on the whatever ops! 16:56
pmichaud jnthn: only on a few of them :-)
the commutative ones you got right :-)
jnthn Yeah!
OK, so is it along the lines of Range needs variants that take Code too? 16:57
pmichaud yes, and postcircumfix:<[ ]> has to do various redispatches (possibly repeated)
TimToady probably need to pass in the whole range of subscripts, and let the Code decide whether it wants the whole range or just the end 16:58
pmichaud hmmm?
I got lost there
jnthn Same 16:59
16:59 hercynium joined
jnthn pmichaud: I *think* Range variants shouldn't be so hard to do. 16:59
TimToady so @a[ -> $range { infix:<..>( { $^e - 3 }($range.to), { $^e - 1 }($range.to) ) }
or some such
pmichaud jnthn: oh, it might not be too hard to do -- i just wanted to get some guidance before committing to a particular solution 17:01
jnthn pmichaud: Sure, makes sense. Having to re-do stuff more times than necesary sucks.
TimToady but redoing stuff fewer times than necessary also sucks :)
pmichaud TimToady: okay, you're suggesting that infix:<..> with code arguments returns a closure that expects a range 17:02
TimToady might be wrong 17:03
pmichaud feels wrong
TimToady the $^e is wrong
pmichaud because... well, postcircumfix:<[ ]> doesn't know what kind of closure it has
so @a[*-1] versus @a[*-3..*-1]
unless we pass a range to the *-1 case also
(which then numifies to the number of items in the range) 17:04
jnthn I'm not quite sure I get the problem this is trying to solve... 17:05
turns into @a[ -> $end { infix:<..>( { $^e - 3 }($end), { $^e - 1 }($end) ) } looked about right to me...
Though does it not want to be $elems and not $end?
Since end is the last element that has a value? 17:06
TimToady yeah
pmichaud jnthn: @a[1, 2, *-5..*-2, 7]
I guess we just do redispatches 17:07
jnthn I think you'd have to take the 1, then the 2, then see you have a closure there and handle that as a closure, etc
pmichaud so, in the case of @a[*-3..*-1], postcircumfix:<[ ]>(Code) ends up redispatching to postcircumfix:<[ ]>(Range)
jnthn I wasn't seeing it as you have a whole list of things that you can invoke with end. 17:08
TimToady the trouble with the formula above is it supplies $elems too early
it's supplying it to the arguments to .. rather than the returned closures
jnthn pmichaud: Erm...no, because we'd not have a Range passed, but a Code?
pmichaud jnthn: but the way you have it, the Code is returning a Range
jnthn pmichaud: Oh, I see
pmichaud so we evaluate the Code and get a Range back 17:09
jnthn You mean you re-dispatch *after* you run the Code. Right.
pmichaud right.
re-dispatch might not be the correct word.
jnthn No, but I know what you're maning by it.
Or what i'm meaning by it.
pmichaud (correct word welcome here :-)
jnthn Or whoever started using it. ;-)
pmichaud in the case of @[1, 2, *-5..*-2, 7] we'd have postcircumfix:<[ ]>(List) iterate (lazily!) the list causing calls to postcircumfix:<[ ]>(Int) and postcircumfix:<[ ]>(Code) (the latter of which would end up having to call postcircumfix:<[ ]>(Range) in order to evaluate the range that comes back from the code) 17:11
TimToady so @a[ { ( { $^x - 3 } .. { $^x - 1} ).($^elems) } ]
pmichaud yes, and postcircumfix:<[ ]>(Range) would handle the case when a Range has a Whatever as an endpoint 17:12
jnthn pmichaud: Good job our multi-dispatcher has a cache, no? ;-)
moritz_ hi 17:13
pmichaud hello, moritz
jnthn hi moritz
pmichaud I think I may go with something like that for now, so we have something "working", even if it changes substantially later.
jnthn It feels nice in that you can subclass just one variant. 17:14
moritz_ I did some hacking yesterday evening without having internet access, I'll rebase + test now, if everything works I'll push
pmichaud moritz_: hacking on ... ?
TimToady doesn't feel right to me; sounds like you're reinventing lists or something
but I guess subscript lists are special
at least for Code
pmichaud TimToady: I'll be totally fine with a redesign if/when you come up with one :-) 17:15
TimToady I don't like that a range in (1, $r, 3) expands
pmichaud I think it should not expand
(after thinking about it last night)
moritz_ pmichaud: Hash.reverse (matches the spec now), and Hash.push
TimToady Scalar of Range
17:15 moritz_ sets mode: +o TimToady
TimToady needs @ or | 17:15
pmichaud if I want an expanding range, I should do my @r = 1..3
TimToady or := 17:16
pmichaud right
TimToady since 1..3 would turn eager on you
pmichaud so, my $r := 1..3; (1, $r, 3) # expands ?
TimToady = 1..3
pmichaud where "expands" means "interpolates" ?
TimToady still don't like any $x acting plural 17:17
pmichaud yes, that's why I was asking about it :-)
TimToady my $r := [1,2,3]; (1, $r, 3)
doesn't expand
pmichaud sure, but I'd think that's because of the brackets
I'd be curious about
my $r := (1,2,3); (1, $r, 3) 17:18
TimToady I think somehow the $ in the list puts the contents of $r back into item context if not already "itemized" 17:19
pmichaud so, a scalar container in list context always itemizes its contents?
TimToady esp if $r is a capture, we can't have it assuming | 17:20
pmichaud (er, treats itself as an item)
TimToady or maybe binding to a scalar makes sure its item isn't "naked" somehow
pmichaud that seems harder to me
I might want to bind to a naked item. I think the case we're worried about is when a scalar variable appears in a list 17:21
TimToady probably, but I'm not completely sure
pmichaud agreed, I'm not sure either.
TimToady well, we can fix it there, I suppose, and bear in mind the other possibility 17:22
pmichaud I'll see if I can get (1, $range, 3) to not expand range and see how it affects our current spectests
17:22 nihiliad joined
pmichaud I suspect it won't regress much. 17:22
(if at all)
17:22 cdarroch joined
pmichaud someone that wants $range to expand can always do (1, @$range, 3) 17:22
TimToady you subscriptor might need to expand the Range like it needs to do Code 17:23
but that would be bad again
pmichaud so that @a[1, $range, 3] expands $range?
TimToady so I think just Code is special
no, was a braino
pmichaud okay, good
TimToady now just wondering if we can easily detect the $range vs @$range error... 17:24
if +$range returns # elems, could be hard to spot
pmichaud I think it ends up being very analogous to $array vs @$array 17:25
TimToady but by attaching the behavior to $range and not .. we get [$x..$y] to expand in the list okay
pmichaud right
assigning ranges to scalars seemed to me to be very similar to assigning lists to scalars 17:26
so....
maybe a range in item context also becomes a capture of some sort?
TimToady maybe there's some way to require an explicit + in some circumstances
pmichaud (since a list in item context now becomes a capture)
TimToady Sure, range is just one way of specifying (a part of) a list 17:27
so ranges should act like lists to the extent possible
1..3 should behave like 1,2,3
it's really just an optimization to evaluate ranges lazily instead of eagerly like p5 17:28
pmichaud yes, but unlike lists, ranges are (currently) mutable
TimToady which is probably a mistake 17:29
pmichaud I'd be happy if we eliminate that, I think.
I'm not sure that .pop and .shift on ranges are all that useful. 17:30
jnthn What should iterating them then look like?
pmichaud same as iterating on a list
TimToady or have a separate DynRange object
jnthn (At the moment, the range is "consumed" as its iterated...)
pmichaud actually, iterating a range doesn't consume it
at least, not in rakudo.
TimToady no harm, no foul :)
pmichaud rakudo's range iterators work on a clone of the range :-)
jnthn pmichaud: Oh really?
pmichaud: Oh, yes. 17:31
TimToady which is essentially a DynRange kind of object
jnthn They hadn't used to...
pmichaud anyway, iterating a range is really the same as iterating a list -- it's not "consumed"
(yes, the clone of the range ends up acting like a DynRange) 17:32
TimToady heh, Range is already listed as immutable in S02 17:33
17:33 japhb left
pmichaud yes, I've sent a few messages (unasnwered) noting the discrepancy 17:33
pugs_svn r26175 | moritz++ | tests for typed hashes 17:34
r26176 | moritz++ | tests for Hash.push
araujo pulls his clone in here to ask the question for the 'twisted' minds of perl6 hackers
pugs_svn r26177 | moritz++ | [t/spec] move Hash.reverse tests in separate file, and bring them up-to-date with the spec
r26178 | moritz++ | [t/spec] typed array and hash attributes
r26179 | moritz++ | [t] move is_rw_on_class to spec/
17:34 jauaor joined
dalek kudo: 029aa51 | (Moritz Lenz)++ | (2 files):
bring Hash.reverse up to date; test S32-hash/reverse.t
17:35
kudo: 7b2c47c | (Moritz Lenz)++ | (2 files):
Implement Hash.push, and add S32-hash/push.t to spectest.data

type() from is_deeply in Test.pm
kudo: c44a05b | (Moritz Lenz)++ | t/spectest.data:
we pass the new S09-typed-arrays/hashes.t
pmichaud moritz++ # yay, reverse is fixed
kudo: 79aba97 | (Moritz Lenz)++ | README:
[README] reworked paragraph on rakudo.org
jauaor what do you guys think it is the cleaner syntax in these two examples: pastie.org/442985
jauaor (not perl6 related but language design related)
jnthn moritz_: D'oh, I also did write some typed hash tests ;-)
skids boo, hash.reverse still exists :-)
moritz_ jnthn: it can't hurt to have multiple tests ;-) 17:36
jnthn moritz_: Perhaps s/typed_arrays/typed_data_structures/
typed-arrays/hashes.t feels odd ;-)
moritz_ that's the chapter name in S09
I know it's odd
rakudo: my Int %h; my Int %g; %h = %g; say "alive" 17:37
pmichaud hyphens, please :-)
p6eval rakudo 712982: OUTPUTĀ«No applicable methods.ā¤ā¤current instr.: 'parrot;Mapping;!flatten' pc 9222 (src/classes/Mapping.pir:327)ā¤Ā»
moritz_ pmichaud: aye
pmichaud wants to convert all of the underscores in the spectest file/directory names to hyphens :-)
moritz_ pmichaud: feel free 17:38
pmichaud Mapping flatten?!?
jnthn .sub '!flatten' :method .tailcall self.'iterator'()
.end
moritz_: I suspect actually it's the call to .iterator that is failing 17:39
moritz_: I have a nearly-done local patch that'll fix that.
(Making more stuff use Perl 6 MMD. We've kinda hit the buffers with Parrot's MMD now.) 17:40
Am pondering when we dare to make all the built-in operators use Perl 6 MMD rather than the Parrot one too. 17:41
pmichaud as soon as I can parse the operator names 17:42
(actually coming relatively soon)
jnthn Nice
pmichaud I played with it a bit last week.
moritz_ I have to go offline again, have fun ;-) 17:44
pmichaud great job, moritz!
moritz_ thanks pmichaud 17:45
17:45 Tene_ joined
jnthn BTW, I'm going to be mostly offline Monday/Tuesday/Wednesday until I get to NPW. 17:46
pmichaud okay, I'll be offline Tuesday
I leave Tuesday from here but arrive Oslo Wed morning.
So I expect to be online for parts of Wednesday
jnthn OK 17:47
If there's a pre-conference met-up I'll probably be at that, if you feel like making it too.
*meet-up
TimToady skids: but the semantics of %hash.reverse have changed
jnthn Though I won't blame you if you'd rather sleep off the lag than drink beer. ;-) 17:48
TimToady we also leave Tue
17:48 silug joined
pugs_svn r26180 | lwall++ | [S02,S03] Range objects are immutable, so distinguish from RangeIterator objects 17:49
jnthn I'm flying on Mon, but seeing some friends in Sweden ont he way to Oslo. 17:50
pmichaud I'll catch you sometime on Wed, no doubt.
jnthn Aye
We're at the same hotel too, IIRC. 17:51
pmichaud yes.... BW anker
jnthn Yes
TimToady I've no idea where we're staying :)
jnthn points TimToady to his igloo.
TimToady I only know we're leaving Tue because I looked at the calendar...
I am grateful to be married to a logistician. 17:52
pmichaud me too!
jnthn smokes his typed hashes patch 17:54
Gah, I want to fix slurpy type checking somewhat today too...
pdc When I first read about Perl 6 in brief, I thought autothreading seemed like a great idea. is this present in other languages? 17:56
17:57 Tene left
jnthn rakudo: $*OUT.say("no" & "I don't think so"); 18:01
p6eval rakudo 79aba9: OUTPUTĀ«noā¤I don't think soā¤Ā»
jnthn pdc: ^ ;-)
pdc you know, I don't know Perl or Perl 6. if you were being particularly clever, I probably missed it :) 18:02
jnthn pdc: I just called the say method with a Junction, such that it auto-threaded. :-)
pdc ah, I see now 18:03
hehe
TimToady autothreading is definitely an atomic bazooka though
be sure to aim above the horizon with it
pdc jnthn: Perl is #1 on my todo list when I finish university in a month or so. so I'm idling here and #perl
jnthn: so I just have the occasional question
TimToady and have a manhole handy to jump down
18:03 payload joined
jnthn TimToady: Wouldn't that me more important if it was an atomic boomerang? :-) 18:04
pdc although I'm still weighing-up Perl vs Puthon :\
skids That depends entirely on the balst radius
TimToady for an atomic boomarange you'd better have a darn thick manhole cover
s/e//
I think Python has got itself into a position where it cannot evolve much further with any rapidity 18:06
even Python 3000 was fairly trivial changes
(compared to Perl 6 :)
pdc but it looks like a really neat language, from what little I have seen
TimToady personally, can't stand dangling syntax
never liked outlines either :) 18:07
pdc though I will most likely opt for Perl, due to it offering more different to C, which I work in primarily
TimToady and Python really has no FP story
I think a language to complement C should really has some functional characteristics 18:08
pdc which Perl / Perl 6 does, am I right?
TimToady it's lambdas all over
the new -> $x, $y {...} notation is really just a lambda 18:09
pdc my main concern was the 'relevence' of the language. Having something that is useful to my career prospects would be great. Python certainly has popular opinion on it's side
TimToady for the moment
pdc yeah
reading about Perl 6 actually made me reconsider my decision to go for Python 18:10
TimToady and I don't doubt it will last a long time, the same way C has
[particle]- TimToady: junctions in action... www.wired.com/images/article/magazi...s1_630.jpg
TimToady but C already occupies the "too simple not to survive" niche :)
pdc you don't doubt Python will last, TimToady ?
TimToady oversimplifications always persist because the swee the complexity of the problem under someone else's carpet 18:11
*sweep 18:12
*they
gah
pdc I will grab the camel book soon and get cracking. thanks for your thoughts once again
TimToady look at all the problems caused in modern life that are arguably caused by C being too simple-minded about buffer overflows and such 18:13
have fun
pdc C is meant to be simple, though
jnthn [particle]: Hey, that looks like fun!
[particle]- conficker
pdc and C programmers need to not be simple
[particle]- jnthn: portal is a really fun, mind warping game
eiro is there a way to download mailing list archives fromm google groups 18:14
[particle]- too bad valve didn't end up hiring me :(
jnthn Aww. :-(
You still hunting?
[particle]- nope
eiro i want to read november's one
TimToady well, I don't really care how long it takes to win everyone over--Perl 6 is not intended to be a first programming language, but a last one.
pmichaud I like that quote. 18:15
pdc you guys probably hate this question but I read that the schedule hopes for Perl 6 to be pretty much done by Christmas. is it still on track? 18:16
jnthn Sure.
pmichaud pdc: "Yes"
[particle]- of course!
TimToady you've misconstrued the meaning of "Christmas"
[particle]- :) 18:17
jnthn pdc: We just ain't specific about *which* Christmas. ;-)
pdc hehehe
pmichaud it also depends on the definition of "done" :)
[particle]- and the definition of "Perl 6"
pmichaud for example, when is Linux done?
TimToady "But after Perl 6 comes out every day will seem like Christmas"
pdc the 'yes' is sounding more like a 'no' with everything you say :) 18:18
18:18 payload left, payload joined
pmichaud pdc: the issue is that "done" is a fairly nebulous term. 18:18
pdc I'm sure it is
TimToady look, we're trying to do something impossible here. So we expect to fail. But we expect lots of people to love our failure.
pmichaud do we have a page with good Perl 6 quotes somewhere? 18:19
(I know we do for Parrot... I want a p6 equivalent :-)
TimToady but if you put up a page like that, I won't have anything left to say in my talks :)
pdc okay then, thanks again. back to my C work.
pmichaud A language with as many quoting operators as Perl 6 really needs to have lots of quotes about it.
TimToady C, C, seƱor. 18:20
pmichaud TimToady: I have little doubt of your ability to continue coming up with excellent quotes, both in and outside of your talks. :-)
18:20 LylePerl left
TimToady I'll need to publish a little red book like Chairman Mao. 18:21
or maybe chartreuse
[particle]- what's the sound of one junction auto-threading?
TimToady one leg is both the same 18:22
oh wait, that's the answer to "what's the difference between a duck?"
18:24 sitaram left
TimToady shower & 18:24
skids rakudo: my %b; my %a = (:a<b c b>, :d<c c b>); %a.perl.say; %b.push(%a.reverse); %a = (); %a.push(%b.reverse); %a.perl.say; 18:34
p6eval rakudo 79aba9: OUTPUTĀ«{"a" => ["b", "c", "b"], "d" => ["c", "c", "b"]}ā¤{"a" => ["b", "b", "c"], "d" => ["b", "c", "c"]}ā¤Ā»
skids to pick nits, information was indeed lost
pmichaud the .reverse implementation didn't look quite right to me... but I didn't study it closely. 18:36
feel free to file a ticket :-)
skids It's a spec thing not a bug... says two reverses "without losing information" but you lose ordering of the lists. 18:37
I don't see anything wrong with having the functionality. Still don;t like that it's named reverse, but can live with it a bit more now, I suppose. 18:38
pmichaud I'm okay with using RT to file spec tickets :-) 18:39
or you can mail p6l
skids Or I could just patch the spec to not make the claim :-)
pmichaud or that. :-)
pugs_svn r26181 | skids++ | Be clear a doouble Hash.push(Hash.reverse) does not preserve all state 18:44
r26181 | skids++ | (value list order may be altered.)
18:59 programmer55 joined 19:00 programmer55 left 19:14 amoc left 19:24 payload left, payload joined
pugs_svn r26182 | lwall++ | rename hash/pair reversal to "invert" 19:26
19:31 Kisu left 19:34 japhb joined
TimToady should probably define invert on List as well 19:34
skids What, twiddle Pairs else don't touch? 19:35
TimToady mappify to pairs and then invert those 19:42
so .kv would reverse to vk, put .pairs would just invert the pairs 19:43
skids Ah, as if used to initialize a hash, but without the hash.
TimToady yes, we need a name for pair-ification, if we don't have one already
skids (and then invert the imaginary hash and .kv)
TimToady I think we called it pairs() once upon a time 19:44
19:44 bacek__ joined, bacek_ left
TimToady but maybe that's just Mapping() 19:44
skids "couple"? 19:45
TimToady "map", oh wait...
List.pair if given >2 args?
19:45 riffraff left
skids Z:pair? 19:46
19:46 jedai left
skids I suppose if List.pair then Z.pair would just work though. 19:48
TimToady what is this Z type of which you speak? :)
skids Zip
Oh, missed smiley
They are hard to see on this font. 8-D 19:49
TimToady >B-{)
[particle]- .pare 19:50
skids P 19:52
:
6
Camelia works better vertically, espcially if you have an uncurved 6 in the font
19:52 alester left 19:53 ZuLuuuuuu joined 19:58 wknight8111 left 19:59 ZuLuuuuuu left 20:01 ZuLuuuuuu joined 20:06 Tene_ is now known as Tene 20:10 mncharity joined
mncharity Apropos TimToady's recent talks in Cambridge, apparently the MIT talk wasn't miked, so the stream, even if somewhere captured, didn't end up very usable. The Harvard talk will eventually end up on... 20:11
pmurias mncharity: hi 20:12
20:12 szabgab left
mncharity ... on... I'm not sure. www.hcs.harvard.edu/node/154 is the hsc page for it. But now I'm not sure why I ended up with the impression that the video might show up there. I have been told Harvard taped it. :( Ah well. 20:16
20:16 REPLeffect_ joined
mncharity hi pmurias :) 20:16
pmurias mncharity: is The Art of Ballistic Programming talk much different from the Studies in the Ballistics Arts one? 20:19
mncharity I've no idea, sorry. 20:21
20:37 REPLeffect left 20:38 iblechbot left 20:43 jauaor left, ejs joined 20:49 wolverian left 20:50 wolverian joined 20:52 hercynium left, FurnaceBoy left 21:04 Whiteknight joined 21:07 msmatsko joined 21:11 iblechbot joined 21:14 nihiliad left, Util joined 21:16 ejs left
Util rakudo: my @a = (8); my @b = (9); for @a { for @b -> $b { .say } } 21:17
p6eval rakudo 79aba9: OUTPUTĀ«8ā¤Ā»
Util std: my @a = (8); my @b = (9); for @a { for @b -> $b { .say } }
p6eval std 26182: OUTPUTĀ«ok 00:02 37mā¤Ā»
21:29 ingy is now known as ingydotnet 21:30 skids left 21:41 ingydotnet is now known as ingy 21:45 pmurias left 21:55 iblechbot left 21:59 M_o_C left 22:02 Limbic_Region joined 22:28 jedai joined 22:49 skids joined 22:55 eternaleye joined 23:02 gilimanjaro joined 23:09 gilimanjaro left, FurnaceBoy joined 23:17 payload left 23:18 kanru joined 23:19 payload joined 23:20 eternaleye left 23:21 bitfish joined 23:22 eternaleye joined 23:28 eternaleye left 23:29 eternaleye joined
mncharity the #moose user list is interesting. lots of people who used to be on #perl6. actually, the #perl6 list is interesting too - lots of people who I've not heard in ages, or, hmm, noticed in the logs, but, those two aren't much of a sample anymore. but still, curious. 23:36
pugs_svn r26183 | putter++ | misc/pX/putter/talk.txt: rm'ed. An old concept sketch. 23:45
23:46 eternaleye left
Tene jnthn: what's the status of lexical class augment? 23:48
mncharity @tell moritz_ re p6 project advertising, it might be worth doing a "state of p6", high-visibility general posting to the p5 community at some point. a tiny sample of comments on #moose suggests even active p5 developers don't quite realize how shoestring the effort is. 23:49
lambdabot Consider it noted.
Tene mncharity: like what? 23:50
I'm curious how their impression differs from reality.
jnthn Tene: Not started yet. 23:51
Tene: It's a kinda tricky-ish change.
Tene jnthn: is it in your roadmap?
jnthn Tene: I've no plans in the immediate future (as in, next couple of weeks) to work on it. 23:52
If it interests you, though, there no reason I can think of not to work on it. :-)
Tene nods
Might.
jnthn ;-)
How is the annotations stuff going?
Oh, I did have a question.
You mentioned issues with getting the annotations in effect.
However, Exception also has a method that gives you the annotations all the way down the caller chain. 23:53
So you could if producing a backtrace skip the top entry (which is die)...
(The backtrace method.) 23:54
Tene ah 23:55
nice
yes, that would be very nice
jnthn It's just a PMC array that you can iterate and it's a hash of various bits.
Tene nodnod 23:56
I see.
jnthn (The annotations, the Sub PMC so you can get the name and namespace, etc)
mncharity Tene: there seems no impression of p6 being critically understaffed. of that being why things are taking so long. actually, some of that is from previous conversations, but #moose just reminded me.
Tene I'll add that to Parrot's exception error condition
mncharity: what was the comment in #moose? 23:57
mncharity but that would be an interesting polling question. what p5 folks think of p6.
Tene jnthn: you think it should be printed for resumed warnings, too?
jnthn Tene: Not by default, IMO.
Tene Okay. 23:58
jnthn Just for uncaught exceptions.
ah, OK, so warnings are excecptions too...
Exceptions where we die. :-)
Tene jnthn: uncaught warnings are automatically resumed.
jnthn Right.
Tene print HLL line number on uncaught warnings?
jnthn Yes
Tene kk
driving home now... 23:59
jnthn And, though I don't know of we have an annotation emitted yet for it, filename.
OK, safe journey. And happy hacking. :-)
Tene yes, would be nice, currently NYI
jnthn I think compared to line numbers should be easy.
TimToady mncharity: there is no "staffing" going on here. :) we don't have the management skills to deal with hoards of half-motivated people, and the fully motivated are already participating...