»ö« 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 diakopter on 6 April 2013. |
|||
diakopter | your mom is an umarshallable value | 00:02 | |
japhb_ | .ask jnthn Could you take a look at the 'has' stuff in the clog starting at irclog.perlgeek.de/perl6/2013-04-09 ? I'm curious if what I'm seeing is an artifact of the implementation (and perhaps a bug), or if Rakudo's behavior is intended. | 00:05 | |
yoleaux | japhb_: I'll pass your message to jnthn. | ||
diakopter | japhb_: but.. there's nothing at that link yet. | 00:17 | |
except that message I just wrote | |||
and that one | |||
japhb_ | .ask jnthn Sorry, I meant irclog.perlgeek.de/perl6/2013-04-08#i_6679299 | 00:19 | |
yoleaux | japhb_: I'll pass your message to jnthn. | ||
00:36
census_ joined
|
|||
dalek | rl6-roast-data: b00393c | coke++ | bin/days_since.pl: diagnose days running clean/dirty |
01:02 | |
kudo/nom: 51c9784 | (Geoffrey Broadwell)++ | src/core/Mu.pm: More minor cleanups, native typing, etc. in Mu.DUMP |
|||
kudo/nom: a822ca4 | (Geoffrey Broadwell)++ | src/core/Mu.pm: DUMP(): Handle unmarshallable values in native hashes by marking the entire native hash contents unmarshallable and continuing |
|||
japhb_ | diakopter, once a822ca4 builds, batter up for more fuzzing. :-) | 01:04 | |
diakopter | oh boy | ||
01:06
anuby joined
01:12
grondilu joined,
census_ left
01:16
FROGGS_ joined
|
|||
diakopter | r: ; | 01:16 | |
p6eval | rakudo a822ca: ( no output ) | ||
japhb_ | btw diakopter, say DUMP(.^methods) is almost 1000 lines, containing some stuff I'd never heard of before. What's an OwnedResizablePMCArray, anyway? | ||
(The RPA I get, but what's the Owned part?) | 01:17 | ||
diakopter | github.com/perl6/nqp/blob/master/s...carray.pmc | ||
01:18
mls joined
|
|||
diakopter | no clue other than that comment | 01:18 | |
japhb_ | Now *that's* a mouthful: pmclass OwnedResizablePMCArray extends ResizablePMCArray provides array auto_attrs dynpmc group nqp | ||
I think I can see why it appears in method DUMP results -- probably needed to invalidate caches or somesuch. | 01:19 | ||
01:19
FROGGS left,
Patterner left
|
|||
japhb_ | So diakopter, found any sufficiently evil expressions to break DUMP() again? | 01:22 | |
diakopter | finishing my dinner, I mean box of girl scout cookies | 01:23 | |
japhb_ | heh | 01:24 | |
01:27
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
japhb_ | Mini-contest idea: most characters of DUMP for smallest expression. Perhaps ratio of DUMP(expr).chars.say to length of expr (so the characters in 'DUMP().chars.say' don't count for the ratio). | 01:31 | |
r: DUMP(%*ENV).chars.say | 01:32 | ||
p6eval | rakudo a822ca: OUTPUT«2593» | ||
japhb_ | r: 2593 / 5 | ||
p6eval | rakudo a822ca: ( no output ) | ||
japhb_ | r: say 2593 / 5 | ||
p6eval | rakudo a822ca: OUTPUT«518.6» | ||
01:33
grondilu left
|
|||
japhb_ | r: DUMP(.^methods).chars.say | 01:33 | |
p6eval | rakudo a822ca: OUTPUT«28898» | ||
diakopter | r: say (9999999**9999).DUMP.chars / 13 | 01:34 | |
p6eval | rakudo a822ca: OUTPUT«5384.076923» | ||
japhb_ | r: say 28898 / 9 | ||
p6eval | rakudo a822ca: OUTPUT«3210.888889» | ||
japhb_ | Oooh, diakopter, that's going to be hard to beat. | ||
r: say (9999999**9999 x 99).DUMP.chars / 18 | 01:35 | ||
p6eval | rakudo a822ca: OUTPUT«(timeout)» | ||
japhb_ | heh | ||
r: say ((9999999**9999) x 99).DUMP.chars / 20 | 01:36 | ||
p6eval | rakudo a822ca: OUTPUT«(timeout)» | ||
japhb_ | r: say (9999999**9999 x 9).DUMP.chars / 17 | ||
p6eval | rakudo a822ca: OUTPUT«(timeout)» | ||
japhb_ | heh | 01:37 | |
diakopter | mwahaha | ||
japhb_ | r: say (9999999**9999 xx 9).DUMP.chars / 18 | ||
p6eval | rakudo a822ca: OUTPUT«15.722222» | ||
japhb_ | DANG! | ||
r: say (9999999**9999 xx 9).DUMP.say | |||
p6eval | rakudo a822ca: OUTPUT«List<1>( :$!flattens(Mu), :$!items(▶Mu), :$!nextiter(ListIter<3>( :$!list(=List<1>), :$!reified(▶Mu), :$!nextiter(▶Mu), :$!rest(RPA<4>(GatherIter<5>( :$!reified(▶Any), :$!coro(Coroutine<7>(...)) … | ||
japhb_ | ah | ||
japhb_ imagines lurkers /msg'ing p6eval trying to beat diakopter's best ... :-) | 01:39 | ||
diakopter imagines no lurkers | |||
japhb_ | I'm including clog lurkers | ||
(and time skewed ones as well) | |||
01:56
arlinius joined
02:11
BenGoldberg left
|
|||
moritz | r: say (1 xx 9**99).DUMP.chars | 02:21 | |
p6eval | rakudo a822ca: OUTPUT«283» | ||
moritz | r: say (map {1 xx 9 } xx 9**99).DUMP.chars | 02:22 | |
p6eval | rakudo a822ca: OUTPUT«Cannot call 'map'; none of these signatures match::(&code, *@values) in sub map at src/gen/CORE.setting:1801 in block at /tmp/aXAB4Tzx7T:1» | ||
moritz | r: say (map {1 xx 9 }, 1 xx 9**99).DUMP.chars | ||
p6eval | rakudo a822ca: OUTPUT«2702» | ||
moritz hasn't even backlogged | |||
dalek | ast: 9c1a668 | (Solomon Foster)++ | S32-num/power.t: Tests raising small integers to the power of very large integers. |
02:23 | |
02:28
lustlife joined
|
|||
japhb_ | moritz, the key thing is ratio of .DUMP.chars to length of expression dumped. :-) | 02:29 | |
moritz | japhb_: thought so | ||
r: say (my @ = 1 xx 9**99).DUMP.chars | 02:30 | ||
p6eval | rakudo a822ca: OUTPUT«(timeout)» | ||
moritz | r: say (my @ = 1 xx 99).DUMP.chars | ||
p6eval | rakudo a822ca: OUTPUT«2883» | ||
moritz | r: say (my @ = 1 xx 999).DUMP.chars | ||
p6eval | rakudo a822ca: OUTPUT«26283» | ||
02:31
japhb_ left
|
|||
moritz | r: say (my @=1 xx 999).DUMP.chars | 02:31 | |
p6eval | rakudo a822ca: OUTPUT«26283» | ||
moritz | r: say 26283 / '(my @=1 xx 999)'.chars | ||
p6eval | rakudo a822ca: OUTPUT«1752.2» | ||
02:33
fgomez left
02:37
tgt left
02:49
orafu joined
02:50
fgomez joined
02:52
preflex_ joined
02:53
preflex_ is now known as preflex
|
|||
dalek | ecza: f9c8fc2 | (Solomon Foster)++ | lib/Builtins.cs: Special cases for big_pow. |
02:58 | |
ast: 5058d2a | (Solomon Foster)++ | S32-num/power.t: Fudge for niecza. |
02:59 | ||
03:00
rindolf joined
03:10
woosley joined
03:31
fgomez left
03:35
fgomez joined
|
|||
[Coke] tries to find .DUMP in spec. | 03:37 | ||
ENODUMP | 03:39 | ||
r: /123/.DUMP | 03:40 | ||
p6eval | rakudo a822ca: ( no output ) | ||
[Coke] | r: /123/.DUMP.say | ||
p6eval | rakudo a822ca: OUTPUT«Regex<1>( :$!caps(Hash<2>( :$!descriptor((null)), :$!storage(Hash<3>( => ▶0)) )), :$!nfa(Parcel<5>(:$!storage(RPA<6>( RPA<7>(), RPA<8>( Integer<9>(...), Integer<10>(...), Integer<11>(..… | ||
timotimo | r: /123/.DUMP.chars.say | 03:46 | |
p6eval | rakudo a822ca: OUTPUT«2734» | ||
timotimo | we have a winner | ||
[Coke] | r: /1/.DUMP.say | ||
p6eval | rakudo a822ca: OUTPUT«Regex<1>( :$!caps(Hash<2>( :$!descriptor((null)), :$!storage(Hash<3>( => ▶0)) )), :$!nfa(Parcel<5>(:$!storage(RPA<6>( RPA<7>(), RPA<8>( Integer<9>(...), Integer<10>(...), Integer<11>(..… | ||
[Coke] | r: /1/.DUMP.chars.say | 03:47 | |
p6eval | rakudo a822ca: OUTPUT«2510» | ||
[Coke] | some fine tuning there on the regex logic. | ||
r: /{9**999}/.DUMP.chars.say | |||
p6eval | rakudo a822ca: OUTPUT«2299» | ||
[Coke] | r: /{1 xx 9**99}/.DUMP.chars.say | 03:48 | |
p6eval | rakudo a822ca: OUTPUT«2299» | ||
[Coke] | r: eval("/"~1xx9**99~"/").DUMP.chars.say | 03:49 | |
p6eval | rakudo a822ca: OUTPUT«===SORRY!===Unable to parse expression in argument list; couldn't find final ')'at /tmp/DdVgAKk2x4:1------> eval("/"~1⏏xx9**99~"/").DUMP.chars.say expecting any of: whitespace» | ||
[Coke] | r: "/{1 xx 318}/".eval.DUMP.chars.say | 03:58 | |
p6eval | rakudo a822ca: OUTPUT«(timeout)» | ||
[Coke] | r: "/{1 xx 316}/".eval.DUMP.chars.say | ||
p6eval | rakudo a822ca: OUTPUT«(timeout)» | 03:59 | |
[Coke] | r: "/{1 xx 310}/".eval.DUMP.chars.say | ||
p6eval | rakudo a822ca: OUTPUT«37969» | ||
diakopter wonders how long [Coke] took to get to 318 | |||
[Coke] | r: "/{1 xx 315}/".eval.DUMP.chars.say | ||
p6eval | rakudo a822ca: OUTPUT«(timeout)38544» | 04:00 | |
[Coke] | re-bazinga. | ||
diakopter | nice. | ||
[Coke] | about 5 minutes of tweaking the original, 5 minutes of binary search. | ||
r: "/{'.*' xx 186}/".eval.DUMP.chars.say | 04:08 | ||
p6eval | rakudo a822ca: OUTPUT«(timeout)» | ||
[Coke] | r: "/{'.*' xx 184}/".eval.DUMP.chars.say | ||
p6eval | rakudo a822ca: OUTPUT«(timeout)» | 04:09 | |
04:09
fgomez left
|
|||
[Coke] | r: "/{'.*' xx 182}/".eval.DUMP.chars.say | 04:09 | |
p6eval | rakudo a822ca: OUTPUT«(timeout)39087» | ||
[Coke] | r: "/{'.*' xx 183}/".eval.DUMP.chars.say | ||
p6eval | rakudo a822ca: OUTPUT«39289» | ||
[Coke] | so, close to 40K given feather's load. | 04:10 | |
I suspect you could mine some gold in the regexp space to get that higher. | |||
04:10
fgomez joined
04:35
rvchangue joined
04:53
jferrero joined
04:56
denisboyun joined
04:57
frdmn left
05:12
kurahaupo left
05:47
dmol joined
05:56
rindolf left,
SamuraiJack joined,
rindolf joined
05:58
denisboyun left
06:05
shlomif joined,
rindolf left
06:17
Heather joined
|
|||
Heather | hello ! | 06:17 | |
this video is very much fits As I see Gentoo developers: www.youtube.com/watch?v=xr22jMkMZQk | 06:18 | ||
06:21
woosley left
06:26
lustlife left
06:32
fgomez left
06:35
lustlife joined
06:39
grondilu joined
|
|||
bonsaikitten | Heather: random offtopic stuff is random? | 06:43 | |
06:46
fgomez joined
|
|||
labster | did /dev/urandom pick that video? | 06:46 | |
06:48
domidumont joined
|
|||
Heather | bonsaikitten well I usually call it another words | 06:48 | |
06:49
fgomez left
06:51
fgomez joined
06:54
frdmn joined
06:58
shlomif is now known as rindolf
07:01
FROGGS_ left,
domidumont left
07:02
domidumont joined
07:14
kaleem joined
07:18
rindolf left
07:19
woolfy joined
07:36
kurahaupo joined
|
|||
Heather bought grooveshark premium... | 07:39 | ||
nwc10 | jnthn: the usual | 07:40 | |
07:51
kurahaupo left
|
|||
hoelzro | good morning, #perl6! | 07:53 | |
Heather | hood morning, hoelzro | 07:54 | |
hoelzro | has anyone had a chance to look at my research for rt.perl.org/rt3/Public/Bug/Display...?id=117377 ? | 07:58 | |
08:04
FROGGS joined
08:18
domidumont left
|
|||
jnthn | Good morning, #perl6 | 08:23 | |
yoleaux | 00:05Z <japhb_> jnthn: Could you take a look at the 'has' stuff in the clog starting at irclog.perlgeek.de/perl6/2013-04-09 ? I'm curious if what I'm seeing is an artifact of the implementation (and perhaps a bug), or if Rakudo's behavior is intended. | ||
00:19Z <japhb_> jnthn: Sorry, I meant irclog.perlgeek.de/perl6/2013-04-08#i_6679299 | |||
labster should really update rakudo so I have eager for loops | |||
good morning, jnthn! | 08:24 | ||
08:24
fhelmberger joined
|
|||
jnthn | japhb: has $!x, like my $x, has a constraint of Mu and a default value of Any | 08:25 | |
japhb: However, the default type of paramters is Any | 08:27 | ||
japhb: Type constraint, that is | |||
08:28
denisboyun_ joined
08:29
sqirrel joined
08:30
grondilu left
08:31
grondilu joined
08:32
felher joined
08:39
sqirrel left
08:53
dakkar joined
|
|||
Heather | wow github.com/MoeOrganization/moe | 08:55 | |
tadzik | yep | 08:57 | |
Heather | speakerdeck.com/player/b402d2a03f3...38154bc3?# - interesting deck | 08:58 | |
09:07
arlinius left
|
|||
Heather | masak what do you think about moe? | 09:07 | |
09:11
cognominal joined
|
|||
hoelzro | I have encountered the strangest bug ever. | 09:12 | |
</exaggeration> | |||
I was trying to add ttyname to POSIX | |||
09:12
domidumont joined
|
|||
hoelzro | and depending on the presence of *other* functions in the module, one of the following happens: | 09:12 | |
1) a weird boxing/unboxing error in NativeCall | 09:13 | ||
2) segfault | |||
3) the string being returned is an integer garbage value | |||
4) the actual proper behavior | |||
jnthn | Smells like memory corruption somewhere. | 09:17 | |
hoelzro | yeah | 09:18 | |
something is *weird* | |||
I'll try to isolate some of the more bizarre cases after work | |||
09:18
jerome joined
|
|||
FROGGS | hoelzro: are the errors you get constant? I mean, do you always get error #1 for a given piece of code? | 09:19 | |
hoelzro | FROGGS: the errors are consistent; by that I mean that if I don't change the source from one run to the next, the error remains the same | ||
FROGGS | well, that is actually a good thing | 09:20 | |
hoelzro | yes | 09:21 | |
I plan on creating minimal reproductions for each error | |||
and submitting them here =) | |||
FROGGS | bah | ||
fix'em :o) | |||
hoelzro | heh | ||
I can try | |||
emphasis on the "try" part ;) | |||
09:21
cognominal left
|
|||
hoelzro | my delve into Rakudo for postcircumfix:<()> taught me a lot, though | 09:22 | |
FROGGS | ++hoelzro # you now have to succeed to get the karma | ||
09:22
cognominal joined
|
|||
masak | Heather: I'm all excited about moe. | 09:31 | |
Heather: for many reasons. I like stevan and trust his judgment. | |||
09:32
arlinius joined
|
|||
Heather | masak well how to use it :D | 09:32 | |
masak | Heather: and I think his conclusion -- which seems increasingly to be "if you set out to improve Perl 5, you get Perl 6 or something very much like it" -- is very beneficial for the p5-p6 relationship. | ||
Heather: haven't actually tried it yet. :) | |||
Heather: I meant to do that for Easter, but got sidetracked :/ | 09:33 | ||
09:33
berekuk left
|
|||
Heather | I see | 09:33 | |
09:33
berekuk joined
|
|||
moritz | speaking of "meant do that for Easter" -- how's the t2 review coming along? | 09:33 | |
Heather | masak bin/moe looks very strange for me ) | 09:34 | |
masak | moritz: it's progressing, but still suffering from $work grabbing priority. :/ | 09:35 | |
moritz: realistically, I won't have time for it until the weekend. all of my day- and evening-time is going to $work presently. | |||
09:36
daxim joined
|
|||
Heather | maybe talk / try moe today evening? | 09:37 | |
masak I wonder about picture The Community with evil door "Don't open Dead inside" | 09:38 | ||
masak | Heather: :) | 09:40 | |
Heather: so, there's this thing called p5p. | |||
Heather: think of it as the Linux kernel development list, but for Perl 5. | 09:41 | ||
Heather: it's very high-traffic, far more than I can keep up with every day. | |||
Heather: many people on there are also very conservative, basically working against everything that could work to improve p5. | 09:42 | ||
Heather: for reasons such as "we cannot break backwards compatibility" or "there's a DarkPAN out there full of users who depend on our old bugs!" | |||
Heather: don't get me wrong -- they definitely have a point. it's important not to pull the carpet out from under users. | 09:43 | ||
Heather | I understand | ||
masak | Heather: but there comes a point where you cannot do *anything* to improve the state of Perl 5. | ||
09:43
berekuk left
|
|||
masak | Heather: Perl 6 was created out of that realization. and now Moe, too. | 09:43 | |
Heather | masak but moe support moe... | 09:44 | |
moar | |||
) | |||
masak | WHAT IN THE WORLD DO YOU MEAN? | ||
er. | |||
what do you mean? :P | 09:45 | ||
Heather | )))) | ||
masak | oh, it was a... pun. | ||
I see. :P | |||
Heather | masak they say they work on perl5 compatibility as well | ||
masak .oO( moe languages, moe problems ) | |||
Heather: yeah, well. it's difficult. as anyone who's tried will tell you. | 09:46 | ||
Heather | sorta | ||
masak | Heather: but realistically, it seems that Moe is becoming a "stepping-stone" between Perl 5 and Perl 6. linguistically and (more importantly) socially. | ||
Heather | well... | 09:47 | |
all the JVM mess I don't like doesn't testes good until I will see perl code with llvm compiled to native image | 09:48 | ||
*machine code | |||
masak | Heather: the consensus here seems to be that LLVM is not as wonderful as you would think. | 09:49 | |
mainly because it's, well, low-level. ;) | |||
jnthn | I suspect LLVM is rather good at doing what it is typically used for. It's just not the JVM/CLR/Parrot alternative that some confuse it as. | 09:50 | |
Heather | oh hell I hate my english /s/testes/tastes | ||
jnthn | .oO( what a balls-up :P ) |
||
nwc10 | today is punday? | 09:51 | |
dalek | p-jvm-prep: 4a6d986 | jnthn++ | / (3 files): Prepare for StackState improvements. |
||
nwc10 | or is every day punday? | ||
oh, goalposts just moved... | |||
jnthn | Yeah... | ||
jnthn hit the point where he has to hack on one of the hairier parts of the code-gen... | 09:52 | ||
Heather | masak well everyone loves jit in java world | ||
instead ARMJ* kernels | |||
*EXCEPT | |||
FROGGS loves jit at the bus station | |||
masak | and with good reason. | ||
Heather | well jit can use llvm backend | 09:53 | |
jnthn | The JVM JIT is very good, and it's especially cool that invokedynamic lets us teach it how to efficiently handle constructs and type systems different to the Java one. | ||
masak | hm, this bit of news doesn't seem to have reached #perl6: twitter.com/kraih/status/321385887042772993 | 09:54 | |
also, blogs.perl.org/users/tinita/2013/04...-club.html | 09:56 | ||
Heather | wait what's boy's club? | 09:58 | |
tadzik | is it just me, or perlmonks is a PITA to browse | ||
masak | tadzik: it's not just you. | ||
I distinctly feel that #perl6 is no boys club, and I'd like to keep it that way. | |||
Heather | what is boy's club? | ||
labster | Heather: male-exclusive zone | 09:59 | |
masak | Heather: a metaphor for a community that's meant for guys, not gals. | ||
Heather | alike? | ||
masak | Heather: in this case, by making fun of strawman feminist over-reactions. | ||
Heather: there's enough background in those two links if you're interested. | 10:00 | ||
Heather | alright | ||
masak | (but as tadzik pointed out, actually reading PerlMonks is a PITA) | ||
at some point, we're going to replace PerlMonks, I hope everyone understands that :) | 10:01 | ||
tadzik | "And 7 people upvoted that post. That makes perlmonks look quite bad" | ||
masak | and by "we", I mean "the Perl 6 community". | ||
tadzik | I disagree. 7 bad examples is not that bad for that community size | ||
masak | tadzik: how many downvotes? | ||
tadzik | I dunno | 10:02 | |
I quote tinita's post | |||
nwc10 | which "we" is going to replace PerlMonks? I'm a bit confused | ||
tadzik | I can see that the poll joke is quite on the edge | 10:03 | |
labster | It's definitely not a boy's club in here, even if a lot of us are male. We welcome everyone who comes into the community. | ||
(even if they really want perl5 help) | 10:04 | ||
tadzik | on one hand it's ridicouling those few situations when women do overreact over some issues. On the other, well, that's thin ice | ||
nwc10 | oh, Perl 5 needs help :-) | ||
10:04
domidumont left
|
|||
Heather | masak another oftopic - I found golo more interesting than scala | 10:05 | |
huf | is that go on the jvm? | ||
masak | Heather: url? | ||
Heather | masak for golo? | ||
labster | I just read speakerdeck.com/stevan_little/perl...a-dead-end As I'm in the process of porting core modules, I couldn't agree more about the whole perl 5 is "supporting too much old buggy code" thing. | ||
masak | Heather: yes. | 10:06 | |
Heather | masak golo-lang.org/ | ||
tadzik | labster: hah, I remember when I decided to write File::Find for Perl 6 | ||
Heather | very "rusty" -- static.rust-lang.org/doc/0.6/tutorial.html | ||
tadzik | I was like "I'll just look at Perl 5 for inspiration. OOHHH NOPE" | ||
10:07
domidumont joined
|
|||
labster | Working on File::Path right now (which first of all is a bad name, should be File::Directory::Tree or something). Thankfully someone made a ::Tiny version, so I didn't have to look for inspriation in the 3 existing formats for functions. | 10:09 | |
tadzik | heh | ||
masak | Heather: cute little language indeed. | ||
Heather: though I note it copies Java's (bad taste) can't mutate closed-over variables. :/ | |||
Heather | masak it looks very similar to rust for me | 10:10 | |
masak | sort of. | 10:11 | |
I'm definitely keeping my eye on Rust. it's an interesting experiment. :) | |||
with nice velocity. | |||
golo seems sort of partway between Java and Rust, yes. | |||
Heather | and I feel like all of them just inspired by ML | 10:12 | |
masak 16 UTC is still being party time here? | 10:20 | ||
masak | Heather: are you talking about the workshop? it's on May 1st. :) | 10:21 | |
Heather: I need to prepare, lots, for handling the simultaneous guiding of 7 people through interesting programming topics, in real time! :P | |||
Heather | masak aaah.... | 10:22 | |
masak I was thinking that it's today :P | |||
masak | Heather: but yeah, I think we're running with 16:00 UTC, if that's fine with you. if you feel that midnight becomes too late to stay up for, there's always the backlog later. | ||
8 people. timotimo++ signed up, too \o/ | 10:23 | ||
Heather | masak no, 16 UTC is good for me. | ||
masak | \o/ | 10:27 | |
dalek | p-jvm-prep: 37116c4 | jnthn++ | lib/QAST/JASTCompiler.nqp: Implement stack to local spilling for handle. This gets the general mechanism in place, or general enough for now at least. This means that 'try' now works as an expression; before it was broken due to the JVM mandating an empty stack for a try/catch. Most likely we need this in a few more places; it's also a key piece for the fragmenting transform that will be needed to support gather/take in the future. |
||
p-jvm-prep: 8acffb0 | jnthn++ | t/nqp/44-try-catch.t: We now fully pass 44-try-catch.t. |
|||
nqp-jvm-prep: 50c35da | jnthn++ | docs/ROADMAP: | |||
tadzik | ...dalek, you there bro? | 10:29 | |
jnthn | :) | ||
10:29
anuby left
|
|||
jnthn | The ROADMAP update was just removing a completed item. | 10:29 | |
That was a slightly fiddly thing to do... | 10:30 | ||
tadzik | so asm_port is merged? | ||
jnthn | tadzik: yeah, and we even make very basic use of invokedynamic already. Not for calls yet. | ||
tadzik | nice | ||
jnthn | Just for wval resolution. | ||
But it means the invokedynamic code-gen is in place and working. \o/ | |||
10:31
rindolf joined
|
|||
jnthn | General question: I'm planning to move the NQP on JVM work into the main NQP repository in the next week or so. It shares far more code than it differs by. Does anybody strongly feel that I should carry the full history of the nqp-jvm-prep repository over when I do this? | 10:33 | |
jnthn is personally fine with not doing that, because it almost certainly makes his life easier. | 10:34 | ||
Also many things that have existed in the nqp-jvm-prep repo are copies of stuff in the NQP repo. | |||
Unless anybody cries out in favor of doing something clever with the history, I suspect I'll just pull in the files as needed. :) | 10:35 | ||
FROGGS | jnthn: will you keep the nqp-jvm-prep repo? | 10:39 | |
jnthn | FROGGS: I can keep it around for historical interest, if that's considered valuable. | ||
FROGGS | maybe just make a note at its README, and let it lay around | ||
I think I won't need its history fwiw | 10:40 | ||
masak | jnthn: if you don't think the history is important, and you're responsible for most of that history, feel free to flatten it :P | 10:41 | |
jnthn | Yes, I think I'm to blame for the majority of it :P | 10:43 | |
timotimo | jnthn: do you know how you can just merge commits from a different repository? | 10:46 | |
masak .oO( jnthn is to `git blame` for the majority of it ) | |||
jnthn | timotimo: subtree merge | 10:47 | |
Well, it's more like you do the read-tree trick with a prefix, then merge -s ours actually, I guess... | 10:48 | ||
And massage from there. | |||
timotimo | i don't really know exactly how your directory structure differs from the one in nqp, but i woud just make one commit to make the folder structures agree, then git fetch nqp-jvm-prep and git merge than in there | 10:49 | |
wow, the only test files that are still missing are 67-errno one and 24-module? | 10:53 | ||
jnthn | Yeah | 10:54 | |
Excluding the few Parrot-specific ones. | 10:55 | ||
timotimo | i excluded them "manually" ;) | 10:56 | |
masak: looking forward to the workshop | 10:59 | ||
i'll be visiting my parents at that time, but i should be able to make it no-problem | 11:00 | ||
masak | I'm looking forward to it too. | 11:04 | |
timotimo | should i directly post my code to rosettacode or should i gist it here first to ask for feedback? | 11:05 | |
11:06
brrt joined
11:09
rvchangue left
|
|||
masak | timotimo: the former. | 11:11 | |
timotimo: forgiveness > permission. | |||
timotimo | right. | 11:14 | |
11:14
rvchangue joined
|
|||
timotimo | it needs a bit of fine-tuning first | 11:14 | |
and i wish it wasn't so utterly slow | |||
jftr, \c[...] is really nice to have | 11:20 | ||
lizmat | good afternoon #perl6 | 11:24 | |
Heather | hello | 11:25 | |
lizmat | with the QA Hackathon coming up, I'm planning on expanding the concepts used in my Perl5 module Devel::MaintBlead to Perl 6 | 11:26 | |
and, if possible, integrate them into CPAN.pm | |||
so that you could have a distribution of a module on CPAN, which would have a Perl 5 and a Perl 6 version | 11:27 | ||
and have tools like cpan / cpanm be able to install Perl 6 modules from these distributions as well | |||
is that a plan? | |||
masak | lizmat: that sounds very attractive, yes. | 11:35 | |
lizmat: I refer you to moritz++ and szabgab++, who have both released Perl 6 modules on CPAN before, and have had some interaction with the CPAN admins about the ways that worked less-than-perfect. | 11:36 | ||
ly* | |||
lizmat goes to check those modules | 11:37 | ||
timotimo | r: my @l = ["█", "█", " ", "█", "█"]; say join "", @l; | 11:38 | |
p6eval | rakudo a822ca: OUTPUT«█ █ █ █» | ||
timotimo | why do i get spaces in between, even though i'm joining with ""? | 11:39 | |
11:39
tgt joined
|
|||
timotimo | r: my @l = ["a", "b", "c"]; say join "", @l; | 11:39 | |
p6eval | rakudo a822ca: OUTPUT«a b c» | ||
timotimo | r: my @l = ["a", "b", "c"]; say (join "", @l).perl; | ||
p6eval | rakudo a822ca: OUTPUT«"a b c"» | ||
timotimo | r: my @l = ["█", "█", " ", "█", "█"]; say join ",", @l; | 11:40 | |
p6eval | rakudo a822ca: OUTPUT«█ █ █ █» | ||
timotimo | oh, am i calling it the wrong way around? | ||
r: my @l = ["█", "█", " ", "█", "█"]; say join @l, ""; | |||
p6eval | rakudo a822ca: OUTPUT«» | ||
timotimo | r: my @l = ["█", "█", " ", "█", "█"]; say @l.join(""); | ||
p6eval | rakudo a822ca: OUTPUT«█ █ █ █» | ||
lizmat | my @l = <a b c>; say join "", @l' | 11:41 | |
rn: my @l = <a b c>; say join "", @l' | |||
p6eval | niecza v24-37-gf9c8fc2: OUTPUT«===SORRY!===Confused at /tmp/AFDxusrdS2 line 1:------> my @l = <a b c>; say join "", @l⏏'Parse failed» | 11:42 | |
..rakudo a822ca: OUTPUT«===SORRY!===Two terms in a rowat /tmp/wRBS9AaNzl:1------> my @l = <a b c>; say join "", @l⏏' expecting any of: postfix infix stopper infix or meta-infix statement end statement modi… | |||
lizmat | rn: my @l = <a b c>; say join "", @l | ||
p6eval | rakudo a822ca, niecza v24-37-gf9c8fc2: OUTPUT«abc» | ||
timotimo | did i break my array? | ||
lizmat | rn: my @l = ["a", "b", "c"]; say @l[0] | 11:43 | |
p6eval | rakudo a822ca, niecza v24-37-gf9c8fc2: OUTPUT«a b c» | ||
timotimo | oh! | ||
indeed! | |||
lizmat | it's a one element array | ||
timotimo | thank you, good eye | ||
lizmat | rn: say join *, <a b c> | 11:44 | |
p6eval | niecza v24-37-gf9c8fc2: OUTPUT«aWhatever()<instance>bWhatever()<instance>c» | ||
..rakudo a822ca: OUTPUT«aWhatever<1752397876>bWhatever<1752397876>c» | |||
lizmat | I sort of expected * to revert to an empty string here | 11:45 | |
masak | never thought of * in that role there. | 11:56 | |
lizmat | it's one character less than "" and better readable | 11:57 | |
timotimo | indeed | ||
lizmat | however, maybe there is a more Perl6ish way of joining strings without anything in between > | 11:58 | |
? | |||
timotimo | well ,the only thing that would make sense there would be "", or maybe " ". so principle of least surprise? | ||
jnthn | [~] <a b c> | ||
timotimo | oh, good point. even shorter and still readable. | ||
jnthn | r: say <a b c>.join | ||
p6eval | rakudo a822ca: OUTPUT«abc» | ||
jnthn | Or that :) | ||
lizmat | :-) | 11:59 | |
nwc10 | jnthn: the ususal, again. | 12:00 | |
jnthn | nwc10: yay :) | ||
12:03
skids left,
kaare_ joined
12:05
kivutar joined
12:08
woosley joined
12:10
rindolf left
|
|||
lizmat | looks like '[~] <a b c>' is preferable from a performance point of view | 12:12 | |
jnthn | That...surprises me. | ||
lizmat | it surprised me too | 12:13 | |
$ time perl6 -e '[~] (<a b c> xx 10000)' | 12:15 | ||
real 0m3.573s, user 0m3.333s, sys 0m0.235s | |||
$ time perl6 -e '(<a b c> xx 10000).join' | |||
real 0m4.794s, user 0m4.584s, sys 0m0.198s | |||
moritz | huh. | 12:18 | |
might be related to weirdnesses in list flattening | |||
12:19
kaleem left
|
|||
Heather | I want gui toolkit | 12:20 | |
timotimo | how would you implement mapping True, False to "\c[UPPER HALF BLOCK]", False, True to "\c[LOWER HALF BLOCK]", True, True to "\c[FULL BLOCK]" and False, False to " "? | ||
i made a given with four whens, but i was hoping there could be a nicer way | |||
lizmat | 2 dimensional array with numified booleans as indexes ? | 12:21 | |
12:21
rindolf joined
|
|||
moritz | timotimo: stringify the bools, but it into a hash table | 12:22 | |
my %h = ('True True' => "\c[FULL BLOCK]", ...); | |||
timotimo | hmm | ||
moritz | say %h{"$bool1 $bool2"} | ||
timotimo | well, things are more complicated, because i actually have 1 or Any :P | 12:24 | |
jnthn | walk; bbiab | 12:25 | |
12:25
domidumont left
|
|||
moritz | boolify them :-) | 12:25 | |
12:25
domidumont joined
12:26
anant joined
12:29
domidumont left
12:30
domidumont joined
|
|||
lizmat | rn: my @a= [" ","\c[LOWER HALF BLOCK]"], ["\c[UPPER HALF BLOCK]","\c[FULL BLOCK]"]; say @a[so "foo"][so "bar"] | 12:32 | |
p6eval | rakudo a822ca, niecza v24-37-gf9c8fc2: OUTPUT«█» | 12:33 | |
lizmat | rn: my @a= [" ","\c[LOWER HALF BLOCK]"], ["\c[UPPER HALF BLOCK]","\c[FULL BLOCK]"]; say @a[so "foo"][so ""] | ||
p6eval | rakudo a822ca, niecza v24-37-gf9c8fc2: OUTPUT«▀» | ||
timotimo | that's not very much prettier :( | 12:34 | |
the output code is so slow ;_; | |||
12:39
kaleem joined
|
|||
FROGGS | rn: my @a= [" ","\c[LOWER HALF BLOCK]"], ["\c[UPPER HALF BLOCK]","\c[FULL BLOCK]"]; say @a[?"foo"][?""] | 12:42 | |
p6eval | rakudo a822ca, niecza v24-37-gf9c8fc2: OUTPUT«▀» | ||
12:42
Heather left
|
|||
lizmat | FROGGS++ | 12:44 | |
12:45
anant left
12:53
frdmn left
|
|||
lizmat | maybe this is faster? | 12:53 | |
gtodd | masak: amazingly I have been able to clone the repo locally and then add 9 pull requests "manually" (by adding repos with "git remote add" ; then "git fetching" then "git cherry-picking" each pull request's SHA ... and I have almost completed following the instructions in docs/release_guid.pod | ||
lizmat | rn: my @a= (" ","\c[LOWER HALF BLOCK]","\c[UPPER HALF BLOCK]","\c[FULL BLOCK]"); say @a[?""+ 2*(?"foo")] | ||
p6eval | rakudo a822ca, niecza v24-37-gf9c8fc2: OUTPUT«▀» | ||
gtodd | release_guide.pod even ... I realize these pull requests would not all go into a release without testing/discussion/review I was just "practicing" | 12:54 | |
masak: let me do this 25-30 more times to practice then sign me up for June :-) | |||
timotimo | niecza runs lots of laps around rakudo on this implementation | 12:56 | |
that's both good and bad :| | |||
FROGGS | lizmat: I don't think there is a difference in performance of so vs. ? | 12:57 | |
12:57
asogani joined
|
|||
FROGGS | rn: my @a= [" ","\c[LOWER HALF BLOCK]"], ["\c[UPPER HALF BLOCK]","\c[FULL BLOCK]"]; sub infix:<█> { @a[?$^a][?$^b] }; say True █ False | 12:57 | |
p6eval | rakudo a822ca, niecza v24-37-gf9c8fc2: OUTPUT«▀» | ||
FROGGS | but it takes ages :/ | ||
timotimo | 1000 particles simulated by niecza in the time rakudo does 50 | 12:58 | |
lizmat | my last one used a flat array | ||
wonder whether that would make a difference | |||
FROGGS | hmmm | 12:59 | |
FROGGS benches that | |||
*benchmarks or so | |||
13:00
asogani is now known as anant_
13:01
stevan_ joined
|
|||
timotimo | FROGGS: allow the creation of the array to be pre-loaded before the access happens in the benchmark | 13:01 | |
FROGGS | lizmat: the flat one takes 2.3s for 1000 say's, 2.8 seconds for the 2d one | 13:02 | |
timotimo: what do you mean by 'preloaded'? | |||
timotimo | well, create the array, then try 10000 accesses on the array | 13:03 | |
FROGGS | I did: time perl6 -e 'my @a= (" ","\c[LOWER HALF BLOCK]","\c[UPPER HALF BLOCK]","\c[FULL BLOCK]"); say @a[?""+ 2*(?"foo")] for ^9999' | ||
ohh, 10k says | |||
printing that stuff to my terminal should cost the most time | 13:04 | ||
lizmat | do it without the say? | ||
timotimo | yeah, that would be okay | ||
13:05
wolverian joined
|
|||
lizmat | timotimo: maybe additional gains can be had by reducing the number of prints/says (by joining values up beforehand) | 13:05 | |
13:05
wolverian left
|
|||
FROGGS | 1.4s flat, 2.1s 2d | 13:05 | |
timotimo | indeed. | 13:06 | |
13:06
wolverian joined
|
|||
masak | gtodd: ;) | 13:06 | |
jnthn back | |||
masak | gtodd: I can add you right now. | 13:07 | |
gtodd | masak: :-) I need more training master | ||
masak: still building parrot :) | 13:08 | ||
by June I should have it down :) OTOH the April release seems like it will be uneventful | |||
FROGGS | gtodd: we'll support you, so april might be doable as well | 13:10 | |
gtodd | masak: do the pull requests (after discussion review whatever) get moved into an official "pull request repository" so they can all be pulled at once (instead of cherry-picking) or are they handled in the github web gui or is there some kind of github "tooling"? (there's a ruby tool called "hub" and matsuno's "ph"). | 13:12 | |
FROGGS: heh .. well then ok ... | |||
FROGGS: as you know this channel is being recorded ... :-) | 13:13 | ||
nwc10 | jnthn: the ususal, again. | ||
FROGGS | hehe | ||
nwc10 | jnthn: I'm not acutally sure if that's an update. That was actually from command history as I was trying to use scrollback to work out when I last reported it | ||
FROGGS | gtodd: no problem, I usually do what I promise :o) | ||
nwc10 | jnthn: but that's for 50c35da46c94149cd47fa8af6a9fd940e6579cd5, so try is done | 13:14 | |
jnthn | :) | 13:16 | |
13:18
rindolf left
13:19
grondilu left,
grondilu joined
|
|||
gtodd | FROGGS: :-) | 13:20 | |
FROGGS | gtodd: what's your timezone? | 13:21 | |
masak | gtodd: people tend to handle the pull requests through the github web interface. | ||
gtodd | masak: oops on "tooling" I forgot to mention "pithub" which seems to facilitate dealing with pull requests in a locally cloned repos but I can't get it working just now (firewalled for a bit) | 13:22 | |
masak | ok. | ||
moritz | its-a-pity-hub? | ||
gtodd | masak: ok I just wanted to practice a bit locally ... I'm a RCS subversion and fossil user but git is foreign :) | 13:23 | |
FROGGS: EDT/EST Montreal Canada | |||
FROGGS: (I'm in Ottawa) | |||
FROGGS | gtodd: ahh, okay | ||
gtodd | so GMT -5 or something | 13:24 | |
moritz: haven't heard of that one :-) | 13:25 | ||
13:26
SamuraiJack left
|
|||
gtodd | moritz: but I like the name | 13:27 | |
13:27
SamuraiJack joined
13:30
rindolf joined
|
|||
timotimo | okay, not quite surprisingly, writing ($x, $y) = map { ($_-1, $_, $_+1).pick }, ($x, $y); as two lines without maps is about 5x faster | 13:32 | |
that makes a huge difference in the performance of the whole thing | |||
i don't think that quite qualifies for an optimization ... map unrolling :) | 13:34 | ||
on niecza the difference is almost 0% | 13:36 | ||
that's what JIT can do ... i'm envious | |||
gtodd | masak: so perl6 bugs are tracked on RT (along with perl5) which is nice ... they aren't being moved or reported (or lost) on github .. | ||
jnthn | timotimo: I'm...not sure if that's JIT to thank or something else | 13:37 | |
moritz | well, I think we pay heavily for laziness. If we could statically analyze out laziness in this case, we'd be much faster | ||
masak | gtodd: Rakudo bugs are being tracked on RT for now, yes. | ||
timotimo | moritz: that makes sense. how hard do you think that would be? at least for some cases? | 13:38 | |
13:38
skids joined
|
|||
timotimo | wait, would using for instead make it faster, as for is eager by default now? | 13:38 | |
masak | rn: my ($x, $y) = 100, 1000; ($x, $y).=map({ ($_-1, $_, $_+1).pick }); say $x; say $y | ||
p6eval | rakudo a822ca: OUTPUT«1001000» | 13:39 | |
..niecza v24-37-gf9c8fc2: OUTPUT«1011000» | |||
13:39
frdmn joined
|
|||
pmichaud | good morning, #perl6 | 13:39 | |
masak | pmichaud! \o/ | ||
rn: my ($x, $y) = 100, 1000; ($x, $y).=map({ ($_-1, $_+1).pick }); say $x; say $y | |||
p6eval | niecza v24-37-gf9c8fc2: OUTPUT«1011001» | ||
..rakudo a822ca: OUTPUT«99999» | |||
hoelzro | why are issues enabled for Rakudo on GH if they're not migrated to RT? | ||
moritz | timotimo: the hard part is probably what code to run in the eager case | ||
masak | hoelzro: good question. I don't know. | ||
moritz | hoelzro: they shouldn't be | ||
hoelzro moves to disable them on GH or migrate issues there | 13:40 | ||
moritz just gets a Unicorn from github | |||
pmichaud | issues aren't enabled on Rakudo at GitHub, afaict | ||
jnthn | o/ pmichaud | ||
pmichaud | I don't see an "issues" link. | ||
github.com/rakudo/rakudo/issues # 404 not found | 13:41 | ||
gtodd | masak: I looked and saw many bugs I won't paste here :-) (I wish RT's search URLs were a bit more RESTful) but was unable to follow the advice of the release_guide.pod since I had no way of determining what "needs resolving" :) | 13:42 | |
PerlJam | good $localtime all | ||
pmichaud | PerlJam o/ | 13:43 | |
PerlJam | What's new in the world of #perl6 ? | ||
(or even of Perl 6 :) | |||
hoelzro | ah, they are indeed disabled | ||
gtodd | pmichaud: I have a sense that dvcs works better than distributed bug reporting but ... as long as everything is in sync I guess ... | ||
jnthn | PerlJam: NQP on JVM is progressing steadily again :) | 13:44 | |
timotimo | interesting, the code with for is a tiny bit faster | ||
PerlJam | jnthn: cool! :-) | 13:45 | |
timotimo: "tiny bit" sounds like "measurement error" to me :) | |||
timotimo | jnthn: what interesting challenges lie ahead before rakudo can run on the jvm, too? | ||
PerlJam | timotimo: or perhaps "noise" | ||
colomon | jnthn: \o/ | 13:46 | |
jnthn | timotimo: Dealing with the various remaining Parrot-specific bits of Rakudo is a big part of it. | ||
timotimo: Though finishing up the stuff to make gather/take work on the JVM decidedly also counts as "interesting" :) | 13:47 | ||
timotimo | i read about that | ||
PerlJam | jnthn: is there a feature-matrix style list of what works and what doesn't? | 13:48 | |
jnthn | PerlJam: Well, at the moment Rakudo doesn't run on the JVM at all, so no :) | ||
PerlJam: I guess we could do one for NQP but most things from NQP now work too :) | 13:49 | ||
PerlJam | I meant parrot-nqp vs jvm-nqp. Bits that are done, bits that are todo | ||
jnthn | Ah. | 13:50 | |
There's no matrix for that at the moment, no | |||
But most of what remains is abstractions that don't exist yet on either side. | |||
timotimo | PerlJam: it's 21 seconds vs 28 seconds. | 13:51 | |
13:54
nyuszika7h left
13:55
nyuszika7h joined
|
|||
PerlJam | jnthn: if all of those things were written down (existing or not), then the other *-nqp implementations would have some clear targets for parity. | 13:55 | |
(and would be able to show ways in which they are "better" because they may implement some abstraction that parrot-nqp or jvm-nqp don't have :) | 13:57 | ||
14:01
kaleem left
14:03
nyuszika7h left
14:04
nyuszika7h joined
14:08
rindolf left
14:11
fgomez left
14:12
rindolf joined
14:13
xilo left,
fgomez joined
|
|||
timotimo | arnsholt: does the report on the zavolaj ticket help us fix the problem entirely and all at once? | 14:14 | |
seems like someone did a great job finding the problem | |||
14:19
woosley left
14:20
isBEKaml joined
|
|||
gtodd | so if a VM can handle nqp then perl6 can be made to run somehow | 14:21 | |
masak | heh :) | ||
gtodd: you make it sound so easy! :) | 14:22 | ||
gtodd | but so far there are only 2-3 workable/working VMs (parrot and niezca and ... I forgot) .... | ||
moritz | well, rakudo needs a bit more than nqp does | ||
gtodd | masak: that's what I meant :-) | 14:23 | |
moritz | for example support for continuation-y bits | ||
14:23
raiph joined
|
|||
gtodd | masak: *now* it looks like there's "only 2 VMs" but ... being careful what one wishes for is important ;-) | 14:23 | |
lizmat | afaik, niecza is not a VM, but rather a rakudo on .NET | 14:25 | |
jnthn | a Perl 6 implementation of .Net | 14:26 | |
It's independent of the Rakudo codebase | |||
gtodd | lizmat: ok .. that makes future development of "places where perl6 can run" seem even more possible or errm "easy" :-) | ||
lizmat | s/rakudo/Perl6 | ||
as jnthn pointed out | |||
gtodd | it's not really comparable but there was once upon a time people who said "linux is a kernel people need more than just a kernel to have unix workalike" ... jump ahead 10+ years and ... there's N++ distros :-) | 14:30 | |
14:31
xilo joined
14:35
prammer joined
14:37
gcole joined
14:41
frdmn left
14:43
SmokeMachine left
|
|||
gtodd | masak: btw as it stands merging some of the git pulls (there are 9) breaks the build :-) | 14:47 | |
hoelzro | where is this Perl 6 workshop happening? | 14:48 | |
14:48
SmokeMachine joined
|
|||
gtodd | it is probably easy to fix or possibly I made a mistake but I wouldn't want to presume merging them was necessary ... I was just "practicing" with git | 14:49 | |
masak | hoelzro: github.com/perl6/mu/wiki/perl6-wor...p-may-2013 | 14:52 | |
hoelzro | masak: yes, but where? | 14:53 | |
on the internet? | |||
isBEKaml | irc | ||
japhb | (backlogging) [Coke]: DUMP is not in the spec, it's a Rakudo tool for looking "under the covers". At most the spec could specify that such a thing *exists*, but the output would of necessity be very implementation-dependent, so not spectest-able. | 14:54 | |
14:55
crab2313 joined
|
|||
masak | hoelzro: on a channel near you. | 14:55 | |
japhb | jnthn, Why the dichotomy between parameters having Any/Any for default constraint/default type, but has and my having Mu/Any? | ||
hoelzro | masak: neat | ||
masak | hoelzro: interested? | 14:56 | |
hoelzro | yes | ||
I just added myself =) | |||
japhb | (And FWIW, I had trouble finding the Mu-ness of has in the spec by searching. If it was anywhere, I think it must have been implicit. | ||
) | |||
timotimo | japhb: so that methods will autothread on junctions | ||
masak | hoelzro++ | ||
14:57
jerry66 joined
|
|||
jerry66 | xgermanamateur.blogspot.com/2013/04...world.html | 14:57 | |
14:57
jerry66 left
|
|||
masak | I love you people ♡ | 14:57 | |
timotimo | looking for a somewhat nice, but not completely easy to parse text-based format | ||
masak | er. I didn't mean that expression of love to come right after an unfortunate drive-by porn link :P | ||
japhb | timotimo, Hmmm, yes, and you don't exactly want to autothread across setting object attributes ... | 14:58 | |
FROGGS | masak: LIAR *g* | ||
masak | ;) | ||
japhb | timotimo, thanks for the reminder. | ||
isBEKaml | masak: you got atrocious timing! :P | ||
14:58
jerry66 joined,
jerry66 left
|
|||
masak | seems so. | 14:59 | |
jnthn | japhb: Because people generally expect to be able to store anything they like in a scalar they declared, but don't expect to have junctions floating into their code unexpectedly. | ||
japhb | jnthn, yep, makes sense. | 15:00 | |
jnthn | Note that pointy blocks have Mu as the type constraint, as those tend to come inside of your routine | 15:01 | |
And for @foo -> $x { } auto-threading on the $x confused people :) | |||
15:02
isBEKaml left
|
|||
japhb | Oh, makes total sense, yes. | 15:02 | |
Is there somewhere in the spec that all these default constraint / default type choices are compared, like a table or something? | |||
Like I said, when I searched yesterday, I had searchfail. | 15:03 | ||
jnthn | I *think* these things live in S06 or maybe S09 where auto-threading is defined, but I forget exactly where... | ||
I'm pretty sure there's not a nice table like you describe, though. | |||
nwc10 | I don't think that it's S06, as I read it end-to-end yesterday/today | 15:04 | |
FROGGS | japhb: maybe add a nice table? | 15:11 | |
15:13
crab2313 left
|
|||
gtodd | hmm I thought I just clicked on the IRC workshop link ... :-| | 15:14 | |
masak: I think can be in the audience 2013-05-01T16:00Z -- 2013-05-01T20:00Z | 15:18 | ||
i.e. in my local time zone (EST) | |||
[Coke] | japhb: I think I won your DUMP contest. | ||
gtodd | masak: I won't understand anything it will be more of an ethnographic thing for me | 15:19 | |
masak | gtodd: hey, don't undersell yourself. either way, you're welcome to attend. | 15:22 | |
gtodd | thanks | 15:23 | |
[Coke] | r: say 39289 /22 | 15:27 | |
p6eval | rakudo a822ca: OUTPUT«1785.863636» | ||
[Coke] | ah, no diakopter did. | 15:29 | |
japhb | [Coke], diakopter is the current leader, IIRC, with a ratio of 5384.076923 | ||
right | |||
FROGGS, currently suffering a little tuit shortage, but I may be able to yes. | 15:30 | ||
Where *should* such a table live? | |||
[Coke] | japhb: I misread his original as only generating that many, not having that ratio. Just noticed the div on the reread. | 15:31 | |
FROGGS | japhb: what about that place? doc.perl6.org/language/variables | ||
15:32
brrt left
15:37
fhelmberger left
|
|||
japhb | FROGGS, yes, should most likely go there (or have a link from there), but that's documentation, not spec. Should be in the spec too. | 15:42 | |
[Coke], ah, gotcha | |||
15:43
kaleem joined
|
|||
[Coke] | I assume one of the unwritten rules is "via the evalbot" so anything that times out doesn't count. | 15:44 | |
15:44
isBEKaml joined,
isBEKaml left,
kaleem left
|
|||
lizmat | S03:2751 states: "An C<IO> object has a C<.file> method that can be queried for its filename (if known)." | 15:44 | |
15:45
isBEKaml joined
|
|||
lizmat | shouldn't that be <.path> ? | 15:45 | |
rn: my $x="fooz".IO; say $x | 15:46 | ||
p6eval | niecza v24-37-gf9c8fc2: OUTPUT«"fooz".IO» | ||
..rakudo a822ca: OUTPUT«IO.new(ins => 0, chomp => Bool::True, path => "fooz")» | |||
PerlJam | I think that depends on who you believe :) | 15:47 | |
lizmat | out for dinner, bbl& | 15:48 | |
rn: my $x="fooz".IO; say $x.path | 15:50 | ||
p6eval | rakudo a822ca, niecza v24-37-gf9c8fc2: OUTPUT«fooz» | ||
lizmat | rn: my $x="fooz".IO; say $x.file | ||
masak votes for '.path' being the correct one, and the spec being fossilized | |||
lizmat will then fix trhe | |||
p6eval | rakudo a822ca: OUTPUT«No such method 'file' for invocant of type 'IO' in block at /tmp/uoXs3nr2Hc:1» | ||
..niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: Unable to resolve method file in type IO at /tmp/LvkmQ_GOOK line 1 (mainline @ 5)  at /home/p6eval/niecza/lib/CORE.setting line 4299 (ANON @ 3)  at /home/p6eval/niecza/lib/CORE.setting line 4300 (module-CORE @ 583)  at /home/p6… | |||
lizmat | the spec when I get back | ||
masak | ++lizmat | ||
rationale: 'file' tells you nothing, 'path' tells you that you're wanting the location of the thing. | 15:51 | ||
PerlJam | masak: and so when you have an IO object that's really and HTTP request to some resource, "path" will tell you the URI? | 15:55 | |
(not arguing, just pushing the analogy) | |||
s/and/an/ | 15:56 | ||
masak | PerlJam: I think the analogy breaks down sooner than that. with $*IN and $*ERR, for example. | 15:58 | |
PerlJam | aye, so what should .path return in those instance? | ||
masak | PerlJam: but I don't see how that makes "path" worse than "file". :) | ||
PerlJam | no, path is certainly better than file :) | 15:59 | |
masak | PerlJam: also, this is just the usual confusion that our IO class suffers. | ||
it's become better with the last refactor, but I forget the details. | |||
moritz++ might remember. | |||
16:00
grondilu_ joined
|
|||
moritz wakes-on-IRC | 16:00 | ||
remember what? | |||
16:01
domidumont left
|
|||
moritz | oh, IO refactor | 16:01 | |
it mostly deleted a bunch of design astronautism that was way too vague to implement | 16:02 | ||
and added IO::Path | |||
and specced a few functions that existed in the implementations | |||
and unconfused Str and Buf in a few places | |||
16:03
grondilu left
|
|||
masak | oh right, IO::Path. | 16:03 | |
16:13
FROGGS left
|
|||
japhb | [Coke], yeah, 'via the evalbot' also makes things fair for use of system-dependent values, like %*ENV. :-) | 16:14 | |
dalek | p/hll: 09d22fc | jnthn++ | src/ (2 files): Add arnsholt++ nqp::sethllconfig implementation. Also teach it a bunch of extra HLL-interop related keys. |
16:32 | |
p/hll: 6b1f913 | jnthn++ | src/ (4 files): Start of new HLL-interop infrastructure. Builds upon the Parrot HLL identifiers. This mechanism will be used to fix various Rakudo issues when NQP-defiend objects are encountered. It will also replace the special-case perl6ize_type with a more general and more portable mechanism, that can work in an environment where all objects are 6model objects. |
|||
16:32
Chillance joined
16:36
grondilu joined
16:39
grondilu_ left
16:40
denisboyun_ left
16:45
FROGGS joined
16:46
_jaldhar joined
|
|||
dalek | kudo/hll: 78665ec | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm: Set up some HLL interop configuration. |
16:50 | |
kudo/hll: 5de401d | jnthn++ | src/ (5 files): First round of pir::perl6ize_type => nqp::hllize. |
|||
kudo/hll: 879a068 | jnthn++ | src/ (9 files): Replace remaining perl6ize_type uses with hllize. |
|||
16:56
dakkar left
|
|||
arnsholt | jnthn: Would that branch be a good place to start from for a saner version of my vmarray work? | 16:59 | |
16:59
xilo left
|
|||
jnthn | arnsholt: It's opening commit is actually directly nabbing stuff you did. | 16:59 | |
arnsholt: This branch should merge soon-ish. It relates to your work in so far as making it possible to handle a world where NQP's basic types (like arrays) are 6model objects. | 17:00 | ||
arnsholt: I was about to hit the issue on the JVM port, plus I want to fix some long-standing ugliness in Rakudo with regard to using objects from NQP land. | 17:01 | ||
arnsholt | Spiffy! | ||
jnthn | arnsholt: But it direclty helps your work too :) | ||
arnsholt | In that case I may well just wait for the branch to master | ||
jnthn | Yeah. It's going smoothly so far. | 17:02 | |
arnsholt | Now that I have a better idea of what needs doing, I think I can do it saner and with far less invasive changes to the NQP code in nqp | ||
jnthn | OK | ||
17:02
prammer_ joined
|
|||
isBEKaml | arnsholt: heh, everytime I see someone saying "Spiffy", I visualise a guy spitting into his hands and rubbing on his pants. :P | 17:02 | |
arnsholt | The current state of it is such that I'm pretty certain there are sad-paths that aren't triggered in the NQP/Rakudo compile cycles | 17:03 | |
PerlJam | Spiffy | ||
arnsholt | For example "@vmlist == 3" doesn't work, which is a fairly common idiom. So coercion to I should probably go through the smart_numify op | ||
PerlJam | (I'm hacking your brane isBEKaml! ;-) | ||
dalek | kudo/hll: 8627b69 | jnthn++ | src/ops/perl6.ops: Toss perl6ize_type dynop. |
17:04 | |
kudo/hll: a7e8fbf | jnthn++ | src/Perl6/Metamodel/ (11 files): Tag all types as being Perl 6 types. |
|||
jnthn | arnsholt: Yes, I think that's how I have it on the JVM> | ||
isBEKaml | SpiffyJam! :D | ||
17:04
daxim left
|
|||
jnthn | Well, my replacement of perl6ize_type with hllize busts no spectests so far. :) | 17:04 | |
arnsholt | jnthn: Oh, that's good too. Independently coming up with the same idea as you have on the JVM is a fairly good sign =) | 17:05 | |
jnthn | r: say Sub.^methods | ||
p6eval | rakudo a822ca: OUTPUT«No such method 'gist' for invocant of type 'Sub' in method gist at src/gen/CORE.setting:5259 in method gist at src/gen/CORE.setting:902 in sub say at src/gen/CORE.setting:7787 in block at /tmp/l7D2UoP5bg:1» | ||
jnthn | I should be able to fix things like this soon too :) | 17:06 | |
Dinner first, though | |||
arnsholt | jnthn: In the end, do you expect any of the custom Parrot ops in Rakudo to survive? | ||
jnthn | arnsholt: Some will, but some things really want pushing a little deeper. | 17:08 | |
arnsholt: And some need not be ops. | |||
17:09
domidumont joined
17:13
Chillance_ joined
|
|||
arnsholt | Yeah, that's what I thought. The less VM-specific stuff the better | 17:14 | |
17:14
tgt left
17:16
Chillance left
|
|||
[Coke] | question I had - what about custom rakudo ops? will those be pushed down into nqp, or will those go away some other how? | 17:18 | |
arnsholt | Pretty much what jnthn just said I think. Some things are going away, but I suspect there will always be a bit of VM-specific stuff | 17:20 | |
If nothing else performance may force VM-specific stuff | |||
17:22
cognominal left,
cognominal joined
|
|||
[Coke] | whoops, I misread arnsholt's question as being "in NQP". so, deeper = "move to nqp" ? | 17:34 | |
17:45
_jaldhar left
|
|||
sergot | hi ! o/ | 17:51 | |
masak | sergocie! \o/ | 17:54 | |
17:58
fhelmberger joined,
xilo joined
17:59
fhelmberger left,
tgt joined
|
|||
timotimo | ooooh, YAML is bitrotted a bit | 18:00 | |
i should fix it. | |||
18:01
denisboyun_ joined
|
|||
tadzik | hello hello | 18:06 | |
moritz | ohle leho | 18:07 | |
or so :-) | |||
isBEKaml | tadzik: 'elo | ||
colomon | o/ | ||
18:10
fhelmberger joined
|
|||
masak | tadziku! \o/ | 18:10 | |
isBEKaml | tadzik: [brane-bust] have you started counting leaves to build forests? :P | 18:11 | |
tadzik | oh, hm | 18:12 | |
nope :) | |||
18:13
prammer_ left,
prammer left
18:16
fhelmberger left
|
|||
timotimo | oh, it's TestML that's bitrotted, not YAML | 18:18 | |
and moritz++ already added patches and a pull requests | 18:20 | ||
PerlJam | twice now today I've glanced at a Perl 6 program and thought it was Perl 5. | 18:22 | |
(granted, since the program were written by me, that could be saying something about how I write Perl 6 code ) | |||
*programs | |||
18:26
dmol left
|
|||
perigrin | PerlJam: are you saying that's a good thing or a bad thing? | 18:27 | |
18:28
dmol joined
|
|||
timotimo | bleh, no comments in this thing | 18:28 | |
jnthn back | 18:29 | ||
moritz | Yay. The first evening for three days that bringing $daughter to bed didn't involve 2 hours of her screaming | 18:32 | |
isBEKaml | moritz: was it 1 hr 59 mins of screaming? (I should really shut up) :P | 18:33 | |
moritz | I might get around to actually do something | ||
18:33
prammer joined
|
|||
moritz | isBEKaml: even better, no screaming at all | 18:33 | |
moritz too tired to think of a witty response | 18:34 | ||
18:34
kivutar left
|
|||
isBEKaml | moritz: nice, rest and be frei! | 18:35 | |
18:35
Chillance_ is now known as Chillance
|
|||
isBEKaml | hmm, *free | 18:35 | |
moritz | he, "frei" is the correct word in German :-) | 18:36 | |
masak | moritz: parenting sounds awesome, where do I sign up? :) | ||
isBEKaml | moritz: yeah, I got briefly confused where that came from. :) | ||
nwc10 | it's easiest with a co-conspirator | ||
masak decides to get one of those non-scream models | |||
isBEKaml | masak: they don't make such stock anymore. | 18:37 | |
timotimo | knowing absolutely nothing about testml, i may not want to tackle YAML and TestML at this point | ||
18:37
kivutar joined
|
|||
moritz | to be fair, Ronja usually one of those non-scream models | 18:37 | |
*is | 18:38 | ||
but no smill child takes it well when the mother is away for several days | |||
isBEKaml | o.O( das kind nicht den mund halten! ) | 18:40 | |
18:41
tgt left
|
|||
sergot | nom: sub readme_file(Str $path) { return "README$_" if "$path/README$_".IO.e for "", ".md"; } | 18:42 | |
p6eval | rakudo a822ca: ( no output ) | ||
sergot | star: sub readme_file(Str $path) { return "README$_" if "$path/README$_".IO.e for "", ".md"; } | ||
p6eval | star 2013.02: ( no output ) | ||
18:43
SamuraiJack left
|
|||
moritz | sergot: note that p6eval runs on an installed R*, and I don't think the README is installed | 18:44 | |
masak | moritz: oh, so that was the explanation. I wish you a lot of patience and perseverance, then. | ||
sergot | What does "Attempt to return outside of any Routine" mean? | ||
moritz: I have another problem I think. | 18:45 | ||
masak | sergot: means you put a return in a lazy 'for' loop :( | ||
sergot: or in a .map | |||
sergot | What does lazy 'for' loop mean? :) | ||
It worked some time ago. | 18:46 | ||
:) | |||
FROGGS | sergot: try the following locally: sub readme_file(Str $path) { return "README$_" if "$path/README$_".IO.e for "", ".md"; return Mu } | ||
moritz | and it'll work with the 2013.04 star release again | ||
masak: thanks | |||
isBEKaml | sergot: yup, I can reproduce that in 2013.02. Was that fixed since? | 18:47 | |
moritz: oh, I didn't see your message. 2013.04, okay. :) | 18:48 | ||
isBEKaml really goes back to lurking | 18:49 | ||
moritz | basically, rakudo made for-loops lazy by default, as per spec | ||
18:49
tgt joined
|
|||
moritz | and it was surprising in so many ways that I switched it back to being eager | 18:49 | |
18:50
arlinius left
|
|||
japhb | For which I most sincerely thank you, moritz++ | 18:51 | |
moritz | the next question is whether loops should return values at all when they are statements on their own | ||
timotimo | i find this grammar is written in an annoying way. | 18:52 | |
moritz | (and not part of any other expression) | ||
japhb | My personal feeling, on unexpected bad performance grounds, is no -- seeing an O(n) algorithm become O(n**2) because of hidden scan semantics kinda sucks. | 18:55 | |
I do not want performance of an algorithm to be different depending on order of statements in a sub. | 18:56 | ||
(When the algorithm itself is not changing.) | |||
18:56
kivutar left
|
|||
perigrin | thanks you saved me from snark overload there. | 18:56 | |
timotimo | no wonder it says "couldn't find TestML meta declaration". the grammar looks for a colon, but it's not there in the files. | 18:57 | |
19:05
isBEKaml left
19:08
domidumont left
19:10
kivutar joined
19:12
fhelmberger joined
19:13
fhelmberger left
19:14
spider-mario joined
|
|||
timotimo | i have the feeling that those testml files from the tests from TestML aren't actually valid testml | 19:17 | |
FROGGS .oO( beetlejuice beetlejuice beetlejuice ) | 19:19 | ||
timotimo | FROGGS: the grammar things there should be a : between TestML and the version, for instance. that is not the case. | ||
FROGGS | maybe the author was in lax mode when writing it? | 19:21 | |
moritz | ask ingy :-) | 19:22 | |
FROGGS | but the question (for me is), is the test file right or the grammar? | ||
19:22
rindolf left
|
|||
moritz | and the answer is an emphatic "yes!" | 19:22 | |
FROGGS | hehe | ||
timotimo | oh, i could ask ingy | 19:23 | |
FROGGS | moritz: that is the answer I get from my son usually | ||
timotimo | ingy: can you give me a bit of guidance with TestML-p6? i'd like to unbitrot YAML, but it uses TestML and that totally does no twork | ||
FROGGS | that's why I tend to not ask or-questions | ||
19:23
berekuk joined
|
|||
masak | moritz: the 'x' in 'xor' is pronounced like a cat hissing loudly, or like static from an old-skool TV set. | 19:25 | |
moritz | masak: even with xor, the answer is "yes" :-) | 19:27 | |
masak | dang! | 19:29 | |
timotimo | i guess i'll just have a look at the official specification | 19:35 | |
colomon | no twork! | 19:38 | |
masak .oO( sporks are old hat, meet the twork! ) | 19:40 | ||
colomon | no! no tworks! | 19:41 | |
colomon wonders if there's a way to teach TextMate to use < > as quotes. | 19:42 | ||
PerlJam tworks the pkench | |||
dalek | p/hll: 5f9c348 | jnthn++ | src/ (2 files): Code object mapping support. |
19:43 | |
p/hll: 0e3f03c | jnthn++ | src/6model/sixmodelobject.c: Interop mapping support for 6model objects. |
|||
19:49
anant_ left,
araujo_ joined
19:51
araujo_ left
|
|||
dalek | kudo/hll: 5cb7046 | jnthn++ | / (4 files): Add ForeignCode, to wrap foreign code objects. This means they behave sufficiently Perl 6-like to not blow up: say Sub.^methods And similar. |
19:55 | |
colomon has TextMate handling < > as quotes! o/ | 19:57 | ||
dalek | p: 09d22fc | jnthn++ | src/ (2 files): Add arnsholt++ nqp::sethllconfig implementation. Also teach it a bunch of extra HLL-interop related keys. |
||
p: 6b1f913 | jnthn++ | src/ (4 files): Start of new HLL-interop infrastructure. Builds upon the Parrot HLL identifiers. This mechanism will be used to fix various Rakudo issues when NQP-defiend objects are encountered. It will also replace the special-case perl6ize_type with a more general and more portable mechanism, that can work in an environment where all objects are 6model objects. |
|||
kudo/nom: 78665ec | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm: Set up some HLL interop configuration. |
|||
kudo/nom: 5de401d | jnthn++ | src/ (5 files): First round of pir::perl6ize_type => nqp::hllize. |
|||
kudo/nom: 879a068 | jnthn++ | src/ (9 files): Replace remaining perl6ize_type uses with hllize. |
|||
kudo/nom: 8627b69 | jnthn++ | src/ops/perl6.ops: Toss perl6ize_type dynop. |
|||
kudo/nom: a7e8fbf | jnthn++ | src/Perl6/Metamodel/ (11 files): Tag all types as being Perl 6 types. Bump NQP_REVISION. |
|||
ast: 4ac2c2b | jnthn++ | S12-introspection/methods.t: Test for RT#115658. |
19:59 | ||
19:59
fhelmberger joined
20:00
fhelmberger left
|
|||
FROGGS | cool! | 20:00 | |
moritz | \o/ | ||
nwc10 | and now beer | ||
? | |||
FROGGS | hehe | ||
jnthn | Soon :) | 20:01 | |
jnthn resolves the RT | |||
gtodd | masak: so there were a few problems with the build not working when I added some of the pull requests so .. I did: git reset --hard 51c97843a..... | 20:04 | |
and rebuilt | |||
tadzik is tempted to photoshop "SOON" onto a picture of jnthn++ with beer | |||
similarly to img.izismile.com/img/img5/20120224/...640_03.jpg for example | |||
FROGGS | hehe | 20:05 | |
PerlJam | tadzik: I thought beer is was actually fueled all of his work? | ||
FROGGS | ++tadzik | ||
PerlJam | tadzik: it would be more like "ALWAYS" | ||
tadzik | :) | ||
gtodd | masak: git has strange docs and --help flags ... lots of sub commands remain mysterious to me but it is not too different than fossil | ||
FROGGS | tadzik: I'll order a shirt | ||
moritz | git has the "dungeons to be discovered, princesses to be rescued" feel to it | 20:07 | |
which is also well-known from Perl 5 :-) | |||
diakopter | except without cheat codes | ||
moritz | oh, I forgot "dragons to be slain" | ||
diakopter: oh, google is the cheat code :-) | 20:08 | ||
20:08
gcole left
|
|||
rjbs | jnthn++ # 115658 | 20:10 | |
[Coke] | jnthn++ | ||
gtodd | moritz: hah | 20:15 | |
so if dalek says: | 20:16 | ||
5:58:46) dalek: roast: Test for RT#115658. review: github.com/perl6/roast/commit/4ac2c2be9f |
|||
does that men the commit 4ac2c2be9f has been reviewed and stuck into nom or it's waiting for review? | 20:17 | ||
tadzik | it's commited and pushed, if you want to review click here | ||
it could as well say "summary:" | 20:18 | ||
dalek | ecs: 18c2444 | (Elizabeth Mattijsen)++ | S03-operators.pod: Replace mention of now defunct .file method by de-facto .path |
20:20 | |
moritz | it gives you a link where *you* can review the commit | 20:21 | |
[Coke] | as we discussed yesterday, there's no formal "review" process for incoming commits, esp. if you've got commit privs. | 20:22 | |
PerlJam | lizmat++ | 20:23 | |
labster wonders if .path on IO should return IO::Path instead | 20:26 | ||
20:26
araujo joined,
araujo left,
araujo joined
|
|||
PerlJam | www.facebook.com/photo.php?fbid=51...amp;ref=nf reminds me of #perl6 for some reason :) | 20:26 | |
Tene | Heh. | 20:27 | |
masak | :D | ||
lizmat | s/eat/program and it would be entirely appropriate | ||
masak .oO( code-pendence ) | 20:28 | ||
lizmat | labster: I would think yes, as it would getting an absolute path from it automatic, no? | ||
labster | not quite, you have to do .absolute on it. | 20:29 | |
20:32
PacoAir joined
|
|||
labster | So if I wanted to install File::Spec as a core module, would all I have to do is drop it in /rakudo/src/core? | 20:34 | |
tadzik | core module, or part of CORE.setting? | 20:36 | |
labster: obligatory reading: perlgeek.de/blog-en/perl-6/how-core-is-core.html | |||
labster | It's core as in: IO::Path which is in S32 needs it to work properly, but it doesn't need to be added to the namespace by default. | 20:41 | |
Thanks for the link tadzik++ | 20:42 | ||
dalek | kudo/nom: 003d5cf | jnthn++ | src/Perl6/Metamodel/ContainerDescriptor.pm: A simple pir:: => nqp:: in the MOP. |
20:44 | |
kudo/nom: 4402426 | jnthn++ | src/ (4 files): Replace an op and a dozen C lines with 1 NQP line. |
|||
20:45
bbkr joined
|
|||
tadzik | wow :) | 20:47 | |
lizmat always likes it when code get better by (mostly) removing code | |||
tadzik | . o O ( Code is best when it's gone ) | 20:48 | |
lizmat | . o O ( that's another way of finishing a project ) | 20:49 | |
Tene | c2.com/cgi/wiki?LinesOfCode | ||
jnthn: any chance you'll be blogging again soon? | 20:51 | ||
lee_ | my @list = 0..1_000_000; # should not take 30s and over a 1G of RAM right? | 20:52 | |
jnthn | Tene: Yeah, it's pretty high on my todo list, now that I'm back in action after my break :) | 20:53 | |
lee_ | i was looking at en.wikibooks.org/wiki/Perl_6_Progra...eds#Ranges and it says it should be lazy | ||
Tene | Glad to hear it. :) | ||
lee_ | so i'm surprised it takes so long | ||
tadzik | r: my $list = 0..1_000_000 | ||
p6eval | rakudo 805190: ( no output ) | ||
tadzik | lee_: if you assign it to a list container (@foo) it expands the range into a list | 20:54 | |
20:54
splitcells joined
|
|||
labster | r: my @list := 0..1_000_000; | 20:54 | |
p6eval | rakudo 805190: ( no output ) | ||
tadzik | I suppose wikibooks may be outdated here and there | ||
lee_ | tadzik: what i am really trying to speed up is 'say [+] 0..1_000_000' which also takes 30s | 20:55 | |
tadzik | ah, there are plans for things like this | 20:56 | |
I mean optimizing these sort of cases | |||
we're not quite there yet, sorry | |||
lee_ | ok, just curious if i was missing something | 20:57 | |
thanks! | |||
tadzik | I suppose that at this moment it generates the entire list in memory and sums its elements | ||
21:01
dmol left
|
|||
lee_ | is there a suggested way to iterate over a lazy list like that? | 21:01 | |
without generating the entire list | |||
tadzik | if you iterate over the lazy list you will generate it in memory, but not at once :) | 21:03 | |
anocelot | lee_ A for loop...? | ||
21:03
dmol joined
|
|||
anocelot read "like that" very, very litterally. | 21:03 | ||
lizmat | map is supposed to be lazy, no? | 21:04 | |
21:04
dmol left
21:05
tgt left
|
|||
labster | ($end-$begin)/2*($end-$begin+1) ? | 21:05 | |
21:05
gcole joined
21:06
dmol joined
|
|||
dalek | p: 18f5d04 | jnthn++ | src/ops/nqp.ops: Make nqp::setcodeobj cool with coroutines. |
21:06 | |
21:07
splitcells left
21:08
dmol left,
skids left
21:09
tgt joined
|
|||
dalek | kudo/nom: ccaae41 | (Geoffrey Broadwell)++ | src/core/Mu.pm: Change text for unmarshallable hash value to '...' to match unmarshallable objects |
21:09 | |
kudo/nom: df6a910 | (Geoffrey Broadwell)++ | src/ (5 files): Merge branch 'nom' of github.com:rakudo/rakudo into nom |
|||
21:10
dmol joined
21:12
dmol left
|
|||
labster | lee_: maybe this will help: rosettacode.org/wiki/Sum_of_a_series#Perl_6 | 21:15 | |
lee_ | labster: perfect, thanks | 21:18 | |
21:19
PacoAir left
21:23
LlamaRider joined
21:24
shachaf_ joined,
shachaf_ left,
shachaf_ joined,
shachaf_ is now known as shachaf
|
|||
LlamaRider | masak: just signed up for your tutorial, looks interesting :) Have you decided what it will cover? | 21:26 | |
s/tutorial/workshop/ | |||
21:27
fgomez left
21:28
ironcame1 joined,
zamolxes_ joined,
nwc10_ joined
21:31
fgomez joined
21:32
kaare_ left
21:33
zamolxes left
21:34
kivutar left
|
|||
masak | LlamaRider: I'm fairly clear on what it will cover, but I haven't written it down yet. I will need to do that first before divulging a schedule. | 21:36 | |
LlamaRider: also, welcome aboard! \o/ | |||
lizmat | rn: my ($a, $b, $c) = 1, 2, 3, 4; say $c | 21:39 | |
p6eval | rakudo 440242: OUTPUT«3» | ||
..niecza v24-37-gf9c8fc2: OUTPUT«Potential difficulties: $a is declared but not used at /tmp/fo6SjcCcWT line 1:------> my ⏏($a, $b, $c) = 1, 2, 3, 4; say $c $b is declared but not used at /tmp/fo6SjcCcWT line 1:------> my ⏏($a, $b, $c) = 1, 2, 3, 4;… | |||
lizmat | S03:2918 states: "This, however, warns you of information loss: ($a, $b, $c) = 1, 2, 3, 4;" | 21:40 | |
so is this a matter or NYI ? | |||
FROGGS | ya, I remember a discussion about that | ||
NYI, I believe it should warn about 4 being in sink context | 21:41 | ||
lizmat | n: my ($a, $b, $c) = 1, 2, 3, 4; say $a, $b, $c | ||
p6eval | niecza v24-37-gf9c8fc2: OUTPUT«123» | ||
21:41
rking joined
|
|||
lizmat registers this as NYI then | 21:42 | ||
21:43
hugme joined,
ChanServ sets mode: +v hugme
|
|||
dalek | kudo/nom: e088624 | jnthn++ | / (5 files): Eliminate a Perl 6 dynop in favor of an NQP one. They did pretty much the same thing, just ended up with both for historical reasons. |
21:44 | |
kudo/nom: 83d0f6c | jnthn++ | src/ (5 files): Toss another Perl 6 op that duplicated an NQP one. |
|||
kudo/nom: 00ca10a | jnthn++ | src/ (4 files): Assorted pir:: => nqp::. |
|||
21:52
woolfy left
22:03
lustlife left
22:05
kurahaupo joined
|
|||
dalek | ecs: 5ca8187 | (Elizabeth Mattijsen)++ | S03-operators.pod: Added semi-colons so that examples work in cut'n'paste situation |
22:15 | |
lizmat | goodnight #perl6! | 22:20 | |
jnthn | 'night, lizmat | 22:21 | |
22:21
erkan joined,
erkan left,
erkan joined
|
|||
lee_ | tadzik: i took a look at rakudo's reduce implementation and it appears to use a for loop, which i gather is now eager? | 22:25 | |
would it be worth changing? | |||
jnthn | A reduce operation is inherently eager in so far as it needs all the values... | ||
lee_ | yes, doh | ||
masak | :) | 22:26 | |
jnthn | I think the range special case is optimizable as a special case. | ||
lee_ | i'll play around with that | 22:27 | |
jnthn | Needs care to cope with the fact that range end points can be inclusive/exclusive. | ||
And that not all ranges are integer or even numeric | |||
22:29
spider-mario left
22:32
skids joined
|
|||
colomon | reduce is only eager if it isn't triangle, right? | 22:33 | |
jnthn | Right. | ||
Hmm. Seems I kinda considers that as a different meta-operator... :) | 22:34 | ||
22:39
fhelmberger joined,
fhelmberger left
|
|||
japhb | tadzik, what are your thoughts on panda supporting multiple projects.json files, fetched from multiple locations? | 22:47 | |
My use case is to have a private Perl 6 module collection at $day-job for the stuff I can't release into the wild ... but I still want to use standard tools to handle it. | 22:48 | ||
22:49
grondilu left
|
|||
japhb | So I want to be able to fetch the public projects.json for all the open source modules, and a separate projects.json from our repo server for the private ones, and be able to specify that the private projects list overrides the public one. | 22:49 | |
(Most of the time they won't conflict, but I'd hate to have a huge mess because sometime down the road someone created a public module that happened to name-collide with one of ours.) | 22:51 | ||
FROGGS | japhb: if we had the <auth> adverbs on use-statements yet you would be safe | 22:52 | |
japhb | .ask tadzik Please take a gander at the panda enhancement idea starting at irclog.perlgeek.de/perl6/2013-04-09#i_6684351 and let me know what you think | ||
yoleaux | japhb: I'll pass your message to tadzik. | ||
FROGGS | use File::Tools:auth<MyCompany>; | ||
japhb | Ah yes, true enough. | 22:53 | |
Maybe what I'm asking for then is to finally have auths. | |||
FROGGS | but I guess it is still a long way to that point :/ | ||
japhb | Why do I get the feeling before I do a talk on this, I'm going to have to fix the stuff that's not Right yet? | ||
FROGGS | the panda way should be much easier | ||
because that is hoe community-ware works? | 22:54 | ||
japhb | FROGGS, sure, but there's a nice stepping stone by which panda learns about auths and understands multiple sources of auth (and other meta) data, and uses a static rule about which to install, before we get the whole multi-install everything goes happy place. | 22:55 | |
TDD: Talk Driven Development | 22:56 | ||
FROGGS | hehe | ||
masak | 'night, #perl6 | 22:57 | |
japhb | That said, when we do automated recompiles, we're going to have to be working with files by content hash anyway, so might as well take that opportunity to start doing All The Things | ||
'night, masak, sleep well | |||
FROGGS | night masak | ||
well, I made a proposal about the module-loadery... but I had no time yet to implement it | 22:58 | ||
japhb | ditto on both counts :-) -- though as I recall mine tried to prematurely optimize, and it turned out the full generality was needed anyway. | 23:00 | |
FROGGS | ya, I tried to optimize less at first, so you can better peek and poke and see what is (not) happening | 23:01 | |
that's why I put "so much" information in the manifest files, so you dont need extra debug information when starting with it | 23:02 | ||
japhb | I think I've got a better idea (than my original, I forget how yours varies) churning in my head about handling manifest files efficiently. | ||
japhb wants to avoid the "startup involves thousands of stat()s" that certain other languages fall prey to. | 23:03 | ||
FROGGS | well, my first goal is to provide stability and reliability | ||
japhb | Sure, but I'm trying to keep startup time from getting *even worse* than it already is. | 23:04 | |
FROGGS | sure sure | ||
japhb | (At least, thanks to the herculean efforts of the Rakudo devs, it's way better than it once was.) | ||
jnthn | sleep & | 23:07 | |
japhb | good dreams, jnthn | 23:08 | |
jnthn | here's hoping :) | ||
o/ | |||
FROGGS | gnight jnthn | ||
23:10
denisboyun_ left
|
|||
lue | S02/Names/Dynamic variable creation: "It will not be created in GLOBAL (or PROCESS) automatically, nor is it created in any lexical scope." Does that mean my own $* variable won't be treated the same as the core ones unless I use the example at the bottom? | 23:21 | |
23:24
telex joined
23:42
Chillance left
23:45
LlamaRider left
|