»ö« | perl6-projects.org/ | nopaste: paste.lisp.org/new/perl6 | evalbot: perl6: say 3;' | irclog: irc.pugscode.org/ | UTF-8 is our friend!
Set by moritz_ on 27 June 2009.
00:01 Limbic_Region left 00:12 silug left 00:21 hercynium left, hercynium joined 00:34 alester left 00:44 DemoFreak left 00:57 netfish left 00:58 araujo joined 01:24 mikehh left 01:26 Chillance left 01:29 amoc joined 01:31 japhb left 01:35 drbean joined 02:06 silug joined
payload the-beyond.net:4242/ 02:12
TimToady shouldn't work, $word= should be tighter than , 02:37
rakudo: my $x; my $y; $x = 1, $y = 2; say $x.perl 02:38
p6eval rakudo 3d94ef: OUTPUT«Unable to set lvalue on PAST::Val node␤in Main (src/gen_setting.pm:3279)␤»
TimToady rakudo: my $x; my $y; $x = 1, 2; say $x.perl 02:39
p6eval rakudo 3d94ef: OUTPUT«[1, 2]␤»
TimToady that should be useless use of 2
02:42 Util joined
Util S03 states "Perl􏿽xA05's C<${...}>, C<@{...}>, C<%{...}>, etc. dereferencing forms are now C<$(...)>, C<@(...)>, C<%(...)>, etc. instead." 02:58
Seeking confirmation that `&` is included in the `etc`; i.e. C<&{...}> is now C<$(...)>.
TimToady correct
Util thanks much!
TimToady &() rather 02:59
Util Doh! typo; pre-typed even! &(), of course. 03:00
Are there any others besides $@%& ? 03:01
TimToady at the moment @@() 03:02
maybe ¢() for capture context
cj doesn't have a ¢ key 03:05
TimToady @%() would be the Texas form
lambdabot Unknown command, try @list
Util Thanks, but I was looking just toward the P5->P6 conversion issues. Interesting, though.
03:06 FCO left, SmokeMachine joined 03:09 skids left 03:10 hercynium left 03:21 justatheory left 03:22 justatheory joined 03:31 japhb joined, last left 03:40 payload left 04:03 payload joined 04:05 alester joined 04:07 cls_bsd left, cognominal_ joined 04:08 molaf joined 04:13 ihrd joined, ihrd left 04:18 cls_bsd joined, cognominal left 04:23 cdarroch left 04:28 alester left 04:32 meppl joined 04:36 amoc left 04:44 Util left 04:53 alester joined 04:56 ihrd1 joined 05:07 frew_ left 05:13 molaf left 05:16 agentzh left, ihrd joined 05:17 agentzh joined 05:24 ihrd1 left 05:27 SmokeMachine left 05:29 SmokeMachine joined 05:35 justatheory left 05:36 ihrd left 05:39 xomas left 05:45 amoc joined 05:49 alester left 05:51 finanalyst joined 05:58 ejs joined 06:14 ejs1 joined 06:18 finanalyst left 06:20 ejs left, finanalyst joined 06:22 rfordinal left 06:23 rfordinal joined 06:27 barney joined 06:28 ihrd joined 06:37 ssm left, ejs1 left 06:38 ssm joined 06:40 rfordinal left 06:43 jlaire joined 06:51 synthEEEE joined 06:52 huf left 06:55 DemoFreak joined 07:00 azawawi joined
azawawi hi 07:00
lambdabot azawawi: You have 2 new messages. '/msg lambdabot @messages' to read them.
azawawi @messages
lambdabot literal said 18h 49m 45s ago: preliminary support for xhtml output: nix.is/grok-0.07_01.tar.gz
literal said 15h 11m 7s ago: actually, just try 0.08 instead (it's on CPAN now)
azawawi literal: sure i will try it. thx
Matt-W Good morning 07:05
07:06 rfordinal joined 07:08 synth left 07:10 rfordinal3643 joined 07:17 azawawi left 07:18 iblechbot joined, barney left 07:22 zamolxes joined 07:29 rfordinal left 07:37 agentzh left, agentzh joined 07:41 last joined, last left 07:46 Chillance joined 07:54 synthEEEE left 07:58 ejs joined 08:05 ejs left, ejs joined 08:10 ihrd left, charsbar left, avar left, shachaf left, antiphase left, PerlJam left 08:11 shachaf joined, antiphase joined 08:12 PerlJam joined, avar joined 08:14 cj left 08:17 ihrd joined, charsbar joined 08:23 sri_kraih joined 08:24 cj joined 08:35 pmurias joined 08:38 ejs1 joined 08:39 mikehh joined
jnthn o/ 08:43
Matt-W o/ jnthn
is it Rakudo Day?
jnthn Matt-W: That was Tuesday! :-P 08:46
Though I do hope to have time for work on my Hague Grant today. :-)
08:47 ejs left
Matt-W awww 08:50
I like Rakudo Day
the commit logs are always exciting
08:52 ihrd left 08:59 cj left 09:02 pmurias left 09:15 cj joined 09:19 integral left 09:24 integral joined 09:25 agentzh left, agentzh joined, masak joined 09:34 mikehh left 09:35 M_o_C joined
dalek ok: fc9f009 | (Hinrik Örn Sigurðsson)++ | lib/App/Grok.pm:
Small Pod update
09:35
ok: 04b23cf | (Hinrik Örn Sigurðsson)++ | (7 files):
Add 'pod' output format for Pod 5
09:41 bionoid joined, huf joined 09:44 goksie joined 10:01 finanalyst left
payload rakudo: say False ~~ False 10:03
p6eval rakudo 3d94ef: OUTPUT«0␤»
payload rakudo: say False ~~~~~~~~ False 10:04
p6eval rakudo 3d94ef: OUTPUT«1␤»
payload ^^ stringification?
jnthn aye 10:05
False ~~ (~~~~~False) => False ~~ "False" => "False".ACCEPTS(False) => "False" eq "False" => 1
std: say False ~~~~~~~~ False 10:06
p6eval std 27355: OUTPUT«ok 00:02 37m␤»
10:09 eMaX joined
jnthn digs into the ouch-y Perl6MultiSub refactor 10:16
Matt-W \o/ 10:18
10:21 finanalyst joined, pmurias joined
jnthn Matt-W: Was kinda hoping to put it off a little, since it's _hard_. But turns out further progress on traits blocks on it really. 10:26
Matt-W I don't envy you doing it 10:27
But I'm happy to hear that you are
10:29 last joined 10:35 Patmac joined 10:49 Patmac left 10:55 payload left 11:01 wayland76 joined, goksie left
wayland76 @seen moritz_ 11:02
lambdabot moritz_ is in #perl6. I last heard moritz_ speak 19h 55m 31s ago.
wayland76 @tell moritz_ your recent blog post says: For example is a Str, and "møøse".encode('Latin-1') returns a Buf, more specifically a buf8.
lambdabot Consider it noted.
wayland76 @tell moritz_ did you leave something out?
lambdabot Consider it noted.
masak a møøse once bit my sister. 11:03
11:03 goksie joined
wayland76 @tell moritz_ "because that are the conditions" should be "because those are the conditions" 11:03
lambdabot Consider it noted.
jnthn øøps.
11:04 lucs joined, goksie left
jnthn is pleased to see that we actually get through the sanity tests even with constraints support ripped out temporarily. 11:05
wayland76 I know ØØΡ stands for Øbject Øriented ρ-gramming, but what is the S for? 11:06
11:06 goksie joined
wayland76 (Ok, that ¨rho-gramming¨ was terrible; sorry :) ) 11:06
jnthn Sucks.
;-)
jnthn works out a way to make his life a lot easier in the dispatch refactor 11:07
wayland76 Yay! :)
jnthn Gee, I hope this works... 11:08
If it does, it may solve several problems besides the one I'm aiming at.
masak (beneficial side effects)++ 11:09
wayland76 1 1/2 cheers (with the other 1 1/2 to be delivered if it works :) ) 11:10
11:22 Chillance left 11:29 wayland76 left 11:33 goksie left
Matt-W likes beneficial side effects 11:35
Also, their presence is often a good sign that you're doing The Right Thing
masak aye, I had one of those yesterday with Grampa.
Matt-W I rarely get them at work :( 11:36
Ripping stuff out and refactoring it is not something we're often allowed to do
and we don't have a code test suite, so refactoring and being sure you didn't break anything is really hard 11:37
masak tests really start paying off when it's time for a refactoring.
here's the commit: github.com/masak/grampa/commit/790e...a050aa002b
11:37 goksie joined
masak I couldn't have done that without the tests. 11:37
jnthn This refactor I'm doing would be scary test-less too.
masak tests rock. 11:38
jnthn OK, time to spectest and see how bad my first cut is...
Matt-W absolutely
I would've been very nervous about even moving infix:<leg> into the setting if I didn't know it was in the test suite
jnthn ooh er, forgot something important... 11:39
Matt-W method dispatch? 11:40
plugging the multi sort order in the right way round?
11:40 goksie left
masak a semicolon? 11:40
Matt-W your pants?
masak that it's Thursday? 11:41
jnthn No, that we need to sort those ones with constraints to a separate narrowness level... 11:42
We didn't do it that way before.
Hmm...I wonder...
Matt-W hmm it sounds like you should 11:43
jnthn aye 11:49
ooh, nearly works now...
as in, down to an error that suggests I've done something stupid wrong rather than something fundemental... 11:50
Matt-W woohoo 11:51
jnthn oh yes, duh.
If you do a bindability check, it helps to test the return value of it at some point. ;-)
Matt-W usually you do want to see what the results of your checks are, yes... 11:53
jnthn wasn't quite that simple unfortunately 11:56
11:57 ejs joined
Matt-W :( 11:59
Well you did say it was going to be difficult
12:02 ejs left 12:03 ejs joined
jnthn oh duh 12:03
I think I figured it.
Matt-W another silly thing?
12:03 goksie joined
jnthn well, a forgotten thing 12:03
Not silly like the last one. 12:04
aye, that was it. 12:05
12:07 macae joined, mizioumt joined
jnthn And while this isn't the main issue I was going after... 12:08
12:08 xomas joined
jnthn rakudo: multi foo(@a, @b where { @a.elems == @b.elems }) { say 1 }; multi foo(@a, @b) { say 2 }; foo([1,2,3], [4,5,6]); foo([1,2], [3,4,5]); 12:08
p6eval rakudo 3d94ef: OUTPUT«Null PMC access in find_method()␤in Main (/tmp/2R67duuZwy:2)␤» 12:09
jnthn I'm happy to say that this one now works (locally).
OK, we might just make it through the spectests now.
Time for Slovak class for me, back later.
12:09 ejs1 left
masak jnthn++ 12:09
12:13 goksie left 12:15 goksie joined, goksie left 12:16 payload joined 12:17 goksie joined 12:24 icwiener joined, goksie left 12:29 synth joined
pugs_svn r27356 | pmurias++ | [re-smop] added simple %method name(param) sugar to tools/ri 12:36
r27357 | pmurias++ | [re-smop] added Mold.constants, Mold.opcodes and Mold.registers
Matt-W jnthn: \o/ 12:44
jnthn++
12:46 goksie joined 13:00 eMaX left 13:01 skids joined 13:06 frew_ joined 13:15 sri_kraih_ joined 13:18 broquaint left 13:24 ejs1 joined 13:27 goksie left 13:30 xomas_ joined
pmurias jnthn: if a signature A is more specific than sig B, and sig B is more specific then sig C, is sig A more specific than sig B? 13:31
13:32 sri_kraih left, ruoso joined, szabgab left 13:34 ejs left
skids pmurias: what tests should be checked before any commits to re-smop -- just "make test"? 13:37
13:38 finanalyst left
ruoso skids, hi... 13:40
skids, yes... just make test
skids OK, that passes, but I do get sone STDERR output during capture.t about valgrind.
ruoso pmurias, hi
skids "valgrind: print join qq[\n], @INC: command not found" 13:41
ruoso skids, that's ok... 13:42
skids ok then
pugs_svn r27358 | skids++ | 13:43
r27358 | skids++ | Use IV instead of int for cast, for 64bit arch
13:45 xomas left 13:46 GabrielVieira joined
skids Hrm I'll have to remember to prefix a bit in the log. 13:47
13:48 goksie joined
dalek ok: 8ff5996 | (Hinrik Örn Sigurðsson)++ | (7 files):
Rename -f/--format to -o/--output like perldoc(1)
13:50
ok: c7c1fe2 | (Hinrik Örn Sigurðsson)++ | lib/App/Grok.pm:
Make target_index() return a list as the docs say
ok: 5175433 | (Hinrik Örn Sigurðsson)++ | (10 files):
Support looking up functions from Synopsis 29
13:52 szabgab joined
dalek ok: 00065b0 | (Hinrik Örn Sigurðsson)++ | README:
Update README
13:56
ok: 1dbcda2 | (Hinrik Örn Sigurðsson)++ | share/Spec/S (31 files):
Sync to latest Synopses
13:56 goksie left 13:58 GabrielVieira left, goksie joined
pmurias ruoso: hi 13:58
skids: running make test-no-valgrind in re-mildew after changing re-smop significantly is also a good idea 14:00
14:00 frew_ left 14:01 ejs1 left
dalek ok: 3a3ca02 | (Hinrik Örn Sigurðsson)++ | t/03_opts/06_index.t:
Fudge one test a little
14:02
14:03 rfordinal joined 14:05 synth left, cls_bsd left, solarion left, gbacon left, mkfort left, awwaiid left, bigpresh_ left, synth joined, cls_bsd joined, solarion joined, gbacon joined, mkfort joined, awwaiid joined, bigpresh_ joined 14:09 rfordinal3643_ joined 14:10 rfordinal3643_ left, rfordinal3643__ joined 14:12 goksie left 14:13 goksie joined 14:14 mvuets joined 14:15 ruoso left
mvuets Gug! Please recall how lambda expression may be specified? 14:15
TimToady -> $a, $b {...} 14:16
and much of S06
14:17 mkfort left, mkfort joined
mvuets TimToady: Oh... exactly. Thank you. (I'm on S03 now) (: 14:17
14:18 ruoso joined, rfordinal3643 left
[particle] read faster! 14:18
14:20 AzureStone joined
pmurias ruoso: how should i find out what makes mildew so slow? gprof? 14:22
jnthn back 14:23
14:23 goksie left 14:24 goksie joined, macae left 14:25 eiro left, eiro joined
ruoso pmurias, that won't be much helpfull, I guess.. maybe enabling SMOP_MOLD_DEBUG and generating some statistics about it 14:25
14:26 eiro left
jnthn pmurias: Did you mean "that sig C" at the end there? 14:27
I'm not quite sure you can assume that transitivity
14:27 rfordinal left, eiro joined
jnthn I'd have to ponder that for a while. 14:27
pmurias jnthn: i couldn't find a counter example but i haven't yet proved that correct... 14:28
jnthn pmurias: Right, that's where I'm at.
I didn't find a need to rely on such things though.
In order to implement. 14:29
pmurias jnthn: if it was true you wouldn't have to do a topological sort, a quick sort would be enough
jnthn I'm pretty sure the topological sort is needed. 14:30
Or at least, it gives you an easy to group the candidates into bunches that are tied.
BTW, Rakudo's dispatcher has changed a little in response to recent S12 updates, though the changes are mostly in do_dispatch. Just in case you were following that. But the narrowness analysis there didn't change at all... 14:31
(Not checked in yet. Just a "don't copy too closely and expect it not to be different later today". :-))
pmurias ruoso: what's a faster than valgrind way of checking what caused a segfault 14:32
ruoso pmurias, gdb and looking at the source 14:34
14:35 nihiliad joined 14:38 cdarroch joined
jnthn is has a segfault too :-( 14:46
oh yay, an ex-segfault. 14:47
14:48 nihiliad left, justatheory joined 14:49 nihiliad joined 14:51 cdpruden joined 14:52 goksie left 14:53 goksie joined
Matt-W jnthn: ex-segfaults are my favourite kind 14:56
pugs_svn r27359 | pmurias++ | [re-smop] the native bool,idconst and empty_interpreters RI is a metaRI
r27360 | pmurias++ | [re-smop] map returns an Array
jnthn Matt-W: Same. :-) 14:57
Matt-W: Think the initial cut of the refactor is looking good now.
Probably about commitable.
Then I'll get it caring about nameds sufficiently (easy now). 14:58
Then optimize it a bit so we stop running where blocks twice during a multi-dispatch.
14:58 rfordinal3643__ left
jnthn (hopefully) 14:58
Then I can get back onto traits. :-)
14:58 rfordinal joined
masak caring about nameds? that sounds interesting... 14:58
14:58 nihiliad left
masak in what way to they need to be cared about? 14:58
Matt-W running where blocks twice sounds bad 14:59
jnthn Matt-W: It's not a regression - we already have this issue.
But it should be more easily solvable now.
pmurias ruoso: do you think writing a profiler for smop would be worthwhile or is blind optimalisation better?
Matt-W still bad :)
14:59 nihiliad joined
jnthn But, a step at a time. 14:59
Matt-W jnthn: I look forward to being baffled by the patch, anyway
maybe I'll even learn something from it
15:00 lichtkind joined
jnthn masak: Cared about in the sense of, if there's a required named parameter it should be able to veto the candidate being chosen, and cause the dispatcher to look elsewhere. 15:00
ruoso pmurias, I think there is so many things that can be improved that we still don't need a profielr
masak jnthn: aha.
Matt-W: I suppose that running a where block twice is not a bug though, just wasteful.
jnthn rakudo: multi foo(:rw!) { 1 }; multi foo(:bar!) { 2 }; say foo(:rw) 15:01
Matt-W masak: indeed, although if it happened to have side effects it might be rather surprising
p6eval rakudo 3d94ef: OUTPUT«Unable to parse multisig; couldn't find final ')' at line 2, near ":rw!) { 1 "␤in Main (src/gen_setting.pm:3279)␤»
jnthn rakudo: multi foo(:$rw!) { 1 }; multi foo(:$bar!) { 2 }; say foo(:rw)
p6eval rakudo 3d94ef: OUTPUT«Ambiguous dispatch to multi 'foo'. Ambiguous candidates had signatures:␤:(Any $rw)␤:(Any $bar)␤in Main (/tmp/Bz0O84eTEF:2)␤»
jnthn That's ambiguous, but should not be.
Matt-W -> home &
masak Matt-W: that's a bit of a 'doctor, it hurts when I do this' situation.
jnthn: right. 15:02
jnthn masak: Right, not bug, just a waste, IMO.
But waste is bad.
masak aye.
jnthn oh joy...we get more dubious exit segfaults now...thanks Parrot. 15:03
Yup. Runs fine under -G. gah. 15:04
masak :/ 15:05
jnthn 0xbaadf00d 15:08
15:11 nihiliad left 15:14 nihiliad joined 15:19 rfordinal left
pugs_svn r27361 | pmurias++ | [re-smop] fix bug in mold 15:19
r27362 | pmurias++ | [re-smop] idconst.bytes 15:20
r27363 | pmurias++ | [re-smop] added example/mold2c.p6 - which compiles a mold frame down to C
pmurias ruoso: look at example/mold2c.p6 it duplicates our current mold to c compilation in perl6
ruoso pmurias, interesting... 15:23
15:23 broquaint joined
ruoso pmurias, but that would still require the Mold object being created in C... are you planning to do a full m0ld parser in p6? 15:24
s/in C/in Perl 6/ 15:25
pmurias i'm more intending to emit LOST frames using that approach for now 15:26
ruoso so you plan to generate lost from m0ld? 15:27
pmurias yes
dalek kudo: ec68db8 | jnthn++ | src/pmc/perl6multisub.pmc:
When we're analysing a candidate, record at that point whether we can make a purely nominal type decision or if we'll have to do a bindability check. (Later we can probably use this as a cache criteria.)
pmurias ruoso: do you think it's a bad approach? 15:28
ruoso pmurias, not at all, it's a better idea than the one I had
because it will allow generating lost frames for the .ri molds
pmurias and what was your idea?
ruoso from viv to lost 15:29
pmurias one problem is that mildew is to slow for now and the example takes a couple of minutes and loads of ram 15:30
ruoso pmurias, but I wonder if we couldn't look at "knowhow P6Opaque is final" and generate c struct + lost code 15:31
std: knowhow P6Opaque is final { has $!how; has $!who; ... };
p6eval std 27363: OUTPUT«ok 00:02 36m␤»
pmurias ruoso: you want to replace the .ri classes or want that as an optimalisation? 15:33
15:33 Chillance joined
ruoso pmurias, I was just wondering... but that would replace the .ri entirely 15:33
dalek kudo: dcf4c6d | jnthn++ | src/ (3 files):
Part one of an extensive refactor of multiple dispatch. This fixes various issues with binding more compex signatures. On Win32 at least, a few more tests trip up on the Parrot GC heisenbug. Also regress one C<is default> test that I suspect may be dubious anyway.
15:39 goksie left 15:40 goksie joined 15:41 mizioumt1 joined
ruoso pmurias, but maybe it doesn't make sense, because there are lots of lowlevel things happening there... 15:42
pmurias ruoso: i think that's desirable in the long run but it would require optimising out a lot of things (that code couldn't use lexical scope for once)
s/once/one thing/ 15:43
ruoso pmurias, yeah... I think supporting declaring methods in mold with signatures would already be enough
pmurias, I mean, having the method already declared in mold, instead of declaring the mold, then writing the C code to invoke that mold 15:44
15:45 mvuets left
ruoso that would allow us to generate the lost code for processing the signature and running the code, eventually allowing us to take shortcuts for known low-level implementations 15:45
for instance, if in that code I create a new S1P__Scalar, I know I don't need to call FETCH as a method to get the value, but just to invoke the c function directly 15:46
15:46 goksie left, hercynium joined 15:47 goksie joined 15:49 jaldhar left, last left, goksie left 15:51 KyleHa joined, goksie joined
pugs_svn r27364 | kyle++ | [docs/Perl6/FAQ] Tiny changes to Capture.pod 15:52
15:53 zamolxes left
pmurias ruoso: what do you think i should use as a benchmark for optimising mildew? 15:54
15:55 goksie left 15:56 goksie joined, icwiener left 15:57 cls_bsd left 16:00 Sexygirl joined
Sexygirl does any one know 16:00
16:01 Sexygirl left
jnthn I know! I know! 16:02
16:05 mizioumt left 16:06 exodist joined
masak dang, the one time a sexy girl walks into the channel, she realizes mid-sentence that she's in the wrong place. :P 16:06
16:08 Coke joined
masak of course, by the laws implicit in the Internet, that was probably an FBI agent. 16:08
Coke rakudo: 3??2::1
p6eval rakudo dcf4c6: OUTPUT«ResizablePMCArray: Can't pop from an empty array!␤in Main (src/gen_setting.pm:3279)␤»
masak Coke: that's an old parsing bug.
Coke masak: is rt.perl.org/rt3/Ticket/Display.html?id=62836 closable? 16:11
masak Coke: seems so. 16:12
please do.
Coke I think chromatic commited a parrot patch to fix #66364. 16:15
pmichaud Yes, but rakudo hasn't bumped up to that commit yet. 16:16
so it's not available in rakudo yet.
Coke pmichaud: is there a particular preference for what tickets are open vs. new? or is there no real distinction atm? 16:17
pmichaud there's no distinction in the perl6 queue
it's just whatever RT has decided to move from "open" to "new"
er, "new" to "open"
I could probably manually open some of the "new" tickets, at least as a way of saying "acknowledged" 16:18
Coke without someone to monitor the 'new' queue, that's probably a waste of cycles. 16:20
16:20 exodist left
pmichaud yes -- it looks like well over half of the unresolved tickets are "new" 16:20
(I have a query that quickly pulls up all of the unresolved tickets) 16:21
16:21 rfordinal joined
pmichaud runs a spectest to see if we can bump PARROT_REVISION 16:22
Coke if I'm reporting something against rakudo, what's the best way to get an identifying version #? 16:25
16:25 goksie left 16:26 goksie joined, SmokeMachine left
pmichaud git rev-parse --short HEAD 16:26
seems to work for me
16:28 payload left
Coke ok. I'm not a git person, so that's good to know. =-) 16:28
Is it possible to generate runnable PIR from .p6 ? (--target=PIR seems to leave off some initialization) 16:29
s/PIR/pir/
jnthn That's mean to be the way.
*meant
I fear it's missing a couple of .loadlib directives though. 16:30
oh yay 16:31
multi m2(:$rw!) { 1 }; multi m2(:$ro!) { 2 }; say m2(:rw); say m2(:ro); # locally, 1, 2
16:31 ejs0 joined
pmichaud we used to be able to create runnable PIR from .p6 16:32
16:32 goksie left
pmichaud but then we moved rakudo into its own .HLL 16:32
16:32 iblechbot left
pmichaud and now run into TT #150 16:32
jnthn Oh, there's that too?
Ugh.
masak waitwait, so precompilation is broken? 16:33
16:33 kidd_ joined
pmichaud precompilation works 16:33
but only as long as you load it via "use"
masak *phew*
pmichaud precompilation fails if you try to run the precompiled module directly
jnthn pmichaud: I've extensively refactored multi-dispatch today.
Coke pmichaud: there's no feedback on my comment six months ago there on a variant that works. 16:34
(tt #150)
16:34 KyleHa1 joined
pmichaud jnthn: \o/ 16:34
16:35 KyleHa left
jnthn rakudo: multi x(@a, @b where { @a.elems == @b.elems }) { 1 }; multi x(@a, @b) { 2 }; say x([1,2],[3,4]); say x([1],[2,3,4]); 16:35
p6eval rakudo dcf4c6: OUTPUT«1␤2␤»
pmichaud jnthn: while I haven't followed the details of the refactor closely, I like very much the comments I've seen about it. They all look/feel right to me. 16:36
jnthn rakudo: multi y(::T $x, T $y) { 1 }; multi y($x, $y) { 2 }; say y(1, 2); say y(1, 2.5); 16:37
p6eval rakudo dcf4c6: OUTPUT«1␤2␤»
jnthn Both of those used to explode with null PMC.
16:37 masak left
pmichaud time for lunch here -- bbiah 16:38
16:38 Psyche^ joined
KyleHa1 Are there tests for them? 16:39
16:39 Patterner left, Psyche^ is now known as Patterner
jnthn KyleHa1: Not yet. 16:40
Oh, maybe for the second.
There's certainly a ticket for the second, maybe one for the first too.
KyleHa1 OK. I have my hands full right now, but they look like things I'd be capable of writing tests for when I'm free again. 16:41
16:45 SmokeMachine joined 16:46 KyleHa1 left, simcop2387 left 16:50 alester joined
dalek ok: 81caf33 | (Hinrik Örn Sigurðsson)++ | TODO:
Update TODO
16:51
ok: e4a2902 | (Hinrik Örn Sigurðsson)++ | (4 files):
Bump version to 0.10
16:54 goksie joined
Coke where is the 'substr' method used by 'Int' defined? 16:57
jnthn Any
src/builtins/any-str.pir 16:58
17:00 simcop2387 joined
ruoso pmurias, you could, at first, run mildew -o for every test 17:02
then time as it runs
17:04 goksie left 17:05 goksie joined 17:06 borondil joined 17:08 borondil left
Coke nopaste? 17:14
17:16 goksie left
ruoso Coke, see topic 17:16
17:16 goksie joined 17:18 synth left
skids pmurias: re re-mildew -- I can't get that to build quite yet. 17:22
ruoso skids, have you tried a plain "make"?
skids Yes, I get "relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recompile with -fPIC" on each file.
ruoso ouch
Coke ruoso; ah, danke. 17:23
ruoso hmm... -fPIC is reasonable to be added
Coke however, I just hit rt.perl.org/rt3/Ticket/Display.html?id=63592 anyway.
that should let someone from parrot fix the segfault.
ruoso skids, the compilation options are inside the "mildew" program 17:24
you can just add -fPIC
skids Yeah that built when added to the "BOILERPLATE" set of flags. The other gcc flags set didn't seem to care. 17:30
ruoso cool
17:31 fridim_ joined 17:36 goksie left 17:39 icwiener joined 17:40 hercynium left
ruoso skids, don't forget to commit the change 17:42
pugs_svn r27365 | moritz++ | [S32/Containers] flesh out Buf semantics
r27366 | moritz++ | [S32/Str] The return type of Str.encode is as specific as possible
17:43 synth joined, synth left 17:44 xomas joined, synth joined 17:45 takadonet joined
takadonet hey everyone 17:45
Matt-W hi
moritz_ oh hai
lambdabot moritz_: You have 4 new messages. '/msg lambdabot @messages' to read them.
17:46 Coke left
skids ruoso: I get 19/174 subtests failed. I don't know what's normal. 17:46
pmurias what failed? 17:47
17:47 xomas_ left
ruoso skids, it used to pass all here 17:47
skids Ah, looks like I'm missing "Coro.pm"
pmurias Coro is required for perl5 interop 17:50
skids trying to figure what .deb
moritz_ skids: dh-make-perl --build --cpan Coro 17:51
skids Yeah, if I have to.
...
moritz_ doesn't find a libcoro-perl, so it doesn't seem to be in debian by default
skids Wouldn't it be libmoosex-something? 17:52
ruoso skids, why would it?
skids I dunno it seems like Moose is what's trying to find it.
moritz_ if the distribution is name Coro, the debian package is libcoro-perl.
skids ...unless it's bundled. 17:54
pmurias skids: Coro is used to wrap the perl 5 interpreter as a continuation 17:55
skids no luck on apt. Have to deal with later. 17:57
Tene can't you do the equivalent of 'yum whatprovides "*/Coro.pm"' ? 17:58
ruoso Tene, if there isn't a libcoro-perl, it means it isn't in the repository 17:59
Tene OK. :)
moritz_ 'apt-file search Coro.pm'
ruoso Tene, debian-based distros follow that policy very strictly...
skids ruoso: that's not necessarily true. There are some bundles. 18:01
But it appears it's not there anyway. Which sucks -- this close to a pure apt build dep.
moritz_ anyway, apt-file gives only one hit, anyevent-perl
and that one actually contains AnyEvent::Impl::Coro, not Coro
ruoso skids, right... the people that packages Catalyst makes it very messy
but that's about it
skids, you can use the cpanplus deb repo 18:02
skids Well, I'll get to it, really shouldn't have done this much at work... but you guys aren't around when I am free :-)
elmex moritz_: afaik coro isn't in debian 18:03
moritz_ elmex: yes, that was our conclusion too
elmex moritz_: try cpan :->
moritz_ elmex: not me, skids ;-)
elmex but perl without cpan is perl6
moritz_ @message wayland76 thanks, fixed 18:04
lambdabot Maybe you meant: messages messages?
moritz_ @tell wayland76 thanks, fixed
lambdabot Consider it noted.
moritz_ elmex: no.
elmex: perl6 is a perl without cpan, but not the other way round
elmex :)
skids elmex: (I know how to use CPAN, was just hoping mildew could just give a list of debs for instructions for new users) 18:05
dalek kudo: b9e87d4 | pmichaud++ | docs/spectest-progress.csv:
spectest-progress.csv update: 412 files, 11629 passing, 6 failing

   S02-whitespace_and_comments/unicode-whitespace.t aborted 1 test(s)
   S12-enums/basic.rakudo 27 - short name of the enum without parenthesis is an enum
   S32-num/rand.rakudo aborted 4 test(s)
elmex skids: ah, ok 18:08
pugs_svn r27367 | moritz++ | [t/spec] fix and extend encoding tests
r27368 | moritz++ | [t/spec] smartlinks for encode.t 18:09
ruoso skids, but you can use mildew without p5 integration,
skids, it won't allow you to use p5 modulse
18:09 mikehh joined
pmurias why don't the debian people package more modules if it can be done automaticlly? 18:14
Matt-W can it? a whole pile of modules I was wanting to install to use Catalyst didn't work properly 18:16
so if there are problems, the automatic process falls apart 18:18
ruoso pmurias, the point is that debian packaging require manual inspection, not only for quality ensurance, but also for licensing check 18:19
18:24 mberends joined 18:32 jlaire left
jnthn thinks he's finally cracked what broke the last few spectests before he can commit the named param fixes for MMD. 18:34
And once they're in, I should have what I need to do traits. :-)
pugs_svn r27369 | pmurias++ | [re-smop] IV and pointers are converted to each other using proper macros 18:37
pmurias ruoso: it seems LexicalScope.lookup is called hundreds of thousands of times for even the simplest tests should i write a non polymorphic variant of it (if the outers RI is known)? 18:38
ruoso pmurias, I think it would be easier to optimize it inside mildew, wouldn't it? 18:39
it could re-use registers
jnthn, was the issue on how the trait names are found solved? 18:40
pmurias ruoso: re-use registers?
ruoso pmurias, currently, it calls lookup for every single use of each lexical name, even in the same block
pmurias, mildew could identify that and simply re-use the register instead of doing another lookup 18:41
i.e.: my $a = 1; say $a
mildew currently does 2 lookups for that
when, in fact, it could do it without any lookup
since the scalar is initialized in the same block
18:43 zamolxes joined 18:45 jan_ left
takadonet Anyone got some examples on how to use grammar using the parse method when passing an action object? 18:46
pmurias ruoso: that could help in loops but i'm not really sure if going down the adhoc optimalisations route is a good idea 18:47
jnthn ruoso: Best so far: if it's a typename, we look it up and pass it. Otherwise, if not, we make a pair nad pass it as a named parameter.
class Bar is Foo { } => trait_mod:<is>($declarand, Foo) 18:48
class Bar is rw { } => trait_mod:<is>($declarand, :rw)
ruoso jnthn, and how that fits with multi not taking named args ?
Matt-W takadonet: it's quite easy, pass the action object to parse as a named parameter called 'action'
jnthn Well, that's what the discussion after that was about. :-)
ruoso er... not considering named args...
jnthn Turns out named args matter in that, if the candidate is unable to bind it is disqualified. 18:49
And the dispatcher keeps looking
ruoso jnthn, are you talking about the discussino I participated? or some other?
Matt-W takadonet: github.com/mattw/form/blob/4d377a7e...ib/Form.pm demonstrates
jnthn I can't remember, it was the one that the S12 changes of late came out of.
takadonet Matt-w: I can pass the Actions object to it and that works all fine however I'm attempting to build a object from the result of the parse
Matt-W takadonet: ahah 18:50
ruoso pmurias, I think every optimization we do now is ad-hoc... but I'm just suggesting... if you feel implementing the lookup in low-level will be better... go for it
Matt-W takadonet: github.com/mattw/form/blob/4d377a7e...Actions.pm
jnthn Basically though, I'd taken "doesn't participate" to mean "not at all", whereas TimToady was thinking more "don't contribute to the candidate ordering, but a failure to bind still makes a candidate inelligible"
Matt-W takadonet: that does it extensively
ruoso jnthn, so... mandatory named arguments.... I think I see what you mean now
Matt-W takadonet: using 'make' to set the .ast object for the current match, which can then be accessed by the higher rules and built on or replaced or whatever you like 18:51
jnthn Yes
They're declared as mandatory named args
ruoso jnthn, cool
jnthn They work about the same level as constraints introduced via a where clause.
pmichaud jnthn: I'm getting a failure in S12-methods/default-trait.t -- expected?
takadonet Matt-W: Thanks That what i'm looking for. Next question , you know where some document is for 'make' and 'ast'?
jnthn pmichaud: Yeah, I'm still flip-flopping of whether the test is bogus or not.
s/of/on/
pmichaud okay. Perhaps we should fudge it until we're sure. :-) 18:52
Matt-W takadonet: it's in the spec... I'll look it up
jnthn If I don't make my mind up Real Soon Now, then I'll fudge it. :-)
takadonet Matt-w:Tell me what S# it is and I will find it. Do not want to waste your time.
Matt-W takadonet: www.perlcabal.org/syn/S05.html is the synopsis for rules, you'll want to look at the things about match objects and action methods 18:53
pmichaud I'm getting a fair number of spectest failures again and trying to track down which are real and which are bogus
Matt-W takadonet: after that just play around and it'll make sense
jnthn pmichaud: Hmm. My GC failures at the moment come down to the succ issue - but this time on a Method?!
takadonet Matt-W: It will, with the example you give me and the spec should be enough
pmichaud jnthn: that's similar to what I posted two days ago (more)
Matt-W takadonet: I wrote that example, so if you have any questions on it feel free to ask
pmichaud jnthn: some of the GC failures seem to cause spurious calls to inc/succ 18:54
jnthn That's...odd.
Really odd.
takadonet Matt-W:Thanks again!
pmichaud thus causing 'Int' to become 'Inu', 'Hash' to become 'Hasi', and what you're seeing (.succ on a Method)
jnthn Right, but a Method is an odd thing to have "floating" 18:55
pmichaud hmmm?
I think the spurious calls to 'inc' occur when doing isa checks
jnthn Ah.
18:55 nihiliad left
pmichaud and we certainly do "isa Method" in a few places. 18:55
18:55 nihiliad joined
jnthn Ah. 18:55
pmichaud I haven't tracked it down yet. But I do notice that .succ seems to be called at times when it shouldn't be. 18:56
TimToady good thing we don't have a type named Fucj...
pmichaud or Shis
and now I'm getting perl6 fakecutable errors again (sigh) 18:57
(trying rebuild from scratch to see if they go away)
jnthn How crao.
Matt-W I sense a new cultural element here 18:58
ruoso TimToady, btw... getting back to the stash issue... I think your last comment scared me a bit... it was looking like if were trying to get typeglobs back to Perl 6 ;)
pugs_svn r27370 | pmichaud++ | [t/spec]: Fudge a test in default-trait.t until jnthn++ decides if it's correct. 18:59
18:59 nihiliad left, lichtkind left
jnthn :-) 18:59
pmichaud: OK, looks like my named handling changes to MMD are OK modulo some GC failures (all .succ related) 19:00
ruoso TimToady, the way to avoid typeglobs was, to me, so far, to have the '::' post-sigil being used so you can find the package in a different slot than the package
jnthn *but* interestingly
All of them are succ failures through a similar looking code-path, at least here. 19:01
All on Method.
pmichaud jnthn: that's indeed interesting.
ruoso er... s/than the package/than the type'
jnthn All with a similar stack trace.
pmichaud does "make test" pass?
jnthn Yup.
pmichaud do you get the .succ failures when running with -G ?
19:01 nihiliad joined
jnthn pmichaud: Even running it as ../../parrot perl6.pbc clears it. 19:02
But yes, -G certainly does too. 19:03
pmichaud right, I'm calling those "fakecutable errors"
right now I'm seeing three types of failures
(1) failures when running from fakecutable
(2) failures when running perl6.pbc without -G
(3) failures when running perl6.pbc with -G
jnthn Actually I think the code path may be a little bogus - may be over-zealously bind-checking in the multi dispathcer. So I may have a bug here. *but* I'll push since it seems to throw up a common code path that leads to these. 19:04
pmichaud this third category are properly failures in Rakudo. The first two.... I don't know.
jnthn As far as I can conclude (I think chromatic would concur), 1 is probably a result of subtly different memory layout.
pmichaud I'd agree with that. 19:05
jnthn OK, pushed. 19:07
t\spec\S12-introspection\walk.t is one that gives me the failure. 19:08
And disappears with -G.
oh, wow, I should have eaten something by this time of day... 19:09
(well, for dinner...)
pmichaud obra_: ping 19:10
obra_ pong
pmichaud what modules or things should I be looking at for the distributed spectesting?
pmurias ruoso: do load_module and find_module_defining belong in CORE? 19:11
obra_ TAP::Harness::Remote
TAP::Harness::Remote::EC2
pmichaud okay, excellent. thanks
ruoso pmurias, I'd guess so
pmurias, but TimToady should be sure
obra_ pmichaud: if you have trouble, shout. they're code a minion wrote for me 19:12
dalek kudo: fb21797 | jnthn++ | src/ (2 files):
Get us handling named arguments more correctly in multiple dispatch. A type-match fail on a named or a missing required named parameter can now cause a candidate to not be considered.
kudo: 7041eb1 | jnthn++ | :
Merge branch 'master' of [email@hidden.address]
19:12 takadonet left
jnthn pmichaud: Going to sort out my need for nom - will come back and debug more later with you on the gc issue, if you like. 19:12
pmichaud: Was going to do some non-Perl 6 stuff today too, but may as well just make it a day of Rakudo now and do those bits tomorrow. :-)
TimToady pmurias: that piece of S11 is still heavily subject to change 19:13
pmichaud jnthn: all I'm planning to do on gc today is to track down a few repeatable instances and maybe file some messages about those
TimToady neither of those names exist in my copy
pmichaud if you want to investigate further, great
pmurias what is #?rakudo emit #?
without the last ?
pmichaud but I'm not likely to spend too many cycles on it
(today) 19:14
TimToady lunch &
jnthn pmichaud: ok
19:16 takadonet joined
pmurias moritz_: ping 19:17
moritz_ pmurias: pong
pmurias in t/spec/S03-operators/not.t
there is
#?rakudo emit # 19:18
sub nok { @_ == 2 and ok @_[0], @_[1] }
moritz_ huh.
rakudo: say not 1, 0 19:19
p6eval rakudo b9e87d: OUTPUT«00␤»
pmurias rakudo: sub nok { @_ == 2 and say( @_[0], @_[1]) };nok(1,"xxx"); 19:20
p6eval rakudo b9e87d: OUTPUT«1xxx␤»
moritz_ shouldn't that contain a negation somewhere? 19:21
pmurias yes
actually no
it should contain an if
moritz_ confused
I'd just write sub nok($cond, $desc = '') { ok(!$cond, $desc) } 19:22
pmurias sub not($cond,$desc) { if $cond {ok(0,$desc)} else {ok (1,$desc) } }
moritz_: you shouldn't test not with a not
moritz_ good point. 19:23
pmurias and what does the #?rakudo emit # line do?
pmichaud pmurias: I suspect it makes fudge treat the next line as a comment in Rakudo 19:24
I'd have to look at the fudge output to know for sure. 19:25
moritz_ that's correct
because rakudo's Test.pm comes with a nok function
pmurias moritz_: should a Test.pm contain a nok? 19:27
19:27 mizioumt1 left
moritz_ pmurias: I have no idea. 19:28
it seems overkill to me
pmurias we should have a Test.pm spec
moritz_ aye
I wanted to write one 19:29
and then we tripped onto this "testing should be part of the language" idea
and we wanted to redo it
but that never really happened
but with that my attempt so far has starved
feel free to chime in ;-)
19:31 iblechbot joined
ruoso votes to leave Test.pm as a module then, since no consensus on how to get it into the language was formed... 19:32
pmichaud +1
moritz_ (status quo)++ 19:33
sjohnson hies 19:34
moritz_ afk
justatheory skids: (backlogging your backlogging) Thanks. That seems a little more obscure to me, though. 19:43
pmurias adding all required functionality into t/02-test-pm, throwing away the extra stuff from the implementation dependend modules and writing docs for Test.pm seems a good plan
pugs_svn r27371 | pmurias++ | [t/spec] remove evil fudge 19:47
19:56 cdpruden left
jnthn totally parsed (status quo)++ as a reference to the rock band 19:58
ruoso .oO(is there a band by that name?) 20:01
pmurias is there a &not function or only &prefix:<not>?
ruoso I don't think there's a prefix:<not> 20:02
std: say not1
p6eval std 27371: OUTPUT«Undeclared routine:␤ not1 used at 1 ␤ok 00:02 35m␤»
ruoso std: multi prefix:<not> {...}; not1
jnthn Yeah, but probably less known outside the UK...
en.wikipedia.org/wiki/Status_Quo
p6eval std 27371: OUTPUT«Undeclared routine:␤ not1 used at 1 ␤ok 00:03 39m␤»
ruoso std: multi prefix:<not> {...}; not\1 20:03
p6eval std 27371: OUTPUT«ok 00:03 39m␤»
ruoso std: not\1
p6eval std 27371: OUTPUT«ok 00:02 37m␤»
pmurias ruoso: not 1 is parsed as prefix:<not>
ruoso hmm... ok... so I was wrong ;)
as usual
pmurias but the test also uses &not 20:04
as not(1)
ruoso maybe prefix:<not> just calls not()
[particle] rakudo; not(0).say
rakudo: not(0).say
p6eval rakudo 7041eb: OUTPUT«0␤»
[particle] rakudo: not(False).say 20:05
ruoso interesting
p6eval rakudo 7041eb: OUTPUT«0␤»
[particle] rakudo: not(True).say
p6eval rakudo 7041eb: OUTPUT«1␤»
[particle] sigh
rakudo: say not(False)
p6eval rakudo 7041eb: OUTPUT«1␤»
[particle] method is tighter than prefix 20:06
ruoso gah... 20:07
that's unexpected
[particle] yep
20:08 payload joined 20:09 rindolf joined
[particle] rakudo: (not True).say 20:10
p6eval rakudo 7041eb: OUTPUT«0␤»
pugs_svn r27372 | moritz++ | [t/spec] unfudge type-based.t for rakudo 20:11
moritz_ jnthn: there was a test already for multi(::T $a, T $b) which I now unfudged
phenny, tell KyleHA there was a test already for multi(::T $a, T $b) which I now unfudged (S05-multi/type-based.t) 20:12
phenny moritz_: I'll pass that on when KyleHA is around.
20:12 lichtkind joined
jnthn moritz_: There was a ticket too, filed by yours truly iirc 20:13
erm
filed by you even
:-)
jnthn hopes his dinner is cooked soon
moritz_ aye
RT #63276
jnthn++ # huge MMD WIN 20:14
Matt-W tries today's updates from jnthn 20:16
jnthn nomming the output of make dinner; bbs 20:21
20:24 xomas left 20:25 meppl left 20:37 FurnaceBoy joined 20:38 skids left
pmurias what's the point of an alpha prefix? 20:40
ruoso tag the value as unstable 20:44
?
*grin*
pmurias meant an prefix operator consisting of alpha characters 20:45
payload alpha ~~ "a".."z","A".."Z" ? 20:52
:-/
pmurias yes 20:54
21:03 Whiteknight joined, kidd_ left 21:05 takadonet left 21:19 zamolxes left 21:27 Jedai joined
pmurias ruoso: i think i'll attempt writing the m0ld to lost compiler in haskell tommorow 21:34
and once it gets us enought speed it will be ported to Perl 6 21:35
21:37 mberends left, ruoso left 21:40 fridim_ left 21:44 jan joined 21:45 jan is now known as Guest99280 22:00 iblechbot left, pmurias left 22:05 renormalist joined 22:06 renormalist left 22:07 joerg joined, renormalist joined 22:08 joerg is now known as Pismire 22:09 alester left, skids joined 22:10 ejs0 left 22:11 wolverian joined 22:14 wolverian left 22:19 Limbic_Region joined 22:27 nihiliad left 22:38 Pismire left 22:52 frew_ joined 23:01 justatheory_ joined 23:06 TimToady sets mode: +oooo [particle] obra_ literal PerlJam, TimToady sets mode: +o Tene 23:13 justatheory left 23:18 frew_ left 23:25 cdarroch left 23:43 M_o_C left 23:44 dukeleto left 23:45 lichtkind left