»ö« 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:12 Guest11301 left 00:16 ingyfoo is now known as ingy 00:23 aloha left, aloha joined 00:26 Radvendii joined
sorear o/ Radvendii 00:28
00:30 whiteknight joined 00:31 whiteknight is now known as Guest33719
sorear hmm. the ICU preparser doesn't have a copyright licence 00:37
00:43 Radvendii left 00:48 shinobicl_ left 00:55 molaf_ joined 00:58 molaf left 01:10 drbean left 01:17 drbean joined
sjn Question... Would it be sensible (for symmetry) to allow method names starting with . ? (the symmetry would be with private methods, who are declared thus: "method !name() { ... }" ) 01:34
e.g. method .name() { ... }
sjn imagines the . would do absolutely nothing in that postition, other than create a symmetry completeness between the meanings of . and ! 01:35
the point with this, to make it a bit easier to teach Perl6 01:36
Juerd I wouldn't mind. But I wouldn't mind $foo.!bar either
$foo!bar is slightly disturbing though 01:37
sjn likes the convention of ! being a "dot, but with a blocking line above it"
Juerd Not enough to lose any sleep over.
In programming, ! isn't typically any kind of special dot.
flussence so... it's a not-dot? :)
Juerd ! isn't related to . 01:38
sorear except in intercal
Juerd !! isn't related to ..
sjn yes, it usually isn't
Juerd So that mnemonic doesn't really work for me
sjn you can't call methods with ..
Juerd I meant !! in ??!!
sjn ah 01:39
well, that's fine
I can't se any ambiguities there, at least
Juerd Also, $foo? and $foo! don't have a $foo. sibling
! being some kind of extension to . is the exception, and definitely not a rule 01:40
sjn well, exceptions in memes are bad for memorability
Juerd Perhaps it's for that reason that it feels contrived
sjn consistencies are better
Juerd In any case, I don't really object to it, but I'm not entirely comfortable with it either.
Yes, consistency is nice in any case.
sjn ! _is_ a bit weird for a privacy memetic 01:41
Juerd And I always do think it's easier to explain the absense of something as invoking a default, than to explain that to get different behavior you need to add something else.
That's one of the reasons I wanted <->. It's easier to say that "for @foo { ... }" defaults to <-> rather than ->, than to explain that it's like "for @foo -> $_ is rw" 01:42
sjn doesn't know <-> 01:43
Juerd So I'd like to say that "method xyzzy" is short for "method .xyzzy"
<-> is the same as ->, but implies "is rw" on its parameters.
sjn aah
neat
Juerd <-> $foo, $bar { ... } is like -> $foo is rw, $bar is rw { ... }
Especially useful in for loops.
sjn yep 01:44
no implicit aliasing of array content to $_ in loops
veeery nice :)
Juerd It does still do that 01:45
for @foo { ... } is short for for @foo <-> $_ { ... } which in turn is short for for @foo -> $_ is rw { ... } 01:46
sjn ok
hm
well, so the default is to assume rw aliasing :-/
ah well
Juerd If you don't like the implicit behavior you can always be explicit of course, and in a consistent and intuitive way.
sjn yep, that's at least a plus 01:47
Juerd If you want ro aliasing simply use ->. If you read Perl 6 code that's already out there, you'll see that this is actually what most people choose to do most of the time.
sjn mm
and it makes the intention of the code much clearer too
Juerd <-> was meant to indicate the bidirectionalism 01:48
<- could be fun but there probably isn't any use to it, and it'd be hard to parse :)
With <=> being the "spaceship operator", I wonder if <-> will get a nickname too. 01:49
sjn "the flat spaceship operator" :-P
sjn isn't particularly creative at 3am 01:50
<- off to bed
nn guys
Juerd Good night 01:51
sjn oh, and thanks for the <-> explanation, Juerd :) 01:54
01:58 drbean left 02:05 drbean joined 02:24 orafu left, orafu joined 02:25 alvis left 02:28 Guest33719 left 02:29 aloha left
colomon jnthn++ # emergency Advent post 02:33
02:38 aloha joined 02:41 alvis joined 02:43 JimmyZ_ joined 02:46 drbean left 02:51 wolfman2000 joined 02:53 drbean joined 02:56 JimmyZ_ left 02:59 donri left 03:12 aloha left, aloha joined 03:24 replore joined
sorear sent mail to the ICU people asking about terms of use for their UCD parser 03:31
03:42 envi_ joined 03:48 REPLeffect left 04:21 drbean left
sorear rakudo: /<[abc]&[bce]>/ 04:24
p6eval rakudo d2a096: OUTPUT«===SORRY!===␤regex assertion not terminated by angle bracket at line 1, near "&[bce]>/"␤»
04:27 jimmy1980 left 04:29 drbean joined, REPLeffect joined 04:33 jimmy1980 joined 04:41 drbean left 04:47 drbean joined 04:50 thou left 05:01 drbean left
sorear is looking at QRegex now and trying to figure out how it works. 05:04
rakudo: say "a" ~~ /a & a/
p6eval rakudo d2a096: OUTPUT«=> <a>␤␤»
sorear jnthn: ping 05:05
pmichaud: ping
05:08 drbean joined 05:09 kaleem joined 05:14 sftp left 05:22 mdxi left
sorear jnthn: pmichaud: unping. I was actually able to figure out QRegex on my own 05:34
moritz jnthn++ # advent post 05:36
sorear o/ moritz
moritz good morning everybody and sorear :-)
05:39 molaf_ left
dalek ast: 7133c0f | moritz++ | S32-temporal/DateTime-Instant-Duration.t:
rakudo refudges
05:43
05:49 mkramer joined 05:53 araujo left 05:56 benabik left 06:03 drbean left
sorear Do we want LTM behavior to be exactly consistant across implementations? 06:08
06:09 drbean joined
moritz that would be nice, yes 06:25
06:35 plutoid joined 06:37 baest joined 06:49 molaf joined 07:01 koban joined 07:13 wtw joined 07:17 renormalist left, renormalist joined
sorear moritz: then I need a non-ad-hoc way of deciding when x & y is considered declarative 07:34
perhaps the answer is "never", which is what Rakudo does 07:40
07:45 murker joined
jnthn sorear: what does Niecza do with & at the moment for LTM? 07:49
sorear niecza: /x & y/ 07:50
p6eval niecza v12-12-g0271e98: OUTPUT«Unhandled exception: Unable to resolve method oplift in class Any␤ at /home/p6eval/niecza/src/NieczaActions.pm6 line 340 (NieczaActions.op_for_regex @ 2) ␤ at /home/p6eval/niecza/src/NieczaActions.pm6 line 349 (NieczaActions.quote:sym</ /> @ 3) ␤ at /ho…
sorear strange failure mode
anyway, & is NYI
jnthn aha
"never" doesn't seem like an unreasonable answer. 07:51
...but I didn't drink any coffee yet today :)
sorear I'm thinking about character classes and perhaps allowing LTM for <[\w] & [\x00 .. \xFF]>
meh, probably not worth it
07:51 plutoid left
sorear rakudo: /<[\w]>/ 07:52
p6eval rakudo d2a096: ( no output )
jnthn rakudo: say 'a' ~~ /<[\w]>/ 07:54
p6eval rakudo d2a096: OUTPUT«=> <a>␤␤»
jnthn phew :)
sorear rakudo: 'a' ~~ /<[x\d]>/
p6eval rakudo d2a096: ( no output )
sorear rakudo: say 'a' ~~ /<[x\d]>/
p6eval rakudo d2a096: OUTPUT«#<failed match>␤»
cognominal___ moritz, you implemented the ACCEPT method in Any : multi method ACCEPTS(Any:D: Mu \$a) { self === $a } 07:55
I dont understand the signature.
07:55 cognominal___ is now known as cognominal
jnthn oops, I'm working at $client today, ain't I... 07:55
jnthn commutes
sorear jnthn: obvious bug: s/conj/alt/ on line 468 of src/QRegex/P6Regex/Actions.nqp
jnthn: see my last test 07:56
er
rakudo: say 'a' ~~ /<[a\d]>/
p6eval rakudo d2a096: OUTPUT«=> <a>␤␤»
sorear hrm
I wonder how this works
jnthn: nevermind I screwed up the test... the code is still "obviously wrong" but is working somehow 07:57
ah I see
obviously I need to sleep&
07:58 domidumont left, dod joined 07:59 dod left, domidumont joined
cognominal I guess the Mu in the signature is redundant because Any:D: is a stricter constraint. 08:00
08:02 daxim joined
moritz cognominal: Any:D is the type constraint of the invocant 08:03
the trailing : makes it the invocant marker
cognominal thx, I did not notice the trailing : 08:04
I am too much used to syntax highlighters and my brain gets lazy 08:05
08:08 murker left 08:09 mj41 joined 08:16 plutoid joined 08:17 am0c joined, drbean left 08:25 drbean joined 08:26 araujo joined, araujo left, araujo joined
jnthn about again 08:37
08:49 lestrrat left 08:50 lestrrat joined
dalek : f4c82d5 | moritz++ | misc/perl6advent-2011/schedule:
[advent] update scheduel for the 11th
09:01
kudo/ex-from-actions: f3f084c | moritz++ | src/Perl6/Actions.pm:
thinko
09:19
09:24 snearch joined 09:26 dakkar joined
snarkyboojum hey guys, do I need to get access to post to the advent blog thingy? 09:44
moritz snarkyboojum: yes
snarkyboojum: do you have an account on wordpress.com?
snarkyboojum moritz: who can do that, and what info do they need?
yep - snarkyboojum
moritz snarkyboojum: then I can invite you easily, I think
just a sec
snarkyboojum moritz: cheers
moritz snarkyboojum: sent 09:46
snarkyboojum moritz: o/
moritz looks forward to ++snarkyboojum's post 09:48
jnthn too :)
And I'm in again for the 14th, it seems... :) 09:49
snarkyboojum it's not that exciting guys, but cheers :P
moritz jnthn: it seems that HLL::Compiler.lineof returns 0-based line numbers. Is that intentional?
jnthn moritz: Er
So *that's* why I had to add 1 in the optimizer! 09:50
:)
diakopter lineoffby1
10:01 grondilu joined
grondilu Is panda supposed to work with nom? It doesn't with me :( 10:02
jnthn grondilu: What platform? 10:03
grondilu: I thought the last blocker for it bootstrapping was resolved this weekend.
10:03 replore left
jnthn Though it doesn't work on Windows yet. 10:03
grondilu jnthn: debian 10:04
jnthn grondilu: If you're on something other than Windows, then yeah, it probably should work, and please let us know how it fails.
grondilu I can't show you right now as I have pulled rakudo and not yet compiled. But it showed me a long error message after about a minute of hanging. 10:06
I'll make a screenlog next time
jnthn grondilu: thanks. 10:07
10:08 plutoid left
tadzik grondilu: it should work on linuxes just fine 10:10
I'm curious about the errors 10:11
jnthn tadzik: Does it bootstrap fine for you now, given I sorted out the Test::Mock test suite? 10:13
tadzik jnthn: aye
grondilu I should have precised debian *sid*, though 10:14
tadzik jnthn: I tried to sort out the IO.copy issues, and I'm more and more convinced that 'foo'.IO.copy('/some/directory/') should “just work”, no matter on which platform
dalek kudo/ex-from-actions: 602996b | moritz++ | src/core/Exception.pm:
be explicit about calling .gist

IMHO it should work without it, but it does not. Not sure why
kudo/ex-from-actions: df1294a | moritz++ | src/Perl6/Actions.pm:
HLL::Compiler.lineof returns 0-based line numbers

so add 1 to them for now
tadzik doesn't HLL::Compiler live in nqp? 10:15
moritz it does
tadzik I'll look at it
moritz ... and it's written 100% in inline Q:PIR 10:16
thing is, if you change lineof, you need to change all calling locations too
tadzik eww, pir
yeah
I'll look at it... in the undefined future :)
moritz nqp/src/HLL/Grammar.pm
321: @args.push(HLL::Compiler.lineof($target, $pos) + 1);
so even the usage inside HLL::* adds 1 10:17
tadzik :)
oh, it's ackable
moritz aye :-)
tadzik HLL/Compiler.nqp:655: line = 0
moritz seems to be used in only 3 place though... so not so bad
tadzik let's try 10:18
moritz it seems to have a single point of exit
so you can just add an inc line before the end :-)
tadzik I'll just initialize it with 1 10:19
10:20 grondilu left 10:24 itz left
moritz tadzik: beware, 'line' is also used as an array index 10:24
into the cache
10:25 itz joined
moritz if the parsing still spends significant amount of time in line_of, one could also replace the final loop with a binary search in linepos 10:27
tadzik oh joy :)
jnthn Parsing won't but code-gen may
Taht's when we emit the .annotate
10:28 jimmy1980 left 10:33 jimmy1980 joined
moritz tadzik: shall I have a go at it? 10:34
tadzik moritz: I'm now building rakudo with the patched HLL::Compiler
moritz tadzik: ok, I'll let you do it 10:35
tadzik if you can build & spectest it on something more suitable than a laptop on battery, have a go :)
still, we don't know whether it's intended and rational'd
moritz tadzik: well, if two of us first mis-used the API, it's no good 10:36
tadzik true
jnthn also mis-used it
10:38 drbean left
moritz jnthn: yes, you are no. 1 :-) 10:38
jnthn oh :) 10:39
10:45 drbean joined
moritz tadzik: spectesting my changes now, on 4 cores :-) 10:46
tadzik okay, nice :) 10:47
I'll give that poor battery a rest
dalek nda: a1a9f67 | tadzik++ | / (2 files):
Make Panda::Ecosystem care about non-existent projects.json
10:50
tadzik oh look, a commit :)
moritz tadzik: weird, my patch cause normal line numbers to be correctly reported, but the optimizer is off by -1 11:08
(so, reports the preceeding line)
hm, do I have to rebootstrap?
11:11 yarp joined 11:13 am0c left
moritz tries 11:16
oh, the optimizer uses PAST::Compiler.lineof, not HLL::Compiler.lineof 11:20
moritz hates the "two versions of everything" thing
11:24 am0c joined
moritz anyway, good to know that we have test coverage for some cases of line numbers :-) 11:26
dalek p: f81b6c2 | moritz++ | src/HLL/ (2 files):
return 1-based line numbers of HLL::Compiler.lineof
11:27
p: dc0ca28 | moritz++ | src/stage0/ (6 files):
update bootstrap
kudo/ex-from-actions: b690654 | moritz++ | / (3 files):
use a HLL::Compiler.lineof that returns 1-based line numbers
11:29
moritz note that this commit needs to be cherry-picked to nom when somebody bumps the nqp revision there
or we need to merge the branch into master, which can happen soonish too
11:31 risou_awy is now known as risou
moritz like, after lunch :-) 11:31
11:32 risou is now known as risou_awy
mls_ moritz: I don't like that lineof change. It makes nqp's lineof behave different than the one in PCT ("src/PCT/HLLCompiler.pir") 11:34
phenny mls_: 04 Dec 21:01Z <jnthn> tell mls_ If you have a moment for an exception-related bug, in the following program the second try fails to catch: sub foo { fail "boo" }; my $val = foo(); try { ~$val }; say $!; try { ~$val; }; say "alive"
tadzik I don't get how IO.copy('directory') works _sometimes_ 11:39
11:39 dudulz joined
tadzik oh, wait 11:40
jnthn: Now that I look at it, I don't think panda uses .copy('directory') at all 11:42
11:53 koban left
tadzik jnthn: what does t/panda/installer.t print out with gist.github.com/1466833? 12:02
12:09 drbean left
jnthn mls_: src/PCT/HLLCompiler.pir is no longer used by NQP and Rakudo 12:13
12:14 snearch left
jnthn tadzik: At $client so can't try that right now, sorry 12:14
moritz: Feel free to make the optimizer use the other one.
tadzik jnthn: ok, no worries
12:16 drbean joined
mls_ so pmichaud++'s binary search optimization is no longer used? That's bad. 12:17
(when was this changed? Last time I looked nqp's lineof wasn't used)
12:18 replore joined
mls_ jnthn: about the exception not being catched: it seems to be because Failure uses "rethrow" to rethrow the exception 12:18
I think it should work if you change it to use throw() 12:19
12:19 replore left
mls_ (Hmm, maybe there's no throw() method, so probably pir::throw__0P ) 12:20
jnthn mls_: Gah, this two versions of stuff is getting confusing...
Well, new NQP has not used PCT::HLLCompiler for a long time.
12:21 envi_ left
jnthn PAST::Compiler may still use it though. 12:21
12:22 colomon left
mls_ (Exception.pm does have a throw() method) 12:23
jnthn OK, I can try it this evening, or maybe somebody else has a tuit :)
12:24 envi_ joined 12:25 yarp left 12:28 jeffreykegler joined 12:34 mtk joined, colomon joined 12:38 drbean left 12:43 drbean joined 12:46 bluescreen10 joined 12:48 kaleem left 12:50 jeffreykegler left, kaleem joined
dalek p: 86b9112 | moritz++ | src/HLL/Compiler.pm:
backport lineof optimization from PCT

This backports the binary search lineof optimization from PCTs HLLCompiler to HLL::Compiler.lineof
12:55
moritz mls_: I'm fine with changing src/PCT/HLLCompiler.pir too, but other projects might depend on it, and I have no idea which ones do 12:56
tadzik I don't think anyone uses The New Nqp besides Rakudo :) 12:57
moritz tadzik: HLLCompiler.pir is in the parrot repo 12:58
tadzik oh, ok
12:58 pen joined
moritz nom: say 00802 13:00
13:00 pen left
p6eval nom d2a096: OUTPUT«802␤» 13:00
moritz std: 00802 13:01
p6eval std be1f10e: OUTPUT«Potential difficulties:␤ Leading 0 does not indicate octal in Perl 6; please use 0o0802 if you mean that at /tmp/IwgzoKdkr1 line 1:␤------> 00802⏏<EOL>␤ok 00:01 118m␤»
moritz maybe it shouldn't warn if the digits 8 or 9 appear in the literal :-)
std: 0o0802 13:07
p6eval std be1f10e: OUTPUT«===SORRY!===␤Whitespace is required between alphanumeric tokens at /tmp/Bvu8pbTf8S line 1:␤------> 0o0⏏802␤Two terms in a row at /tmp/Bvu8pbTf8S line 1:␤------> 0o0⏏802␤ expecting any of:␤ POST␤ bracketed inf…
13:12 jimmy1980 left 13:13 jimmy1980 joined 13:18 icwiener joined
dalek ast: 1334a14 | moritz++ | integration/error-reporting.t:
be less strict in line number checking; rakudo unfudges
13:19
ast: d846e87 | moritz++ | S32-list/sort.t:
remove debug output
moritz nom: Code.Str 13:23
p6eval nom d2a096: OUTPUT«Cannot look up attributes in a type object␤ in <anon> at src/gen/Metamodel.pm:2995␤ in method dispatch:<.?> at src/gen/CORE.setting:773␤ in method Str at src/gen/CORE.setting:657␤ in block <anon> at /tmp/gUKhDT_HSG:1␤ in <anon> at /tmp/gUKhDT_HSG:1␤»
moritz nom: my $x := Code; $x.VAR.?name 13:24
p6eval nom d2a096: OUTPUT«Cannot look up attributes in a type object␤ in <anon> at src/gen/Metamodel.pm:2995␤ in method dispatch:<.?> at src/gen/CORE.setting:773␤ in block <anon> at /tmp/CDVB8nl4Yk:1␤ in <anon> at /tmp/CDVB8nl4Yk:1␤»
moritz jnthn: see above, I think that's a regression from the patch that shows the variable names in the uninitialized warnings 13:25
jnthn moritz: I think it means Code's Str method is busted...
moritz: Probably isn't multi and needing :D or some such.
moritz jnthn: no, it's fine
jnthn oh, wait
yeah
hm
moritz jnthn: the second example doesn't use Code.Str at all
jnthn ok, wtf
moritz jnthn: I think it's becaused you used $v.VAR.?name
13:25 hundskatt joined
jnthn nom: Code.?name 13:25
p6eval nom d2a096: OUTPUT«Cannot look up attributes in a type object␤ in <anon> at src/gen/Metamodel.pm:2995␤ in method dispatch:<.?> at src/gen/CORE.setting:773␤ in block <anon> at /tmp/qVNcx8PZAb:1␤ in <anon> at /tmp/qVNcx8PZAb:1␤»
jnthn oh
moritz jnthn: and .name can fail, even if it's dispatchable 13:26
jnthn yeah
Dunno what to do about that.
moritz nom: class A { method name() { 'foo' } }; my $x := A; $x.Str
p6eval nom d2a096: OUTPUT«Use of uninitialized variable foo of type A in string context␤»
moritz erhm
jnthn hm
Maybe we need to check that .VAR.isa(Scalar) or some such :) 13:27
moritz that's... LTA
aye
jnthn: I'll experiment with it
jnthn VAR is spec'd as identity on anything non-container...
er, non-scalar-container
I think there's an nqp::iscont too or something 13:28
moritz aye
13:36 literal left 13:37 avar left 13:42 alim joined 13:48 literal joined, avar joined
dalek kudo/nom: f3f084c | moritz++ | src/Perl6/Actions.pm:
thinko
13:51
kudo/nom: 602996b | moritz++ | src/core/Exception.pm:
be explicit about calling .gist

IMHO it should work without it, but it does not. Not sure why
kudo/nom: df1294a | moritz++ | src/Perl6/Actions.pm:
HLL::Compiler.lineof returns 0-based line numbers

so add 1 to them for now
kudo/nom: b690654 | moritz++ | / (3 files):
use a HLL::Compiler.lineof that returns 1-based line numbers
kudo/nom: de83900 | moritz++ | / (5 files):
Merge branch 'ex-from-actions' into nom
kudo/nom: c27eb70 | moritz++ | tools/build/NQP_REVISION:
bump NQP revision to get lineof optimization
kudo/nom: b20ab2e | moritz++ | src/core/Mu.pm:
make uninitialized warnings more robust
13:52 jimmy1980 left
colomon \o/ 13:56
13:58 jimmy1980 joined 14:05 REPLeffect left 14:07 hrj joined
flussence nom: $a 14:07
p6eval nom d2a096: OUTPUT«===SORRY!===␤Variable $a is not predeclared at line 1, near ""␤»
flussence nom: my $a; say $a
p6eval nom d2a096: OUTPUT«Any()␤»
flussence nom: my Str $a; say $a
p6eval nom d2a096: OUTPUT«Str()␤»
moritz nom: my $a; print $a
p6eval nom d2a096: OUTPUT«Use of uninitialized variable $v of type Any in string context␤»
flussence $v?! 14:08
tadzik tee hee
where did it take that from 14:09
moritz from Mu.Str
tadzik yeah, but it was $a
moritz nom: my $a; print ~$a
p6eval nom d2a096: OUTPUT«Use of uninitialized value of type Any in string context␤»
flussence $v.VAR.name on line 144?
moritz nom: my $a; print $a.Str
p6eval nom d2a096: OUTPUT«Use of uninitialized variable $a of type Any in string context␤»
flussence nom: my Str $a; print $a 14:10
p6eval nom d2a096: OUTPUT«Use of uninitialized variable $v of type Str in string context␤»
flussence hm, thought that would've avoided calling Mu.Str 14:11
14:11 preflex left
moritz flussence: Str doesn't have a method Str(Str:U:) or so 14:11
flussence ah
moritz and I don't see a reason for having one
when people call the .Str method, they expect to get a defined Str back, not a Str type object 14:12
14:12 preflex joined
moritz or phrasing it differently, we need a method that returns a defined Str, so that we can unbox it and do low-level stuff with it 14:13
that's what .Str does in rakudo
14:15 odoacre left 14:19 REPLeffect joined 14:25 jerome__ left, alvis left 14:26 jerome__ joined 14:27 odoacre joined
felher jnthn: first: nice blogpost :) . second: Is there a special reason you prefer if-else_if-else to given+ranges (paste.pocoo.org/show/519714/)? Matter of taste? 14:30
jnthn: or (* < 100) 14:31
14:31 sftp joined 14:32 kaleem left, am0c left, mkramer left
jnthn felher: NICE! :) 14:33
felher: I didn't think of using ranges :)
14:36 tokuhirom joined, sayu joined
felher jnthn: :) Glad i'm not the only one to like the combination :) 14:36
colomon felher: I think I might prefer when 1..100 { } when 101..1000 {} when 1001..* { } or something like that. Just to make it more obvious what's going on 14:39
moritz colomon: be careful, when non-integer quantities are allowed they do different things
just consider 100.5
colomon true
100^..1000, then, I suppose... 14:40
felher colomon: yeah, i see your point :)
14:42 alvis joined, drbean left
jnthn I like the ^100 fwiw. "If the order is up to but not including 100, you get no discount" 14:42
colomon jnthn: but notice that it confused me -- I translated it to 1..100, ie if the order is up to and including 100... :) 14:45
jnthn colomon: oh :) 14:46
I always parse ^ as "up to but excluding" :)
colomon moritz apparently didn't notice my gaff either. :)
moritz colomon: I just focused on the most obvious issue, and didn't think more about it 14:48
14:50 drbean joined 14:56 toastedpenguin joined 15:01 toastedpenguin left 15:02 pomysl_ left, pomysl joined
cognominal nom: say Mu.^methods.map: { .name ~ .signature } 15:05
p6eval nom b20ab2: OUTPUT«(signal SEGV)»
cognominal I am good at breaking things :(
moritz cognominal++ 15:08
nom: say Mu.^methods.WHAT 15:09
p6eval nom b20ab2: OUTPUT«Parcel()␤»
moritz nom: say Mu.^methods[0].WHAT
p6eval nom b20ab2: OUTPUT«Method()␤»
cognominal nom: say Mu.^methods.map: { .name ~ 0 }
p6eval nom b20ab2: OUTPUT«(signal SEGV)»
moritz nom: say .name ~ .signature given Mu.^methods[0]
p6eval nom b20ab2: OUTPUT«(signal SEGV)»
moritz nom: say .name given Mu.^methods[0]
p6eval nom b20ab2: OUTPUT«Method 'gist' not found for invocant of class 'String'␤ in sub say at src/gen/CORE.setting:5598␤ in block <anon> at /tmp/ujMAFgVuVD:1␤ in block <anon> at /tmp/ujMAFgVuVD:1␤ in <anon> at /tmp/ujMAFgVuVD:1␤»
moritz ah, the .name is a parrot String, not a Str 15:10
nom: say .name ~ .name given Mu.^methods[0]
p6eval nom b20ab2: OUTPUT«(signal SEGV)»
moritz nom: say nqp::p6box_s(.name) given Mu.^methods[0]
p6eval nom b20ab2: OUTPUT«ACCEPTS␤»
moritz nom: say nqp::p6box_s(.name) ~ nqp::p6box_s(.signature) given Mu.^methods[0] 15:11
p6eval nom b20ab2: OUTPUT«ACCEPTSSignature<-5339705135585706607>␤»
15:11 wtw left
moritz nom: say nqp::p6box_s(.name) ~ .signature.per given Mu.^methods[0] 15:11
p6eval nom b20ab2: OUTPUT«Method 'per' not found for invocant of class 'Signature'␤ in block <anon> at /tmp/L9VN9cA9GR:1␤ in block <anon> at /tmp/L9VN9cA9GR:1␤ in <anon> at /tmp/L9VN9cA9GR:1␤»
moritz nom: say nqp::p6box_s(.name) ~ .signature.perl given Mu.^methods[0]
p6eval nom b20ab2: OUTPUT«ACCEPTS:(Mu, Any, Mu %_)␤»
jnthn wtf, it's meant to coerce results of method calls into Perl 6 things.
moritz nom: say nqp::p6box_s(.name) ~ .signature.perl for Mu.^methods[0]
p6eval nom b20ab2: OUTPUT«ACCEPTS:(Mu, Any, Mu %_)␤»
moritz nom: say nqp::p6box_s(.name) ~ .signature.perl for Mu.^methods
p6eval nom b20ab2: OUTPUT«ACCEPTS:(Mu, Any, Mu %_)␤WHERE:(Mu, Mu %_)␤WHICH:(Mu, Mu %_)␤WHY:(Mu, Mu %_)␤Bool:(Mu, Any, Mu %_)␤so:(Mu, Mu %_)␤not:(Mu, Mu %_)␤defined:(Mu, Mu %_)␤new:(Mu, Any, Mu %_)␤CREATE:(Mu, Mu %_)␤bless:(Mu, Mu $candidate, Positional @autovivs, Associative %attrinit)␤BUILDAL…
jnthn nom: say $_.name given Mu.^methods[0] 15:12
p6eval nom b20ab2: OUTPUT«ACCEPTS␤»
jnthn nom: say .name given Mu.^methods[0]
p6eval nom b20ab2: OUTPUT«Method 'gist' not found for invocant of class 'String'␤ in sub say at src/gen/CORE.setting:5598␤ in block <anon> at /tmp/aIfwfj5Wqt:1␤ in block <anon> at /tmp/aIfwfj5Wqt:1␤ in <anon> at /tmp/aIfwfj5Wqt:1␤»
15:12 mkramer joined
jnthn Ah, just the default invocant case. 15:12
15:14 mkramer left 15:15 mkramer joined 15:17 molaf left 15:19 baest left 15:22 risou_awy is now known as risou
moritz ugh 15:23
I just found out why IO.copy doesn't work with a directory as the destination
char * const cto = Parrot_str_to_string(INTERP, to); 15:24
FILE * const target = fopen(cto, "w+b");
any questions? :/
colomon Unmarshallable foreign language value passed for parameter '$b' ??????? 15:27
moritz colomon: it means that you've passed a non-Rakudo object to a routine 15:28
and rakudo doesn't like that
15:28 mkramer left
colomon moritz: yeah, except I didn't 15:28
and running the code a second time (no changes) made the error go away
moritz hm
something foul in the state of Denm^WRakudo 15:29
colomon I never use the variable $b in this code at all.
15:29 thou joined
colomon though I guess I could pass something to a core routine that did... 15:29
moritz $b is probably used in the signature that you call (maybe indirectly)
15:29 mkramer joined
moritz right 15:30
colomon gist.github.com/1467860 is the full stack trace
seem to happen every other time I run the code. 15:31
moritz the reify/reify/gimme/eager/eager stuff is just a loop of some kind
15:31 Psyche^ joined 15:32 tokuhirom left, tokuhirom joined 15:35 Patterner left, Psyche^ is now known as Patterner 15:37 tokuhirom left
colomon nom: my $z = 1 + .5i; say $z ** 2 15:40
p6eval nom b20ab2: OUTPUT«0.75 + 1i␤»
colomon nom: my $z = 1 + .5i; say $z ** 2.5
p6eval nom b20ab2: OUTPUT«0.528879999348487 + 1.21128611554449i␤»
cognominal I am working in improving Parameter.perl and Signature.perl 15:43
colomon niecza: my $z = 1 + .5i; say $z ** 2.5 15:44
p6eval niecza v12-12-g0271e98: OUTPUT«0.528879999348487+1.21128611554449i␤»
moritz cognominal: that's a problem I've also attacked once... 15:45
cognominal: and decided that it might be easier to just store the original source code text for each parameter
cognominal: (compared to re-generating it from the Parameter object)
sorear good * #perl6 15:46
moritz cognominal: I think I had a branch for that, let me take a look...
cognominal: seems I never pushed the branch, doing that now 15:47
dalek kudo/parameter-perl: 9e3f3a2 | moritz++ | src/ (5 files):
store the original perl source for Parameter in an attribute

it turns out that there are so many cases to cover in Parameter.perl that reconstructing it from the various flags and attributes is much more complicated than simply storing the source code. At least that is my hope :-) Does not yet actually store the source
15:48
kudo/parameter-perl: faf6af8 | moritz++ | src/Perl6/Actions.pm:
try to record Parameter.perl
moritz cognominal: it branches off a rather old version of nom, but might be easy to merge nonetheless... feel free to pick it up from there
colomon niecza: say 0i ** 2 15:52
p6eval niecza v12-12-g0271e98: OUTPUT«NaN+NaNi␤»
colomon ugh
nom: say 0i ** 2
p6eval nom b20ab2: OUTPUT«0 + 0i␤»
moritz likes noms answer beter
*better even
sorear nom: say pi ** i 15:53
cognominal I have advanced a lot and it is a good pedagoical exercise. One can imagine people to generate code without going thru source.
p6eval nom b20ab2: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&i' called (line 1)␤»
sorear nom: say pi ** 1i
p6eval nom b20ab2: OUTPUT«0.413292117142105 + 0.910598498740359i␤»
sorear nom: say 1i ** 1i
p6eval nom b20ab2: OUTPUT«0.207879576350762 + 0i␤»
cognominal I have yet to grok LoL
colomon niecza: say pow(0i, 2) 15:54
p6eval niecza v12-12-g0271e98: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'pow' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 880 (die @ 2) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1139 (P6.comp_unit @ 32) ␤ at /home/…
15:56 bluescreen10 left
sorear cognominal: nor do I 15:56
colomon nom: say 0i.polar 15:58
p6eval nom b20ab2: OUTPUT«0 0␤»
colomon niecza: say 0i.polar
p6eval niecza v12-12-g0271e98: OUTPUT«0 0␤»
15:59 bluescreen10 joined
colomon nom: say 0.log 15:59
p6eval nom b20ab2: OUTPUT«-Inf␤»
moritz niecza: say 0.log 16:00
16:00 mkramer left
p6eval niecza v12-12-g0271e98: OUTPUT«-Infinity␤» 16:00
colomon will track this down, but needs to hit the nordic track at the moment.
16:01 mkramer joined
sorear the what? 16:02
moritz niecza: say 0i ** 2 16:03
p6eval niecza v12-12-g0271e98: OUTPUT«NaN+NaNi␤»
moritz this one, I guess
sorear moritz: "nordic track"
moritz oh
[Coke] it's an exercise machine.
16:03 donri joined
[Coke] simulates cross country skiing. 16:04
moritz associated some winter sport / cross-country skiing with it
sorear thought it was something related to Perl conferences D:
daxim you're giving me ideas. 16:07
sorear colomon: it's because ** is implemented using log 16:11
16:11 jeffreykegler joined
sorear colomon: Builtins.cs line 773, log(0) = -Inf 16:12
and exp(-Inf) = NaN
moritz erm, shouldn't exp(-Inf) be 0?
perl6: say exp(-Inf) 16:13
p6eval pugs b927740, rakudo b20ab2, niecza v12-12-g0271e98: OUTPUT«0␤»
sorear hrm
oh! 16:14
line 774 multiplies Inf by 0
[Coke] more new spectest failures on niecza.
sorear as part of a complex multiply
16:14 xinming_ left
sorear perl6: say -Inf * 2 16:15
p6eval niecza v12-12-g0271e98: OUTPUT«-Infinity␤»
..pugs b927740, rakudo b20ab2: OUTPUT«-Inf␤»
sorear perl6: say -Inf * 2i
16:15 xinming joined
p6eval pugs b927740: OUTPUT«NaN + -Infi␤» 16:15
..niecza v12-12-g0271e98: OUTPUT«NaN-Infinityi␤»
..rakudo b20ab2: OUTPUT«NaN - Infi␤»
sorear perl6: say -Inf * (2+0i)
p6eval pugs b927740, rakudo b20ab2: OUTPUT«-Inf + NaNi␤»
..niecza v12-12-g0271e98: OUTPUT«-Infinity+NaNi␤»
sorear perl6: say 0i ** (2+0i)
p6eval rakudo b20ab2: OUTPUT«NaN + NaNi␤»
..niecza v12-12-g0271e98: OUTPUT«NaN+NaNi␤»
..pugs b927740: OUTPUT«0␤»
moritz pugs++ 16:16
16:16 mkramer left
sorear Rakudo has the same-ish bug, but it manifests more on Niecza because of always treating the arguments as complex 16:17
16:18 mkramer joined
sorear [Coke]: not suprising, HEAD is rather in a state of flux 16:18
moritz it seems to me that [Coke] expects some stability from niecza that sorear doesn't want to provide 16:19
maybe there's some branching solution to that
[Coke] ah, it was because your "update t/spec" code seems to fail a lot for me. I check after a surprise failure, and all sorts of files are modified in t/spec, but not all up to date.
sorear oh?
moritz like, maintaining a separate stable branch, or doing more development in non-master branches, or whatever
[Coke] moritz: Please don't go looking for trouble. 16:20
moritz [Coke]: I'm not looking for trouble. I'm just observing your discussions here, and observe something. You are free to ignore that observation, of course
[Coke] My complaint is not against sorear, but about the shared roast. If I think of a good way to fix roast, I'll let you know. ;)
Separate branch is just going to create more work for sorear. I'm trying to create LESS work for sorear. 16:21
sorear [Coke]: I'm suprised the spectest update is failing, it's just a git pull call
moritz a shared checkout? or the sharing of the repo?
sorear I'd love to know what's going on here
[Coke] sorear: any reason you're not using --rebase ? 16:22
16:22 mkramer left
[Coke] eh. doesn't matter, anyway. I can always manually do a rebase first, which should avoid the issue entirely. 16:22
sorear [Coke]: I assumed that you would not have local commits so it didn't matter
this reminds me I was going to set up CI on p6eval 16:23
16:25 arlinius left 16:27 jimmy1980 left 16:29 jeffreykegler left, molaf joined 16:30 toastedpenguin joined 16:31 toastedpenguin left 16:32 mkramer1 joined 16:34 jimmy1980 joined, mkramer1 left
[Coke] there, much better with a clean roast. 16:35
sorear: github.com/sorear/niecza/issues/85 is a new regression.
(I think)
yah, those tests were added in 2008 and just started failing for niecza recently. 16:36
16:37 drbean left 16:43 drbean joined 16:45 thou left 16:53 estrabd joined 16:55 bluescreen10 left
sorear [Coke]: aaaaa 16:57
spectest update just failed horribly for me.
16:58 djanatyn left, Tene left 16:59 Trashlord left 17:00 skangas left, jeffreykegler joined
dalek ecza: 5bb9586 | sorear++ | / (3 files):
Implement &/&& in regexes (closely modelled off QRegex)
17:00
17:00 jeffreykegler left 17:01 sayu left
dalek ecza: 871b7db | sorear++ | t/run_spectests:
Update spectest files less stupidly
17:03
17:06 kaleem joined, wolfman2000 left
[Coke] sorear: glad it wasn't just my imagination, anyway. ;) 17:07
17:10 mkramer joined, Tene joined, Tene left, Tene joined 17:11 djanatyn joined 17:14 thou joined, mkramer left, MayDaniel joined 17:15 mkramer joined, mkramer left 17:17 arlinius joined, Juerd left 17:18 tadzik left
colomon is back 17:20
has anyone done anything about the various 0i ** 2 crashes, etc.? I saw sorear had pinpointed the troubled line in niecza... 17:23
sorear colomon: no
colomon thinks we need to update roast and probably both compilers, by the sounds of things
jnthn home from $dayjob 17:24
sorear o/ jnthn
jnthn Well, from $client. There's more $dayjob to take care of this evening...
17:24 icwiener left
sorear jnthn: is there anyone other than pm who really understands qregex? 17:24
17:25 icwiener joined
jnthn sorear: I've understood it enough to fix various bugs and add features. 17:26
sorear: If you want to ask "why is it done like X" style questions, though, I'm probably less use right now.
sorear: Pm and I tended to divide Rakudo work up into areas that we focused on. In a Pm-with-much-fewer-tuits world I'm still trying to catch up on his bits. :-) 17:27
sorear: If you have questions, feel free to ask. At best I'll just have to say "I don't know" 17:28
er
at worst
:)
moritz sorear: if you have specific questions, you can also try to ask pmichaud by email
sorear moritz: good idea
jnthn: btw, the bug talk last night, complete false alarm 17:29
jnthn sorear: That was what I took away form it. But thanks for confirming. :)
17:30 Juerd joined 17:31 tadzik joined
[Coke] returns from nearly killing feather. whoops. 17:31
sorear [Coke]: yow, what happened? 17:32
urk. Niecza/STD divergence is getting a bit out of hand
17:32 risou is now known as risou_awy
[Coke] sorear: ran niecza spec test using -j 100 17:32
17:34 Trashlord joined
jnthn sorear: heh...I bet it's nothing on Rakudo/STD divergence. :-P 17:34
17:34 daxim left
jnthn sorear: I do plan to bring Rakudo closer to STD in a bunch of ways, fwiw. 17:34
sorear yeah, niecza/STD is still close enough that I occasionally diff(1) the grammars :P 17:35
std: [+]1
p6eval std be1f10e: OUTPUT«===SORRY!===␤Two terms in a row (listop with args requires whitespace or parens) at /tmp/Crh58mEKue line 1:␤------> [+]⏏1␤ expecting any of:␤ POST␤ bracketed infix␤ infix or meta-infix␤ postfix␤
..postfix_prefix_meta_operator␤ pr…
sorear also nothing compared to alpha I'm sure :P 17:37
std: [1] 2 17:39
p6eval std be1f10e: OUTPUT«===SORRY!===␤Two terms in a row at /tmp/0dJ2pAJ9xU line 1:␤------> [1] ⏏2␤ expecting any of:␤ bracketed infix␤ infix or meta-infix␤ statement modifier loop␤Parse failed␤FAILED 00:01 121m␤»
sorear niecza: [1] 2
p6eval niecza v12-14-g871b7db: OUTPUT«===SORRY!===␤␤Two terms in a row (preceding is not a valid reduce operator) at /tmp/uRQTKnHpw4 line 1:␤------> [1] ⏏2␤␤Parse failed␤␤»
jnthn sorear: alpha's grammar engine and grammar pre-dated STD, as far as I'm aware :) 17:41
17:41 xinming left
dalek ast: bae50d7 | (Solomon Foster)++ | S32-num/complex.t:
Add some Complex 0 ** tests.
17:42
17:42 xinming joined
sorear niecza: /x ** {3}/ 17:44
p6eval niecza v12-14-g871b7db: ( no output )
sorear niecza: /x**{3}/
p6eval niecza v12-14-g871b7db: ( no output )
sorear niecza: /x**y/
p6eval niecza v12-14-g871b7db: OUTPUT«Potential difficulties:␤ Unsupported use of atom ** y as separator;nowadays please use atom+ % y at /tmp/ZbIRPKFYnH line 1:␤------> /x**y⏏/␤␤»
colomon sorear: any objection you can think to just checking to see if r is 0 and returning 0+0i if so? (in 0i ** 2)
sorear colomon: no, I think that would work. 17:45
colomon compiling now
arnsholt Hmm. I wonder how much of the syntactic changes in the Perl 6 spec can be traced simply via std's error messages 17:46
17:48 icwiener left 17:49 icwiener joined
felher Hm, how do i get: 17:49
nom: say ({ a => 1, b => 2 } xx 3).perl; 17:50
p6eval nom b20ab2: OUTPUT«("a" => 1, "b" => 2, "a" => 1, "b" => 2, "a" => 1, "b" => 2).list␤»
17:50 xinming left
felher to give me a list of hashes? 17:50
sorear nom: my $hash = { a => 1, b => 2 }; say ($hash xx 3).perl 17:51
p6eval nom b20ab2: OUTPUT«("a" => 1, "b" => 2, "a" => 1, "b" => 2, "a" => 1, "b" => 2).list␤»
sorear I call this a nombug
nom: my $hash = [ a => 1, b => 2 ]; say ($hash xx 3).perl
p6eval nom b20ab2: OUTPUT«("a" => 1, "b" => 2, "a" => 1, "b" => 2, "a" => 1, "b" => 2).list␤»
sorear it's flattening where it clearly shouldn't be
nom: say ({{ a => 1, b => 2}} xx 3)»().perl 17:52
p6eval nom b20ab2: OUTPUT«===SORRY!===␤Method 'isa' not found for invocant of class 'Undef'␤»
sorear 'Undef' should not appear in nom _ever_
I just found a second nombug!
I think
jnthn sorear: You found a compiler bug and it's already in RT 17:53
sorear: Note the SORRY.
17:53 xinming joined
jnthn The flattening one...probably a bug too. 17:53
Not sure that one is filed.
felher sorear: Thnx :) 17:54
17:55 drbean left
colomon doh! 17:56
17:58 xinming left
dalek ast: 530ccea | (Solomon Foster)++ | S32-num/complex.t:
Unfudge new complex tests for niecza, add tests to plan. (Doh!)
17:58
ecza: 28f1fb1 | (Solomon Foster)++ | lib/Builtins.cs:
Add a special heck for 0i ** $a.
colomon "special heck"! doh again! 17:59
17:59 Chillance joined
jnthn
.oO( what the hack? )
18:00
18:00 dakkar left
colomon is there an easy way to change commit messages which have already been pushed? 18:00
18:01 drbean joined
moritz colomon: only one that involves a forced push, which is frowned upon 18:01
jnthn Re-writing public history is a bad idea.
colomon I was afraid of that. 18:02
moritz colomon: don't worry. Happens to the best of us. 18:04
18:04 xinming joined 18:07 molaf left, mj41 left 18:09 xinming left 18:10 tokuhirom joined 18:13 fagzal joined
fagzal hi guys 18:13
18:13 drbean left
fagzal I've just read an article about FaceBook coming out with a VM for PHP... has anybody had the chance to look into that? A dynamic language VM is always interesting :) 18:15
18:16 xinming joined
PerlJam fagzal: are you suggesting that someone should compile Perl 6 to the hiphop vm? 18:19
18:19 Radvendii joined, drbean joined
fagzal PerlJam: well, I was just wondering, yes... I really don't know anything about hiphop internals, but it's good to know there's a dynamic VM out there backed up by a big company 18:20
PerlJam: it might worth to take a look, that's all what I'm saying :) 18:21
PerlJam "...high-level stack-based virtual machine specifically tailored to PHP..." 18:22
18:23 xinming left
fagzal PerlJam: so that's a "no, not gonna happen"? :) 18:23
PerlJam not quite no, just a data point.
(well, *I* ain't gonna do it :) 18:24
18:24 xinming joined
PerlJam There doesn't appear to be an on-disk format yet 18:24
fagzal they have just released a preview AFAIK
18:25 Radvendii left 18:26 benabik joined
fagzal I also wonder whether they (FB) would be able to target Parrot now... 18:27
[Coke] sorear: looks like there are 275 different todo/skip reasons for niecza in the tests that are currently being run.
PerlJam fagzal: not if they're optimizing for speed. 18:28
[Coke] whoops. some dups I didn't strip, momentito. 18:29
fagzal PerlJam: that answer scares me, kind of... :S 18:30
18:30 thou left
fagzal wow, rakudo-star is in the F16 repo :o I love you guys 18:31
[Coke] 262 skip/todo reasons: feather.perl6.nl/~coke/niecza_todo.txt
18:33 baest joined, xinming left, drbean left 18:34 alim left, baest left 18:35 three18ti left 18:36 xinming joined 18:40 drbean joined
[Coke] niecza: say "hello" !~~ m:ignorecase/Hello/ 18:41
p6eval niecza v12-15-g28f1fb1: OUTPUT«Bool::False␤»
[Coke] nom: say "hello" !~~ m:ignorecase/Hello/ 18:42
p6eval nom b20ab2: OUTPUT«Bool::True␤»
[Coke] nom: say "hello" ~~ m:ignorecase/Hello/
p6eval nom b20ab2: OUTPUT«#<failed match>␤»
18:43 thou joined
[Coke] spec tests indicate that nom is right here, but can someone explain why? (seems like ignorecase should allow Hello to match hello.) 18:44
niecza: say "hello" !~~ m:ignorecase/'Hello'/ 18:47
p6eval niecza v12-15-g28f1fb1: OUTPUT«Bool::False␤»
18:49 kaleem left 18:50 xinming_ joined, xinming left 18:51 ggoebel left
fagzal rakudo: say "hello" !~~ m:ignorecase/'Hello'/ 18:55
p6eval rakudo b20ab2: OUTPUT«Bool::True␤»
18:56 ggoebel joined 18:59 fagzal left 19:00 jimmy1980 left
moritz rakudo: say "hello" ~~ m:ignorecase/'Hello'/ 19:05
p6eval rakudo b20ab2: OUTPUT«#<failed match>␤»
moritz rakudo: say "hello" ~~ m:i/'Hello'/
p6eval rakudo b20ab2: OUTPUT«=> <hello>␤␤»
19:05 xinming_ left
Tene i.imgur.com/vJcsh.jpg -- bootstrapping perl 6? ;) 19:19
19:22 xinming joined 19:24 baest joined 19:26 kfo_ joined 19:29 kfo left 19:34 MayDaniel left 19:35 xinming left 19:37 tokuhirom left, xinming joined 19:45 xinming left 19:53 snearch joined, thou_ joined 19:55 alim joined 19:57 thou left 19:59 jaldhar left
dalek kudo/nom: 92f3830 | moritz++ | src/core/Complex.pm:
fix infix:<**> for 0 base and Complex numbers
20:01
ast: 6fb1102 | moritz++ | / (2 files):
rakudo (un)fudges
20:02
20:05 tokuhirom joined 20:06 xinming joined
colomon moritz++ # sorry, I meant to get around to doing that, too. 20:07
hmmm, guess we should have a test for the real case you added too? 20:08
b: say 0 ** (2 + 0i) 20:09
p6eval b 1b7dd1: OUTPUT«NaN + NaNi␤»
colomon a-yup 20:10
niecza: say 0 ** (2 + 0i)
p6eval niecza v12-15-g28f1fb1: OUTPUT«0+0i␤»
20:15 xinming left 20:23 araujo left 20:24 alim left
dalek ast: be7da47 | (Solomon Foster)++ | S32-num/complex.t:
Add test for 0 ** (2 + 0i).
20:34
20:36 localhost left 20:38 localhost joined
moritz colomon++ # tests 20:42
20:43 xinming joined 20:55 xinming left, thou_ left 20:59 icwiener left, icwiener joined 21:01 MayDaniel joined 21:10 baest left 21:16 xinming joined 21:17 drbean left, cognominal left, thou joined 21:21 thou left 21:22 xinming left 21:24 drbean joined 21:27 xinming joined 21:29 thou joined 21:30 araujo joined, mj41 joined 21:32 thou left 21:34 y3llow_ joined, pothos_ joined 21:36 y3llow left, y3llow_ is now known as y3llow, pothos left 21:37 snearch left, pothos_ left
sorear good * #perl6 21:38
21:38 pothos joined
[Coke] hio 21:38
21:40 pothos left
colomon o/ 21:40
21:41 pothos joined
dalek ecza: ae277d0 | sorear++ | src/STD.pm6:
Port in some minor fixes from STD
21:44
21:48 xinming left
[Coke] sorear: do any of those impact <ident> ? 21:51
sorear no
ident is defined in CORE.setting 21:52
21:53 cogno joined 21:54 thou joined
[Coke] perl6: "abc1_2" ~~ m/^ <ident> $/ 21:54
p6eval rakudo 92f383, niecza v12-15-g28f1fb1: ( no output )
..pugs b927740: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20111008/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HAND…
[Coke] perl6: say "abc1_2" ~~ m/^ <ident> $/ #whoops
p6eval rakudo 92f383: OUTPUT«=> <abc1_2>␤ ident => <abc1_2>␤␤»
..pugs b927740: OUTPUT«Error eval perl5: "if (!$INC{'Pugs/Runtime/Match/HsBridge.pm'}) {␤ unshift @INC, '/home/p6eval/.cabal/share/Pugs-6.2.13.20111008/blib6/pugs/perl5/lib';␤ eval q[require 'Pugs/Runtime/Match/HsBridge.pm'] or die $@;␤}␤'Pugs::Runtime::Match::HsBridge'␤"␤*** '<HAND…
..niecza v12-15-g28f1fb1: OUTPUT«Bool::False␤»
[Coke] Where is <INTERNAL::alpha> defined? 21:55
21:55 xinming joined
sorear src/CClass.pm6 line 81 21:56
21:57 bacek left
[Coke] crap, just found it independantly. ;) 21:57
Should that list include "Pc" also, then? (for Punctuation, Connector) 21:58
21:58 icwiener left
[Coke] looks for the p6 spec... 21:59
sorear [Coke]: the P6 spec says specifically underscores 22:02
[Coke] I can't find the part of the spec that declares valid varnames, though perlcabal.org/syn/S02.html#Names_and_Variables looks like where it should go.
ok.
sorear hmm
maybe I'm wrong
22:02 mj41 left
sorear I must've copied it from STD 22:03
[Coke] I'm assuming /at least/ they should be allowed, anyway.
sorear the definition of valid varnames is made by token identifier { <.ident> [ <.apostrope> <.ident> ]* } on STD.pm6 line 702
STD.pm6 has the force of spec for syntactic matters 22:04
[Coke] ah, I missed the plus("_") at the end of that, anyway.
... but still, that doesn't seem to be working.
sorear where apostrophe is <[ ' \- ]> and ident (OVERRIDEN IN STD, NOT THE CORE VERSION) is <.alpha> \w*
niecza: say '_' ~~ /\w/
p6eval niecza v12-15-g28f1fb1: OUTPUT«#<match from(0) to(1) text(_) pos([].list) named({}.hash)>␤»
sorear niecza: say '_' ~~ /<alpha>/
p6eval niecza v12-15-g28f1fb1: OUTPUT«#<match from(0) to(1) text(_) pos([].list) named({"alpha" => #<match from(0) to(1) text(_) pos([].list) named({}.hash)>}.hash)>␤»
sorear niecza: say '_' ~~ /<ident>/ 22:05
p6eval niecza v12-15-g28f1fb1: OUTPUT«#<match from(0) to(1) text(_) pos([].list) named({"ident" => #<match from(0) to(1) text(_) pos([].list) named({}.hash)>}.hash)>␤»
[Coke] std: my $abc1_2 = 4;
p6eval std be1f10e: OUTPUT«ok 00:01 122m␤»
sorear niecza: say '2' ~~ /\w/
p6eval niecza v12-15-g28f1fb1: OUTPUT«#<match from(0) to(1) text(2) pos([].list) named({}.hash)>␤»
sorear niecza: say 'abc1_2' ~~ /<ident>/
p6eval niecza v12-15-g28f1fb1: OUTPUT«#<match from(0) to(1) text(a) pos([].list) named({"ident" => #<match from(0) to(1) text(a) pos([].list) named({}.hash)>}.hash)>␤»
sorear uhm 22:06
this isn't an underscore problem
niecza: say 'abc' ~~ /^ <ident> $/
p6eval niecza v12-15-g28f1fb1: OUTPUT«Match()␤»
benabik nom: say 'abc' ~~ /^ <ident> $/ # curious
p6eval nom 92f383: OUTPUT«=> <abc>␤ ident => <abc>␤␤»
[Coke] niecza: say 'abc1' ~~ /^ <ident> $/ 22:08
p6eval niecza v12-15-g28f1fb1: OUTPUT«Rebuild in progress␤»
22:08 colomon left, cogno left
sorear niecza: say 'xx' ~~ /\w\w/ 22:08
p6eval niecza v12-16-gae277d0: OUTPUT«Rebuild in progress␤»
22:10 xinming left
sorear niecza> 'abc' ~~ /:r <+INTERNAL::alpha> \w*/ 22:10
#<match from(0) to(1) text(a) pos([].list) named({}.hash)>
[Coke] niecza: say 'abc1_2' ~~ /^ <ident> $/ 22:12
p6eval niecza v12-16-gae277d0: OUTPUT«Match()␤»
[Coke] niecza: say 'abc1_2' ~~ m/^ <ident> $/
p6eval niecza v12-16-gae277d0: OUTPUT«Bool::False␤»
[Coke] there's the difference.
the test is using m//
My apologies for the wild goose chase on the underscore.
sorear I am thinking now that I broke ScanCClass 22:13
niecza: say ('abc' ~~ /:r \w*/)
p6eval niecza v12-16-gae277d0: OUTPUT«#<match from(0) to(0) text() pos([].list) named({}.hash)>␤»
22:13 cognominal joined, CoreX__ joined 22:18 alim joined, xinming joined
sorear [Coke]: I think I've fixed it 22:19
22:19 colomon joined
benabik :r ? 22:19
[Coke] Issue #85 22:21
er, for that bugfix, if you want to mention it in the commit. 22:22
benabik :r ~~ :ratchet? I don't see it in spec. 22:23
22:23 CoreX__ left 22:24 CoreX_ joined 22:28 xinming left
dalek ecza: 8ff7b21 | sorear++ | lib/Cursor.cs:
:r \w* was being treated as zero width (fixes #85)
22:45
22:48 mj41 joined 22:57 mj41 left
sorear std: s{x}{y} 23:20
p6eval std be1f10e: OUTPUT«===SORRY!===␤Unsupported use of brackets around replacement; in Perl 6 please use assignment syntax at /tmp/T6Ix5c4KpE line 1:␤------> s{x}⏏{y}␤Parse failed␤FAILED 00:01 120m␤»
sorear niecza: s{x}{y}
p6eval niecza v12-17-g8ff7b21: OUTPUT«===SORRY!===␤␤Unexpected block in infix position (two terms in a row, or previous statement missing semicolon?) at /tmp/YSBAoyMGDW line 1:␤------> s{x}⏏{y}␤␤Parse failed␤␤»
23:25 MayDaniel left 23:26 dudulz left
sorear std: / <|foo=bar> / 23:44
p6eval std be1f10e: OUTPUT«ok 00:01 120m␤»
sorear TimToady: what does this mean?
23:49 Chillance left 23:55 packetknife joined 23:58 leprevost joined