»ö« 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:01 am0c left 00:12 jimmy1980 left 00:16 lichtkind left 00:19 jimmy1980 joined 00:32 geekosaur joined 00:34 alim left 00:41 jimmy1980 left 00:47 jimmy1980 joined 00:52 hundskatt left 00:55 hundskatt joined 00:59 jimmy1980 left 01:07 jimmy1980 joined 01:08 thou joined 01:09 l joined, l is now known as Guest61145 01:11 Guest61145 left 01:25 jimmy1980 left 01:30 jimmy1980 joined 01:52 Radvendii joined 01:55 jimmy1980 left 01:56 s1n left 01:59 jimmy1980 joined 02:04 tokuhirom joined 02:15 jimmy1980 left 02:19 JimmyZ joined 02:20 jimmy1980 joined
JimmyZ niecza: if False, False -> *@a { say @a.perl } 02:22
p6eval niecza v12-11-g20a790d: OUTPUT«(Bool::False, Bool::False)␤»
02:24 orafu left, orafu joined 02:39 JimmyZ left 02:43 JimmyZ joined
JimmyZ nom: trait_mod:<is>($r, :$rw!) { $r.set_rw(); } #bug ? 02:45
p6eval nom 70d715: OUTPUT«===SORRY!===␤Variable $r is not predeclared at line 1, near ", :$rw!) {"␤»
sorear JimmyZ: you need "sub " before trait_mod 02:46
std: trait_mod:<is>($r, :$rw!) { $r.set_rw(); }
p6eval std be1f10e: OUTPUT«===SORRY!===␤Variable $r is not predeclared at /tmp/yQZhcRRUxJ line 1:␤------> trait_mod:<is>(⏏$r, :$rw!) { $r.set_rw(); }␤Variable $rw is not predeclared at /tmp/yQZhcRRUxJ line 1:␤------> trait_mod:<is>($r, :⏏$rw!…
JimmyZ LTA error?
sorear I'm not sure it can be improved much 02:47
buubot_backup: eval: sub foo { }
buubot_backup sorear: No output.
sorear buubot_backup: eval: foo { }
buubot_backup sorear: ERROR: Can't call method "foo" on an undefined value at (eval 20) line 1.
sorear not much better
JimmyZ pugs: foo { }
p6eval pugs b927740: OUTPUT«*** ␤ Unexpected end of input␤ Closing hash curly may not terminate a line;␤ please add a comma or a semicolon to disambiguate␤ at /tmp/mpDzjbLrPP line 2, column 1␤»
JimmyZ nom: sub trait_mod:<is>(my $r, :$rw!) { $r.set_rw(); } 02:49
p6eval nom 70d715: OUTPUT«===SORRY!===␤Invalid typename in parameter declaration at line 1, near " $r, :$rw!"␤»
JimmyZ nom: sub trait_mod:<is>($r, :$rw!) { my $r; $r.set_rw(); } 02:50
p6eval nom 70d715: OUTPUT«===SORRY!===␤Redeclaration of symbol $r at line 1, near "; $r.set_r"␤»
sorear JimmyZ: What are you trying to do?
JimmyZ sorear: looking at rt :) 02:53
02:58 preflex_ joined, preflex_ is now known as preflex
JimmyZ anyone here can remove Tag testneeded from rt99362 ? 03:00
03:06 thou left 03:08 tokuhirom left 03:31 donri left 03:37 colomon left, JimmyZ left 03:44 jeffreykegler joined 03:46 tokuhirom joined 03:47 jeffreykegler left, Guest18629 left
tadzik good morning 03:49
phenny tadzik: 10 Dec 19:40Z <jnthn> tell tadzik hmm, there's quite a few not-so-Windows-friendly bits, it seems. It claims to work, but there's no .perl6 directory created! Will see if I can figure it all out, anyways...
03:52 colomon joined
sorear hello tadzik, colomon 03:52
colomon o/
03:52 jimmy1980 left 03:58 jimmy1980 joined 04:09 jimmy1980 left 04:11 jimmy1980 joined 04:24 Siddy joined 04:25 jimmy1980 left 04:26 Trashlord left 04:32 jimmy1980 joined
japhb *yawn* 04:33
sorear hello japhb 05:14
05:15 jimmy1980 left
japhb Good evening, sorear. 05:19
japhb is wandering through the code generated during the Rakudo build
05:20 jimmy1980 joined
japhb If this code reflects real VM constraints, then there seem to be some design decisions there that are ... performance-hostile. 05:20
sorear, when niecza starts up, how does it reify the setting? What form is the setting stored in? 05:27
diakopter learns about wildcard type parameters in Java generics 05:28
japhb sorear, also, how large is the compiled form of the setting? 05:32
sorear currently, I'm looking at 73K for CORE.setting, 278K for Run.CORE.dll, and 258K for Run.CORE.ser 05:46
Run.CORE.dll is a CLR image file which contains byte-code for the setting code blocks
japhb And .ser is the serialized world state?
sorear .ser contains serialized metadata (including, among other things, a lot of line number tables and a copy of the source) 05:47
japhb ah
sorear it's worth noting that these values vary wildly from one version to the next
What's rakudo like these days? 05:48
Parrot has a very questionable "optimization" where "byte"codes are padded to full pointer size (4/8 bytes) for "fast aligned reads" 05:49
japhb CORE.setting is 257K, CORE.setting.pir is 10.4 MB, CORE.setting.pbc is 5.2 MB 05:50
Yeah, I don't buy that.
japhb is wondering if a Perl 6 implementation's code and starting state (setting, etc.) can be made to fit entirely in L3 cache of a modern consumer CPU. 05:53
ISTR Intel favors 1MB/core for consumer grade CPUs, so 4 MB or so these days 05:58
sorear japhb: depends how big you make the setting ;) 06:11
japhb: for niecza/c I have pipe dreams of loading the setting using demand paging
japhb sorear, sure. I meant the size for a setting and core that are fully compliant with the entirety of the spec. 06:12
sorear japhb: the spec is HUGE and includes stuff most one-off scripts won't need
japhb I'd be surprised if in normal usage a demand-paged setting could shrink the amount paged in at startup more than 2-4x without going into contortions. But that's just a hunch, not backed up by evidence. 06:13
sorear japhb: in particular, if you make me load and decompress the entire UCD at startup, that's quite a bit of the 4MB right there
japhb Well, I'll grant you that.
How big is the UCD, anyway? 06:14
sorear 50-odd properties x 1.1 million characters; contortions are inevitable 06:16
japhb >.<
sorear my current estimates for the working set for niecza's Unicode.cs is about 500kb-1MB
more if you use \c[CHARACTER NAME HERE]
japhb That's impressive. 06:18
sorear japhb: what specifically are you talking about re. 21:20 < japhb> If this code reflects real VM constraints, then there seem to be some design decisions there that are ... performance-hostile.
japhb: in which direction? 06:19
japhb: the data is kept in RLE form in memory, since a lot of blocks of characters share a lot of properties
japhb For example, 72% of CORE.setting.pir appears to be startup code (code that must run at startup to recreate the data structures of the setting)
smart, that 06:20
(the RLE encoding in memory)
sorear japhb: jnthn is working on adding .ser files or something equivalent to Rakudo
not copying Niecza - we've both had it on TODO for ages and I just found a round tuit earlier 06:21
japhb Another example is that perl6.ops grows nearly 8x in size when converted to C -- and expands slightly again to 236K, when converted to .so form.
Because Parrot insists on treating constant and non-constant args as separate copies of the op, and you get a combinatorial explosion on multiple args. 06:22
In any case, it's beginning to feel like a miracle things run as well as they do 06:23
sorear japhb: you are beginning to understand how I felt ca. June 2010 06:24
japhb Is that when you decided to create Niecza?
sorear yes 06:25
japhb Nodnod
The Forthwright in me is going apoplectic.
sorear has written more Forths than nontrivial programs _in_ Forth 06:27
japhb LOL
I resemble that remark
Though I can only claim to have written two Forths, the statement is still true. ;-)
sorear also, TimToady has given me a pass on Unihan properties 06:29
japhb This may be an odd question, but why? 06:30
sorear good question
they aren't terribly useful for regexes, and they would substantially increase the size of niecza .zips
japhb Fair enough. Something that can be loaded later if the user opts in? 06:32
Radvendii why does * represent so much in perl6? it represents multipication looks like exponents (**), infinity, and the "whatever" operator. it makes something like 0,0,* ** * ... * very confusing... :P
sorear yes
japhb good
Radvendii, the splat symbol is heavily overloaded in many technical contexts. Many of them leaked into Perl's design. 06:33
Radvendii it's annoying. they should utilize unicode, make • either multiplication or the whatever operator 06:34
or use some greek letters or something :P
japhb Oddly, after a while, one's brain has little difficulty contextualizing each different usage. Or maybe not so oddly. TimToady++ has done well by trusting in the vast capacity of the human brain to contextualize. 06:35
sorear meanwhile, other factions in the Perl 6 community like to wax polemical about the VILE DANGER of Unicode operators
japhb You are of course free to define your own Unicode operator set, and 'use' it at the top of your programs. All is fair if you predeclare. 06:36
Radvendii yeah, but isn't part of perl's motto that different operations look different, so it's easy to scan code?
sorear <3 japhb # "splat symbol"
japhb sorear, :-)
'asterisk' just seems so dry. 06:37
Radvendii but i have yet to find a way to redifine operators like the "whatever" or, do something like redifine both multiplication to some other symbol, and exponents to *...
Radvendii likes "splat" as well
japhb On the flip side, I've got to say I love 'octothorpe' for #
Radvendii, I thought someone managed that in the last day or so (the redef of multiplication and exponentiation that you wanted) 06:38
Radvendii did they? 06:39
sorear japhb: hmm, is that one 'grid'?
oh, 'mesh'
Radvendii how..?
sorear yes, it's quite easy :p
lexicality! 06:40
japhb I've heard hash, sharp, pound, octothorpe, and another that I can't remember at the moment
sorear japhb: I actually thought you were making a reference to the INTERCAL Character Set Tonsil
japhb LOL
.oO( How did INTERCAL get into this discussion?!? )
06:41
:-)
Radvendii hahaha INTERCAL always gets into the discussion :P
sorear japhb: you said "splat"
japhb shrugs with a devilish smile 06:42
ANYWAY
Ahhh ... Pandora manages to hit a decent streak 06:43
Radvendii what do you mean lexicality?
how do i "rename" * as •?
(the whatever operator, that is)
06:43 kaare_ joined
sorear Radvendii: there is no whatever operator 06:44
Radvendii the whatever thingy
whatever it's called
i know it's not an operator
sorear Radvendii: I think you are confusing term:<*> with infix:<*>
japhb *facepalm*
sorear and of course infix:<**> is not related to either
they are three separate names and must be overriden separately 06:45
Radvendii i know.
i
i'm saying how do i do that?
sorear how do you do _what_?
you haven't made it clear 06:47
japhb sorear, he's asking for an example ... and it sounds like he wants to replace the symbol used by term:<*>
sorear I think what you are saying you want to do is install a source filter that s/•/*/ on all source liens
Radvendii no.
i just want to replace term:<*> with •
not multiplication or exponents
sorear ah.
that can be half-done today
Radvendii which half :P (what do you mean)
sorear niecza: sub term:<•>() { * }; say •
p6eval niecza v12-11-g20a790d: OUTPUT«Whatever.new(...)␤»
sorear niecza: sub term:<•>() { * }; say 1..•
p6eval niecza v12-11-g20a790d: OUTPUT«1..Infinity␤»
sorear that half
the half that doesn't work is currying
Radvendii ah. 06:48
sorear niecza: sub term:<•>() { * }; say (1+•)
p6eval niecza v12-11-g20a790d: OUTPUT«Unhandled exception: Cannot use value like Whatever as a number␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /home/p6eval/niecza/lib/CORE.setting line 191 (Any.Numeric @ 4) ␤ at <unknown> line 0 (ExitRunloop @ 0) ␤ at /tmp/QrLHlxnMoc line 1 (mainline @ …
sorear Whatever-currying is syntactic, and doesn't look into subs
to make that work, you'll need a _very_ simple macro
it's possible that masak's work is already far enough along to enable this
Radvendii i dont mind the * being currying, as long as i can replace all of the others 06:49
so to make multiplication be • i would do sub infix:<•> {*}? 06:50
japhb Radvendii, of course * ** * depends on currying ...
Radvendii but then how would i make * be exponents?
oh wait... never mind
im confusing myself 06:51
japhb yes
:-)
Radvendii would sub infix:<•> {*} work though?
sorear Radvendii: no, you would do sub infix:<•>($x,$y) is equiv<*> { $x * $y }
This isn't J :-)
japhb flicks at the devil on his left shoulder that was about to suggest something .... 06:52
sorear You can also do BEGIN my &infix:<•> := &infix:<*>; but it's unclear how to make operator precedence come out correctly like that. 06:53
Radvendii wouldn't it by default?
b: BEGIN my &infix:<•> := &infix:<*>; say 2•2+2; 06:54
p6eval b 1b7dd1: OUTPUT«===SORRY!===␤Could not find sub &infix:<•>␤»
Radvendii huh?
b: BEGIN our &infix:<•> := &infix:<*>; say 2•2+2;
p6eval b 1b7dd1: OUTPUT«===SORRY!===␤Could not find sub &infix:<•>␤»
sorear niecza: BEGIN my &infix:<•> := &infix:<*>; say 2•2+2; 06:55
p6eval niecza v12-11-g20a790d: OUTPUT«6␤»
sorear niecza: BEGIN my &infix:<•> := &infix:<*>; say 2+2•2;
p6eval niecza v12-11-g20a790d: OUTPUT«8␤»
sorear nom: BEGIN my &infix:<•> := &infix:<*>; say 2+2•2;
p6eval nom 70d715: OUTPUT«===SORRY!===␤Confused at line 1, near "say 2+2\u20222;"␤»
Radvendii what's niecza? 06:56
japhb Radvendii, the other major current Perl 6 implementation 06:57
(and sorear is the head honcho of it)
Radvendii ooh. so rakudo doesn't impliment this?
japhb not yet 06:58
Radvendii but what's the deal with the precidence?
06:58 molaf joined
japhb Radvendii, I'm assuming that mere binding of the code object is not enough to update the operator precedence parser's tables properly 06:59
Radvendii ah. is this the intended result? or will it be changed?
japhb sorear might know -- he's way more familiar with the workings of STD than I am. 07:00
sorear the code object has the wrong lifetime 07:02
when you say my &infix:<•> := &infix:<*>, you're totally free to do &infix:<•> := &infix:<+> at runtime 07:03
as such, there is no permanent association between the symbol table slot and the value
"is equiv<*>" sets up just such an association 07:04
Radvendii is there a way to add taht syntax to &infix:<•> := &infix:<*>? 07:06
07:07 Chillance left 07:08 molaf left 07:09 jimmy1980 left 07:17 jimmy1980 joined 07:37 zby_home joined, Radvendii left 07:51 alim joined 08:12 fridim_ left 08:57 sayu joined 09:02 jimmy1980 left 09:10 jimmy1980 joined 09:15 replore_ left
jnthn yawns 09:49
09:56 hanekomu joined, hanekomu left 10:11 Siddy is now known as Trashlord 10:13 hanekomu joined, hanekomu left 10:25 jimmy1980 left 10:32 jimmy1980 joined 10:46 alim left 10:52 skangas joined 11:04 mj41 joined 11:15 sftp left 11:17 sftp joined
lumi___ Is there some way to add file annotations to the setting, so stack traces would have the right file/line? 11:21
11:23 fridim_ joined
lumi___ I tried adding Q:PIR { .annotate 'file', '$file' } using gen_cat.pl, but that makes it explode because it doesn't have a compile-time Str 11:24
jnthn lumi___: "in method reify at src\gen\CORE.setting:4301" - is accurate, tells you which file to look at (the concatenated setting one) and as far as I know the line numbers in that are accurate. 11:27
11:35 yarp joined
moritz jnthn: but the file name in 'use'd .pm files is wrong 11:36
it always tells the name of the script file
jnthn moritz: Yeah, there is an issue there. Any idea what it is?
I think it doesn't happen in the pre-compiled case... 11:37
moritz: I think a my $?FILE = ... arond line 129 of src/Perl6/ModuleLoader.pm may help 11:40
er, := since it's NQP
11:42 am0c joined 11:44 whiteknight joined
moritz jnthn: I'll try later 11:44
11:44 whiteknight is now known as Guest11301 12:05 JimmyZ joined
JimmyZ Could anyone remove Tag testneeded from rt99362 ? 12:05
moritz why? where is the test for it? 12:07
12:08 sayu left
JimmyZ bad, rosettacode is blocked 12:08
jnthn moritz: It seems that one ticket was used to file multiple bugs. 12:09
This should not really be done.
So one of them is indeed testneeded, the other one is unrelated and really should be a separate ticket. 12:10
12:14 MayDaniel joined
moritz jnthn: my $?FILE := ... didn't help :( 12:15
erm, needs to be $?FILES maybe 12:16
jnthn moritz: Whatever Actions.pm looks for :)
my $file := pir::find_caller_lex__ps('$?FILES'); 12:17
JimmyZ nom: say <2/6>.perl # bug ?
p6eval nom 70d715: OUTPUT«"2/6"␤»
JimmyZ nom: say 3.14159_26535_89793 # it's a bug too 12:19
p6eval nom 70d715: OUTPUT«3.14159265358979␤»
lumi___ jnthn: Sorry I had to go away. It's accurate, but it's suboptimally informative. I don't know which method reify it is
moritz lumi___: yes, it's not good 12:21
lumi___: FYI it ususally comes from a 'for'-loop, or from a .map()
lumi___ moritz: So do you think my idea is worthwhile, adding the original source as an annotation? 12:24
dalek kudo/nom: d2a0960 | moritz++ | src/Perl6/ModuleLoader.pm:
fix file name annotations in "use"d modules
12:25
lumi___ moritz: Also, do you know how to make it not blow up?
moritz jnthn++ for that commit
lumi___: erm, I don't see how that works (and helps)
lumi___: the backtrace goes through the call chain, not through the text around the error 12:26
and a for-loop is compiled to something like sink list(<list here>).map($block) 12:27
lumi___ So you'd have 'in method reify at src/core/GatherIter.pm:23' or so
moritz lumi___: hm, that would be nice-ish, but I don't know if it's worth the trouble 12:28
nom: Q:PIR {␤.annotate "file", "foo"␤}; die "bar" 12:29
p6eval nom 70d715: OUTPUT«bar␤ in block <anon> at foo:3␤ in <anon> at /tmp/zruEQfmPs8:1␤»
moritz lumi___: that worked, set the file name to "foo" in that scope
12:30 Moukeddar joined
moritz lumi___: but I guess you really need to change to codegen to not re-emit the original file name every other scope 12:30
jnthn I really don't think it's worth the hassle
Is it really so hard to open src/gen/CORE.setting and look up the line in question, if you can't guess? 12:31
It's going to be really tricky to get the line numbers to do the right thing. 12:32
12:35 MayDaniel left
cognominal I am getting caught in an infinit recursion when doing a say ~$/ 12:40
JimmyZ can't build rakudo on his virtualbox, due to not enough memory
cognominal Will give the stacktrace with the latest nom branch
12:46 jimmy1980 left
cognominal too bad the stack trace is not printed anymore :( 12:49
12:50 jimmy1980 joined 12:52 hundskatt left 12:57 yarp left 13:02 Moukeddar left
moritz it is not? 13:05
13:05 agentzh joined
moritz surprised 13:05
13:10 tokuhirom left 13:12 am0c left 13:14 araujo joined 13:17 JimmyZ left 13:19 jimmy1980 left
mikemol bleh 13:23
He loggd off just a few minutes ago. I wanted to ask what he meant by RC being blocked.
Seems odd someone would go to the trouble of blocking it. Even moreso that some proxy filter company might. 13:24
13:25 JimmyZ joined
mikemol JimmyZ: What do you mean by rosettacode being blocked? What network? 13:25
JimmyZ mikemol: The Great Firewall
mikemol Again?
oi
13:26 jimmy1980 joined
JimmyZ again? 13:27
mikemol It's happened before, but been lifted. 13:28
JimmyZ don't know, wordpress is again
13:34 donri joined, JimmyZ left
tadzik jnthn: does this mini-wget (gist.github.com/1460691) work for you on windows? 13:46
cognominal Weird, when executing outside the source tree I get the stack trace again. Filed a bug 13:54
maybe the recursion limit is not big enough? 13:56
how do I augment the limit? 13:58
14:01 drbean left
moritz nom: nqp::getinterp__P().recursion_limit(10); 14:04
p6eval nom d2a096: OUTPUT«===SORRY!===␤Unrecognized nqp:: opcode 'nqp::getinterp__P' at line 1, near ".recursion"␤»
moritz nom: pir::getinterp__P().recursion_limit(10);
p6eval nom d2a096: ( no output ) 14:05
moritz nom: pir::getinterp__P().recursion_limit(10); sub f($x) { $x < 1 ?? 0 !! $x + 1 }; say f(20)
p6eval nom d2a096: OUTPUT«(signal SEGV)»
moritz nom: sub f($x) { $x < 1 ?? 0 !! $x + 1 }; say f(20)
p6eval nom d2a096: OUTPUT«21␤»
14:07 drbean joined
cognominal this is indeed the recursion limit. 14:07
14:09 MayDaniel joined, jimmy1980 left 14:12 jimmy1980 joined 14:13 sayu joined 14:19 Bzek left 14:42 Radvendii joined
jnthn tadzik: yes! :) 14:44
tadzik :) 14:46
okay, we can ship it as a mini-wget then
jnthn tadzik: OK. Next problem was that I fixed it up so that it did create a .panda in my home directory and put source files there. But it never created a .perl6 one...it claimed it was fully successful though. 14:53
14:54 Chillance joined 15:02 JimmyZ joined
JimmyZ looks like nqp can't build on windows with strawberry perl 15:16
tadzik jnthn: hmm 15:26
I may know what's going on
jnthn JimmyZ: With which compiler? 15:27
JimmyZ: And how does it fail?
tadzik jnthn: could you try gist.github.com/1461126 please?
JimmyZ strawberry perl with mingw32
tadzik dunno why it's not an issue on unixes 15:28
JimmyZ jnthn: something cmd does not support 'sh' and 'BUILD_DIR=.'
cd 3rdparty\dyncall && BUILD_DIR=. make 15:29
15:30 agentzh left
JimmyZ it said BUILD_DIR is not a command 15:31
15:31 Psyche^ joined
jnthn tadzik: It makes the .perl6 directory now but it ends up empty 15:32
tadzik: Even though I get a stream of output ending with "==> Succesfully installed panda" 15:33
tadzik pff
liar
:/
jnthn tadzik: Yeah. I'd expect it to tell me where it fails... 15:34
tadzik somehow it skips installing, and claims it's ok
jnthn tadzik: I glanced over the code and it seems you do try to detect a bunch of failures...
tadzik jnthn: do tests for Panda::Installer pass?
15:34 Patterner left 15:35 Psyche^ is now known as Patterner
tadzik I suppose so, just asking 15:35
jnthn ah! 15:36
loads of test fails
jnthn shoulda run those before
tadzik huh, so how did it even install it? 15:37
"==> Succesfully installed panda", did it omit tests or what?
jnthn gist.github.com/1461161
tadzik oh crap 15:38
'rm' is not recognized as an internal or external command, for one
it also seems that IO.copy does nothing, or so 15:39
could you try in the REPL? like, "README".IO.copy('readme2'); die unless slurp "README" eq slurp "readme2"
jnthn > "README".IO.copy('readme2'); 15:40
Bool::True
> die unless slurp "README" eq slurp "readme2"
Unable to open filehandle from path 'readme2'
o.
O
tadzik there we go
we have no spectests for that, for it's not spec 15:41
[Coke] goes to fix the niecza spec tests that sorear pointed out... and make spectest is already no longer green. 15:42
Radvendii does anyone know what niecza is named after?
tadzik yes 15:43
I think it comes from Polish "nie czas", which is, hmm, somewhat like "not a right time for that"
Radvendii haha. that's an odd name for a compiler...
[Coke] octothorpe-- 15:44
jnthn octocat++ 15:45
tadzik \/\/O\/\/ -- octopus!
Radvendii what is this ++ -- business?
tadzik it's karma
Radvendii are we incrimenting people?
what's karma?
tadzik like saying "I agree with him", or "kudos to you"
Radvendii oh 15:46
tadzik if you get 200 000 of those, whiteknight buys you a donut
or I heard so
Radvendii got it. that's clever.
they are recorded?
tadzik aye
karma tadzik
aloha tadzik has karma of 846.
tadzik wow, that's a lot of karma
karma Radvendii
aloha Radvendii has karma of 1.
[Coke] karma Coke
aloha Coke has karma of 574.
[Coke] karma [Coke]
aloha [Coke] has karma of 0.
Radvendii hahaha
tadzik Radvendii++ # for the new road of life ;)
[Coke] suspects a reset, somewhere. ah well.
sjn [Coke]: or, that most of those karma points come from git commits? :) 15:47
Radvendii karma sorear
aloha sorear has karma of 2040.
sjn [Coke]++ # For spreading out his karma points among several nicks 15:48
Radvendii woah. :P
tadzik jnthn: could you investigate at which level the .copy mechanism fails?
nom does pir::new__PS('File').copy(nqp::unbox_s(~$.path), nqp::unbox_s(~$dest));
[Coke] seen purl? 15:50
aloha purl was last seen in 15319 days 15 hours ago .
[Coke] seen epoch? (aloha--)
aloha epoch? (aloha--) was last seen in 15319 days 15 hours ago .
jnthn pir::new__PS('File').copy(nqp::unbox_s('README'), nqp::unbox_s('README2')); 1
tadzik: ^^ actually results in a README2
tadzik eek
jnthn 'README'.IO.copy('README2') just worked 15:52
huh
how did it fail before
oh!
duh
I did it in a directory without a README file :/
jnthn--
tadzik :P 15:53
okay, still
I suspect indir() now
could you try: use Panda::Common; indir 't-or-something', { 'some-file'.IO.copy('other-file') }; ? 15:55
jnthn tadzik: On the REPL that comes back with Nil 15:57
tadzik: Did you want me to create those files?
tadzik did it copy the file?
jnthn: I want to see if that works
you can try it on t/fudge or whatever 15:58
jnthn use Panda::Common; indir 't', { 'stubs.t'.IO.copy('other-file') };
I did that
tadzik did it work?
jnthn other-file is created
tadzik okay
jnthn (and exact same length as the original)
(diff says they're the same) 15:59
tadzik jnthn: with gist.github.com/1461126#file_installer.pm do you get any insightful output?
jnthn tadzik: No extra output during bootstrap 16:04
16:04 benabik left, benabik joined
jnthn tadzik: gist.github.com/1461290 16:05
tadzik huh 16:06
ooh
$i.IO.copy("$!destdir/{$i.Str.substr(5)}");
shouldn't '/' be '\' on windows?
creating dir: C:\consulting\perl6\panda/removeme/lib -- looks fishy too 16:07
jnthn I checked whether copy can take care of / on Windows and it seemed to
tadzik mhm
does C:\consulting\perl6\panda/removeme/lib exist?
jnthn yes
REMOVEME\lib does
However, the directory is empty 16:08
tadzik could you modify the patch to Installer.pm to also print "$!destdir/{$i.Str.substr(5)}"? 16:09
maybe that'll give us some clues
16:11 mj41 left
jnthn Changed it to say "copying $i to $!destdir/{$i.Str.substr(5)}"; and I get: 16:11
creating dir: C:\consulting\perl6\panda/removeme/lib
copying blib/lib/foo.pir to C:\consulting\perl6\panda/removeme/lib/foo.pir
creating dir: C:\consulting\perl6\panda/removeme/lib
copying blib/lib/foo.pm to C:\consulting\perl6\panda/removeme/lib/foo.pm
tadzik does mkdir and IO.copy cope well with a path with both \'s and /'s? 16:12
jnthn > mkdir('t\bar') 16:13
Bool::True
> mkdir('t\bar/baz')
Bool::True
And the directories are there
16:13 sayu left
tadzik okay. How about copy? 16:13
jnthn 't/panda\builder.t'.IO.copy('t/bar\baz') 16:14
ah
that fails to copy the file
16:14 sayu joined
jnthn even though it returns true 16:14
oh 16:15
't/panda\builder.t'.IO.copy('t/bar\baz/x.t')
tadzik gotcha
jnthn That works
tadzik ooh
jnthn that is, provided I explicitly call out the file name
If the destination is a directory it fails, it seems.
tadzik okay, on it
or not. Have to leave for 30 or so, I can poke it then or leave it to you, if you want :) 16:16
jnthn tadzik: I'm kinda tied up finishing some $dayjob task, so I'll have to leave it to later you, I'm afraid :) 16:17
[Coke] perl6: say "abc1_2" ~~ m/^ <ident> $/ 16:25
p6eval rakudo d2a096: 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-11-g20a790d: OUTPUT«Bool::False␤»
16:27 jimmy1980 left 16:32 jimmy1980 joined
tadzik okay, I'll poke it in a second 16:40
JimmyZ don't know how to fix 'BUILD_DIR is not a command' 16:43
dalek ecza: 0271e98 | Coke++ | t/spectest.data:
Don't run exploding spectest.
16:44
ast: 7787018 | Coke++ | S05-m (2 files):
niecza: fudge with tickets
16:45
[Coke] perl6: say *@INC 16:48
p6eval niecza v12-11-g20a790d: OUTPUT«===SORRY!===␤␤Two terms in a row at /tmp/KCCg9suY87 line 1:␤------> say *⏏@INC␤␤Parse failed␤␤»
..rakudo d2a096: OUTPUT«===SORRY!===␤Confused at line 1, near "say *@INC"␤»
..pugs b927740: OUTPUT«*** ␤ Unexpected "INC"␤ expecting term postfix, operator, ":" or ","␤ at /tmp/LmTYn3vwR6 line 1, column 7␤»
[Coke] perl6: say @*INC
p6eval rakudo d2a096: OUTPUT«lib /home/p6eval/.perl6/lib /home/p6eval/nom-inst1/lib/parrot/3.10.0-devel/languages/perl6/lib .␤»
..pugs b927740, niecza v12-11-g20a790d: OUTPUT«␤»
[Coke] niecza: @*INC.push('nodir'); say @*INC; 16:49
p6eval niecza v12-11-g20a790d: OUTPUT«nodir␤»
16:51 mj41 joined
[Coke] perl6: eval('CORE::.<&not>') 16:52
p6eval rakudo d2a096: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&CORE' called (line 1)␤»
..pugs b927740, niecza v12-11-g20a790d: ( no output )
colomon hey, sorry to (possibly) be a johnny come lately here, but do we have an Advent post lined up for today? 16:53
moritz I don't think so 16:54
I'll try to whip one up later
jnthn I was gonna do just one post on meta-programming stuff, but I could do two: 1 showing how we can use it to implement stuff inside Rakudo, and then another showing how you can use it in your own modules.
And/or I could one on trusts and private methods. 16:55
moritz jnthn: both options would be very welcome
colomon moritz++ 16:56
16:56 sayu left
colomon moritz: I've got a concert today, so I couldn't possibly start working on one until late. But I will try to get mine for the 17th in okay shape in the next couple of days, so it can run early if needed. 16:57
16:57 sayu joined
JimmyZ jnthn: +1 to both 16:58
17:03 jimmy1980 left
JimmyZ jnthn: hmm, I mean +1 to 'I could do two:' :) 17:09
17:10 jimmy1980 joined 17:12 mkramer joined
jnthn JimmyZ: Ah, you're less interested in the one about privates? OK :) 17:15
17:16 mkramer left
JimmyZ yeah 17:22
jnthn: Actullay, I am not sure whether I'm interested in the one about trusts and private methods. 17:24
17:25 thou joined 17:39 drbean left 17:41 itz joined 17:43 cognominal_ joined 17:44 wolfman2000 left 17:45 cognominal left, drbean joined 17:46 cognominal___ joined 17:49 cognominal_ left 17:57 JimmyZ left 18:15 icwiener joined 18:16 mj41 left 18:23 drbean left
Radvendii b: say (a,b,c)».uc; 18:27
p6eval b 1b7dd1: OUTPUT«Could not find sub &a␤ in main program body at line 22:/tmp/4cwUJW53ly␤»
Radvendii ..?
oh
b: say <a b c>».uc;
p6eval b 1b7dd1: OUTPUT«ABC␤»
Radvendii b: @C=<a b c>; say @c».uc; 18:28
p6eval b 1b7dd1: OUTPUT«===SORRY!===␤Symbol '@C' not predeclared in <anonymous> (/tmp/to774sfsAR:22)␤»
Radvendii b: my @C=<a b c>; say @c».uc;
p6eval b 1b7dd1: OUTPUT«===SORRY!===␤Symbol '@c' not predeclared in <anonymous> (/tmp/M1Wt45F80y:22)␤»
Radvendii b: my @C=<a b c>; say @C».uc;
p6eval b 1b7dd1: OUTPUT«ABC␤»
18:29 drbean joined
Radvendii so why do i get the error no ICU lib loaded in Cool::uc? 18:29
say my @A = [0, <a b c>».uc], [0, <a b c>]; 18:31
b: say my @A = [0, <a b c>».uc], [0, <a b c>];
p6eval b 1b7dd1: OUTPUT«0 A B C0 a b c␤»
Radvendii the line that's giving me trouble is this one: my @word = [0,@C».uc],[0,@C],[1,@V],[0,@C]; it works without the ».uc... 18:35
ah! 18:37
b: say 'ƶ'.uc
p6eval b 1b7dd1: OUTPUT«Ƶ␤»
Radvendii rakudo: say 'ƶ'.uc; 18:41
p6eval rakudo d2a096: OUTPUT«Ƶ␤»
moritz you might need libicu installed for that to work
Radvendii what's that? (and how do i install it) 18:42
moritz Radvendii: see site.icu-project.org/
Radvendii: installation is platform dependent 18:43
18:45 skangas left 18:46 thou left
Radvendii when i say sudo port install icu, it just gives me ---> cleaning icu 18:46
if i install icu, do i have to reinstall rakudo? 18:50
moritz yes, you even have to reconfigure and compile parrot 18:54
and if your package manager separates libraries and development packages (including headers), you also need the development package 18:58
19:00 simcop2387 left 19:01 simcop2387 joined, drbean left
Radvendii ugh 19:03
while i'm at it, what is the --gen-parrot-option="" for where you want it to be installed (prefix?) 19:04
19:08 drbean joined
Radvendii b: say chomp "abc\n"; 19:20
p6eval b 1b7dd1: OUTPUT«abc␤»
Radvendii yay :D
they changed it so chomp returns the chomped string rather than the return status :D
benabik nom: my $s = "abc\n"; say chomp $s; say $s 19:22
p6eval nom d2a096: OUTPUT«abc␤abc␤␤»
Radvendii it doesnt even modify the value :D:D:D 19:23
19:23 molaf joined
Radvendii (im a fan of the functional-like aspect of perl in case you hadnt noticed) 19:23
sorear good * #perl6 19:36
19:40 drbean left
jnthn hi sorear 19:40
19:46 drbean joined 19:50 fsergot joined 19:51 sayu_ joined 19:55 sayu left, sayu_ left
moritz I'm sorry, I won't get around to writing an advent post today :( 19:57
I can do one tomorrow though 19:58
sorear o/ jnthn 20:00
20:04 Radvendii left
fsergot karma moritz 20:05
aloha moritz has karma of 2850.
20:23 MayDaniel left 20:30 MayDaniel joined 20:33 MayDaniel left 20:35 drbean left 20:36 localhost left 20:38 localhost joined 20:41 drbean joined 20:47 mj41 joined 21:17 kaare_ left 21:25 mj41 left
jnthn argh POS wordpress screwing up my preformatted stuff :/ 21:28
21:29 cognominal___ left 21:30 cognominal___ joined
jnthn There. WE have an advent post for today. 21:32
perl6advent.wordpress.com/2011/12/1...y-and-oop/
japhb jnthn++ 21:33
21:36 fsergot left
jnthn Done in a rush, but hopefully fine :) 21:37
japhb Yep. The one thing it lacked is an explanation of $! and $. attributes. You mention declaring attributes with !, but don't explain why you didn't do that in 'my class Item' 21:40
Hmmm, maybe a topic for another day, along with an explanation of 'Item.new(:$name, :$price)' which might give readers a double take. 21:41
jnthn Well, a few things in there might :) 21:44
I used multiple meta-operators too :)
jnthn finds himself writing such things pretty effortlessly these days 21:46
japhb chuckles 21:47
I looked at !compute_subtotal and thought "Ahhh, how short and sweet" and it didn't even occur to me that it wasn't obvious. 21:48
At least not consciously
jnthn Even more so than Perl 5, Perl 6 often seems to give me relatively little overhead in translating thoughts about what I want to achieve into code.
japhb Agreed. Enough now that the if ladder in !compute_discount seems out of place, a remnant of an earlier age. 21:49
jnthn I don't immediately hit upon something that woulda been much clearer. 21:50
I coulda done it with a ?? !! ladder
japhb Hmmm ... a given/when gets kinda ugly ... 21:53
jnthn yeah
That makes things worse here.
japhb Oh, BTW, you have a bug ... the if branches need to be evaluated in 1000, 100, default order
jnthn oh 21:54
fail :)
Fixed, thanks
21:54 lichtkind joined
japhb np 21:54
jlaire if $sum >= 100 ... elsif $sum >= 1000 21:56
that second branch is never taken?
japhb trying various combinations of syntax to replace that if ladder.
jlaire, already fixed. :-)
jlaire oh
darn :P
japhb Close though, you only missed it by 3 minutes. ;-)
Man, this now makes me want some sort of .range-classify builtin .... 21:57
Excellent for implementing wide trees. :-) 21:58
22:02 drbean left 22:06 skangas joined 22:09 drbean joined 22:13 zby_home left 22:17 arlinius left
sorear wonders whether it might be better to steal data from ICU 22:18
22:18 worr left, xinming_ left, dudulz left, y3llow left, rafl left, avar left, PZt left, hillu left, gfldex left, drbean left, jimmy1980 left, Chillance left, araujo left, Trashlord left, Helios left, cooper left, HarryS left, jfried left, simcop2387 left, BooK left, odoacre left, alvis left, REPLeffect left, cognominal___ left, itz left, Patterner left, colomon left, jjore left, overrosy left, mux left, orafu left, pochi left, renormalist left, _sri left, Gothmog_ left, geekosaur left, localhost left, og01 left, donri left, fridim_ left, jlaire left, japhb left, domidumont left, sftp left, yeltzooo left, molaf left, Sarten-X left, awwaiid left, felher left, Vlavv left, benabik left, kfo left, bonsaikitten left, literal left, Grrrr left, PerlJam left, [Coke] left, felipe left, tomaw left, skangas left, lichtkind left, abercrombie left, imarcusthis left, broquaint left, eiro left, moritz left, krakan joined, bbkr joined, p6eval joined 22:19 cosimo joined, sivoais_ joined, twinshadow joined, jfried joined, yves joined, jtpalmer joined, ashleydev joined, ruoso joined, ingyfoo joined, shachaf_ joined, szabgab joined, zb joined, szbalint joined, drbean joined, cognominal___ joined, localhost joined, itz joined, Patterner joined, Chillance joined, araujo joined, Trashlord joined, colomon joined, orafu joined, geekosaur joined, Helios joined, jjore joined, BooK joined, og01 joined, overrosy joined, mux joined, odoacre joined, alvis joined, REPLeffect joined, cooper joined, pochi joined, renormalist joined, _sri joined, Gothmog_ joined, jnthn joined, djanatyn joined, kst joined, flussence joined, slavik1 joined, stepnem joined, lestrrat joined, meraxes joined, [particle] joined, clkao joined, Woodi joined, revdiablo joined, zostay joined, amkrankruleuen joined, Juerd joined, silug joined, Khisanth joined, risou_awy joined, tadzik joined, lumi___ joined, rhr joined, TimToady joined, integral joined, donri joined, fridim_ joined, jlaire joined, japhb joined, domidumont joined, apejens joined, betterworld joined, baest joined, robinsmidsrod joined, jrockway joined, dju joined, pothos left, shachaf_ is now known as shachaf, ChanServ sets mode: +v p6eval, phenny joined, nsh_ joined, athomason joined, PZt joined, hillu joined, gfldex joined, huf joined, Lothar joined, PacoLinux joined, three18ti joined, cxreg joined, LoRe joined, kthakore joined, sorear joined, fhelmberger joined, Exodist joined, mattp_ joined, pnu joined, TiMBuS joined, arnsholt joined, worr joined, xinming_ joined, dudulz joined, y3llow joined, rafl joined, avar joined, SHODAN joined, kcwu joined 22:20 molaf joined, Sarten-X joined, felher joined, awwaiid joined, Vlavv joined, mathw joined, buubot_backup joined, aloha joined, CAAAN36 joined, yath joined, mls_ joined, jasonmay joined, mikemol joined, y3llow left, HarryS joined, y3llow_ joined, frettled joined, benabik joined, kfo joined, bonsaikitten joined, literal joined, bacek joined, _ilbot joined, tokuhirom3 joined, nebuchadnezzar joined, pmichaud joined, mdxi joined, takesako_ joined, scottp_ joined, Bucciarati joined, jevin_ joined, snarkyboojum joined, sjn joined, diakopter joined, Grrrr joined, PerlJam joined, [Coke] joined, felipe joined, tomaw joined 22:21 jimmy1980 joined
sorear wonders whether it might be better to steal data from ICU 22:21
22:21 charsbar__ joined, sftp joined, yeltzooo joined, Maddingue joined, Yappoko___ joined, ascent_ joined, sunnavy joined, spacebat_ joined
sorear the ICU folks are quite distrustful of the XML UCD 22:21
japhb That it contains bogus data?
22:22 y3llow_ is now known as y3llow, drbean left, simcop2387 joined, simcop2387 left, simcop2387 joined 22:25 Tene joined, Tene left, Tene joined, Util joined, masak joined, BinGOs joined, moritz joined, pomysl joined, pomysl left, pomysl joined
sorear site.icu-project.org/design/props/ppucd 22:25
22:25 broquaint joined
sorear japhb: read that 22:25
22:25 abercrombie joined, pothos joined, tty234 joined, ksi joined, jerome__ joined
japhb sorear, OK, will do. 22:26
japhb is finishing up www.research.ibm.com/people/h/hind/ACACES06.pdf first
22:27 imarcusthis joined, jimmy1980 left 22:28 DarthGandalf joined, drbean joined 22:30 ranguard joined, eiro joined 22:31 sivoais_ left, sivoais joined 22:32 skangas joined, risou_awy is now known as risou 22:33 jimmy1980 joined 22:34 Chillance left 22:39 icwiener left 22:40 icwiener joined 22:41 thou joined
sorear oooh, I just noticed the preparseucd.py on the ICU site 22:42
22:44 arlinius joined 22:47 integral left, integral joined 22:59 icwiener left 23:09 risou is now known as risou_awy 23:16 baest left 23:28 Trashlord left 23:29 dudulz left 23:32 Trashlord joined 23:54 shinobicl_ joined 23:59 pomysl_ joined, pomysl left