»ö« | perl6.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot usage: 'perl6: say 3;' or rakudo:, alpha:, pugs:, std:, or /msg p6eval perl6: ... | irclog: irc.pugscode.org/ | UTF-8 is our friend! Set by lichtkind on 5 March 2010. |
|||
TimToady | of course, *I* never make broad statements... :P | 00:00 | |
lue | I'm sorry? I was compiling, and I don't understand what's going on anymore :) | 00:01 | |
jnthn | Discussion got boring, so we moved to meta-discussion. ;-) | ||
TimToady | just keep compiling, it's a good excuse. | ||
now we're on meta xx * | |||
diakopter tries to type the next one, but can't quite .... | 00:02 | ||
TimToady | we would aleph at you :) | 00:03 | |
lue | aleph-1? Because aleph-naught is relatively boring. | ||
diakopter | I see a couple of questions from 120m ago that are still open in my brain - masak's (and my) question about my ($a, $b --> Int) and <@sorear> diakopter: is my &:(Int --> Int) &foo = * + 1; legal? | 00:04 | |
lue has the sudden urge to set up the ability to type Hebrew | |||
jnthn | Talking of which, it's late, and I has work tomorrow, so it's time aleph-t for sleep. | ||
TimToady wonders if ** is still aleph-0 | |||
jnthn | o/ | ||
lue s/Hebrew/math symbols/ | |||
jnthn: night | |||
TimToady | \o | ||
lue | AUG! Blender (unstable) has been giving me a lot of grief during compilation involving Python, and it's use in C (or C++, I can't tell) | 00:06 | |
I really want them to switch to Perl for extensions right now :) | 00:07 | ||
00:09
yinyin joined
00:10
{shade} left
|
|||
lue ponders the implications of naming any program in perl6 (in /usr/bin) to ./perl6 | 00:10 | ||
rm "any program" | 00:11 | ||
00:12
{shade} joined
00:15
ashleydev joined
|
|||
lue | I guess jnthn takes the voiceboxes of many as he sleeps :) | 00:19 | |
How can I force perl to explore subdirectories with this code (yes, it's P5; if a P6 version exists, I'd love it.): | 00:24 | ||
/usr/bin/perl -p -i -e "s/#include <Python.h>/#include <python2.6\/Python.h>/g" source/blender/python/intern/* | |||
00:25
ashleydev left
|
|||
TimToady | <@sorear> TimToady: [viv] Why did you choose to make the default emit_p5 behavior for leaf nodes unaltered passthrough instead of carping? | 00:28 | |
well, laziness, I suppose, since much of P5 and P6 are the same | |||
and xact is sort for 'transaction' | 00:30 | ||
specifically, backtracking states, really | |||
it's probably abusing the term, but there are notions of commit and rollback flying about | 00:31 | ||
[Coke] | rakudo: subset Quad of Any; | ||
p6eval | rakudo 87e0e1: ( no output ) | ||
diakopter | rakudo: subset Quad of Quad | ||
p6eval | rakudo 87e0e1: ( no output ) | ||
[Coke] wonders why masaks's Quad is failing in his poker example. :P | 00:33 | ||
TimToady | std: subset Foo of Foo; | 00:34 | |
diakopter | std: subset Quad of Quad | ||
p6eval | std 30664: OUTPUT«ok 00:01 110m» | ||
TimToady | hmm | ||
sort of like a self-signed certificate :) | |||
diakopter | std: subset subset of subset | ||
p6eval | std 30664: OUTPUT«ok 00:01 110m» | ||
TimToady | std: subset Foo of Bar; | 00:35 | |
p6eval | std 30664: OUTPUT«===SORRY!===Confused at /tmp/cKY2o0xHxX line 1:------> subset Foo of ⏏Bar; expecting typenameParse failedFAILED 00:01 111m» | ||
TimToady | std: subset Foo; | ||
p6eval | std 30664: OUTPUT«ok 00:01 110m» | ||
TimToady | std: subset Foo of Foo of Foo of Foo of Foo; | 00:36 | |
p6eval | std 30664: OUTPUT«ok 00:01 110m» | ||
TimToady | hmm | ||
[Coke] | TimToady: nifty! | 00:37 | |
std: subset Foo of Bar of Foo of Bar; | |||
p6eval | std 30664: OUTPUT«===SORRY!===Confused at /tmp/DYUnTlKZpQ line 1:------> subset Foo of ⏏Bar of Foo of Bar; expecting typenameParse failedFAILED 00:01 111m» | ||
diakopter | std: role Boo[Boo]; | ||
p6eval | std 30664: OUTPUT«ok 00:01 112m» | ||
TimToady | "You have just swallowed your tail. Have a pleasant day, what's left of it." | 00:39 | |
.oO(Diet of Worm) |
00:40 | ||
diakopter | std: role role[role] | ||
p6eval | std 30664: OUTPUT«===SORRY!===Unable to parse role definition at /tmp/MuHtBWxcsH line 1 (EOF):------> role role[role]⏏<EOL>Parse failedFAILED 00:01 112m» | ||
diakopter | std: role role[role]; | ||
p6eval | std 30664: OUTPUT«ok 00:01 112m» | ||
TimToady | std: 42 ~~ undef | 00:50 | |
p6eval | std 30664: OUTPUT«===SORRY!===Unsupported use of undef as a value; in Perl 6 please use something more specific: Mu (the "most undefined" type object), an undefined type object such as Int, Nil as an empty list, :!defined as a matcher, Any:U as a type | ||
..constraint or fail() as… | |||
TimToady | if something P5ish is missing from P6, the fastest way to find out what it is will generally be to try to use it anyway. :) | 00:51 | |
s/it/the new way/ | |||
s:2nd/it/the old way/ | 00:52 | ||
lue | rakudo: say $_ ~~ Mu #curious | 00:54 | |
p6eval | rakudo 87e0e1: OUTPUT«1» | ||
lue | .rnd( It's annoying when _nothing_ is going on. :| ) | 01:00 | |
01:04
TiMBuS joined
01:05
snarkyboojum left
|
|||
[Coke] | seen masak? | 01:18 | |
[Coke] needs a bot primer for this discussion. | |||
pugssvn | r30665 | lwall++ | [S03] make more explicit that doctrine that ~~ topicalizes, and | ||
r30665 | remove smartmatch table fossils that automatically fall out from it | |||
[Coke] | phenny: tell masak that I have a working example now of his poker code. | 01:19 | |
phenny | [Coke]: I'll pass that on when masak is around. | ||
[Coke] | phenny: tell masak it's just the same code he posted earlier, though. (need some .value()s) | ||
phenny | [Coke]: I'll pass that on when masak is around. | ||
01:19
snarkyboojum joined
01:28
xomas_ left
01:30
am0c left
|
|||
quietfanatic | lue: (re: question at 17:24) replace source/blender/python/intern/* with `find source/blender/python/intern` | 01:31 | |
01:34
[mark] joined
01:40
snarkyboojum left
01:45
am0c joined
01:48
Chillance left
01:49
pjcj left
01:50
pjcj joined
|
|||
[Coke] | are enums in rakudo mostly functional? (trying to convert some stuff that uses masak's DIY::Enum class, getting an unexpected error.) | 01:50 | |
colomon | they are vaguely functional. | 01:51 | |
01:51
mariano left
|
|||
colomon | moritz_ and I were messing around trying to get them to work in the setting this morning. | 01:52 | |
I think they work at least a bit in user code. | |||
not sure how fancy you can get, however. | |||
what are you trying to do? | |||
rakudo: enum Order (Increase => -1, Same => 0, Decrease => 1); say +Order::Increase | 01:53 | ||
p6eval | rakudo 87e0e1: OUTPUT«-1» | ||
colomon | rakudo: enum Order (Increase => -1, Same => 0, Decrease => 1); say +Increase | 01:56 | |
p6eval | rakudo 87e0e1: OUTPUT«-1» | ||
colomon | rakudo: enum Order (Increase => -1, Same => 0, Decrease => 1); say Increase.perl | ||
p6eval | rakudo 87e0e1: OUTPUT«-1» | ||
[Coke] | trying to narrow down what exactly is causing the error. | ||
ah. if I have an emum, how do you iterate over it ? Name.pick(*).eager doesn't seem to do it. | 02:02 | ||
02:02
JimmyZ joined
|
|||
eternaleye | (re special casing ~~ .meth) I don't see why the special case was ever needed, when we have *.meth/!*.meth, as well as :meth/:!meth | 02:03 | |
02:04
pjcj left
02:06
pjcj joined
|
|||
colomon | rakudo: enum Order (Increase => -1, Same => 0, Decrease => 1); say Order | 02:08 | |
p6eval | rakudo 87e0e1: OUTPUT«Decrease 1Increase -1Same 0» | ||
colomon | rakudo: enum Order (Increase => -1, Same => 0, Decrease => 1); for Order.keys -> $k { say $k } | 02:09 | |
p6eval | rakudo 87e0e1: OUTPUT«DecreaseIncreaseSame» | ||
colomon | rakudo: enum Order (Increase => -1, Same => 0, Decrease => 1); for Order -> $k, $v { say $k } | ||
p6eval | rakudo 87e0e1: OUTPUT«StopIterationcurrent instr.: '_block25' pc 29 (EVAL_2:0)» | ||
colomon | huh. | ||
I need to go to bed, but those evals seem like they might both have a bug and a clue for a workaround. :) | 02:10 | ||
[Coke] | rakudo: enum FOO <A B>; say FOO.enums.perl | ||
p6eval | rakudo 87e0e1: OUTPUT«Method 'enums' not found for invocant of class 'EnumMap'current instr.: '_block18' pc 29 (EVAL_2:0)» | ||
colomon | rakudo: enum Order (Increase => -1, Same => 0, Decrease => 1); say Order.perl | ||
p6eval | rakudo 87e0e1: OUTPUT«{"Decrease" => 1, "Increase" => -1, "Same" => 0}» | ||
02:19
colomon left
02:21
alester joined
02:42
quietfanatic left
02:53
am0c left
|
|||
[Coke] | rakudo: my @a = <1 2 3> ; my @b =<a b c>; say @a X @b; | 02:59 | |
p6eval | rakudo 87e0e1: OUTPUT«1 a1 b1 c2 a2 b2 c3 a3 b3 c» | ||
03:00
masonkramer left,
masonkramer joined
|
|||
[Coke] | rakudo: my @a = <1 2 3> ; my @b =<a b c>; say (@a X @b); | 03:01 | |
p6eval | rakudo 87e0e1: OUTPUT«1 a1 b1 c2 a2 b2 c3 a3 b3 c» | ||
sorear | odd spacing. | 03:02 | |
[Coke] | rakudo: my @a = <1 2 3> ; my @b =<a b c>; say (@a X @b).perl; | 03:04 | |
p6eval | rakudo 87e0e1: OUTPUT«("1", "a", "1", "b", "1", "c", "2", "a", "2", "b", "2", "c", "3", "a", "3", "b", "3", "c")» | ||
[Coke] | how to get that as a list of 2-at-a-time? | ||
03:05
pjcj left
|
|||
sorear | I think it's supposed to be 2-at-a-time | 03:05 | |
slicels are weird in rakudo now | |||
rakudo: say <a b c d e f>.map({ $^a => $^b }).perl | |||
p6eval | rakudo 87e0e1: OUTPUT«Lexical '$a' not foundcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
sorear | rakudo: say <a b c d e f>.map(-> $a, $b { $a => $b }).perl | 03:06 | |
p6eval | rakudo 87e0e1: OUTPUT«("a" => "b", "c" => "d", "e" => "f")» | ||
sorear | that might do | ||
is the first one a bug? | |||
[Coke] | rakudo: my @a = <1 2 3> ; my @b =<a b c>; say (@a X @b).map(-> $a, $b { $a => $b}).perl | 03:08 | |
p6eval | rakudo 87e0e1: OUTPUT«Not enough positional parameters passed; got 1 but expected 2current instr.: '_block62' pc 462 (EVAL_1:1782836685)» | ||
[Coke] | rakudo: my @a = <1 2 3> ; my @b =<a b c>; say (@a X @b).perl.map(-> $a, $b { $a => $b}).perl | ||
p6eval | rakudo 87e0e1: OUTPUT«Not enough positional parameters passed; got 1 but expected 2current instr.: '_block64' pc 474 (EVAL_1:25378415)» | 03:09 | |
sorear | .perl produces a string | ||
[Coke] | rakudo: my @a = <1 2 3> ; my @b =<a b c>; (@a X @b).map(-> $a, $b { $a => $b }).say | 03:10 | |
p6eval | rakudo 87e0e1: OUTPUT«Not enough positional parameters passed; got 1 but expected 2current instr.: '_block62' pc 451 (EVAL_1:25374860)» | ||
[Coke] | rakudo: my @a = <1 2 3> ; my @b =<a b c>; say (@a X @b).map(-> $a, $b { $a => $b }) | 03:11 | |
p6eval | rakudo 87e0e1: OUTPUT«Not enough positional parameters passed; got 1 but expected 2current instr.: '_block62' pc 450 (EVAL_1:26665595)» | ||
[Coke] | ARGh. | 03:24 | |
03:26
buffalo2010 joined
03:31
molaf joined
03:34
quietfanatic joined
|
|||
quietfanatic | rakudo: subset IntStr where Int | Str; proto x (IntStr $x) {say 'a'}; multi x (Int $x) {say 'b'}; multi x (Str $x) {say 'c'}; x(4); | 03:35 | |
p6eval | rakudo 87e0e1: OUTPUT«b» | ||
quietfanatic | rakudo: subset IntStr where Int | Str; proto x (IntStr $x) {say 'a'}; multi x (Int $x) {say 'b'}; multi x (Str $x) {say 'c'}; x("a"); | ||
p6eval | rakudo 87e0e1: OUTPUT«c» | ||
03:44
ashleydev joined
03:47
ashleydev left
|
|||
eternaleye | [Coke]: The spacing is because say takes a list argument, stringifies each element, and prints the stringifications with no separator. Thus, each element in the top level list is a two element list itself. The stringification of the two element list includes a space, so the spacing you observed is the result. | 03:48 | |
Also, this is simpler than the map: | 03:49 | ||
quietfanatic | rakudo: multi x (Int $x) {...}; (multi x (Str $x) {...}).candidates>>.signature>>.perl>>.say | ||
p6eval | rakudo 87e0e1: OUTPUT«:(Int $x):(Str $x)» | ||
eternaleye | rakudo: my @a = <1 2 3> ; my @b =<a b c>; say (@a X=> @b).perl | ||
p6eval | rakudo 87e0e1: OUTPUT«("1" => "a", "1" => "b", "1" => "c", "2" => "a", "2" => "b", "2" => "c", "3" => "a", "3" => "b", "3" => "c")» | ||
eternaleye | [Coke]: X is not only an op, it's also a metaop | ||
quietfanatic | Why is the return of the second multi declaration the whole multisub, rather than the individual one? | 03:50 | |
eternaleye | quietfanatic: Not sure, but >>.say doesn't do what you think it does. While the return values of a hyper will be in order, the _execution_ order is undefined, possibly random, and potentially parallel. So it may say each element in anyt order, not the list's order | 03:51 | |
quietfanatic | No, I mean the return value of (multi x (...) {...}) | 03:52 | |
eternaleye | quietfanatic: Hence the 'not sure, but...' | ||
quietfanatic | should be only the one candidate, rather than all of the candidates. | ||
I have the >>. ops okay. | |||
Oh, and yeah | |||
eternaleye | And I think the return value is a Perl6MultiSub, which contains all of the candidates | 03:53 | |
quietfanatic | I realize it's supposed to be hyper. I don't need it to be ordered. | ||
[Coke] | X=> ahh. | ||
eternaleye | rakudo: multi x (Int $x) {...}; (multi x (Str $x) {...}).WHAT | ||
p6eval | rakudo 87e0e1: ( no output ) | ||
eternaleye | rakudo: multi x (Int $x) {...}; say (multi x (Str $x) {...}).WHAT | ||
p6eval | rakudo 87e0e1: OUTPUT«Multi()» | ||
quietfanatic | The return value /ought/ to be just the one sub. | ||
eternaleye | rakudo: multi x (Int $x) {...}; say (multi x (Str $x) {...}).PARROT | ||
p6eval | rakudo 87e0e1: OUTPUT«Perl6MultiSub» | ||
quietfanatic | or so says TimToady, who I've asked. | ||
I'll submit this as a bug then. | 03:54 | ||
eternaleye | rakudo: my @a = <1 2 3> ; my @b =<a b c>; say (@a X @b).slice.perl | ||
p6eval | rakudo 87e0e1: OUTPUT«Method 'slice' not found for invocant of class 'GatherIterator'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
eternaleye | rakudo: my @a = <1 2 3> ; my @b =<a b c>; say (@a X @b).slicel.perl | ||
p6eval | rakudo 87e0e1: OUTPUT«Method 'slicel' not found for invocant of class 'GatherIterator'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
eternaleye | rakudo: my @a = <1 2 3> ; my @b =<a b c>; say (@@(@a X @b)).perl | ||
p6eval | rakudo 87e0e1: OUTPUT«Unable to parse postcircumfix:sym<( )>, couldn't find final ')' at line 11current instr.: 'perl6;Regex;Cursor;FAILGOAL' pc 1696 (ext/nqp-rx/src/stage0/Regex-s0.pir:932)» | ||
eternaleye | rakudo: my @a = <1 2 3> ; my @b =<a b c>; say (||(@a X @b)).perl | 03:55 | |
p6eval | rakudo 87e0e1: OUTPUT«Capture.new()» | ||
eternaleye | 0.o | ||
quietfanatic | I think prefix:<|> is supposed to coerce to a capture, so that's right | ||
except of course that .perl ought to introspect it. | |||
eternaleye | quietfanatic: Yes, but not an _empty_ capture | ||
03:56
justatheory left
|
|||
quietfanatic | rakudo: my @a = <1 2 3> ; my @b =<a b c>; say (||(@a X @b))[0] | 03:56 | |
p6eval | rakudo 87e0e1: OUTPUT«Null PMC access in type()current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
quietfanatic | rakudo: my @a = <1 2 3> ; my @b =<a b c>; say (|(@a X @b))[0] | ||
p6eval | rakudo 87e0e1: OUTPUT«Null PMC access in type()current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
eternaleye | phenny: tell masak: is irclog.perlgeek.de/perl6/2010-05-17#i_2337529 and subsequent a bug? | 03:57 | |
phenny | eternaleye: I'll pass that on when masak is around. | ||
quietfanatic | rakudo: my @a = <1 2 3> ; my @b =<a b c>; (-> (*@x) {say @_}).(|(@a X @b)) | ||
p6eval | rakudo 87e0e1: OUTPUT«Placeholder variable cannot override existing signature at line 11, near ").(|(@a X "current instr.: 'perl6;HLL;Grammar;panic' pc 501 (ext/nqp-rx/src/stage0/HLL-s0.pir:327)» | ||
quietfanatic | rakudo: my @a = <1 2 3> ; my @b =<a b c>; (-> (*@x) {say @x}).(|(@a X @b)) | ||
p6eval | rakudo 87e0e1: OUTPUT«Not enough positional parameters passed; got 0 but expected 1current instr.: '_block58' pc 467 (EVAL_1:33647942)» | ||
quietfanatic | rakudo: my @a = <1 2 3> ; my @b =<a b c>; (-> *@x {say @x}).(|(@a X @b)) | ||
p6eval | rakudo 87e0e1: OUTPUT«» | ||
quietfanatic | I see, the capture is empty. | ||
eternaleye | quietfanatic: Also, while |(...) flattens, ||(...) slice-ifies | 03:58 | |
quietfanatic | rakudo: my @a = <1 2 3> ; my @b =<a b c>; (-> *@x {say @x}).(||(@a X @b)) | ||
p6eval | rakudo 87e0e1: OUTPUT«» | ||
quietfanatic | Ah. I was not up to date then. | ||
03:59
agentzh joined
|
|||
eternaleye | quietfanatic: Also, like |@foo in calls matches *@foo in signatures, ||@foo matches **foo in signatures | 04:00 | |
erm, **@foo | |||
quietfanatic | Ah, I didn't even know there was a **@foo now | ||
04:01
Targhan left
|
|||
eternaleye | Yep, for slurpy slicels. It changed from @@foo | 04:01 | |
Erm, *@@foo | |||
I need caffeine | |||
[Coke] | rakudo: enum Foo <a b c>; enum Bar <1 2 3> ; say (Foo.keys X=> Bar.keys).perl | ||
p6eval | rakudo 87e0e1: OUTPUT«()» | ||
04:02
kulp left
|
|||
[Coke] | rakudo: my $Foo = <a b c>; my $Bar = <1 2 3> ; say (Foo X=> Bar).perl | 04:07 | |
p6eval | rakudo 87e0e1: OUTPUT«Could not find sub &Barcurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
[Coke] | rakudo: my $Foo = <a b c>; my $Bar = <1 2 3> ; say ($Foo X=> $Bar).perl | ||
p6eval | rakudo 87e0e1: OUTPUT«("a" => "1", "a" => "2", "a" => "3", "b" => "1", "b" => "2", "b" => "3", "c" => "1", "c" => "2", "c" => "3")» | ||
[Coke] | Should the enum case also work? | 04:09 | |
eternaleye | Probably, but I don't think they're fully implemented yet | 04:10 | |
rakudo: my constant Foo = <a b c>; my constant Bar = <1 2 3>; say (Foo X=> Bar).perl | 04:11 | ||
p6eval | rakudo 87e0e1: OUTPUT«Malformed my at line 11, near "constant F"current instr.: 'perl6;HLL;Grammar;panic' pc 501 (ext/nqp-rx/src/stage0/HLL-s0.pir:327)» | ||
eternaleye | rakudo: constant Foo = <a b c>; constant Bar = <1 2 3>; say (Foo X=> Bar).perl | ||
p6eval | rakudo 87e0e1: OUTPUT«Could not find sub &Foocurrent instr.: '_block14' pc 29 (EVAL_1:0)» | ||
[Coke] gives up an falls back on masak's DIY::Enum class. | 04:12 | ||
lue | Is there some cool perl way to search for files that don't have string 'xyz' and then put 'xyz' in there? [searching] | 04:20 | |
sorear | where would you put it? | ||
lue | in each file w/o that string (inplace editing) | 04:21 | |
jql | you mean something like for i in `find . -type f | xargs grep -l xyz`; do echo xyz >> $i; done ? | 04:22 | |
lue | I can search for a string in a directory of files, and then do a substitution. | ||
I don't know how to get a list of files *without* a certain term. | |||
( some "person" forgot to put needed #include lines in a bunch of c files :( ) | 04:23 | ||
jql | perhaps xargs grep -L xyz ? | ||
lue | that's a good start! | 04:24 | |
lue goes googling for "files without match" one liners | 04:25 | ||
hopefully I get out of this hole soon, or I'll have to write a whole perl script file to make it easier on myself! Thank you everyone! | 04:27 | ||
04:38
molaf left
04:49
snarkyboojum joined
04:54
kaare joined,
kaare is now known as Guest21702
04:57
pencilk joined
05:03
pencilk left
05:04
xinming_ joined
05:07
[Coke] left,
xinming left
05:14
[Coke] joined,
mberends joined
05:16
alester left
05:20
pencilk joined
05:23
quietfanatic left
05:31
snarkyboojum left
05:52
pencilk left
05:59
finanalyst joined
06:05
spinclad left
|
|||
finanalyst | rakudo: my @x=10,NaN,8,18; say @x.comb(/\d+/).min; say @x.comb(/\d+/).max | 06:07 | |
p6eval | rakudo 87e0e1: OUTPUT«108» | ||
finanalyst | Can anyone tell me how to get min and max in above to compare numified matches? | ||
moritz_ | ».Numeric.max | 06:08 | |
alpha: rakudo: my @x=10,NaN,8,18; say @x.comb(/\d+/)».Num.min | 06:09 | ||
p6eval | alpha 30e0ed: OUTPUT«Confused at line 10, near ": my @x=10"in Main (file <unknown>, line <unknown>)» | ||
moritz_ | alpha: my @x=10,NaN,8,18; say @x.comb(/\d+/)».Num.min | ||
p6eval | alpha 30e0ed: OUTPUT«Method 'Num' not found for invocant of class 'Str'in Main (file src/gen_setting.pm, line 324)» | ||
moritz_ | rakudo: my @x=10,NaN,8,18; say @x.comb(/\d+/).map({+$_}).min | 06:10 | |
p6eval | rakudo 87e0e1: OUTPUT«8» | ||
moritz_ | rakudo: my @x=10,NaN,8,18; say @x.comb(/\d+/).min({$^a <=> $^b}) | 06:11 | |
p6eval | rakudo 87e0e1: OUTPUT«8» | ||
finanalyst | oh good. hypotheticals are working | ||
i think $^ == hypotheticals | 06:12 | ||
moritz_: good morning. Are $^a etc working in all contexts? | 06:13 | ||
moritz_ | not hypothetical | 06:14 | |
formal parameters | |||
06:15
uniejo joined
|
|||
finanalyst | it seems formal parameters are now working again. | 06:16 | |
rakudo: my @x=1,2,3,4,5,6,7,8; my %h= map {1; $^y => $^x },@x; say %h.perl | |||
06:16
spinclad joined
|
|||
p6eval | rakudo 87e0e1: OUTPUT«{"2" => 1, "4" => 3, "6" => 5, "8" => 7}» | 06:16 | |
06:25
Su-Shee joined
06:35
mantovani left
06:36
mantovani joined
06:37
iblechbot joined
|
|||
moritz_ | does anybody else get passing TODOs in inifinity.t and nan.t? | 06:38 | |
06:46
Grrrr left
07:00
Grrrr joined
07:05
am0c joined
07:08
BrowserUk joined
07:12
lest_away is now known as lestrrat
07:33
finanalyst left
07:34
kaare joined,
Guest21702 left,
uniejo left
07:35
kaare is now known as Guest98590
07:44
constant left
07:45
plobsing left
07:47
buffalo2010 left
07:48
uniejo joined
07:49
constant joined,
constant left,
constant joined
08:01
meppl joined
08:25
am0c left,
am0c joined
08:37
envi^home joined
08:45
lestrrat is now known as lest_away
08:53
mj41 left
09:03
Trashlord joined
09:12
viklund joined
09:25
snarkyboojum joined
|
|||
jnthn | morning | 09:39 | |
moritz_ | o/ | 09:40 | |
09:42
yinyin left
|
|||
mberends | o/ jnthn | 09:48 | |
jnthn | mberends: o/ | 09:49 | |
10:10
TiMBuS left
10:15
am0c left
10:21
colomon joined
10:39
JimmyZ left
10:40
agentzh left
10:41
lest_away is now known as lestrrat
10:42
am0c joined
10:50
mj41 joined
10:52
am0c left
10:53
k23z__ joined
10:55
mj41 left,
viklund left,
Su-Shee left,
meteorjay left,
eternaleye left,
PerlJam left,
arnsholt left,
hejki left,
jotr^outtahere left
10:56
arnsholt joined,
mj41 joined
10:58
eternaleye joined,
hejki joined,
PerlJam joined
10:59
viklund joined,
Su-Shee joined,
meteorjay joined,
jotr^outtahere joined
11:07
finanalyst joined
11:19
proller left
|
|||
colomon | moritz_: ping? | 11:24 | |
11:31
proller joined
|
|||
moritz_ | colomon: pong | 11:31 | |
(back from nom) | 11:32 | ||
11:38
ruoso joined,
JimmyZ joined
|
|||
moritz_ | .oO( ping timeout >) |
11:43 | |
colomon | moritz_: I suggested adding subst functionality as a possible newcomer project. | 11:58 | |
Thoughts? I think we just ought to go ahead and implement it ourselves if we don't make it a challenge this week or maybe next. | |||
moritz_ | colomon: which subst functionality are you thinking of? | 11:59 | |
I like the idea | |||
colomon | I don't remember where I found it in the spec now. | ||
but I think there is :nth | 12:00 | ||
and :c | |||
moritz_ | S05 | ||
colomon | Ah, I was there, but I did a search for sdubst | ||
:) | |||
moritz_ | perlcabal.org/syn/S05.html#Modifiers | 12:01 | |
colomon | actually, as far as I know, it doesn't support :i or :a yet either. | ||
moritz_ | :i is tricky | 12:02 | |
because you have to modify the regex after it was compiled | |||
but :nth would be a good idea | |||
rakudo: say 'abcdef'.subst(/./, 'O', :x(3)) | |||
p6eval | rakudo 87e0e1: OUTPUT«OOOdef» | ||
moritz_ | colomon: could you write up the proposal? | 12:03 | |
colomon | think I can find time here. | ||
moritz_ | great | 12:04 | |
12:04
TiMBuS joined
|
|||
colomon | Now trying to figure out how much of this stuff is practical. | 12:05 | |
moritz_ | just one, I'd say | 12:06 | |
having it interact with :x() is already sufficiently complicated | |||
colomon | just :nth? | 12:07 | |
moritz_ | just :nth | ||
colomon | okay, I'll take a look at your previous ones in a minute and see what I can come up with. | ||
moritz_ | (maybe plus tests, if there aren't any good ones yet) | 12:13 | |
12:13
orafu left
|
|||
moritz_ | rakudo: say 'abc'.subst(/./, 'O', :x(3)) | 12:13 | |
p6eval | rakudo 87e0e1: OUTPUT«OOO» | ||
12:13
orafu joined
|
|||
moritz_ | that's wrong, according to the specs | 12:13 | |
colomon | how so/ | 12:14 | |
moritz_ | but I don't really know if the current spec makes sense and is practical | ||
colomon | ? | ||
moritz_ | "except that the string is unchanged unless all four matches are found" | ||
colomon | .oO(must admit I find this section of the specs a bit wonky) |
||
but you did three | |||
rakudo: say 'abc'.subst(/./, 'O', :x(4)) | |||
p6eval | rakudo 87e0e1: OUTPUT«abc» | 12:15 | |
moritz_ | oh | ||
moritz_ can't count | |||
colomon | still seems like an amazing amount of magic is being packed into .subst | ||
rakudo: say 'abc'.subst(/./, 'O', :x(2..5)) | 12:16 | ||
p6eval | rakudo 87e0e1: OUTPUT«abc» | ||
colomon | that's wrong, for sure. | ||
pmichaud | in general, .subst wants to be written in terms of .match | 12:18 | |
phenny | pmichaud: 16 May 23:07Z <bkeeler> tell pmichaud if you're in a reviewing mood, there's now a 'regex-interpolation' branch in nqp-rx | ||
moritz_ | this is going to be such a pain | ||
pmichaud | good morning, #perl6 | ||
colomon | o/ | ||
moritz_ | pmichaud: then .match should be extended to allow string patterns (and not regexes) | 12:19 | |
otherwise it's going to be a PITA to implement | |||
because .subst allows both | |||
pmichaud | I wouldn't have an issue with that. | 12:20 | |
colomon | other problem here is that subst is implemented in terms of .split (which is implemented in terms of .match) | ||
pmichaud | ...why is .subst implemented in terms of split? that seems very wrongish | ||
moritz_ | pmichaud: is there a simplish way to compile a regex that does a literal match? | ||
colomon | pmichaud: you split on all the matches, keeping the matches, then change the matches and rejoin. | 12:21 | |
moritz_ | pmichaud: because .split() does a bit of pre-work that early versions of .subst need | ||
pmichaud | does split take :x, and :n, and the like? | ||
colomon | it's a very natural way of implementing it. | ||
moritz_ | including matching constant substrings | ||
colomon | pmichaud: don't think so, .subst seems to implement :x directly. | 12:22 | |
moritz_ | but I agree that .subst should use .match more directly | ||
colomon | and there is no :nth yet. | ||
pmichaud | .match takes :x, :n, etc. | ||
which is why it's more natural to use it | |||
also, .match takes :g, like split | |||
sorry, like subst | |||
it's _very_ natural to write .subst in terms of .match | |||
moritz_ | so | 12:23 | |
the best way forward would be implement .match with literal strings | |||
and then .subst in terms of .match | 12:24 | ||
colomon | and forget about :nth as a challenge. | ||
pmichaud | :nth isn't really that hard either. alpha did it. | ||
(iirc) | |||
moritz_ | colomon: or do that change today, and make :nth a challenge tomorrow | ||
colomon | pmichaud: challenge in the sense of one of moritz_'s newcomer challenges | 12:25 | |
pmichaud | at any rate, .split in terms of .match is the way that nqp-setting works | ||
12:25
moritz_ sets mode: +o colomon
|
|||
colomon | ie something easy enough a newbie can do it. | 12:25 | |
pmichaud | and you can see that it's really pretty straightforward | ||
basically, call match, then replace each of the returned match objects with the replacement | |||
colomon | for what it's worth, match doesn't appear to support :x or :n (:nth?) yet | ||
moritz_ | nqp: say(join(';', split('ab', 'cabcabd'))) | 12:26 | |
p6eval | nqp: OUTPUT«Could not find sub splitcurrent instr.: '_block11' pc 0 (EVAL_1:4)» | ||
12:26
[mark] left
|
|||
colomon | afk # diaper | 12:26 | |
pmichaud | sorry, .subst is implemented in terms of .match | ||
(I typoed above) | |||
also note that nqp-setting isn't loaded automatically | |||
we need to change the name, because people seem to assume that it is | |||
moritz_ | stdlib | 12:27 | |
pmichaud | colomon: S05:3726 mentions that repeated matches can have the :x flag | 12:28 | |
colomon | pmichaud: I'm not talking theory, I'm talking code.... | 12:34 | |
significant work is required on .match before it can do what .subst already does. | 12:35 | ||
unless there's something I'm missing here.... | |||
mberends | hmm, when PERL6LIB is used to define new module search directories, they are appended behind the predefined ones. During module development, it would be useful to have the local directories before the predefined ones, otherwise the installed modules get used instead of the local ones. Is it ok if I change the order? | 12:37 | |
moritz_ | +1 from me | 12:38 | |
mberends | thanks, just hoping this does not ignore some other conceptual idea | 12:39 | |
12:43
szabgab left
|
|||
pmichaud | colomon: we'll have to have significant work on .match anyway, then | 12:43 | |
colomon | pmichaud: sure enough. | ||
Su-Shee | so using Roles properly.. Would my Member class do Creation (Role to create a new Member) and do Change and do Deletion? | 12:46 | |
moritz_ | I'd consider Creation basic enough not put it in a role, but in class itself... unless you're doing something very fancy in there | 12:47 | |
Su-Shee | hm. same with Deletion and Change? | 12:49 | |
colomon | moritz_: perhaps the challenge for this week should be to do better tests for .match? I don't see any sign that :x or :nth are tested there yet... | 12:50 | |
pmichaud | :x, :nth, :g are the major ones | ||
hugme hugs pmichaud, good vi(m) user! | |||
pmichaud | also :overlap, ;exhaustive | 12:51 | |
moritz_ | colomon: +1 | ||
colomon | I'm not quite sure where the tests should go -- just that we don't implement the features yet, and don't appear to have nearly enough skips in S05-match to account for them! | 12:52 | |
pmichaud | has anyone tried building Rakudo on parrot trunk lately? We should probably do that since Parrot release is tomorrow | 12:56 | |
jnthn | pmichaud: I'm working on $dayjob atm, but can set off a build / test run on latest Parrot trunk in the background. | ||
jnthn does so | |||
pmichaud | and colomon++ is our most esteemed Release Manager this month. \o/ | 12:57 | |
colomon | and starting to get nervous about it. :) | ||
moritz_ | pmichaud: did so yesterday, worked just fine... | ||
pmichaud | nothing to be nervous about UNLESS YOU SCREW IT UP. :-P :-P | 12:58 | |
moritz_ | pmichaud: apart from the occasional non-zero exist status, and the occasional segfault that I've already reported to the parrot people | ||
pmichaud | moritz_: excellent, glad you're keeping us up-to-date | ||
colomon: picked a release name yet? | 12:59 | ||
colomon | woah, we basically have no tests for .match at all! just 5 total. | ||
pmichaud: no, and that's probably the hard part, isn't it? ;) | |||
pmichaud | colomon: it often is, yes. | ||
moritz_ | colomon: that's easy, you can name Erlangen.pm | ||
colomon: after my home .pm group where I held a Perl 6 talk this month | |||
colomon | sounds good to me. any objections? | 13:00 | |
pmichaud | wfm | ||
here in Dallas we have a Perl 6 meeting every month | |||
although it's not actually held in Dallas :-P | |||
moritz_ | did we alrady have a Dallas.pm release? | 13:01 | |
13:02
jhuni left,
patrickas joined
|
|||
pmichaud | no, not yet | 13:02 | |
but the Dallas folks haven't felt like they're ready for a Dallas.pm release :-) | 13:03 | ||
in fact, there's not really an official Dallas.pm yet -- it's DFW.pm | |||
and there hasn't been a meeting of DFW.pm in a very very long time | |||
13:04
Guest98590 left
13:09
plobsing joined,
hatseflats joined,
pnu left
13:10
JimmyZ left,
hatseflats left,
hatseflats joined
13:11
pnu joined
|
|||
colomon | wow. S05-modifier has ~24 test files. | 13:15 | |
spectest.data only lists five of them. | |||
and all five are commented out. | |||
Am I correct in thinking we should be testing .match as well as m// ? | 13:18 | ||
moritz_ | yeas | ||
s/a// | |||
[Coke] thinks parrot actually has a bunch of match-like tests that PGE used, fwiw. | 13:19 | ||
13:20
molaf joined
|
|||
colomon | we've also got hundreds (thousands?) of m// tests, many of them very turned off. | 13:20 | |
rakudo: "hello world" ~~ m:x(3)/o/ | 13:21 | ||
p6eval | rakudo 87e0e1: OUTPUT«Confused at line 11, near "\"hello wor"current instr.: 'perl6;HLL;Grammar;panic' pc 501 (ext/nqp-rx/src/stage0/HLL-s0.pir:327)» | ||
moritz_ | quoting adverbs are NYI | ||
my naive attempts to implement them have failed while trying to parse the setting | |||
13:25
XaeroOne joined
13:30
hirschnase joined
13:32
viklund left
|
|||
lisppaste3 | colomon pasted "draft of this week's contribution to perl 6" at paste.lisp.org/display/99336 | 13:40 | |
moritz_ | colomon: it's nice, but it's too abstract | 13:42 | |
"create tests for" | |||
what kind of tests? | |||
more concrete would be | |||
tests @these modifiers | 13:43 | ||
with a simple string and regex | |||
and have for each (combination of) modifier(s) at least one test for matching, and one for non-matching | |||
colomon | I was thinking more in terms of translating the exist tests to the new form. | 13:44 | |
13:44
uniejo left
|
|||
colomon | though I meant to include an example, I admit. | 13:44 | |
moritz_ | ok | ||
then be specific about the file names, for example | |||
(don't worry about HTML escaping code snippets, my blog has a shortcut for that) | 13:45 | ||
colomon | crap, this section of the spectest is a horrible mess. | ||
we don't really have any :g tests as far as I can see, which is a shame, as that is a simple example. | |||
Su-Shee | I hereby petition for the removal of Roles. they're confusing me. ;) | 13:46 | |
moritz_ | petition rejected. | 13:47 | |
wow, that was fast :-) | |||
13:47
rv2733 joined
|
|||
colomon | rakudo: "hello world".match(/o/); say $/ | 13:47 | |
p6eval | rakudo 87e0e1: OUTPUT«Any()» | ||
colomon | rakudo: say "hello world".match(/o/); | 13:48 | |
p6eval | rakudo 87e0e1: OUTPUT«o» | ||
13:49
isBEKaml joined
|
|||
isBEKaml | hello, #perl6! | 13:50 | |
colomon | \o | ||
isBEKaml | what's news? (yeah, I'm looking at backlogs. :) ) | 13:51 | |
13:51
XaeroOne left
|
|||
colomon | moritz_: I think the tests may be so badly broken that this is a bad challenge. :( | 13:52 | |
moritz_ | :( | ||
colomon | the :x tests (in S05-modifier/counted.t) for instance, appear to be all wrong to me. | 13:53 | |
isBEKaml | colomon: challenge? Is there ever one? :) | ||
13:53
Trashlord left
|
|||
colomon | isBEKaml: we're talking about moritz_'s "This Week's Contribution to Perl 6" series. | 13:54 | |
I proposed one and wrote it up, but I'm now thinking it's too nebulous and hard. | |||
isBEKaml | colomon: hmm, I don't see it on moritz_'s blog... | ||
colomon | paste.lisp.org/display/99336 | 13:55 | |
we hadn't gotten to the stage of actually blogging it yet. | |||
13:55
Trashlord joined
|
|||
isBEKaml | last week, it was just one. This week it evolved into a lot! | 13:56 | |
I was actually thinking I could, maybe, try to port some already ported module just for kicks (+ learnings) | 13:57 | ||
I find it hard to sit around with the synopses. | 13:58 | ||
colomon | isBEKaml: me too. | 13:59 | |
too much detail unless you're actively looking for that detail. | |||
jnthn | Same. They take up the WHOLE sofa after I print them out. | ||
;-) | |||
isBEKaml | jnthn: wasting the ink needlessly.. ;) | 14:00 | |
14:00
SmokeMachine joined
|
|||
isBEKaml | colomon: match is too much functionality for a single challenge. And, you're right, it's nebulous. | 14:01 | |
colomon: It's not just about running the same set of tests as in ~~m, right? | 14:02 | ||
colomon | well, it is, sort of. | ||
but they need to be rewritten to work as match tests. | |||
the bigger problem is that almost none of these tests work at the moment. | 14:03 | ||
isBEKaml | wow, you got trouble enough not to trouble the newbie challenge warrior. ;) | ||
colomon | I wouldn't be surprised if getting m// and match working fully with a reasonably full test suite will get us another thousand working tests. | ||
moritz_ | both can take huge numbers of combinations of modifiers | 14:04 | |
colomon | moritz_: is there some reason I'm not seeing, or is getting match to work on Str as simple as wrapping the Str in // | ||
I don't even think we're close to having tests for the combinations yet! | 14:05 | ||
isBEKaml | moritz_: that was what I was thinking when I said too much functionality for a single challenge. | ||
moritz_ | colomon: you're right - I forgot that variable interpolation was working in regexes | ||
colomon | isBEKaml: I was anticipating that multiple people might tackle it, and tackle different aspects of the problem. | ||
rakudo: my $a = "o"; say "hello world".match(/$a/) | 14:06 | ||
p6eval | rakudo 87e0e1: OUTPUT«» | ||
colomon | or does it? | ||
that can't be the syntax, can it? | 14:07 | ||
rakudo: my $a = "o"; say "hello world".match(/{$a}/) | |||
p6eval | rakudo 87e0e1: OUTPUT«» | ||
colomon | rakudo: my $a = "o"; say "hello world".match(rx/{$a}/) | 14:08 | |
p6eval | rakudo 87e0e1: OUTPUT«» | ||
moritz_ | rakudo: my $x = 'o'; say 'hello' ~~ /$x/ | ||
p6eval | rakudo 87e0e1: OUTPUT«» | ||
moritz_ | not working | ||
14:08
PacoLinux joined
|
|||
colomon | wait, interpolation wouldn't work anyway, would it? | 14:09 | |
special characters have to be escaped, etc. | |||
moritz_ | that's part of the new (non-)interpolation | ||
it's not first interpolated and then compiled, but rather handed as a variable to the regex engine | |||
which takes a non-regex variable as a literal | 14:10 | ||
isBEKaml | what does this mean ~~ ? | ||
14:10
rgrau joined
|
|||
isBEKaml | rakudo: my $a = 'o'; my $match = "hello world"; say $match ~~ $a; | 14:11 | |
p6eval | rakudo 87e0e1: OUTPUT«0» | ||
isBEKaml | rakudo: my $a = 'o'; my $match = "hello world"; say $match ~~ /$a/; | ||
p6eval | rakudo 87e0e1: OUTPUT«» | ||
isBEKaml | :( | ||
colomon | isBEKaml: smartmatch with a string is just string equality, I think. | ||
isBEKaml | rakudo: my $a = 'o'; my $match = "hello world"; say $match ~~ /$match/; | 14:12 | |
p6eval | rakudo 87e0e1: OUTPUT«» | ||
isBEKaml | rakudo: my $a = 'o'; my $match = "hello world"; say $match ~~ $match; | ||
p6eval | rakudo 87e0e1: OUTPUT«1» | ||
isBEKaml | colomon: sounds like you're right. Don't they take regexes in // ? | ||
14:13
iblechbot left
|
|||
isBEKaml | btw, what equivalent do we have for $str =~ /$pattern/ as in p5? | 14:13 | |
14:14
jaffa4 joined
|
|||
isBEKaml | rakudo: my $pattern="o"; my $str="hello world"; say $str =~ /$pattern/; | 14:14 | |
p6eval | rakudo 87e0e1: OUTPUT«Unsupported use of =~ to do pattern matching; in Perl 6 please use ~~ at line 11, near " /$pattern"current instr.: 'perl6;HLL;Grammar;panic' pc 501 (ext/nqp-rx/src/stage0/HLL-s0.pir:327)» | ||
isBEKaml | rakudo: my $pattern="o"; my $str="hello world"; say $str.match('o'); | 14:17 | |
p6eval | rakudo 87e0e1: OUTPUT«No applicable candidates found to dispatch to for 'match'. Available candidates are::(Mu : Regex $pat, Any :c($c) = { ... }, Any :g($g);; *%_)current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
isBEKaml | rakudo: my $pattern="o"; my $str="hello world"; say $str.match(/o/); | ||
p6eval | rakudo 87e0e1: OUTPUT«o» | ||
isBEKaml | variable interpolation doesn't work in // ? | ||
colomon | isBEKaml: that's what moritz_ and I were trying to figure out. | ||
isBEKaml | oh.. | 14:18 | |
jnthn | bkeeler++ recently sent in an updated patch to get it working, iirc. It's just waiting on review from pmichaud++ now. :-) | ||
moritz_ | speaking of review... | 14:19 | |
isBEKaml | Ah, I see it now.. nqp-rx's regex interpolation branch.. | ||
moritz_ | jnthn: do you have a chance to look at the mob4 branch? | 14:20 | |
14:20
patspam joined
|
|||
jnthn | moritz_: No, not yet. I had some tuits yesterday, but spent them reviewing/doing some bits on book instead. | 14:20 | |
moritz_ | ok | ||
jnthn | moritz_: Should have more tuits this evening though. :-) | ||
moritz_ | jnthn: ok | ||
14:20
TiMBuS left
|
|||
moritz_ | the last commit adds cheating methods in the vtables - trying to have those actually call .'postcircumfix:<{ }>' is what leads to infinite loops | 14:23 | |
isBEKaml | moritz_: the style changes I made for u4x docs would work only on firefox(especially those rounded borders). Feel free to spruce them up for other browsers. I can't do them here since I don't have anything other than firefox. :( | 14:27 | |
gack... s/work (only)/look nice $1/ | 14:28 | ||
moritz_ | that's ok; others will chime in if their favourite browser doesn't produce nice output | ||
isBEKaml | no problem on text only browsers, though. ;) | 14:29 | |
colomon | moritz_: just started a simple test file for match(//, :g) | 14:36 | |
it miserably fails my first simple test. | |||
I think it may be borked. | |||
rakudo: "hello world".match(/.o/, :g).perl.say | |||
p6eval | rakudo 87e0e1: OUTPUT«Method 'perl' not found for invocant of class 'Regex;Match'current instr.: 'perl6;Iterator;_block16114' pc 471375 (src/gen/core.pir:64441)» | ||
colomon | rakudo: ("hello world".match(/.o/, :g)>>.Str).say | 14:37 | |
p6eval | rakudo 87e0e1: OUTPUT«wo» | ||
colomon | rakudo: "hello world".match(/.o/, :g).elems | ||
p6eval | rakudo 87e0e1: ( no output ) | ||
colomon | rakudo: +("hello world".match(/.o/, :g)) | ||
p6eval | rakudo 87e0e1: ( no output ) | ||
colomon | rakudo: "hello world".match(/.o/, :g).elems.say | ||
p6eval | rakudo 87e0e1: OUTPUT«2» | ||
moritz_ | so the first match disappears? | 14:38 | |
colomon | take issue | ||
I'm testing a fix now. | |||
isBEKaml | colomon: gatheriterators are fixed? I mean, their fragile behaviour of outputting next iteration on their single call? | ||
moritz_ | take my $m = ...; | ||
isBEKaml: don't think so | |||
isBEKaml | colomon: that is, GatherIterator.perl puts out the first element and say doesn't find any.. | 14:39 | |
colomon | key point here is it probably never worked post-alpha. | ||
serious testing failure. | |||
14:40
XaeroOne joined
|
|||
colomon | isBEKaml: gather iterators are still the same, but that's okay, perl should consume them and leave a string for say. | 14:40 | |
(test passes, check-ins soon.) | |||
well, post spec test. | |||
isBEKaml | colomon: ok | ||
pugssvn | r30666 | colomon++ | [t/spec] First simple tests for match's :g functionality. | 14:43 | |
14:45
ashleydev joined
|
|||
jnthn | Rakudo on latest Parrot appears to have some new test failures. | 14:46 | |
Worth somebody else checking. | |||
Oh ouch | 14:47 | ||
And it hangs during the integration tests. | |||
moritz_ | trying now | ||
colomon | building on linux box... | ||
jnthn | Fails in pick.t, Date.t, and 99-problems is the source of some fails + the hangs (two of them hang, it seems). | 14:48 | |
colomon | pick.t? that seems like an odd one to fail... | 14:49 | |
moritz_ | so is Date.t | ||
jnthn | series-arity0.t also seems to have some | ||
t\spec\S03-operators\series-arity0.t | |||
Failed: 4) | |||
Failed tests: 5, 7-8, 10 | |||
colomon | :\ | ||
14:50
ashleydev left
|
|||
moritz_ | jnthn: please email the test results to parrot-dev (asks whitenight, the release manager for tomorrow) | 14:51 | |
14:52
ash_ joined
|
|||
colomon | jnthn: on my 64-bit linux box, series-arity0.t works fine. | 14:56 | |
pick.t seems fine as well. | |||
parrot revision 46739? | 14:57 | ||
jnthn | I had 46737 | 14:58 | |
colomon | worth trying the update, maybe? | 14:59 | |
colomon decides it might be time to pay himself this month... | |||
15:00
masonkramer left
|
|||
jnthn | colomon: Will try; will also nuke my Parrot tree | 15:00 | |
15:00
masonkramer joined
15:01
plobsing left
|
|||
moritz_ | Date.t passed here | 15:01 | |
15:01
hirschnase left
|
|||
jnthn | Oddness | 15:01 | |
Hopefully a clean Parrot at the later revision does it. | 15:02 | ||
colomon | hope++ | 15:04 | |
15:04
molaf left
|
|||
jnthn | change++ | 15:05 | |
oh, wait, the election campaign is over | |||
:-) | |||
colomon | change is scary. | ||
Su-Shee | fuckshit, roles are cool. :) | ||
mberends | Su-Shee.flip() | ||
ash_ | do you guys need another person to try these tests? | ||
isBEKaml | change is the only constant :) | 15:06 | |
colomon | jnthn: any chance you could hook up the modifiers to m// and s// if "we" got them working in .match and .subst? | ||
Su-Shee | mberends: I'm short before hysteria and wrote like 6 versions in one day :) (in 5 _and_ 6 :) | ||
colomon | ash_: we've got three people on it already, so probably not. | ||
jnthn | colomon: I can't certainly try. | ||
moritz_ | Result: PASS | 15:07 | |
jnthn | 64? | ||
moritz_ | parrot r46738 on 64bit linux | ||
isBEKaml | guys, I got 32 bit linux, can I help? | 15:08 | |
jnthn | heh, I'm the 32-bitter amongst us. :-) | ||
isBEKaml: Don't worry just yet. | |||
If I get another pile of fail, then could be interesting for someone else on 32-bit to try though. | |||
isBEKaml | jnthn: Ah, cool. I can wait. | ||
jnthn needs a break from his locking/timing/threading debugging | 15:09 | ||
walk, bbiab | |||
15:11
k23z__ left
15:12
molaf joined
15:13
molaf left,
pmurias joined
|
|||
colomon | my 64-bit linux spectest run on latest parrot actually comes back PASS with two todo's passing. | 15:15 | |
15:16
molaf joined
|
|||
dalek | kudo: 96fbd6f | (Solomon Foster)++ | t/spectest.data: Turn on the new S05-modifier/global.t. |
15:19 | |
kudo: ec37acc | (Solomon Foster)++ | src/core/Cool-str.pm: In .match's global path, copy the match variable, then call "take" with the |
|||
15:23
am0c joined
15:24
pencilk joined
|
|||
[Coke] wishes we had a CABBAGE_PATCH. | 15:28 | ||
15:31
finanalyst left
|
|||
pmurias | diakopter: hi | 15:33 | |
15:33
ashleydev joined
15:34
pencilk left
15:39
elmex left
|
|||
jnthn | grr | 15:39 | |
No, fails here again :-( | |||
colomon | that's with the even more updated parrot? | ||
jnthn | Same two integration tests hung too. Up to 650 MB a piece before I just killed them. | 15:40 | |
Yeah | |||
moritz_ always thought "no fails" were good | |||
[Coke] | jnthn: standard "did you realclean" ? | ||
jnthn | [Coke]: I nuked my Parrot tree and got a clean check out just in case. | ||
colomon | want me to take a stab at it on one of my 32-bit machines, to see if I can duplicate? | ||
jnthn | Could be worthwhile. | ||
colomon | I'll use the 32-bit linux server, it does ... er, no git. | 15:41 | |
jnthn | oh hmm, I had a local patch | ||
That removed some debug code. | |||
jnthn gets rid of that Just In Case. | |||
colomon | ack, just realized that I have the same problem with linux installs as I do with bassoon reeds -- so long between times I forget what distribution / reed-maker was involved. | 15:42 | |
[Coke] | jnthn: *shakes fist* | ||
(hopefully that was it) | |||
colomon | okay, the 32-bit guy does seem to have apt-get, I'll take that as a sign. | ||
moritz_ | apt-get++ | 15:43 | |
cat /etc/debian_version | |||
colomon | moritz_: 5.0.3 | 15:44 | |
bother. going to wait for jnthn to make progress before trying to get this all sorted out on this machine. :( | |||
moritz_ | hey, that's non-ancient :-) | ||
isBEKaml | I thought so too. I always seen Debian servers going one down below the latest, but updating all security patches. ;) | 15:45 | |
colomon | headless linux boxes should be better at indicating what distribution you are using. | ||
isBEKaml | all linux boxen are better at indicating their versions in subtle ways. ;) | 15:46 | |
15:46
[mark] joined
|
|||
isBEKaml | jnthn: I'm still building the latest Rakudo, so will have to wait until I get them up. | 15:46 | |
jnthn: Ok, I'm done. run make spectests? | 15:47 | ||
jnthn | [Coke]: I hoped so too. Sadly, the first extra fail I had, t\spec\S03-operators\series-arity0.t, still fails with my Rakudo tree clean bar the version bump | ||
isBEKaml: Yes, please. | 15:48 | ||
15:48
alester joined
|
|||
isBEKaml | jnthn: ok, running it. | 15:49 | |
15:49
ash__ joined
15:50
gbacon_ joined
15:52
ash_ left,
ash__ is now known as ash_
|
|||
isBEKaml | infinity succeeded. 1/13 unexpectedly succeeded. do you see this? | 15:53 | |
nan too. 1/7 | |||
15:54
cdarroch joined,
cdarroch left,
cdarroch joined
|
|||
moritz_ saw the same | 15:54 | ||
colomon | isBEKaml: I got those as well. | ||
15:56
justatheory joined
|
|||
isBEKaml | S02 pid failed. | 16:00 | |
16:01
pencilk joined
|
|||
isBEKaml | It's not fail first. It's still going on ahead with the rest? | 16:01 | |
?? | |||
colomon | rakudo: ~($string.match(/.a/)) | ||
p6eval | rakudo 87e0e1: OUTPUT«Symbol '$string' not predeclared in <anonymous>current instr.: 'perl6;PCT;HLLCompiler;panic' pc 152 (compilers/pct/src/PCT/HLLCompiler.pir:108)» | 16:02 | |
colomon | rakudo: ~("1a2a3a".match(/.a/)) | ||
p6eval | rakudo 87e0e1: ( no output ) | ||
colomon | rakudo: ~("1a2a3a".match(/.a/)).say | ||
p6eval | rakudo 87e0e1: OUTPUT«Method 'say' not found for invocant of class 'Regex;Match'current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
colomon | rakudo: say ~("1a2a3a".match(/.a/)) | ||
p6eval | rakudo 87e0e1: OUTPUT«1a» | ||
colomon | rakudo: say ~("1a2a3a".match(/.a/, :c)) | ||
p6eval | rakudo 87e0e1: OUTPUT«2a» | ||
16:02
pencilk left
|
|||
colomon | question for the wise: | 16:03 | |
16:03
pencilk joined
|
|||
colomon | m:c// is supposed to pick up starting from $/.to | 16:03 | |
should .match(:c) also do so? | 16:04 | ||
16:04
jotr^outtahere is now known as jotr
|
|||
pugssvn | r30667 | lwall++ | [S05] Disrequire retroactive semantics on :ii and :aa | 16:08 | |
TimToady | the question is whether that's also retroactive semantics, like we just undid on :ii and :aa | 16:11 | |
it doesn't seem as though the regex must be compiled differently, so maybe it's okay | 16:12 | ||
assuming that the implied .*? is on the outside of it | |||
certainly setting the start position can be done externally | |||
so :p is always fine | |||
thing is, though, that with the method form, you probably have to pass :p($/.to) explicitly | 16:13 | ||
pmichaud | TimToady++ # r30667 YAY! | ||
TimToady | or :p has to have a param like :$p = CALLER::<$/>.to | 16:14 | |
hmm, that doesn't work | 16:15 | ||
at all | |||
:p returns True | |||
so I think we have to require an arg on :p in the method form | 16:16 | ||
and, by extension, :c | |||
colomon: ^^ | |||
isBEKaml | jnthn: series-arity0 seems to pass here... | 16:17 | |
jnthn | OK | ||
I got fail again, and the hangs on the integration tests. | |||
Maybe it's Win32-specific or something. | |||
Or my-box specific... :-/ | |||
isBEKaml | could be worth checking on another win32 box.. | 16:18 | |
jnthn | aye | ||
will do a run on my laptop later | |||
16:18
_jaldhar left
|
|||
isBEKaml | one difference, though. I got r46740 of parrot. | 16:19 | |
colomon | TimToady: that came out as a crazy series of smileys on my machine. :) | 16:22 | |
:c and :p require args in method form, is that the upshot? no implicit $/ ? | 16:23 | ||
\o/ | |||
pugssvn | r30668 | lwall++ | [S05] typo | ||
colomon | rakudo: sub foo(:$a) { say $a.WHAT; say $a.perl; }; foo(:a) | 16:27 | |
p6eval | rakudo 87e0e1: OUTPUT«Bool()Bool::True» | ||
colomon | rakudo: sub foo(:$a) { say $a.WHAT; say $a.perl; }; foo(:a(4)) | 16:29 | |
p6eval | rakudo 87e0e1: OUTPUT«Int()4» | ||
16:35
[mark] left
|
|||
TimToady | I suppose it would be *possible* to distinguish a Bool::True from a 1 | 16:37 | |
16:39
iblechbot joined
|
|||
colomon | TimToady: sure, that's not a problem. | 16:39 | |
not just possible, but easy | |||
rakudo: sub foo(:$a) { say $a.WHAT; say $a.perl; }; foo() | 16:40 | ||
p6eval | rakudo 87e0e1: OUTPUT«Any()Any» | ||
Juerd | I'm considering terminating feather0 | 16:44 | |
moritz_ | uh | ||
Juerd | I would move feather1..3 to one of the TNX physical machines. | 16:45 | |
moritz_ | why? maintenance nightmare? | 16:46 | |
Juerd | Energy efficiency | 16:48 | |
moritz_ | ok | ||
Juerd | We're running into cooling problems. One of the easiest way to deal with this, is to get rid of some of the heaters :) | ||
It's less costly to buy nice new machines and migrate a few existing boxes over, than to upgrade cooling. | 16:49 | ||
moritz_ | ah, and new == more efficient | 16:50 | |
Juerd | A great side effect is that everything becomes faster for everyone. | ||
jnthn warms to the idea | |||
Juerd | jnthn: Not too much I hope | 16:51 | |
isBEKaml cools to the idea. ;) | |||
Juerd | jnthn: It's pretty hot where feather lives, already | ||
jnthn | Juerd: It's OK, I'm warming up many kilometers away from your data center. :-) | ||
Juerd | I'm not sure if IRC is such a good insulator | ||
isBEKaml | uh, didn't I modulate the temperature? | 16:52 | |
16:52
pyrimidine joined
|
|||
Juerd | Modulate temperature? | 16:52 | |
Signalling with flames? | 16:53 | ||
isBEKaml | erm, ice? | ||
16:55
envi^home left
|
|||
moritz_ | flames and ice? iceland? volcanos? | 16:56 | |
jnthn | Shhh. :P | 16:57 | |
.oO( at least I don't have any more flights for a few weeks ) |
16:58 | ||
17:01
pmurias left
|
|||
pugssvn | r30669 | moritz++ | [t/spec] truncate() now properly handles NaN in Rakudo | 17:05 | |
isBEKaml | jnthn: which ones are the integration tests? I don't find them on spectest.data ? | ||
moritz_ | grep integration t/spectest.data | 17:06 | |
isBEKaml | Right now, I'm on S-32 array bool | ||
moritz_: aw, I didn't search the file. I thought they came in order and went on to the end of doc. :D | 17:07 | ||
moritz_ | they come in order, but "order" depends on the system | 17:08 | |
rakudo: say 'S' lt 'i' | |||
p6eval | rakudo 96fbd6: OUTPUT«1» | ||
[Coke] | masak's subset FullHouse of Any where OnePair & ThreeOfAKind; | ||
in his poker example seems to trigger even on the pair. | 17:09 | ||
moritz_ | try | ||
where { ($_ ~~ OnePair) && ($_ ~~ ThreeOfAKind) } | |||
there's a known, reported bug wrt smartmatching &-junctions | |||
(iirc) | 17:10 | ||
Juerd | I could buy one new shiny box, merge the virtual machines from feather0 and two other machines onto it, and the entire operation would pay for itself in just two years | ||
[Coke] | yah, that's my workaround. danke. | ||
Juerd | The last feather upgrade was 2 years ago, and that was after it had been online for 2 years | 17:11 | |
That's a nice steady pace :) | |||
17:14
ash_ left
|
|||
moritz_ | std: class A { multi a($.uri) } | 17:18 | |
p6eval | std 30668: OUTPUT«===SORRY!===Malformed block at /tmp/G6eiT7OovV line 1:------> class A { multi a($.uri) ⏏} expecting any of: routine_def traitParse failedFAILED 00:01 115m» | ||
moritz_ | std: class A { multi a($.uri) { } } | ||
p6eval | std 30668: OUTPUT«ok 00:01 112m» | ||
[Coke] | ugh. these DIY enums make it very difficult to write this poker example cleanly. (beats having non-functional enums, but still, pita.) | 17:34 | |
17:37
rurban joined
17:38
rurban left
|
|||
[Coke] | ok. if I have an array of FOO, where foo has $.key and $.value, how can I get a list of all the unique $.key's in the array? | 17:39 | |
17:40
patrickas left,
pencilk left
|
|||
[Coke] | er, sorry. An array of BAR, which contains FOO, which (as above.) =-) | 17:40 | |
@bars>>.foo <step 2> .uniq # profit! | |||
moritz_ | @bar».foo».key».uniq ? | 17:41 | |
colomon | (@bars>>.for>>.key).uniq | ||
moritz_ | erm, right | ||
colomon | s/for/foo | 17:42 | |
[Coke] | moritz_: grumble. I had tried that but got an error ... | ||
... somewhere else. :P | |||
pugssvn | r30670 | colomon++ | [t/spec] Fudge m:c// tests and add .match(:c) versions instead. | ||
17:47
k23z__ joined
17:56
ashleydev left
|
|||
[Coke] | someone should gently poke tom at the SYN instead of the EXE; though I have no idea if that addresses his issues at all. | 18:03 | |
moritz_ | somebody who is immune to wordy answers :-) | 18:04 | |
I might be that | |||
[X] sent | 18:08 | ||
[Coke] | moritz++ | 18:09 | |
phenny: tell masak that I forked his gist at gist.github.com/244255 and that my version adds royalflush and actually seems to work under rakudo-latest. | 18:10 | ||
phenny | [Coke]: I'll pass that on when masak is around. | ||
[Coke] | (of course, it doesn't do the thing I was trying to do there.) | ||
moritz_ | rakudo: say 'abc'.match(/./, :c(2)) | 18:11 | |
p6eval | rakudo 96fbd6: OUTPUT«c» | ||
k23z__ | moritz_, remember when you played with SVG ? | ||
moritz_ | k23z__: sure | ||
rakudo: 'abc' ~~ /b/; say 'abc'.match(/./, :c) | 18:12 | ||
p6eval | rakudo 96fbd6: OUTPUT«b» | ||
k23z__ | moritz_, i.imgur.com/cSDCt.png | ||
moritz_, in Perl .. 5 | |||
moritz_, construction of regular pentagon with ruler and compass :) | |||
moritz_, rendered with GD::SVG | 18:13 | ||
moritz_, did you actually port GD::SVG to Rakudo or started from scratch ? | |||
moritz_ | k23z__: masak did the XML output module... I started a plotting module on top of it, from scratch | 18:14 | |
18:15
dolmen joined
|
|||
k23z__ | moritz_, do you have already implemented circles and line segments ? | 18:15 | |
18:16
SmokeMachine left
18:17
bubaflub joined
|
|||
moritz_ | k23z__: my module is a chart plotter; circles or so are outside its scope | 18:18 | |
18:19
XaeroOne left
|
|||
mberends | k23z__: here's another (bitrotted) SVG::Tiny.pm that worked on alpha github.com/perl6/perl6-examples/tre...r/lib/SVG/ | 18:20 | |
k23z__ | bitrott = old ? | ||
mberends | yes, untested on master :-( | 18:21 | |
moritz_ | nope | ||
worked on master last I tried | |||
oh wait no | |||
wrong one | |||
github.com/masak/svg/ this one works | |||
it's really just an XML emitter | 18:22 | ||
colomon | how do :c and /^whatever/ interact? | 18:31 | |
moritz_ | will fail for :c != 0 | 18:32 | |
I have a small patch that allows :continue as an alias to :c | |||
[Coke] | is there a 'seen' bot in here? | 18:33 | |
moritz_ | buubot: seen colomon | ||
buubot | moritz_: I last saw colomon saying "colomon" at Fri May 14 19:29:42 2010 Z. | ||
colomon | moritz_: for match, I should have already committed that. | ||
[Coke] | buubot: seen masak | ||
buubot | [Coke]: I last saw masak saying "TimToady " at Wed May 5 13:56:09 2010 Z. | ||
moritz_ | colomon: ooh | ||
colomon: but it's wrong :( | 18:34 | ||
colomon: bare :c is allowed | |||
colomon: and defaults to $/.to of the preceeding match | |||
colomon | moritz_: not per TimToady earlier today. | ||
moritz_ | so, spec changed? | 18:35 | |
dalek | kudo: a797463 | (Solomon Foster)++ | src/core/Cool-str.pm: Allow :global as well as :g for match method. |
||
kudo: 816a4fc | (Solomon Foster)++ | (2 files): Better support for :c / :continue in match, and turn on S05-modifier/continue.t. |
|||
colomon | TimToady: so I think we have to require an arg on in the method form | 18:36 | |
[12:16pm] TimToady: and, by extension, | |||
whoops, lost the modifiers in there. | |||
moritz_ mis-remembered | 18:37 | ||
colomon++ | |||
colomon | easy enough to implement in a pinch. | ||
if we change our minds. | 18:38 | ||
using $/ would be kind of funky with match, since it's not set by match... | |||
I'm trying to figure out how to implement :pos, any ideas? | 18:39 | ||
moritz_ | maybe nqp-rx supports :p? | 18:40 | |
18:40
SmokeMachine joined
|
|||
pugssvn | r30671 | lwall++ | [S05] don't use 'accent' to mean 'mark' as pointed out by tchrist++ | 18:42 | |
r30671 | rename :a and :aa to :m and :mm | |||
r30671 | regularize mm// to ms// to avoid confusion with new :m ignoremark option | |||
moritz_ | so - everything is different now? :-) | ||
18:44
perlygatekeeper joined
|
|||
colomon | happens every time #perl6 gets to talking... ;) | 18:45 | |
moritz_ | TimToady: so sameaccent in S32/Str should probably also be samemark? | 18:46 | |
TimToady | yes | 18:47 | |
colomon | moritz_: is Regex::Cursor.parse in nqp-rx? | ||
moritz_ fixes | |||
colomon: yes | |||
pugssvn | r30672 | moritz++ | [S32/Str] update "sameaccent" fossile | 18:48 | |
TimToady | I just figgered it wasn't fair to ask Tom for a patch when it really required redesign | ||
moritz_ | then maybe my mail was a bit harsh :( | ||
colomon: seems it does accept :p | |||
colomon | \o/ | 18:49 | |
moritz_ tries | |||
pugssvn | r30673 | coke++ | fix typo | 18:50 | |
PerlJam | What's the difference between an "accent" and a "mark"? Is that like an umlaut isn't an accent, but it is a mark? | 18:51 | |
moritz_ | yes | ||
colomon | moritz_: I'll see if I can get some test cases ready... | ||
moritz_ | but there are others where it's more obvious | ||
cotto_work | I'm not seeing any of the failures jnthn mentioned on parrot-dev when using Parrot r46743 and the latest (updated within the last hour) rakudo. | 18:52 | |
18:52
moritz_ sets mode: +o PerlJam
|
|||
cognominal | rakudo: say ( method => 'toto' ) # easy to work around by may-be confusing old-timer perl5 programmers :) | 18:52 | |
p6eval | rakudo 816a4f: OUTPUT«Malformed method at line 11, near "=> 'toto' "current instr.: 'perl6;HLL;Grammar;panic' pc 501 (ext/nqp-rx/src/stage0/HLL-s0.pir:327)» | ||
moritz_ | cotto_work: I couldn't reproduce it on amd64/linux either | ||
jnthn | cognominal: Platform? | 18:53 | |
gha | |||
cotto_work: platform? | |||
bkeeler | Hi-diddly-ho perl6erinos! | 18:56 | |
18:56
dalek left
|
|||
jnthn | hi bkeeler! | 18:56 | |
moritz_ | huh | 18:58 | |
doesn'T seem to work | |||
colomon | moritz_: :pos you mean? | ||
18:58
ShaneC joined
|
|||
moritz_ | colomon: aye | 18:58 | |
colomon | bother | 18:59 | |
18:59
ShaneC left
|
|||
moritz_ | looking at the implementation... it seems that :p is ignored if :c is present | 18:59 | |
colomon | moritz_: ah. so we just need to get smart about that... | ||
moritz_ | aye, I hope so | 19:00 | |
colomon | hmmm, what happens to .match if you use them both? | 19:01 | |
moritz_ | then :c is preferred | ||
colomon | I'd have thought the other way around, :p is stricter. | 19:02 | |
19:03
dalek joined
|
|||
moritz_ | $ ./perl6 -e 'say "adabc".match(/a.*/, :p(2))' | 19:03 | |
abc | |||
$ ./perl6 -e 'say "adabc".match(/a.*/, :p(1))' | |||
(empty line | |||
except that I broke other stuff :( | 19:04 | ||
PerlJam | :pos anchors the match at a particular character position? | 19:05 | |
cognominal | hum, it seems that the semantic of the state qualifier has changed from alpha to current rakudo. Is there a new keyword. error message I get "Symbol '%message' not predeclared in send_error"? | ||
moritz_ | $ ./perl6 -e 'say so "abcde" ~~ /bc/' | ||
0 | |||
cognominal: not yet implemented | |||
cognominal | ok, no problem. easy to work around | 19:06 | |
thx | |||
except I like the compiler to be honest with me :) | 19:07 | ||
moritz_ | like, uhm, I broke normal regex matches | ||
colomon | moritz_++ | ||
moritz_ | cognominal: it is, for some value of honest | ||
cognominal: it parses state() as a subroutine call | |||
cognominal | :) | 19:08 | |
moritz_ | cognominal: and comlains at compile time that the variable you're trying to call is not yet declared | ||
*complains | |||
jnthn | alpha's implementation of state was pretty spec compliant and stable. I wonder how easy it'd be to port it over. | ||
19:09
gbacon_ left
|
|||
TimToady | maybe we should just go with :p($pos) and :p($pos..*) 1/2 :) | 19:10 | |
cognominal | I should use --target=parse more often instead of whining here | ||
moritz_ | TimToady: I kinda like :c, because it's quite often used | ||
TimToady | to me, :p and :c are mutually exclusive | ||
moritz_ | aye | 19:11 | |
colomon: seems like I have a fix | 19:12 | ||
TimToady | another approach, :c never takes an argument; if you want a different start pos than $/.to, set it with :p | ||
cotto_work | jnthn, Ubuntu 10.04 x84 | ||
PerlJam | TimToady: for some reason I like that better than mutual exclusivity | 19:13 | |
cotto_work | *x64 | ||
moritz_ would like it the other way round | |||
jnthn | cotto_work: OK; I need to try it on my other Win32 box. | ||
TimToady | so :p(42):c ==> start at 42 and continue | ||
moritz_ | :c($pos) sets a position | ||
and :p actually anchors it there | |||
colomon | moritz_: \o/ | ||
jnthn | cotto_work: So I can fathom if something is odd on just this machine or on Win32 generally. | ||
PerlJam | moritz_: then :p seems a bit of misnomer | ||
TimToady | and :c :) | ||
moritz_ | colomon: I'm through S02 with the spectests, no fallout so far | 19:14 | |
:start-at, :anchored | |||
PerlJam | moritz_: the one-letter mnemonics are gone then :) | ||
TimToady | but internally, anchored is the default, really | ||
adding in .*? is really the non-default | 19:15 | ||
I think set-position-and-scan is more complicated than set-position | 19:16 | ||
we will have a hard enough time persuading people that regex don't always scan as it is | 19:17 | ||
biasing the switches that way seems like a step backwards to me | |||
PerlJam | I don't know ... there's bunches of people who write regexes like this: / .* foo / :) | 19:18 | |
TimToady | and then wonder why it finds the last one instead of the first one. :) | ||
anyway, for some reason I'm prejudiced towards the parsing view :) | 19:20 | ||
and it's almost the case that :c should be outlawed when parsing, and force people to put .*? where they mean it | 19:21 | ||
I think the upshot of this is that we keep both :c and :p the way they are. :) | |||
and maybe force exclusion, if we feel like it | 19:22 | ||
PerlJam | exclusion is less confusing initially at least. | ||
colomon | \o/ | 19:23 | |
colomon will get back to working on tests for :p | |||
PerlJam is so used to seeing emoticons at the end of lines that he was waiting for colomon to finish his sentence. | 19:24 | ||
:-) | |||
TimToady | moritz_: do you actually have any use cases for :c or is it just a feeling that it's "quite often used"? | ||
19:25
jhuni joined
|
|||
colomon | TimToady: it's essential for multiple matches | 19:25 | |
moritz_ | TimToady: split() | ||
comb() | |||
hm, it seems that the standard perl 5 usage is actually covered by comb and split | 19:26 | ||
TimToady | and that behavior might just be hardwired there | ||
colomon | :c is needed to implement split.... | ||
TimToady | .*? being easy to emulate externally | ||
moritz_ | well, it could also be a de-huffmanized attribute | 19:27 | |
TimToady | :c($p) is equiv to :p($_) for $p..* | ||
so it's a bit of sugar | |||
well, with the stop on match too | 19:28 | ||
not really arguing against keeping :c, but I would resist defining it as more basic than :p | 19:29 | ||
k23z__ | I'm bored | ||
any cure for that ? | |||
TimToady | good, bored people find interesting things to do and do them :) | ||
PerlJam | k23z__: code something using rakudo | ||
TimToady | also, I really dislike calling what :p does "anchoring", because people immediately think of ^ or ^^, and both of those are wrongish semantics for :p | 19:33 | |
colomon | rakudo: say "hello".match(/z/).perl | 19:34 | |
moritz_ | there are many more anchors than ^ and ^^ | ||
p6eval | rakudo 816a4f: OUTPUT«Method 'perl' not found for invocant of class 'Regex;Match'current instr.: '_block14' pc 29 (EVAL_1:0)» | 19:35 | |
colomon | rakudo: say "hello".match(/z/).Bool | 19:36 | |
TimToady | but that's what people think of | ||
p6eval | rakudo 816a4f: OUTPUT«0» | ||
colomon | rakudo: say "hello".match(/o/).Bool | 19:37 | |
p6eval | rakudo 816a4f: OUTPUT«1» | ||
colomon | oooo | ||
TimToady | moritz_: I fight "undifferentiated regex thoughts" all the time at my company of hardware geeks... :) | 19:38 | |
moritz_ | TimToady: my condolences :0) | ||
TimToady | "unicode? what's that?" | ||
moritz_ | have them produce unicode-aware hardware :-) | 19:39 | |
19:40
swestres left
|
|||
TimToady | bbl & | 19:40 | |
Tene | "undifferentiated regex thoughts"? | 19:41 | |
PerlJam | I confess that when I first read "anchor" I immediately think of ^ and $ | ||
moritz_ | colomon: all tests pass... except t/spec/S05-modifier/global.t, which loops infinitely :( | ||
colomon | oh noez! | ||
I just added that one today... | |||
moritz_: you're not always starting from :c(0) if no :c is specified? | 19:42 | ||
moritz_ | colomon: I am... because otherwise non-anchored matches don't work anymore | 19:43 | |
19:43
bluescreen joined
|
|||
colomon | can you post your code? | 19:43 | |
paste | |||
19:44
bluescreen is now known as Guest71827
|
|||
lisppaste3 | moritz_ pasted ":pos implementation" at paste.lisp.org/display/99362 | 19:44 | |
19:45
cotto_work left
|
|||
colomon | moritz_: you're not using $cont in the parse call in the loop. | 19:46 | |
errr... | |||
moritz_ | I am, in %opts<c> | ||
colomon | that's only the first time through. | ||
moritz_ | ooooh | ||
I wanted to write %opts<c> | 19:47 | ||
and wrote %opts<p> | |||
colomon | yeah | ||
not sure why that loops instead of just failing, though. | |||
19:47
Lorn left
|
|||
moritz_ | colomon++ # handy to have around for debugging :-) | 19:47 | |
colomon | moritz_++ # handy to have around to do the implementing. ;) | 19:48 | |
19:48
mantovani left
|
|||
jnthn enjoys watching the colomoritz bot at work | 19:49 | ||
pmichaud | seems to me that .match should always do some form of gather/take, and not have a special loop for :global | ||
i.e., I'd use the same loop for :global, :nth, and :x | |||
19:49
ruoso left
19:50
mantovani joined,
Lorn joined
|
|||
pmichaud | I don't remember if we decided that :nth and :x were mutually exclusive, though. | 19:50 | |
moritz_ | and treat :global as :x(1..*) ? | ||
I don't think they are | |||
pmichaud | or as "True" | ||
colomon | pmichaud: normal single match is supposed to return a match object and not a list of match objects, isn't it? | ||
pmichaud | colomon: well, it would return a parcel in either case | 19:51 | |
but yes, there could be a difference there | |||
moritz_ | :nth(1|3|4), :x(2) does make sense | ||
colomon | there are tests for :x and :nth together.... | ||
moritz_ | exactly two matches, but not the second | ||
pmichaud | okay, that makes sense-ish | ||
moritz_ | colomon: and they are wrong, most likely :-) | ||
pmichaud | just feels like :global, :nth, and :x should share a common loop | 19:52 | |
moritz_ | I know that because I wrote them :/ | ||
colomon | pmichaud: agreed | ||
19:52
mantovani left
|
|||
colomon | the :x tests I found were definitely wrong. | 19:53 | |
19:53
mantovani joined,
stephenlb joined
|
|||
pugssvn | r30674 | pmichaud++ | [S05]: Typo fix TimToady++'s typo fix in r30668. :-) | 19:53 | |
moritz_ | if only the test write had had a clue about Perl 6 back then... | 19:54 | |
pugssvn | r30675 | colomon++ | [t/spec] Basic tests for :p argument to match method. | 19:58 | |
moritz_ | spectest run looks good so far | ||
[Coke] | 15:56 <+nopaste> "coke" at 192.168.1.3 pasted "rakudo spec test failures with recent parrot/rakudo" (8 lines) at nopaste.snit.ch/20577 | 19:59 | |
20:01
molaf_ joined
|
|||
moritz_ | colomon: somehow fudge generates a file from pos.t that's not valid Perl 6 | 20:02 | |
STD says | |||
(Possible runaway string from line 74) | |||
Two terms in a row at /home/moritz/rakudo/t/spec/S05-modifier/pos.t line 75: | |||
------> nok $str.match(/abc/, :p(4)).Bool, "⏏No match anchored to 4"; | |||
20:03
molaf left
|
|||
colomon | it's the line before. | 20:03 | |
last " is missing | |||
line 79 as well. | 20:04 | ||
moritz_ | ah, thanks | ||
moritz_ too tired for serious debugging | |||
colomon | couldn't test it without your patch, sorry. | ||
moritz_ | no problem | ||
pugssvn | r30676 | moritz++ | [t/spec] fix syntax errors, colomon++ | ||
moritz_ | spectest run finished, rakudo changes pushed | 20:05 | |
colomon | moritz_++ | 20:06 | |
moritz_ | rakudo: say samecase('aBc', 'XYz') | ||
p6eval | rakudo 816a4f: OUTPUT«ABc» | ||
moritz_ | rakudo: say 3.samecase(5) | 20:08 | |
p6eval | rakudo 816a4f: OUTPUT«3» | 20:09 | |
moritz_ | rakudo: say 'abc'.match('b') | 20:10 | |
p6eval | rakudo 816a4f: OUTPUT«No applicable candidates found to dispatch to for 'match'. Available candidates are::(Mu : Regex $pat, Any :continue(:c($continue)), Any :global(:g($global));; *%_)current instr.: '_block14' pc 29 (EVAL_1:0)» | ||
dalek | kudo: 2d0fc2b | moritz++ | (2 files): implement :p/:pos in Regex.match |
||
20:11
szabgab joined
20:12
molaf_ left,
gbacon_ joined
20:15
rv2733 left
|
|||
pugssvn | r30677 | colomon++ | [t/spec] Test :pos as well as :p. | 20:18 | |
20:19
Guest71827 left,
molaf joined,
_buno_ joined
20:22
SmokeMachine left,
Guest71827 joined
20:26
elmex joined
20:29
am0c left
20:32
perlygatekeeper left
|
|||
moritz_ | + ok $match.Bool, "Match anchored to 6"; | 20:32 | |
ok $match, "..."; would be enough | 20:33 | ||
20:38
Guest71827 left
20:44
_buno_ left
|
|||
colomon | I wasn't sure how ok worked internally. :) | 20:45 | |
20:45
Su-Shee left
20:48
bubaflub left
20:57
k23z__ left
21:00
wknight8111 joined,
gbacon_ left
|
|||
jnthn | Curious. The Rakudo build and spectest went find on my laptop | 21:00 | |
jnthn is kinda confused | |||
[Coke] | jnthn: SHIP IT! | 21:03 | |
someone on #parrot suggested icu versions? | |||
jnthn | [Coke]: I don't build with ICU on this machine, so it's likely not that. | ||
[Coke]: I do have I think different versions of MS VC++ | 21:04 | ||
I'll try a clean clone on this machine later on. | |||
21:06
jaffa4 left
21:21
molaf_ joined,
hercynium joined,
pyrimidine left
21:24
molaf left
21:29
k23z__ joined
21:44
clintongormley left
21:49
iblechbot left
21:52
ruoso joined
21:56
Targhan joined
22:04
dju left
22:07
jhuni left
22:31
pjcj joined
22:35
am0c joined
22:40
alester left
22:47
meppl left
22:54
lestrrat is now known as lest_away
22:58
Psyche^ joined
23:00
am0c left
23:02
Patterner left,
Psyche^ is now known as Patterner
|
|||
pugssvn | r30678 | lwall++ | [pos.t] remove 'my' that causes "Useless redeclaration of variable $_" | 23:07 | |
23:16
ruoso left
23:18
isBEKaml left
23:32
cdarroch left
23:42
BrowserUk left
|