»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
00:13 tokuhiro_ joined 00:46 replore joined 01:09 drbean left 01:10 tokuhiro_ left, bluescreen10 joined 01:16 drbean joined 01:19 benabik joined 01:21 jaldhar joined 01:22 benabik left, benabik joined 01:26 uasi joined 01:31 japhb_ joined
dalek ecza/serialize: 604037a | sorear++ | lib/Serialize.cs:
Fix generic thawing of array objects
01:33
ecza/serialize: c52005a | sorear++ | / (4 files):
Implement unit linking
japhb_ jnthn, it looks to me that rt.perl.org/rt3/Ticket/Display.html?id=92986 is indeed solved, though I note that 'say "main $n { $n.WHAT }";' needs to be 'say "main $n { $n.WHAT.gist }";' to work as intended 01:35
I can't find my bitcard credentials and need to run at the moment, but anyone is free to do the needful to the ticket. 01:36
01:38 japhb_ left 01:40 drbean left
dalek ecza/serialize: 29191f9 | sorear++ | lib/ (2 files):
Recursively initialize units
01:45
01:45 drbean joined
dalek ecza/serialize: 8983cfc | sorear++ | lib/Kernel.cs:
Remove left-in debugging statement
01:46
sorear stefan@stefans:~/rel/niecza$ mono run/Niecza.exe -e 'say "Hello world"'
Hello world
01:47 shinobicl_ joined 02:01 whiteknight left
colomon \o/ 02:07
sorear today's example of a subtle bug introduced by an editing error: $*CURLEX<!sub>.set_signature(<multisig> ?? $<multisig>[0].ast !! Any); 02:10
diakopter $
dalek ecza/serialize: 3842922 | sorear++ | / (3 files):
Reimplement "is export"
02:24
ecza/serialize: ba7d08c | sorear++ | lib/ (2 files):
Finish implementation of CATCH/CONTROL
02:27
ecza/serialize: 3a27812 | sorear++ | / (2 files):
Reduce spurious nonuse warnings
02:38
sorear niecza can now compile Test.pm6
diakopter :)
how big is the serialized output
compared to Test.pm6
sorear stefan@stefans:~/rel/niecza$ ls -lh obj/Test.* lib/Test.* 02:39
-rw-r--r-- 1 stefan stefan 5.0K Sep 29 23:01 lib/Test.pm6
-rwxr-xr-x 1 stefan stefan 26K Oct 19 19:37 obj/Test.dll
-rw-r--r-- 1 stefan stefan 29K Oct 19 19:37 obj/Test.ser
for comparison:
stefan@stefans:~/rel/niecza$ ls -lh /tmp/niecza/obj/Test.*
-rwxr-xr-x 1 stefan stefan 44K Sep 28 20:05 /tmp/niecza/obj/Test.dll
-rw-r--r-- 1 stefan stefan 59K Sep 28 20:05 /tmp/niecza/obj/Test.nam
(that's a master checkout) 02:40
for fairness, note that Test.dll was self-contained in master but serialize requires the .ser at runtime 02:41
I wonder if it should be possible to catch WORRYs from eval using some kind of CONTROL thing 02:42
02:44 yves left, envi_ joined
ingy is @ the bay area haskell mongers meeting :) 02:47
O HAI sorear
sorear ...yes, ingy?
sorear needs to move out of the middle of nowhere someday 02:48
ingy do you have a msg for the bahaskell peeps?
and do you have a spare couch in the middle of nowhere? :)
sorear not really. I've been absent for a while, and moreover, if they remember me it's as a teenager 02:49
diakopter ingy: where do you need a couch
sorear Sadly our couch is not sparable.
02:50 yves joined
sorear Why, is ingy going to pay the middle of nowhere a visit? :) 02:50
ingy sorear: always on the move I am 02:51
sorear Oh right, I remember now, you were the homeless ascetic. 02:52
ingy :D
s/were/are
diakopter ingy: there's even a spare bed/bath here. just sayin'. 10 min from SFO 02:53
sorear ingy: now you're making me wonder if there's some interesting Perl/OSS event going on in my backyard
or if all you care about is me? <flattered/> 02:54
02:54 uasi left
dalek ast: b6a2dde | Coke++ | S (3 files):
rakudo fudging
02:55
kudo/nom: 5af761e | Coke++ | t/spectest.data:
run more tests.
02:56
02:56 donri left 02:58 shinobicl_ left 03:00 envi_ left, envi_ joined
dalek ecza/serialize: 2e191e7 | sorear++ | / (2 files):
Implement the "use" statement
03:25
03:37 TimToady left 04:01 molaf_ left 04:04 benabik_ joined, pomysl joined, pomysl left, pomysl joined, moritz_ joined, masak_ joined 04:05 Yappoko___ left, breinbaas left, tty234 left, Yappoko___ joined, masak left, sirmacik left, moritz left, benabik left, PZt left, benabik_ is now known as benabik 04:06 breinbaas joined, wolfman2000 left 04:07 tty234 joined 04:10 satyavvd joined
dalek ecza/serialize: c7a98e8 | sorear++ | lib/CodeGen.cs:
Fix compilation of state-names
04:10
04:16 PZt joined
dalek gs.hs/deprecations: 501306f | (Shachaf Ben-Kiki)++ | Pugs/src/ (82 files):
Remove most pragma-related deprecation warnings.

Mainly by removing unneeded OPTIONS declarations (and replacing them with the appropriate LANGUAGE declarations where needed).
04:16
ecza/serialize: a2beb89 | sorear++ | / (2 files):
Fix qualified private method call compilation
sorear o/ shachaf
04:16 satyavvd left
shachaf sorear: Hello. 04:17
shachaf is also at bahaskell.
04:21 satyavvd joined
dalek gs.hs/deprecations: d4c5c2a | (Ingy dot Net)++ | Pugs/src/Pugs/ (7 files):
Make compile on 7.2
04:34
sorear shachaf: pity, I'm not. 04:35
shachaf sorear: Is the middle of nowhere in San Diego? 04:39
04:41 thou joined 04:43 TimToady joined 04:49 moritz_ is now known as moritz
moritz good morning 04:50
masak_: pong
sorear shachaf: yes
dalek ast: cc1b81e | moritz++ | S04-phasers/begin.t:
test that BEGIN happens indeed at parse time
04:51
moritz nom: say $*FATAL 04:52
p6eval nom 5af761: OUTPUT«Failure.new()␤»
moritz nom: use fatal; say $*FATAL 04:53
p6eval nom 5af761: OUTPUT«Bool::True␤»
dalek ecza/serialize: 3da8e40 | sorear++ | src/niecza:
Fix {} in regexes
04:56 PerlJam joined 05:00 amkrankruleuen left, amkrankruleuen joined, pnu left 05:01 kfo left, pochi left, overrosy left, pochi joined 05:02 pnu joined, kfo joined 05:03 overrosy joined 05:11 orafu left 05:12 orafu joined
dalek ecza/serialize: a77df2e | sorear++ | lib/Kernel.cs:
Fix error when protopad is created while >10 lexicals already exist
05:22
ecza/serialize: f2453c4 | sorear++ | lib/CodeGen.cs:
Implement defining parametric roles
05:24 soh_cah_toa left 05:38 sftp left 05:45 apejens joined 05:47 preflex left 05:49 dual joined 05:50 mberends joined 05:57 kaleem joined 06:00 kfo left, kfo joined 06:06 koban joined 06:13 MayDaniel left 06:21 wtw joined
dalek ecza/serialize: e7d3f3f | sorear++ | lib/ (3 files):
Reimplement regex_infix:<|> table generation
06:23
sorear wonders if it would be possible in general to assign numbers to () at the momemnt they are parsed 06:30
moritz () = 1 ? 06:31
sorear (foo) [ (bar) | (baz) ] (quux) / kind of thing 06:32
in that case yes
s|^|/ | # irc fail
moritz iirc the numbering scheme is designed to make that possible, yes 06:34
[ (foo)|(b)(a)(r) ] (baz) # baz is always in $3, right? 06:35
sorear right
currently niecza delays the numbering a bit, but it turns out /serialize potentially needs the numbers very soon indeed 06:36
I'm done for tonight
sorear sleep
moritz good night 06:37
06:45 SHODAN joined 06:57 koban left 07:09 mj41 joined 07:34 mj41 left 07:37 am0c joined 07:40 thou left 07:46 mj41 joined
masak_ yawns 08:13
08:13 masak_ is now known as masak
masak g'm #p6 08:13
08:15 wk left
masak "old [ticket] doesn't a priori mean irrelevant" -- [Coke]++ 08:16
also... a *year*? that's nothing. if it was five years, I might start agreeing.
(use IO::Logging).assuming(logfile => ".log"); 08:23
now that's just crazy.
moritz: why I pinged you. yesterday jnthn++ and I recreated the breakfast-in-Copenhagen question about "the trouble with macros and lexicals". 08:27
aka "how the heck will that work?" 08:28
consider 08:29
macro foo() { my $a = 42; quasi { say $a } }; foo()
(doesn't work in my branch yet, and now I understand a lot better why not) 08:30
moritz: what, according to normal rules of macro expansion, does 'foo()' expand to?
moritz to the same as quasi { say 42 }, no? 08:32
masak depending what you mean exactly by that, no.
moritz ie references to outer lexicals are reified (replaced by their values) before applying the quasi
masak nope. 08:33
that's exactly what they're not.
moritz just like if you returned "say $a"
08:33 dakkar joined
moritz wasn't that what you said a few days ago? 08:33
that we should see quasis as analog to quoted strings?
diakopter what does 'quasi' mean there
moritz diakopter: "give me an AST"
see S06/Macros
masak moritz: oh, but that is what happens to *placeholders*, not ordinary variables. 08:34
moritz: I'm sorry I made you apply the analogy too far.
diakopter: like backquote in Lisp.
moritz just to be sure I get this straight, placeholders are {{{$a}}}, right?
masak aye.
I've called them "holes" up until now.
"placeholders" is a better term.
moritz I thought "holes" were $COMPILING::a 08:35
masak no, no, no :)
moritz what do you call those?
masak unhygiene :P
moritz "pulp"
masak "filth"
"gross"
moritz back to the actual question... so it's a compile-the-macro-time error? 08:36
masak nope.
it actually works and prints 42.
by actually going and getting the $a in the macro body. 08:37
moritz that would have been my next guess
masak :P
and this is what we must've realized in Copenhagen.
that it does this, and that it's *insane*.
moritz so the quasi is a closure that closes over the $a?
masak yup.
but that's not enough. 08:38
moritz even though it doesn't stay in an inner scope of the macro when flattened out?
masak since the AST is a "serialization" of the code and doesn't retain closure-ness.
right.
that's the trouble.
so it can't just be 'say $a' or equiv out in the mainline after expansion.
it has to be 'say SPECIAL_MACRO_MAGIC("$a")' 08:39
er, q[$a]
moritz LOOKUP_VAR_IN_FOREIGN_SCOPE('$a', :scope_id(1234567890))
masak yeah. 08:40
moritz that's... scary.
masak as far as I can tell, it's the quasi Perl6::AST that carries around the closure.
moritz action at a distance at its best
masak and all lookups have to be vetted against that closure to see if they "stick" inside an OUTER chain that the mainline doesn't see. 08:41
and then they have to be magicalized in the above way.
moritz macro term:<global> { my $a; quasi { $a } }; global = 5; global = 8; say global; # doctor, it hurts when I do this
masak now this is an interesting one.
recall that there are two invocations of the macro here. 08:42
moritz three :-)
masak thus, two call frames and two fresh lexical pads.
oops, yes.
so it prints 'Any()'.
because the 'my $a' is fresh with every macro call.
08:42 molaf joined
masak but the assignments work, no problem. 08:43
they just assign to a container that you will never see again.
moritz but this means you don't need to actually close over $a
masak sure you do.
you need the container.
moritz so you need to create an anon container when you interpolate the macro 08:44
masak well, I guess a reasonable alternative would be to fake the... right.
moritz and you need to initialize it with the value that $a has at macro call time
but it doesn't need to reference the $a in the macro body
masak I'd consider that an "optimization" or whatever.
moritz because when you run the macro again, it gets a fresh $a anyway
masak the real semantics are as I outlined them. 08:45
moritz considers it a road to sanity
masak also consider
{ my $a; macro globalish() { quasi { $a } } }; globalish = 3; say globalish # 3
moritz is that supposed to work? 08:46
masak you ask that at every step, it seems :P
moritz that's the math background
masak note that my model covers this just fine.
:)
the AST takes a closure and stores it somewhere. 08:47
moritz "is it defined? is it unique?"
masak 'globalish' gets translated into the magical lookup for '$a' inside the block.
jnthn morning o/ 08:50
phenny jnthn: 19 Oct 23:42Z <[Coke]> tell jnthn that to get the # of tickets iwth testneeded, to login to rt, then go to rakudo.org/rt/testneeded
mls_ morning jnthn! 08:51
moritz that link doesn't work for me :(
I use rt.perl.org/rt3/Search/Results.htm...C%0A%27%27 08:52
urk, cut off
tinyurl.com/testneeded 08:53
jnthn That one owrks for me :)
moritz++
moritz also available from rakudo.de/testneeded
jnthn wonders why the rakudo.org one only works for some people :) 08:54
moritz jnthn: RT URLs changed; it used to work for me too
masak it's a meritocracy, so it only works for some. 08:55
moritz :-)
masak moritz: reading the spec, I think calling COMPILING:: variables "variables in the compiling scope" makes the most sense. 09:03
dalek ast: e42a6ad | moritz++ | S02-types/whatever.t:
tests for RT #77000
09:04
masak macros are fun because they involve three actors: the macro routine, the quasi, and the compiling scope.
moritz mls_: your parrot patch to IO::Select fixed the problem segfaults 09:08
s/problem/
mls_: at least I haven't seen any since then
jnthn
.oO( there are non-problem segfaults? :) )
masak jnthn: that was an alternative ending to Independence Day: they caused a segfault in the mothership. 09:09
moritz poor aliens 09:10
09:10 jedai_ left
snarkyboojum I'm trying to imagine the mothership dropping a huge core dump 09:10
btw, hi #perl6 :D 09:11
masak snarkyboojum! \o/ 09:12
09:12 jedai joined
dalek ast: b653885 | moritz++ | S06-signature/optional.t:
test for RT #76728, assigning to optional hash param
09:12
snarkyboojum masak: hey! enjoying your macro posts/comments...
jnthn moritz++ # eating into testneeded 09:15
snarkyboojum masak: also linked off from a url you posted yesterday, a couple of very interesting video talks by the creator or Ioke - blip.tv/carlfk/ioke-a-folding-langu...-2-2240400 etc
so cheers for that :)
masak \o/ 09:17
I have two more macro posts in the (mental) pipe.
one is "how abstractions and late binding are *everywhere* and on every level" 09:18
the other is "Frequenty (and not so frequently) Asked Questions about macros"
moritz I'd be particularly interested in the first one 09:19
masak me too. I'm currently researching it.
moritz :-) 09:20
snarkyboojum masak: awesome - check out those Ioke vids if you get the time.. he talks about macros in there too :D
masak snarkyboojum: ok, thanks. I will.
snarkyboojum masak: some crazy/clever Swedish dude :)
masak oh, that guy :P
snarkyboojum heh
masak moritz: variables are a late binding of values. subroutines are a late binding on code structure. classes/inheritance/roles are a late binding on algorithms. macros are a late binding on syntax. 09:21
something like that.
s/<<on>>/of/ 09:22
moritz dispatch tables are late binding of dispatch
masak yeah. multi subs factor in there somehwere too, true.
looking at the past 60-70 years of computer programming from this perspective is intriguing. 09:23
in the olden days, everything was hard-coded. even the programs where wired into the machine.
nowadays we're finding abstractions to make the right things soft so that we can change them more easily. 09:24
flussence misread that first bit as "60-70 days"... 09:25
09:27 wk joined
moritz and curiously, whenever somebody proposes to make another things soft, the first reaction is "I wonder what that will break" 09:27
snarkyboojum been thinking about similar things dealing with virtualised hardware/platforms at work lately a la the elastic cloud amazon is/has been building 09:29
09:37 preflex joined
dalek ast: 6e4c316 | moritz++ | S03-operators/binding-scalars.t:
test for RT #76508, binding variable to itself
09:42
masak emailed karen@tpf
moritz: yes, because this tower-building isn't trivial. it takes decades to find out what abstractions are stable and pull their own weight. cf. OO 09:43
jnthn
.oO( Frequently Questions Answers About Macros )
09:44
*questione
gah
questioned...
Can't even type on the one keyboard I actually like now...
masak actually, this process of finding new late-bind cuts is complemented by the process of chunking things down into smarter syntax.
for example, structured programming allowed us to start reasoning properly about loops and conditions, even though it was "just" syntactic sugar. 09:45
colomon pretty much everything in higher level langauges is "just" syntactic sugar. :) 09:46
moritz hm... no. 09:47
masak I think I used to think so :) 09:50
snarkyboojum how about semantic sugar :D 09:52
masak I find your ideas fascinating and I want to subscribe to your newsletter. 09:53
09:56 uasi joined
moritz grins 09:56
colomon anyone know the right syntax for hash :exists off the top of their head? 09:59
moritz %h<key>:exists 10:00
niecza: my %h; say %h<key>:exists
p6eval niecza v10-58-gc851cf8: OUTPUT«Bool::False␤»
moritz niecza: my %h = key => Mu; say %h<key>:exists
p6eval niecza v10-58-gc851cf8: OUTPUT«Bool::True␤»
moritz or %h{'key'}>exists if you prefer that
colomon niecza: my $h; say %h{'key'}:exists 10:01
p6eval niecza v10-58-gc851cf8: OUTPUT«===SORRY!===␤␤Variable %h is not predeclared at /tmp/4opglomVLI line 1:␤------> my $h; say ⏏%h{'key'}:exists␤␤Potential difficulties:␤ $h is declared but not used at /tmp/4opglomVLI line 1:␤------> my ⏏$…
colomon niecza: my $h; say %h{'key'}>exists
p6eval niecza v10-58-gc851cf8: OUTPUT«===SORRY!===␤␤Variable %h is not predeclared at /tmp/Bk7nGRcvdY line 1:␤------> my $h; say ⏏%h{'key'}>exists␤␤Undeclared routine:␤ 'exists' used at line 1␤␤Potential difficulties:␤ $h is declared but not used at /tmp/B…
colomon niecza: my %h; say %h{'key'}>exists 10:02
p6eval niecza v10-58-gc851cf8: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'exists' used at line 1␤␤␤Unhandled Exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 766 (CORE die @ 2) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1136 (STD P6.comp_unit @ 36)…
colomon niecza: my %h; say %h{'key'}:exists
p6eval niecza v10-58-gc851cf8: OUTPUT«Bool::False␤»
colomon niecza: my %h; say !%h{'key'}:exists
p6eval niecza v10-58-gc851cf8: OUTPUT«␤Unhandled Exception: Excess arguments to CORE prefix:<!>, unused named exists␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (CORE prefix:<!> @ 0) ␤ at /tmp/073DhM95aj line 1 (MAIN mainline @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2176 (COR…
moritz needs parens
colomon niecza error, std error, or colomon error?
yes, it works fine with parens
jnthn Or use "not" and avoid the parens 10:03
moritz colomon: spec nastiness, I assume 10:05
colomon man, I've got something weird going on in my code here.
moritz colomon: there are rules based on operator precdence about where the adverbs belong to. They sometimes surprise you. 10:06
colomon niecza: say <"a", "b", "c", "d", "e", "f">.pick(5).perl 10:07
p6eval niecza v10-58-gc851cf8: OUTPUT«(""f"", ""d",", ""c",", ""a",", ""e",").list␤»
colomon duh
niecza: say <a, b, c, d, e, f>.pick(5).perl
p6eval niecza v10-58-gc851cf8: OUTPUT«("d,", "c,", "f", "e,", "a,").list␤»
masak sorear: that .perl output is wrong. submitting nieczabug. 10:08
colomon no it's not
masak the quotes aren't escaped.
colomon ... okay, yes it is
masak the one two evals back is clearly wrong.
colomon niecza: say <a b c d e f>.pick(5).perl
p6eval niecza v10-58-gc851cf8: OUTPUT«("d", "e", "b", "a", "f").list␤»
colomon I think .pick is slightly broken, but for some reason I can't get it to duplicate here, and it happens all the time in my code. :\ 10:09
masak perl6: say "\"".perl
p6eval niecza v10-58-gc851cf8: OUTPUT«"""␤»
..pugs b927740, rakudo 5af761: OUTPUT«"\""␤»
colomon niecza: say <a b c d e f>.pick(6).perl 10:11
p6eval niecza v10-58-gc851cf8: OUTPUT«("f", "c", "d", "b", "e", "a").list␤»
colomon niecza: say (2, 13, 18, 12, 24, 31, 30, 15, 39, 38, 35, 23, 33, 37, 36, 21, 48, 5, 47, 0, 49, 3, 40, 41, 43).pick(5).perl
p6eval niecza v10-58-gc851cf8: OUTPUT«(30, 5, 36, 48, 39).list␤»
colomon niecza: say (2, 13, 18, 12, 24, 31, 30, 15, 39, 38, 35, 23, 33, 37, 36, 21, 48, 5, 47, 0, 49, 3, 40, 41, 43).pick(5).perl
p6eval niecza v10-58-gc851cf8: OUTPUT«(0, 47, 12, 23, 24).list␤»
colomon niecza: my @a = <a b c d e>; my %f = @a X 1; say @a.perl 10:13
p6eval niecza v10-58-gc851cf8: OUTPUT«Potential difficulties:␤ %f is declared but not used at /tmp/ULeWst6_K1 line 1:␤------> my @a = <a b c d e>; my ⏏%f = @a X 1; say @a.perl␤␤["a", "b", "c", "d", "e"].list␤»
colomon niecza: my @a = <f s h w d r t>; my @b = @a.pick(5); say @b.perl; @a = @a.sort; say @b.perl; 10:16
p6eval niecza v10-58-gc851cf8: OUTPUT«["d", "t", "w", "r", "f"].list␤["d", "t", "w", "r", "f"].list␤»
colomon is getting spooky action-at-a-distance in his code, but is having trouble golfing it
colomon is also listening to his 3-year-old gently singing in his bed, when by all reasonable measures they both should be asleep 10:17
10:19 uasi left, mtk left 10:25 saaki left 10:26 saaki joined
colomon it seems like .pick is giving me a reference into the original array rather than just the Int values in the array. 10:27
hmmm, int values;
10:28 envi_ left
colomon niecza: my @a = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; my @b = @a.pick; say @b.perl; @a = @a.sort({ $^a <=> $^b }); say @b.perl; 10:28
p6eval niecza v10-58-gc851cf8: OUTPUT«[5].list␤[5].list␤»
colomon niecza: my @a = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; my @b = @a.pick(5); say @b.perl; @a = @a.sort({ $^a <=> $^b }); say @b.perl; 10:29
p6eval niecza v10-58-gc851cf8: OUTPUT«[9, 6, 8, 1, 4].list␤[9, 6, 8, 1, 4].list␤»
colomon niecza: my @a = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; sub test(@b) { say @b.perl; @a = @a.sort({ $^a <=> $^b }); say @b.perl }; test(@a.pick(5)); 10:30
p6eval niecza v10-58-gc851cf8: OUTPUT«(9, 3, 8, 1, 7).list␤(4, 2, 2, 4, 5).list␤»
colomon bingo!
moritz rakudo: my @a = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; sub test(@b) say @b.perl; @a = @a.sort({ $^a <=> $^b }); say @b.perl }; { test(@a.pick(5)); 10:31
p6eval rakudo 5af761: OUTPUT«===SORRY!===␤Malformed block at line 1, near "say @b.per"␤»
10:31 envi_ joined
moritz rakudo: my @a = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; sub test(@b) { say @b.perl }; @a = @a.sort({ $^a <=> $^b }); say @b.perl; test(@a.pick(5)); 10:31
p6eval rakudo 5af761: OUTPUT«===SORRY!===␤Symbol '@b' not predeclared in <anonymous> (/tmp/77WVyaIYMm:1)␤»
moritz can't even copy&paste 10:32
colomon rakudo: my @a = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; sub test(@b) { say @b.perl; @a = @a.sort({ $^a <=> $^b }); say @b.perl }; test(@a.pick(5)); 10:33
p6eval rakudo 5af761: OUTPUT«(6, 9, 1, 7, 2).list␤(6, 9, 1, 7, 2).list␤»
colomon niecza: my @a = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; my @b = @a.pick(5); say @b.perl 10:35
p6eval niecza v10-58-gc851cf8: OUTPUT«[10, 3, 6, 5, 1].list␤»
colomon niecza: my @a = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; my @b = @a.pick(5); say @a.perl; say @b.perl
p6eval niecza v10-58-gc851cf8: OUTPUT«[10, 9, 8, 7, 6, 5, 4, 3, 2, 1].list␤[5, 10, 1, 9, 6].list␤»
colomon okay, I completely don't understand how this can be happening
.... or I guess, if everything is a very shallow clone ... 10:36
what a terrible thing to find at 2am sorear++ time...
niecza: my @a = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; sub test(@b) { say @b.perl; @a = @a.sort({ $^a <=> $^b }); say @b.perl }; test(@a.pick(5)); 10:37
p6eval niecza v10-58-gc851cf8: OUTPUT«(9, 10, 4, 1, 7).list␤(3, 2, 3, 3, 5).list␤»
colomon sorear: ^^
10:47 uasi joined 10:50 benabik left 10:58 Alias left 10:59 Alias joined
colomon niecza: my @a = 10, 9, 8, 7, 6, 5, 4, 3, 2, 1; sub test(@b) { say @b.perl; @a = @a.sort({ $^a <=> $^b }); say @b.perl }; test(@a.pick(5).map(*+0)); 10:59
p6eval niecza v10-58-gc851cf8: OUTPUT«(8, 10, 5, 1, 7).list␤(8, 10, 5, 1, 7).list␤»
11:12 kaleem left 11:15 kaleem joined 11:18 wk left 11:19 pomysl is now known as sirmacik 11:21 lestrrat left 11:22 mtk joined, lestrrat joined 11:25 uasi left 11:35 replore left 11:39 benabik joined 11:41 Patterner left 11:43 Psyche^ joined, Psyche^ is now known as Patterner 11:51 whiteknight joined 11:54 GlitchMr joined
masak sorear: how feasible is it to implement 'my @a[ 10 ; 10 ]' in Niecza currently? 11:56
12:05 abercrombie joined
flussence rakudo: my $chars = 4; my $text = 'abcdefghij'; my $rx = rx/(\N ** {0..$chars}) $ /; say $text.match($rx, :pos(0)).perl; 12:25
p6eval rakudo 5af761: OUTPUT«Match.new(orig => "abcdefghij", from => 0, to => 10, ast => Mu, list => (Match.new(orig => "abcdefghij", from => 0, to => 10, ast => Mu, list => ().list, hash => EnumMap.new()),).list, hash => EnumMap.new())␤»
flussence rakudo: my $chars = 4; my $text = 'abcdefghij'; my $rx = rx/(\N ** {0..$chars}) $ /; say $text.match($rx).perl;
p6eval rakudo 5af761: OUTPUT«Match.new(orig => "abcdefghij", from => 0, to => 10, ast => Mu, list => (Match.new(orig => "abcdefghij", from => 0, to => 10, ast => Mu, list => ().list, hash => EnumMap.new()),).list, hash => EnumMap.new())␤»
flussence I know /. ** {5}/ isn't working, but I'm sure at least ranges like that were working a few days ago... 12:26
12:26 sftp joined 12:28 im2ee joined
im2ee Hello! :) 12:28
tadzik hello im2ee
im2ee tadzik, i saw Your solution to my problem. :) Thanks :) 12:30
tadzik you're welcome
im2ee I will continue my work this weekend. :) 12:31
masak hello im2ee :) 12:34
dalek osystem: 61b0e91 | (Aliaksandr Zahatski)++ | META.list:
add plosurin - Perl 6 implementation of Closure Templates
12:55
osystem: c2180ce | tadzik++ | META.list:
Merge pull request #7 from zag/master

add Plosurin - Perl 6 implementation of Closure Templates
moritz gives zag a commit bit 12:57
12:57 kaleem left 12:59 satyavvd left
tadzik good idea 13:03
13:05 smash joined, replore joined
smash hello everyone 13:06
moritz \o smash
dalek ast: ea311cc | moritz++ | S05-substitution/subst.t:
RT #76664
13:09
13:10 shinobicl joined 13:11 Holy_Cow joined, GlitchMr left
colomon tadzik: do you understand what Plosurin is? 13:14
ah, code.google.com/closure/templates/ -- maybe? 13:15
tadzik colomon: unsure. I think it generates Perl 5 code or so
PerlJam What's Plosurin? 13:16
moritz 14:55 <+dalek> ecosystem: add Plosurin - Perl 6 implementation of Closure Templates
PerlJam: how's the release going? 13:17
PerlJam moritz: not at all yet. Probably not going to get started for several hours
moritz PerlJam: ok; let me know if you need any help, I might have tuits 13:18
13:18 JimmyZ joined
JimmyZ Is there a bool type? 13:20
moritz no, just Bool
13:20 cognominal left
PerlJam There's one thing I can do right now though ... 13:20
dalek kudo/nom: e17c139 | duff++ | docs/release_guide.pod:
Choose a release name
13:21
13:22 uasi joined
JimmyZ maybe int1 13:23
moritz unit1 iirc 13:24
13:25 whiteknight left
masak no, there's an int1 too. 13:26
and a joke about it in the spec.
(it has the values 0 and -1)
moritz b: my $x = do { class X {} }; say $x
p6eval b 1b7dd1: OUTPUT«!class_init_72␤»
jnthn nom: my $x = do { class X {} }; say $x 13:27
p6eval nom 5af761: OUTPUT«X()␤»
JimmyZ nom++ ?
jnthn yes, nom is correct here
13:31 bluescreen100 joined
moritz b: my $x = class X {}; say $x 13:32
p6eval b 1b7dd1: OUTPUT«!class_init_72␤»
moritz b: my $x = class X {}; say $x ~~ X
p6eval b 1b7dd1: OUTPUT«Bool::False␤»
moritz ok, that's how I can test it
JimmyZ nom: my $x = class X {} ; say $x
p6eval nom 5af761: OUTPUT«X()␤» 13:33
13:33 bluescreen10 left 13:38 ponbiki left
dalek ast: 15664cb | moritz++ | S12-class/basic.t:
test for RT #76270, named class declaration should return the class
13:40
moritz pmichaud: are there any nqp changes you want to make today that should go into the rakudo release? 13:43
13:44 SHODAN left
moritz ("don't know yet" is also a fine answer) 13:44
13:45 GlitchMr joined 13:46 bluescreen10 joined
pmichaud don't know yet; I have nqp changes coming soonish but I can't give a good enough time estimate to warrant holding the release for them 13:48
so, if they make it, great; if not, we'll just get them in the next (possibly 'special') release
jnthn Yes, I'd really like us to get back to time-based releases. 13:49
moritz pmichaud: that's fine; the background was just that if you hadn't planned NQP changes at all, I would have tagged nqp now
pmichaud well, I think we're fine with time-based releases. I thought we were going to give ourselves a bit more time between parrot and regular release, but it looks like we're sticking with the 2-days-later approach?
moritz as is, PerlJam++ will do it close to the rakudo release 13:50
pmichaud I think that nqp tagging should (for now) be close to the rakudo release, yes.
tadzik yeah, I was supposed to have an eye on that, so we won't get the madness from the last month 13:51
jnthn afk for half an hour or so
13:52 kaare_ joined
masak (time-based releases)++ 13:54
turned out it was important for morale not just within the Perl 6 group, but within the larger Perl community as well. 13:55
13:55 Sarten-X left 13:57 thou joined
pmichaud so, we're all agreed about time-based releases. Are we also sticking to the 2-days-after-parrot-release timing? 13:58
13:58 thou left
masak dontmuchcare 13:58
do whatever makes sense. 13:59
moritz I'm +1 to the current practise, which seems to be "target 2 days after parrot release, bug let it slack for a few days if necessary. Stay within the same month as the parrot release"
s/bug/but/
pmichaud I'm fine with that.
masak +1 for "same month" :)
pmichaud should we change the text to read "shortly after Parrot monthly releases", then?
moritz yes
nom: say (1 Z 2).[0].WHAT 14:00
p6eval nom e17c13: OUTPUT«Parcel()␤»
pmichaud that looks like a bug to me 14:01
masak nom: say (1 Z 2)[0][0][0].WHAT
p6eval nom e17c13: OUTPUT«Int()␤»
pmichaud nom: say (1 Z 2).perl
dalek kudo/nom: bfedd99 | moritz++ | src/core/List.pm:
Implement simplest form of List.tree

You can now say
   for (1, 2 Z 10, 20).tree { }
and have the loop bind $_ to the parcels (1, 10) and (2, 20) in turn
p6eval nom e17c13: OUTPUT«((1, 2),).list␤»
moritz nom: say 1[0].perl
p6eval nom e17c13: OUTPUT«1␤»
pmichaud nom: say ((1,2),).[0] 14:02
p6eval nom e17c13: OUTPUT«1␤»
pmichaud nom: say ((1,2),).[0].WHAT
p6eval nom e17c13: OUTPUT«Int()␤»
moritz evalbot rebuild nom
p6eval OK (started asynchronously)
masak now I agree with pmichaud. looks like bug.
moritz waitwaitwait
do () around literals flatten? 14:03
JimmyZ I'm curious, what does my $ = $_ means ?
pmichaud fwiw, $_ should never bind to a parcel.
JimmyZ and sometimes it doesn't work
moritz JimmyZ: it's a way to put stuff in scalar context
pmichaud: why not?
pmichaud parcels are "invisible" -- they tend to flatten out 14:04
JimmyZ nom: my $ = $_
p6eval nom e17c13: ( no output )
moritz maybe .item would have worked too
JimmyZ hmm, last time I tried it ,but didn't work
pmichaud let me re-check the .tree spec.... but if you do .tree then it should result in $_ binding to individual Lists 14:05
14:05 Sarten-X joined
moritz pmichaud: well, I can't stick to the spec in your head until it's written down, and the currently written spec seems to disagree with rakudo on quite many points 14:05
pmichaud well, the currently written spec disagrees with TimToady++ on most of these points also :) 14:06
moritz I think it says List, but I don't see why it'd need to be List
JimmyZ nom: $_ = 1, 2, 3, 5; say my $ = $_;
p6eval nom e17c13: OUTPUT«1␤»
pmichaud because Parcels tend to be invisible. that's not just in my head, that's the way all of the discussions have been.
moritz ie why should .tree involve type conversion, when it's really about flattening and non-flattening, which (IIUC) isn't tied to types at all
JimmyZ nom: $_ = 6, 2, 3, 5; say my $ = $_;
p6eval nom e17c13: OUTPUT«6␤»
pmichaud .tree is all about converting things into LoLs
which is a type conversion 14:07
moritz pmichaud: so should infix:<Z> return parcels in the first place?
pmichaud I think so, yes.
moritz then I don't understand the "Parcels tend to be invisible" statement
masak they tend to collapse into other things. 14:08
pmichaud S02:2139
Unlike C<Capture> objects, C<Parcel> objects are ephemeral, insofar as the
user almost never sees one as a real standalone object, since binding or
assignment always turns a parcel into something else.
moritz so if assignment is fixed in rakudo, my code stops returning parcels :-) 14:09
s/if/when/
pmichaud anyway, .tree should return a LoL, where each element at the top level is a List 14:10
moritz nom: say MapIter.new(:list(1, 2 Z 10, 20), :block({ my $ = .list })).list.[0] 14:11
p6eval nom e17c13: OUTPUT«1 10␤»
moritz nom: say MapIter.new(:list(1, 2 Z 10, 20), :block({ my $ = .list })).list.[0].WHAT 14:12
p6eval nom e17c13: OUTPUT«List()␤»
JimmyZ nom: my @a = 1 ... 5; say my $ = @a
p6eval nom e17c13: OUTPUT«1 2 3 4 5␤»
moritz though probably needs to be $_ ~~ Parcel ?? list !! $_
pmichaud that ~~ Parcel is suspect, though. 14:13
moritz nom: my @a = 1 ... 5; my $counter = 0; for my $ = @a { $counter++ }; say $counter
p6eval nom e17c13: OUTPUT«1␤»
moritz nom: my @a = 1 ... 5; my $counter = 0; for @a { $counter++ }; say $counter
p6eval nom e17c13: OUTPUT«5␤»
moritz pmichaud: the spec explicitly talks about Parcel sublists 14:14
moritz feels the pain of low communication bandwith
thing is, if I just call .list, it will also convert hashes 14:15
pmichaud sure, Parcels exist -- they just aren't typically visible via variables.
JimmyZ nom: my @a = 1 ... 5; my $counter = 0; for my $ = @a { .say };
p6eval nom e17c13: OUTPUT«1 2 3 4 5␤»
pmichaud I don't think you need to call .list at all -- just .item should do it. 14:16
moritz nom: say Parcel.new.item.WHAT
p6eval nom e17c13: OUTPUT«Parcel()␤»
moritz should I change that to do a .list.item? 14:17
pmichaud hrm
I'm thinking that Parcel's "item" method should do .list.item
maybe.
14:18 wtw left
pmichaud fwiw, there's not a grand design in my head on the list spec -- I'm just parroting things that TimToady has said in the past about lists (and the logical consequences of things that were said) 14:18
JimmyZ nom: my @a = 1 ... 5; my $counter = 0; for my $ = @a { .WHAT.say };
p6eval nom e17c13: OUTPUT«Array()␤»
moritz nom: my @a = 1, 2; say @a.flattens; say (my $ = @a).flattens 14:19
p6eval nom e17c13: OUTPUT«1␤1␤»
JimmyZ it's still a Array()?
pmichaud note that nom's .flattens doesn't mean the same as niecza's .flattens
moritz this is not the droi^W method I'm looking for
pmichaud there's not a method that tells you if an expression interpolates in list context 14:20
JimmyZ nom: my @a = 1 ... 5; my $counter = 0; for my $ = @a { .perl.say };
p6eval nom e17c13: OUTPUT«[1, 2, 3, 4, 5]␤»
pmichaud at least, not yet.
moritz such a thing would be very useful
JimmyZ nom: my @a = 1 ... 5; my $counter = 0; @a.perl.say
p6eval nom e17c13: OUTPUT«Array.new(1, 2, 3, 4, 5)␤»
moritz given that type introspection doesn't tell me
pmichaud what's the use case, ooc?
moritz nom: my @a = (1, 2); say nqp::iscont(@a); say nqp::iscont(my $ = @a) 14:21
p6eval nom e17c13: OUTPUT«Method 'gist' not found for invocant of class 'Integer'␤ in sub say at src/gen/CORE.setting:5251␤ in block <anon> at /tmp/oHeOCTWHvk:1␤ in <anon> at /tmp/oHeOCTWHvk:1␤»
moritz pmichaud: the first I can think of is debugging
pmichaud right; I'm curious about "besides debugging" I guess.
(not that debugging is unimportant)
moritz nom: my @a = (1, 2); pir::say nqp::iscont(@a); pir::say nqp::iscont(my $ = @a)
p6eval nom e17c13: OUTPUT«0␤1␤»
moritz @a is not a container? :-)
pmichaud actually, there's a bug with @a in general 14:22
[Coke] ponders adding a skype channel or something to phasers.
pmichaud I've mentioned it to jnthn++ before but it's not a trivial fix.
moritz pmichaud: recursive traversal of stuff
[Coke] is kind of freaked out to see all this pmichaud++ activity today!
pmichaud nom: my @a; say @a.defined; # wrong
p6eval nom e17c13: OUTPUT«Bool::True␤»
[Coke] . o O (In a good way!)
moritz pmichaud: say I want to create a (modified) recursive copy of a data structure. I need to preserve the interpolating/non-interpolating bits 14:23
pmichaud when done correctly, I suspect that @a needs to become a flattening container
moritz: yeah, at that point the Parcels have to become visible somehow. 14:24
moritz how, if both binding and assignment kills them? :-) 14:25
pmichaud well, nom currently belives that binding in the := sense doesn't kill a Parcel
although binding in the ::= sense does.
(or should)
so, if you use := bindings, then you can get to the Parcels
(and note that parameter passing / pointy blocks use ::= binding, which would kill the Parcel) 14:26
14:26 whiteknight joined
jnthn back 14:26
:= binding is very primitive 14:27
[Coke] ~/ the gangs all here /~
nom: say 706 - 85 14:29
p6eval nom e17c13: OUTPUT«621␤»
jnthn moritz++ # down to 84 tickets with testneeded
[Coke] rakudo: multi f ($ (Int :$value)) { say "Int $value" }; multi f($ (Str :$value)) { say "Str $value" }; f('a' => 3); f('a' => 'foo') 14:30
p6eval rakudo e17c13: OUTPUT«No applicable candidates found to dispatch to for 'f'. Available candidates are:␤:(Any)␤:(Any)␤␤ in block <anon> at /tmp/VKxxeUL8D4:1␤ in <anon> at /tmp/VKxxeUL8D4:1␤»
[Coke] rakudo: (1/2).Capture.perl.say 14:31
p6eval rakudo e17c13: OUTPUT«Capture.new()␤»
jnthn Those $ are a bit superstitious.
It won't bind because there's a key named argument too
[Coke] jnthn: it's an old ticket.
moritz rakudo: (1/2).Capture.keys.perl
p6eval rakudo e17c13: OUTPUT«SixModelObject does not support the clone v-table; consider using the repr_clone op instead␤ in method list at src/gen/CORE.setting:3563␤ in method keys at src/gen/CORE.setting:3620␤ in block <anon> at /tmp/GECKp2180y:1␤ in <anon> at /tmp/GECKp2180y:1␤»…
[Coke] rt.perl.org/rt3/Ticket/Display.html?id=77950
jnthn wtf... 14:32
pmichaud ....clone?
clone is Evil.
[Coke] moritz! I'm trying to CLOSE tickets here. ;)
jnthn pmichaud: Yes, should never happen.
pmichaud: 6model objects throw an exception if you try.
moritz [Coke]: I guess that Capture.perl is broken-ish
rakudo: (1/2).Capture.hash.perl
p6eval rakudo e17c13: ( no output )
[Coke] jnthn: anyway, if you want to comment on #77950 (it was your code in the first place! ;) I'd appreciate it.
moritz rakudo: say (1/2).Capture.hash.perl
p6eval rakudo e17c13: OUTPUT«EnumMap.new("numerator", 1, "denominator", 2, )␤»
jnthn nom: multi f ((Int :$value, *%)) { say "Int $value" }; multi f((Str :$value, *%)) { say "Str $value" }; f('a' => 3); f('a' => 'foo') 14:33
p6eval nom e17c13: OUTPUT«Int 3␤Str foo␤»
jnthn [Coke]: The code in the ticket would need to be the above to work; note the extra *%
moritz .hash returns an EnumMap. How amusing :-)
pmichaud phenny: tell PerlJam if you could work on RT #97102 as part of the release it would be really awesome. msg me if you need some ideas. kthx
phenny pmichaud: I'll pass that on when PerlJam is around.
jnthn (to slurp up key)
moritz: It's .hash, not .Hash :)
Maybe we need to make them reflect associative and positional better 14:34
[Coke] jnthn: so, given that, we can reject the ticket? ;)
jnthn .ass and .pos :)
moritz jnthn: that's why I said "amusing" and not "wrong"
jnthn ...er, no, NOT .ass :)
moritz ... and NOT .pos
pmichaud .keyed and .posed
iiuc, a .pos is what comes out of most people's .ass (SORRY!) 14:35
moritz thinks of _keyed_ vtables and wants to run
jnthn [Coke]: I'd consider it fixed
colomon masak: just found a bug that had been in my $work code since the 1990s because I wrote a new test
[Coke] moritz: there's no vtables. it's perl6 all the way down.
jnthn: needs test, you think?
jnthn [Coke]: It gave the wrong error before, now it gives the right one
masak colomon: I love such tests.
jnthn And it was the wrong code 14:36
[Coke]: I can blieve we need a test for the correct version of it.
moritz agreed
jnthn pmichaud: ouch! :P
masak colomon: that's why I'm not totally demoralized by brownfield development; because I can make things better using things like tests and facades and new interfaces.
colomon masak: basically wrote the test to check new behavior of library Y, but said, hey, it ought to work library X too, and then it didn't. 14:37
[Coke] rakudo: say (1..2) | (4..5)
p6eval rakudo e17c13: OUTPUT«any(1, 2, 4, 5)␤»
moritz [Coke]: anyway, I'm writing those tests right now; feel free to close the ticket without explicit test coverage
[Coke] rakudo: say (1..23) | (1000..2000) 14:38
p6eval rakudo e17c13: OUTPUT«any(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029…
[Coke] moritz: too late, already updated to needtestz.
masak colomon: this summer when I was going through a 1000-line file and generating tests out of it *automatically*, I *still* found tests that broke and told me about years-old bugs in the code. shouldn't be possible, but it happened, several times.
[Coke] well, more like "too lazy".
moritz [Coke]: 's ok 14:39
14:39 whiteknight left
[Coke] rakudo: say $*ARGFILES.slurp 14:40
p6eval rakudo e17c13: OUTPUT«Method 'slurp' not found for invocant of class 'ArgFiles'␤ in block <anon> at /tmp/maAkjzf3p0:1␤ in <anon> at /tmp/maAkjzf3p0:1␤»
moritz that's probably a LHF
[Coke] rakudo: say $*ARGFILES.WHAT
p6eval rakudo e17c13: OUTPUT«ArgFiles()␤»
dalek ast: 340ff7d | moritz++ | S06-signature/unpack-object.t:
test for typed object unpacking in subsignatures
[Coke] rakudo: say eval(("a","b").Seq.perl ).WHAT 14:41
p6eval rakudo e17c13: OUTPUT«Method 'Seq' not found for invocant of class 'Parcel'␤ in block <anon> at /tmp/hiXW8eZ29W:1␤ in <anon> at /tmp/hiXW8eZ29W:1␤»
pmichaud .Seq is (hopefully) gone
[Coke] rt.perl.org/rt3/Ticket/Display.html?id=76596 is obsolete, then? 14:42
pmichaud looking
[Coke] (danke)
masak yay .Seq is gone! 14:43
moritz .Seq is stil in the specs
pmichaud I call obsolete. The meaning of Seq and .perl have changed since that ticket was filed.
yes, .Seq is still in the specs; I need to get to work on my spec updsates
*updates
.Seq is in the specs but is likely a fossil. 14:44
at least, I'm hoping it'll be a fossil.
[Coke] kills the ticket. 14:45
pmichaud++
pmichaud rakudo: say eval(('a','b').perl).WHAT
p6eval rakudo e17c13: OUTPUT«Parcel()␤»
pmichaud rakudo: say eval(('a','b').list.perl).WHAT
p6eval rakudo e17c13: OUTPUT«List()␤»
pmichaud rakudo: say eval(('a','b').list.item.perl).WHAT 14:46
p6eval rakudo e17c13: OUTPUT«List()␤»
14:46 cognominal joined
pmichaud hmmmm 14:46
not sure about that last one.
[Coke] rakudo: for 1,2,3, { say $_ }
p6eval rakudo e17c13: OUTPUT«===SORRY!===␤Missing block at line 1, near ""␤»
pmichaud std: for 1,2,3, { say $_ }
p6eval std 580b69a: OUTPUT«===SORRY!===␤Expression needs parens to avoid gobbling block at /tmp/LVrMJLXlRk line 1:␤------> for ⏏1,2,3, { say $_ }␤Missing block (apparently gobbled by expression) at /tmp/LVrMJLXlRk line 1:␤------> for 1,2,3, { say $_ }…
[Coke] is that good enough or do we need to duplicate std's error?
pmichaud what ticket? 14:47
[Coke] rt.perl.org/rt3/Ticket/Display.html?id=66776
[Coke] doesn't mean to be hogging pmichaud's time, btw.
pmichaud I don't see it as hogging. :) Closing tickets has been on my list for a while :)
I could go either way on this one. 14:48
moritz btw, long standing parsing bug:
nom: say 1, , 3
p6eval nom e17c13: OUTPUT«13␤»
moritz std: say 1, , 3
p6eval std 580b69a: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix , instead at /tmp/jbvlirySyo line 1:␤------> say 1, ⏏, 3␤Parse failed␤FAILED 00:01 121m␤»
[Coke] there's another ticket open for that one that I've seen recently.
moritz I know
it's one of our oldest open tickets 14:49
pmichaud std: say(1,,3) # curious
p6eval std 580b69a: OUTPUT«===SORRY!===␤Preceding context expects a term, but found infix , instead at /tmp/4jo3LjnKJa line 1:␤------> say(1,⏏,3) # curious␤Parse failed␤FAILED 00:01 121m␤»
pmichaud okay
14:49 kmwallio joined
pmichaud that's newish to me 14:49
moritz maybe related: 14:50
[Coke] someone just fixed rt.perl.org/rt3/Ticket/Display.html?id=58592, didn't they? did we update to require whatever version had that change?
moritz nom: say ~~ 1
p6eval nom e17c13: OUTPUT«1␤»
14:50 thou joined
moritz std: say ~~ 1 14:50
p6eval std 580b69a: OUTPUT«===SORRY!===␤Expecting a term, but found either infix ~~ or redundant prefix ~␤ (to suppress this message, please use space between ~ ~) at /tmp/RtDG7Qcule line 1:␤------> say ~~⏏ 1␤Parse failed␤FAILED 00:01 121m␤»
14:50 cognominal left, cognominal joined
moritz [Coke]: we haven't updated yet 14:51
[Coke]: will happen as part of the release process anyway
pmichaud false
rakudo and nqp no longer use PCT::HLLCompiler
so the fix that was applied in Parrot has no impact on rakudo/nqp
moritz pmichaud: it was an nqp commit (05b7873eda74cb0ae1d038736098af0c3bc00dfd) "Based on a patch" to PCT::HLLCompiler 14:52
pmichaud ah, I missed that then.
looking.
moritz but the commit did modify HLL::Compiler
it's nqp master
HEAD
benabik pmichaud: I made the identical fix to nap that I did to Parrot, modulo language (PIR v NQP).
*nqp, stupid autocorrect 14:53
pmichaud there was a reason I didn't make that patch... not sure that I remember what it was.
iirc, it causes something else important to fail.
benabik It seems very limited in scope. Skips no vital code, changes no variables. Not sure what it could break. 14:54
[Coke] we'll find out when we update. ;) 14:55
pmichaud had something to do with what was produced with other combinations of command line options
benabik Feel free to revert, but let me know so I can try to fix PCT as well.
moritz builds it to see if anything fails
pmichaud well, I won't revert unless/until I remember what the problem was. 14:56
masak by the way, hakank++ pointed out AFK that the --optimize flags aren't reported in Rakudo's --help
want me to submit a rakudobug for that? 14:57
pmichaud a commit would be cool, too :) 14:58
(yes, rakudobug is fine)
(mark it as LHF)
moritz again wishes for a method to pass command line arguments to p6eval
masak submits LHF rakudobug 14:59
pmichaud benabik/others: I think the problem I had with the patch were due to other problems with '-e' that have since been fixed in nqp in the past couple of months. So I'm guessing the patch can stay.
14:59 pmurias_ joined, pmurias_ left
pmichaud I don't know what the equivalent -e fixes would be for PCT::HLLCompiler -- might need to check nqp's commit history on HLL::Compiler to find them 14:59
14:59 pmurias joined
pmurias sorear: hi 14:59
sorear: where should i store a list of passing p5 integration spec tests? 15:00
dalek ast: 7dd36e1 | (Paweł Murias)++ | S01-perl-5-integration/subs.t:
test for calling p5 subs from perl6
ast: f6d832a | (Paweł Murias)++ | S01-perl-5-integration/subs.t:
basic test for calling p5 subs
pmichaud re: message in makefile about long compilation step -- I think it's okay to make the change pre-release. Seems like it should just be an @echo line in Makefile.in 15:02
moritz does it so 15:04
15:04 sftp left, sftp joined
benabik pmichaud: Looking at git-log, I don't see any changes that would affect the --target patch… *shrug* The patch was three years old, so perhaps it was an old issue. Thanks for looking at it though. 15:05
pmichaud returning to List.tree for a moment -- I'm fine with what was committed for now. It likely needs some changing (and MapIter may be going away with other upcoming changes), but it's fine as-is for now until we get some bug reports against it or see other issues.
benabik had considered just submitting a pull request for nap, but decided to go with the old axiom "forgiveness > permission"
pmichaud benabik: +1 15:06
moritz pmichaud: ok
benabik just teaches Lion that nqp is a word, darn it.
pmichaud benabik: I know that originally I didn't apply the three-year-old patch because I expected to make a significant refactor in how PCT::HLLCompiler dumps its output and the patch wouldn't have been applicable under the refactor. But the refactor never occurred.
moritz pmichaud: the "real .tree" has much more bells and whistles anyways, this was just for making nested list available to the user /somehow/ 15:07
pmichaud moritz: +2
moritz nom: for (1, 2 Z 10, 20).tree -> $x { say $x.fmt('%02d', ',') }
pmichaud iwbni if the simple .tree could at least return a LoL, though :)
p6eval nom bfedd9: OUTPUT«01,10␤02,20␤»
pmichaud (if it's not doing so already) 15:08
oh!
benabik pmichaud: Ah. Fair enough. Some changes to dumping in nqp should probably still be on the list… --target=p[ao]st failes trying to dump 6model objects. I've occasionally thought about targeting it, but I'm spending too much time away from homework as it is. :-)
moritz nom: say (1, 2 Z 10, 20).tree.WHAT
p6eval nom bfedd9: OUTPUT«List()␤»
pmichaud method tree(**@lol) { @lol } # might work
moritz doesn't think so
it needs to do some work with the invocant at least 15:09
pmichaud oh, yeah.
ummmm
method tree() { sub foo(**@lol) { @lol }; foo(self) } 15:10
:-P
method tree() { ( -> **@lol { @lol } )(self) } 15:11
moritz nom: use MONKEY_TYPING; augment class List { method treeish() { sub foo(**@lol) { @lol }; foo(self) }}; given (1, 2 Z 10, 20).treeish { say .WHAT; say .[0].perl }
p6eval nom bfedd9: OUTPUT«LoL()␤((1, 10), (2, 20)).list.item␤»
moritz that doesn't look right
TimToady it seems to me that if it defaults to lol then that is a useless redundancy
I think a deeper default would make sense on .tree 15:12
moritz should Z returns a LoL in the first place?
*return
TimToady no
pmichaud agreed, "no"
don't pre-itemize things 15:13
moritz huh, is LoL the itemization? 15:14
pmichaud elements of a LoL are itemized
TimToady it prevents flattening of the top layer
pmichaud basically, LoL is like an Array but without the flattening of deeper layers
moritz so would @lol.push: 1, 2 add a single sublist with two elems? 15:15
TimToady and I think .tree should do that all the way down
by dfeault
pmichaud I'm fine with tree defaulting to deep itemization
moritz: I would expect @lol.push: 1,2 to add two elems
moritz isn't sure what to expect anymore 15:16
pmichaud if you want to add a sublist, you use @lol.push: (1,2).item
@lol.push: 1,2 would be the same as @lol.push(1,2) 15:17
(and .push is defined as method push(*@values), which flattens) 15:19
okay, I'm afk for a while 15:21
kmwallio Is there an online guide for doing NativeCalls from Perl6? 15:28
moritz kmwallio: not really, the current state is rather sad
kmwallio: there are some approaches, but they only work with rather old versions of rakudo 15:29
kmwallio lame
thanks for the information
moritz lame indeed; efforts to improve the situations are greatly appreciated 15:30
15:30 GlitchMr left
moritz github.com/jnthn/zavolaj/ is what used to work, but what I belive is broken now 15:30
kmwallio does that mean I should learn PIR? 15:31
moritz no, I think the next iteration will use nqp (and maybe C)
masak \o/
jnthn I started working on that. 15:32
moritz but I think jnthn has a plan, I'm just parroting things I've heard
jnthn I'm mostly just undecided whether ot use Parrot's NCI or wrap something like libffi directly from NQP
Or something else.
benabik jnthn: If libffi is available, Parrot's NCI is basically a wrapper around it.
kmwallio thanks for the information, I have to go. 15:33
15:33 kmwallio left
benabik Although I guess Parrot NCI knows nothing about 6model, which might be awkward. 15:33
jnthn Well, yeah, that's the reason I'm wondering what to do. 15:34
Will it be easier to do 6model => libffi integration than go via Parrot's existing binding. I didn't look closely enough yet.
benabik If 6model objects used get_pointer to return the start of where data is stored, then you might be able to use 'p' NCI type to pass them as structs. Dunno. 15:35
benabik digs back into XS.
PerlJam jnthn: when you say "6model => libffi integration", do you mean at the NQP level or lower? 15:36
phenny PerlJam: 14:33Z <pmichaud> tell PerlJam if you could work on RT #97102 as part of the release it would be really awesome. msg me if you need some ideas. kthx
benabik (Well, pointers to structs.)
15:40 mj41 left 15:41 risou_awy is now known as risou 15:45 pmurias left 15:51 wamba joined 16:01 donri joined
masak decommutes 16:01
16:09 wk joined 16:10 JimmyZ left 16:15 whiteknight joined, wk left
[Coke] decommutes == "leave work to head for home" or "arrive home having left from work" ? 16:29
16:30 GlitchMr joined, drbean left
jnthn [Coke]: The first, I think 16:31
diakopter leaving work is how I use it
jnthn same 16:32
16:36 finanalyst_ joined
[Coke] thank you. ;) 16:37
finanalyst_ yesterday I updated rakudo and found that it broke a lot of my code, including fairly standard regexes
what happened?
[Coke] finanalyst_: how old was your older version? 16:39
16:40 alester joined
finanalyst_ maybe a month or so 16:40
16:40 kaleem joined
[Coke] it is quite possible that you upgraded past the transition to the nom branch, which brings great improvements in the object model, but hasn't quite caught up yet in regex. 16:40
Are you going against releases?
finanalyst_ that would explain it
[Coke] I believe there was a note in the release announcement about this. checking.
finanalyst_ Also I have found that IO isnt working, eg. my @arr = lines('path/to/data/data'); 16:42
16:42 daniel-s left
[Coke] Hurm. I don't actually see the latest release announcement anywhere. 16:43
finanalyst_ i rewrote to my $fn=open('filename',:r); my @arr= $fn.lines, which works, but only the second time 16:44
for some reason I get a segmentation error on the first attempt
should i be filing bug reports on these things? 16:45
[Coke] gah.
Yes, pleaes.
definitely for segvs.
For things that nom has regressed on, yes. Hopefully, aside from the regex, these are low hanging fruit that we can bring back. 16:46
jnthn lines('path/to/data/data') will not do IO now - that's Rakudo following a spec change 16:49
Need to coerce the filename to an IO object, e.g. 'path/to/data/data'.IO 16:50
finanalyst_ jnthn: i missed that change.
jnthn finanalyst_: Well, I think it happened a little bit ago, but took until the nom branch to switch it over. 16:51
segv is *always* wrong, so certainly that wants a ticket.
finanalyst_ btw I really miss the full patches the cvs used to give. git only gives the log comment, which is not always helpful
[Coke] finanalyst_: I also dislike having to click through to see the commits. 16:52
finanalyst_ jnthn: what is an elegant idiom now for what used to be: my @arr=lines('fn',:r) ? 16:54
benabik finanalyst_: In general, -p will give you patches out of git. 16:55
finanalyst_: i.e. git log -p
finanalyst_ [Coke]: how long for regexes to return to bleeding edge rakudo?
jnthn my @arr = 'fn'.IO.lines; # not so bad
[Coke] finanalyst_: we have a low bus number there. unsure. 16:56
finanalyst_ jnthn: is that read only, or has readonly become OS dependent?
[Coke] I mean, they're there now, they're just not as full featured.
nom: say "abcd" ~~ /d/ 16:57
p6eval nom bfedd9: OUTPUT«=> <d>␤␤»
TimToady perl6: say '/etc/passwd'.IO.lines[0]
p6eval pugs b927740: OUTPUT«*** No such method in class Str: "&IO"␤ at /tmp/SRFGmfb7Ey line 1, column 5 - line 2, column 1␤»
..niecza v10-58-gc851cf8: OUTPUT«␤Unhandled Exception: Unable to resolve method lines in class IO␤ at /tmp/WwUWpWIDhi line 1 (MAIN mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2176 (CORE C1040_ANON @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2177 (CORE module-CO…
..rakudo bfedd9: OUTPUT«root:x:0:0:root:/root:/bin/bash␤»
[Coke] nom: say ?("abcd" ~~ /e/)
p6eval nom bfedd9: OUTPUT«Bool::False␤»
16:57 dakkar left
finanalyst_ [Coke]: how would I get a rakudo with more/better/old regex? 16:57
[Coke] bad rakudo!
finanalyst_: don't upgrade to the latest release? 16:58
finanalyst_ just upgraded!!! :(
i want to go back. Not sure of syntax
[Coke] We could always use another pair of hands, if you'd rather upgrade and hack on rakudo. ;)
TimToady rakudo: my @arr = '/etc/passwd'.IO.lines; @arr[0] = 123; say @arr[1]; # why do you think it's readonly?
p6eval rakudo bfedd9: OUTPUT«daemon:x:1:1:daemon:/usr/sbin:/bin/sh␤»
TimToady rakudo: my @arr = '/etc/passwd'.IO.lines; @arr[0] = 123; say @arr[0]; # why do you think it's readonly? 16:59
p6eval rakudo bfedd9: OUTPUT«123␤»
16:59 Trashlord left
finanalyst_ TimToady: what is the default for IO.lines? 16:59
jnthn oh my...a leak
TimToady IO.lines returns a lazy list of strings. I don't know what you're trying to do. 17:00
17:00 Trashlord joined
TimToady you aren't expecting lines = $new to change a file in place are you? 17:01
finanalyst_ TimToady: sorry for stupid questions: I should go and look at the latest syntax. In general, I try to keep input data files readonly and output files write only 17:02
TimToady lines() with no argument is supposed to default to $*ARGFILES
but IO.lines isn't that
perl6: for lines() { .say }
p6eval rakudo bfedd9: OUTPUT«Land der Berge, Land am Strome,␤Land der Äcker, Land der Dome,␤Land der Hämmer, zukunftsreich!␤Heimat bist du großer Söhne,␤Volk, begnadet für das Schöne,␤vielgerühmtes Österreich,␤vielgerühmtes Österreich!␤␤Heiß umfehdet, wild umstritten␤liegst dem Erdteil du inmi…
..pugs b927740: OUTPUT«*** No such subroutine: "&lines"␤ at /tmp/6vBKBkCTBv line 1, column 5-13␤»
..niecza v10-58-gc851cf8: OUTPUT«Land der Berge, Land am Strome,␤Land der Äcker, Land der Dome,␤Land der Hämmer, zukunftsreich!␤Heimat bist du großer Söhne,␤Volk, begnadet für das Schöne,␤vielgerühmtes Österreich,␤vielgerühmtes Österreich!␤␤Heiß umfehdet, wild umstritten␤liegst dem Erdtei…
17:02 ksi joined
TimToady lines with an argument splits a string into lines 17:02
perl6: say lines("a\nb\nc\n")[1] 17:03
p6eval pugs b927740: OUTPUT«*** No such subroutine: "&lines"␤ at /tmp/dyUciplGte line 1, column 5 - line 2, column 1␤»
..rakudo bfedd9, niecza v10-58-gc851cf8: OUTPUT«b␤»
TimToady which is why the .IO is mandatory if you want the string to mean a filename
jnthn shop & 17:04
[Coke] lunch&
finanalyst_ TimToady: now I remember the change to the IO syntax being discussed. 17:05
Always seemed to be a change from IO being on IO objects, to IO being done to string objects 17:06
17:06 Chillance joined
finanalyst_ Even though filenames are strings, I always thought of them as names for some different to strings 17:07
s/some/somthing/
sorry. need to go. 17:08
17:08 finanalyst_ left 17:12 MayDaniel joined 17:21 bombworm joined 17:22 bombworm left, thou left 17:39 MayDaniel left 17:41 drbean joined 17:47 donri left 17:53 replore left 17:57 thou joined 17:58 uasi left, MayDaniel joined 18:02 risou is now known as risou_awy 18:07 packetknife joined
masak filenames are Bufs sometimes, IIRC. 18:10
I remember something about Py3k having trouble because it assumed that all filenames are utf-8-encoded strings; and they aren't.
flussence that's not an unreasonable assumption, as long as you don't care about working on OSes besides Linux :) 18:13
(or foreign filesystems, or...) 18:14
18:21 shinobicl left 18:34 envi_ left 18:43 drbean left 18:49 drbean joined
TimToady perl6: say 3.5 ~~ (1..5) | (10..50) 18:54
p6eval niecza v10-58-gc851cf8: OUTPUT«Bool::True␤»
..rakudo bfedd9: OUTPUT«Bool::False␤»
..pugs b927740: OUTPUT«any(VBool False)␤»
TimToady niecza is correct, rakudo is wrong
colomon Nice variety!
perl6: say 3.5 ~~ (1..5) 18:55
p6eval rakudo bfedd9, niecza v10-58-gc851cf8: OUTPUT«Bool::True␤»
..pugs b927740: OUTPUT«␤»
jnthn nom: say 3.5 ~~ (1..5)
p6eval nom bfedd9: OUTPUT«Bool::True␤»
[Coke] is there a more descriptive spec for range than: perlcabal.org/syn/S32/Containers.html#Range ? 18:56
jnthn nom: say 3.5 ~~ (10..50)
p6eval nom bfedd9: OUTPUT«Bool::False␤»
[Coke] the problem with the junction is that it's flattening them.
nom: say (1..2) | (10..12)
p6eval nom bfedd9: OUTPUT«any(1, 2, 10, 11, 12)␤»
jnthn yeah
colomon oh, ick
[Coke] there's a ticket for that that I just marked "no change" on recently. 18:57
18:58 kaleem left
[Coke] rt.perl.org/rt3/Ticket/Display.html?id=76422 18:58
PerlJam I'm starting on the release and I'd like to update the release_guide.pod. Step 2 is to update build/P 19:02
ARROT_REVISION
what should be the appropriate procedure now?
moritz PerlJam: tag nqp, and put the tag in tools/build/NQP_REVISION 19:05
moritz -> sleep
jnthn 'night, moritz 19:06
> say 3.5 ~~ (1..5) | (10..50) 19:08
Bool::True
> say 3.5 ~~ (1..5) & (10..50)
Bool::False
masak 'nacht, moritz
dalek kudo/nom: cc4f39e | jnthn++ | src/core/Junction.pm:
Make sure |, & and ^ don't go flattening the arguments.
19:09
jnthn [Coke]: Verified the above patch resolves #76422 and tagged it test needed. :) 19:10
[Coke] jnthn: sweet. I'll mark the ticket.
... even sweeter!
jnthn :)
[Coke] wow, that was a simple fix. 19:13
jnthn nom: say 704 - 85
p6eval nom bfedd9: OUTPUT«619␤»
[Coke] I can probably close 4 tickets this evening. ;) 19:14
jnthn Wonder if we can break 600 in the next couple of weeks :)
[Coke] 600 total, or taking testneeded into account?
jnthn Taking testneeded into account :) 19:15
Mostly depends if the fixers can fix faster than the masak can file ;)
TimToady perl6: say 3.5 ~~ (1..5) & (1..5) 19:16
p6eval niecza v10-58-gc851cf8: OUTPUT«Bool::True␤»
..pugs b927740: OUTPUT«all(VBool False)␤»
..rakudo bfedd9: OUTPUT«Bool::False␤»
japhb jnthn, do you backlog, and did you get my answer from yesterday that the ticket appears fixed, but the code in the ticket seems out of date?
phenny japhb: 19 Oct 20:55Z <jnthn> tell japhb Does your work on MAIN resolve rt.perl.org/rt3/Ticket/Display.html?id=92986 ?
jnthn japhb: I tend to backlog the time I was sleeping. Though if I'm away for some days I tend not to manage. 19:18
japhb nodnod
jnthn Anyway, saw the answer :) 19:19
japhb ah, good
jnthn Happy it's fixed
And yes, needs .gist to actually output the type name.
jnthn updates the ticket 19:20
japhb thank you!
jnthn Thank you for making it work! 19:21
Ticket tagged testneeded :)
mberends jnthn: have you submitted a talk proposal to conferences.yapceurope.org/lpw2011 ? I've proposed a 20 minute Niecza GUI talk. 19:24
jnthn mberends: Submitted a couple, yes
nom: class C { has %!p; submethod BUILD(:%!p) {} }; C.new; say 'alive'
p6eval nom bfedd9: OUTPUT«alive␤»
[Coke] jnthn: taking testneeded into account, I can probalby hit that tonight just by trolling the queue more.
jnthn oh, heh, 95340 already says "fixed in nom" :)
19:25 GlitchMr left
jnthn That's one more testneeded :) 19:25
[Coke] \o/
[Coke] notes that non-hague grants are open again this quarer. 19:27
*quarter
[Coke] eagerly anticipates some requests.
rakudo: say 3.5 ~~ 1..5 19:29
p6eval rakudo bfedd9: OUTPUT«Bool::True␤»
[Coke] rakudo: say 3.5 ~~ (1..5|7..10)
p6eval rakudo bfedd9: OUTPUT«Bool::False␤»
TimToady 5|7
in fact...
[Coke] so, now it's failing some new interesting reason.
TimToady std: say 3.5 ~~ (1..5|7..10) 19:30
p6eval std 580b69a: OUTPUT«===SORRY!===␤".." and ".." are non-associative and require parens at /tmp/wok9dLsVMO line 1:␤------> say 3.5 ~~ (1..5|7..⏏10)␤Check failed␤FAILED 00:01 121m␤»
[Coke] rakudo: say 3.5 ~~ (1..5)|(7..10)
p6eval rakudo bfedd9: OUTPUT«Bool::False␤»
TimToady your precedence is rong
that should work better
and does work in my local copy now
jnthn++ 19:31
[Coke] ah, so it does.
p6eval: rebuild nom
evalbot: rebuild nom
[Coke] shrugs.
say (1..5|7).perl 19:32
nom: say (1..5|7).perl
p6eval nom bfedd9: OUTPUT«any(1, 2, 3, 4, 5e0, 1, 2, 3, 4, 5, 6, 7e0)␤»
TimToady heh 19:33
jnthn Nice auto-threading :)
But...wtf happened to the end fo the range? :)
TimToady looks like a p5ism 19:34
jnthn 5e0
colomon niecza: say (1..5|7).perl
p6eval niecza v10-58-gc851cf8: OUTPUT«any(1..5, 1..7)␤»
[Coke] that seems less surprising.
TimToady nom: say 1..5
p6eval nom bfedd9: OUTPUT«1..5␤» 19:35
TimToady nom: say flat 1..5
p6eval nom bfedd9: OUTPUT«1 2 3 4 5␤»
jnthn nom: say (flat 1..5).perl
p6eval nom bfedd9: OUTPUT«(1, 2, 3, 4, 5).list␤»
TimToady nom: say flat(1..5)[*-1].WHAT
p6eval nom bfedd9: OUTPUT«Int()␤»
[Coke] phenny: tell masak I can't read rt.perl.org/rt3/Ticket/Display.html?id=77746 19:36
phenny [Coke]: I'll pass that on when masak is around.
dalek kudo/nom: 9d2f113 | jnthn++ | src/binder/multidispatch.c:
Fix required named parameter optimization in multi dispatcher.
19:37
jnthn That's one more :)
19:38 wk joined
masak jnthn++ 19:39
phenny masak: 19:36Z <[Coke]> tell masak I can't read rt.perl.org/rt3/Ticket/Display.html?id=77746
masak looks 19:40
that is an odd bug. how did it end up like that? :/ 19:41
anyway, I think I can read it. 19:42
19:44 packetknife left
masak [Coke]: �,� should be «,» 19:44
jnthn closes one more, and tags a couple of others testneeded :) 19:45
[Coke] masak: can you mark that on the ticket? Thanks.
jnthn nom: say 703 - 90 19:46
p6eval nom bfedd9: OUTPUT«613␤»
jnthn closer ;)
masak [Coke]: will do.
TimToady while you're at it, rewrite the ticket system to support the 21st century
[Coke] jnthn: heh. I'm at work, you might beat me to it!
TimToady: we have bigger fish to fry. :P
TimToady Bye, and thanks for all the bigger fish... :) 19:48
masak TimToady: I can't really blame the ticket system; it's gotten all my other tickets right...
just can't think what I got wrong that one time... :)
19:49 drbean left
TimToady maybe it got it right by accident the other times... 19:49
masak Mr Bayes frowns. 19:51
TimToady Mr Holmes grins
masak ;) 19:52
tadzik . o O ( A day of very low probabiity )
TimToady {3,5,7,9,11,13} # obviously 9 is prime :)
masak .oO( Accidentally, Mr Watson ) 19:53
19:53 wk left 19:56 drbean joined
masak huh! the *emails* I got back about #77746, a year ago, are encoded right. 19:57
maybe it was just a temporary glitch in RT? 19:58
dalek p: 7eda54b | duff++ | docs/release_guide.pod:
Add a simple release guide
20:01
masak PerlJam++ 20:19
dalek kudo/nom: 59332ae | duff++ | docs/release_guide.pod:
update release guide
20:23
20:25 soh_cah_toa joined 20:34 dorlamm joined 20:38 mberends left, mtk left
japhb It looks to me like some of the tests in S06-other/main-usage.t are bogus and/or out of date. What's the normal process for changing them? Just commit? Submit a patch to someone? Discuss here and then implement? 20:42
tadzik which tests?
masak I don't speak for everyone, but if you have a commit bit, just commit.
we can fix up chaos after the fact.
if you feel like discussing beforehand, discuss. 20:43
jnthn japhb: Unless you're unsure, don't hesitate to commit.
japhb: Discussion is always fine too, of coruse.
japhb masak, jnthn: fair enough, thanks.
20:44 mtk joined
japhb tadzik: For example, two tests test putting options after positional params, and expect that to work, which is converse to spec 20:44
*counter
20:49 mberends joined
masak mberends! \o/ 20:49
20:52 localhost left 20:53 localhost joined
dalek kudo/nom: 63326f6 | duff++ | docs/announce/2011.10:
The beginnings of a release announcement
20:55
20:55 abercrombie left
PerlJam looks like I won't get the release out until several hours from now ... probably around 10pm-ish localtime (it's ~4pm now) 20:55
jnthn That's still today somewhere :) 20:56
PerlJam until then feel free to comment on the release announcement I just committed 21:00
PerlJam afk
masak 'night, everyone. happy releasing, PerlJam.
japhb Anything special that must be done when adding a new test file?
*(spec test file) 21:01
jnthn japhb: If you want Rakudo to run it, it'll need to go in t/spectest.data also.
21:01 MayDaniel left
jnthn (in the Rakudo repo) 21:01
japhb jnthn, OK, thansk 21:02
*thanks
21:05 bluescreen100 left, bluescreen10 left 21:06 molaf left 21:17 bluescreen10 joined, bluescreen100 joined 21:20 im2ee left 21:24 y3llow_ joined, pothos_ joined 21:26 y3llow left, y3llow_ is now known as y3llow, pothos left, pothos_ is now known as pothos 21:29 ksi left
dalek ast: 86de197 | (Geoffrey Broadwell)++ | S06-other/main-usage.t:
S06-other/main-usage.t cleanup/revamp stage 1

  * Reorder tests to group them more logically
  * Move spacey value tests to end, with comment pointing to relevant spec discussion
  * Fix a couple tests that were out of spec or testing too many things at once
  * Fix test reasons and program output to be more consistent and clear
  * Add three more tests; many more still needed
21:45
21:51 kaare_ left 21:55 dual left 22:03 bluescreen100 left 22:04 bluescreen10 left 22:06 Holy_Cow left 22:09 wamba left 22:12 stepnem left 22:15 replore joined, stepnem joined 22:16 bluescreen10 joined 22:17 bluescreen100 joined 22:19 dorlamm left 22:25 Chillance left 22:26 benabik left 22:46 replore left 22:51 abercrombie joined 23:16 drbean left 23:21 tokuhiro_ joined 23:23 drbean joined 23:34 benabik joined 23:49 smash left 23:54 daniel-s joined