»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
00:00
beastd left
00:01
sjohnson left
|
|||
raiph | am i right in saying timotimo recently created added an optimization phase for nqp? | 00:04 | |
00:06
btyler left
|
|||
japhb_ | preflex: tell timotimo An optimization for you -- make sure /^ \d / doesn't turn into: concat(scan, concat(anchor:bos, cclass:\\d), pass) -- that leading scan shouldn't be there if the next atom is an anchor:bos. I fear how many places this is happening (and might nearly by itself explain weird Rakudo parsing slowness if it's common). | 00:10 | |
preflex | Consider it noted. | ||
raiph | japhb_: that optimization would be in nqp code, not c, right? | 00:12 | |
japhb_ | raiph: Yes, I'm pretty sure so. | ||
raiph | thx | ||
japhb_ | It's a pessimal code generation, not a failure of the regex engine itself. | 00:13 | |
timotimo | i already made the optimisation | 00:16 | |
preflex | timotimo: you have 1 new message. '/msg preflex messages' to read it. | ||
timotimo | to remove scans before BOS | ||
i don't know if it's in master yet | |||
fixing that didn't cause a significant improvement for stage parse at least. | |||
japhb_ | \o/ /o\ | ||
Wait ... did you do the optimization *both* in NQP and Rakudo? | 00:17 | ||
Because since it's code generation, I think you'd need to do both. | |||
TimToady | are you using star? | 00:19 | |
timotimo | ah, yes, i have a branch with a single commit that does nothing except invoke the P6QRegex optimizer | 00:20 | |
it's not in nom, though | |||
00:22
sjohnson joined
|
|||
japhb_ | TimToady, no, from-scratch build as of a few days ago. | 00:22 | |
timotimo, Is there a reason not to merge? | |||
timotimo | good question | 00:23 | |
do you want to test the branch for me? :P | 00:24 | ||
8i'll get an overview in a minute | |||
00:28
TimK1 left
|
|||
dalek | p/simplify_before: 1c3737b | (Timo Paulssen)++ | src/QRegex/P6Regex/Optimizer.nqp: remove futile scan operations in poscaps and subrules. |
00:29 | |
p/simplify_before: b45fce6 | (Timo Paulssen)++ | src/QRegex/P6Regex/Optimizer.nqp: teach the regex optimizer about LEVEL |
|||
timotimo | this is the branch in which the beginning-of-string-scan gets eliminated | ||
dalek | kudo/regex_optimizer: b2f1e2b | (Timo Paulssen)++ | src/Perl6/Optimizer.nqp: run the QRegex optimizer from rakudo's optimizer. |
00:30 | |
timotimo | this is the branch that launches the regex optimizer from rakudo | ||
if you want to test them, feel free :) | |||
japhb | I'm literally about to start a meeting ... | ||
00:30
kivutar left
00:31
TimK1 joined
|
|||
timotimo | that's all right :) | 00:31 | |
japhb | but I do have a testing suggestion: This seems like the perfect kind of thing to test against the parse-json test, and exactly the kind of thing perl6-bench was supposed to make "easy". :-) | ||
timotimo | i think i'll rebase the regex_optimizer branch on nom and see if i can make it work | ||
or rather: if i have to do anything to make it work | |||
japhb | nodnod | ||
00:32
TimK1 left,
BenGoldberg joined
00:35
lumimies joined
00:50
GlitchMr left
00:52
GlitchMr joined
|
|||
timotimo | Method 'optimize' not found for invocant of class 'NQPMu' | 00:53 | |
not sure what i did wrong exactly | |||
00:53
Celelaptop joined
00:57
thou left
00:58
hummeleB1 left,
ajr_ left
|
|||
timotimo | it works on parrot and breaks on jvm with that error; it seems like QRegex::Optimizer.new() returns NQPMu on jvm?! | 01:00 | |
01:12
tipdbmp left
01:13
asyoulikeit joined
01:20
asyoulikeit left
01:21
jeffreykegler joined
01:23
TimK1 joined
|
|||
timotimo | wow, it was really worth it plugging that drive into the desktop instead of doing it via LAN; 60 MB/s instead of 6. | 01:23 | |
i've learnt a valuable lesson today. | |||
01:34
ggoebel114 joined
01:36
ggoebel113 left
01:47
xenoterracide left
|
|||
japhb | ... that your LAN is really slow? ;-) | 01:49 | |
timotimo | well, it was WLAN, but it's supposed to be much faster | ||
in the other direction i got 12 MB/s | 01:50 | ||
but the CPUs of both machines weren't taxed at all and gzipping the datastream didn't make a difference whatsoever | |||
01:53
slavik left
|
|||
japhb | What kind of WLAN? | 01:55 | |
timotimo | n | 01:56 | |
at least i think it is! | |||
japhb | MIMO? | 01:57 | |
timotimo | hm, i don't think so | ||
japhb | Made a big difference for me. Cheap enough there to just buy a new one? | 01:58 | |
timotimo | hm. i could have used a cable over this distance instead, but i have a feeling that the ethernet adapter in my laptop is a bit derpy | ||
otherwise i'm very happy with my cable box + wifi access point | 01:59 | ||
it's an AVM Fritz!Box; AVM is a cool company | |||
02:07
btyler joined
02:36
TimK1 left
02:55
FreeNode joined
02:56
FreeNode is now known as Guest67434,
Guest67434 left
02:57
mjreed joined
|
|||
jeffreykegler | On the Marpa mailing list, I talk about S15, focusing on the Marpa point-of-view: groups.google.com/forum/#!topic/ma...ar3Boxu3B0 | 02:59 | |
mjreed | perl6: class Vector is Array { method subtract(@vec) { .new( self >>-<< @vec ) } }; say Vector.new(1,2,3).subtract([0,0,0]) | 03:01 | |
camelia | rakudo-parrot 02af63: OUTPUT«Too many positional parameters passed; got 2 but expected 1 in method new at gen/parrot/CORE.setting:6921 in method subtract at /tmp/qlckTYTnQR:1 in block at /tmp/qlckTYTnQR:1 in any at /tmp/qlckTYTnQR:1 in any at gen/parrot/stage2…» | ||
..niecza v24-108-g17d73e4: OUTPUT«(timeout)[auto-compiling setting]» | |||
..rakudo-jvm 02af63: OUTPUT«Too many positional parameters passed; got 2 but expected 1 in block at /tmp/vHSZfWb3J9:1 in any eval at gen/jvm/stage2/NQPHLL.nqp:1086 in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1292 in any command_eval at gen/jvm/stage2/NQPHLL.nqp:1196…» | |||
mjreed | ^^ that's straight from the Perl6 advent calendar day 8. what is going on? where's the extra positional param? | ||
hm. works with explicit `self.new` instead of just `.new` | 03:05 | ||
03:09
cognominal joined,
mjreed left
03:12
araujo left
03:14
araujo joined,
araujo left,
araujo joined
|
|||
BenGoldberg | r: say 1 R, 2 | 03:18 | |
camelia | rakudo-parrot 02af63, rakudo-jvm 02af63: OUTPUT«2 1» | ||
BenGoldberg | r: say 1 R, 2 R, 3 | ||
camelia | rakudo-jvm 02af63: OUTPUT«Too many positional parameters passed; got 3 but expected 2 in block at /tmp/Dhk70K2JLE:1 in any eval at gen/jvm/stage2/NQPHLL.nqp:1086 in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1292 in any command_eval at gen/jvm/stage2/NQPHLL.nqp:1196…» | ||
..rakudo-parrot 02af63: OUTPUT«Too many positional parameters passed; got 3 but expected 2 in block at gen/parrot/CORE.setting:16520 in block at /tmp/Ojj9IpYcyA:1 in any at /tmp/Ojj9IpYcyA:1 in any at gen/parrot/stage2/NQPHLL.nqp:1146 in any eval at gen/parrot/…» | |||
BenGoldberg | std: say 1 R, 2 R, 3 | ||
camelia | std 3b262af: OUTPUT«ok 00:01 124m» | ||
BenGoldberg | n: say 'alive' | 03:20 | |
camelia | niecza v24-108-g17d73e4: OUTPUT«(timeout)[auto-compiling setting]» | 03:21 | |
03:23
tgt left
03:26
mjreed joined
03:28
mjreed left
03:30
mjreed joined
03:39
slavik joined
03:41
mjreed left
03:43
slavik left
03:47
jeffreykegler left
03:48
raiph left
03:50
mjreed joined
03:52
mjreed left
03:56
mjreed joined
04:08
preflex left
04:09
preflex joined,
ChanServ sets mode: +v preflex
04:51
sizz_ left
05:25
[Sno] left
05:27
Mouq left
05:33
BenGoldberg left
05:37
ggoebel114 left
05:59
mjreed left
06:01
ggoebel114 joined
06:05
Alina-malina left,
Alina-malina joined
06:10
raiph joined
06:24
Woodi joined
|
|||
Woodi | morning! | 06:24 | |
06:25
[Sno] joined
|
|||
moritz | \o | 06:28 | |
06:48
FROGGS left
06:52
kaleem joined
07:22
raiph left,
raiph joined
|
|||
raiph | preflex: tell dwarring added comment to your advent gist | 07:23 | |
preflex | Consider it noted. | ||
07:31
SamuraiJack_ joined
07:32
FROGGS[mobile] joined
07:39
darutoko joined
07:43
darutoko- joined
07:46
darutoko left
07:51
FROGGS joined
07:54
btyler left
|
|||
dwarring | raiph: thanks! | 08:05 | |
preflex | dwarring: you have 1 new message. '/msg preflex messages' to read it. | ||
08:13
nnunley left
08:20
rindolf joined
08:38
sqirrel joined,
Piers_ joined
08:44
xinming left
08:45
xinming joined
08:47
raiph left
|
|||
hoelzro | morning #perl6! | 09:16 | |
09:16
eiro joined
09:36
xinming left
09:37
xinming joined
09:43
xinming left
|
|||
moritz | \o hoelzro, * | 09:44 | |
09:47
daniel-s_ joined
09:49
xinming joined
10:00
sqirrel left
10:01
bbkr joined
10:17
dmol left
10:18
gfldex left
10:25
gfldex joined
10:30
ssutch left
10:40
Mouq joined
10:56
xenoterracide joined
11:00
daniel-s_ left
11:02
fhelmberger joined
11:04
kivutar joined
11:17
kivutar left
11:19
Mouq left
11:21
dmol joined
11:33
Mouq joined,
dmol left
11:34
dmol joined
11:44
xinming_ joined,
dmol left
11:45
dmol joined
11:47
xinming left,
dmol left,
xinming_ left
11:49
xinming joined
11:53
Mouq left
12:08
dmol joined,
xinming left
12:09
dmol left,
kivutar joined
12:16
denisboyun joined
12:19
denisboyun left
12:23
denis_boyun joined
12:26
SamuraiJack_ left
12:32
tgt joined
12:41
atroxaper joined
12:45
tgt left
12:50
SamuraiJack_ joined
12:51
tgt joined,
xinming joined
12:54
bbkr left
12:58
denis_boyun left
13:09
integral left
|
|||
jnthn home :) | 13:14 | ||
moritz | welcome ~, jnthn :-) | 13:15 | |
13:15
integral joined,
integral left,
integral joined,
kaleem left
|
|||
FROGGS .oO( welcome C:Usersjnthn, jnthn ) | 13:19 | ||
jnthn | :P | 13:21 | |
FROGGS | :o) | 13:25 | |
lizmat | good *, #perl6! | 13:26 | |
backlogging | |||
re irclog.perlgeek.de/perl6/2013-12-12#i_7992956 , the bug is that :exists returns a Parcel rather than a list ? | 13:27 | ||
jnthn | Slicing normally returns a Parcel, so I'd imagine it still does with :exists | 13:30 | |
13:30
[Sno] left
13:34
ajr joined
|
|||
lizmat | indeed, and as far as S02:2498 is concerned, it should return a Parcel of Bool | 13:34 | |
synopsebot | Link: perlcabal.org/syn/S02.html#line_2498 | ||
13:34
ajr is now known as Guest32947
|
|||
lizmat notes that that link doesn't bring up the right line :-( | 13:35 | ||
colomon saw 8:34's line out of the corner of his eye as "Parcel of Blood" | |||
13:35
Guest32947 is now known as ajr_,
rindolf left
|
|||
lizmat | we can do that too, but at extra cost :-) | 13:35 | |
colomon realizes 8:34 is EST. | 13:36 | ||
hoelzro | ahoy lizmat! | 13:43 | |
lizmat | hoelzro o/ | 13:44 | |
hoelzro | nice running into you last night, even if we didn't get a chance to talk | ||
lizmat | it was a nice evening.... the last ones left at midnight :-) | ||
hoelzro | =) | ||
lizmat | (which would be woolfy, ribasushi and yours truly) | ||
13:45
zakharyas joined
13:54
mtj_ left
13:55
btyler joined
13:57
mtj_ joined
14:08
btyler left,
raiph joined
|
|||
jnthn | $dayjob christmas dinner & | 14:16 | |
14:16
kivutar left
14:30
jeff_s1 joined
14:31
mjreed joined,
zakharyas left
14:36
nnunley joined
14:38
[Sno] joined
|
|||
mjreed | hey, dumb question, how can I get Rakudo (star 2013.11 running on OS X Mavericks) to interpret command-line parameters as UTF-8? $LC_ALL and $LANG are set properly in the environment, but it's still "Confused" by non-ASCII characters in arguments. | 14:44 | |
14:45
ggoebel114 left,
bluescreen10 joined
14:46
apejens left,
ggoebel114 joined,
apejens joined
14:47
btyler joined
14:52
rurban1 joined
14:53
raiph left
|
|||
moritz | mjreed: hwat kind of command-line parameters are you talking about? | 14:54 | |
mjreed: and are you using the parrot or the JVM backend? | |||
mjreed: and if parrot, do you have the ICU lib + headers? | 14:55 | ||
mjreed | moritz: code passed in via -e, parrot. | ||
perl6 -e '.say for ("A".."Z") >>xx>> 4' # works | |||
perl6 -e '.say for ("A".."Z") »xx» 4' | more # Confused. | |||
14:55
rurban1 left
|
|||
moritz | mjreed: do you have ICU? | 14:56 | |
14:57
FROGGS left
|
|||
mjreed | yes. Homebrew-installed icu4c. | 14:58 | |
moritz | mjreed: and does say $*VM<config><has_icu> also say 1? | 14:59 | |
mjreed | hm. nope. | 15:00 | |
moritz | then somehow parrot's Configure.pl didn't recognize it | 15:01 | |
mjreed | Yeah. I probably need to 'brew link' it despite the dire warning about doing so. Will try rebuilding. Thanks. | ||
15:03
thou joined
15:06
araujo left
15:07
araujo joined,
kaare__ joined
|
|||
timotimo | mjreed: thanks for spotting the missing self in the post. i went ahead and fixed it for raydiak++ | 15:11 | |
mjreed | timotimo: so .new with no explicit innocent isn't supposed to work? | 15:12 | |
colomon | mjreed: it works on $_ instead of self | 15:13 | |
timotimo | exactly | ||
maybe .foo should warn if it's not in a contextualizer? | |||
or something like that? | |||
mjreed | I thought $_ was set to self if there was no other explicit topic, though.. | 15:14 | |
colomon | nope | ||
timotimo | i don't know about that | ||
colomon | or at least, not as far as I know. | 15:15 | |
seems like that would be very confusing. | |||
15:16
rurban1 joined
15:24
[Sno] left
15:27
jnap joined
15:28
xinming_ joined
15:30
xinming left
15:32
slavik joined
15:35
rindolf joined
15:40
jeffreykegler joined
15:48
gfldex left
15:52
bluescreen100 joined
15:55
gfldex joined
16:00
xinming joined
16:01
denisboyun joined
16:02
xinming_ left
16:28
mjreed left
|
|||
rjbs | I think my news reader is much more cynical than I might have guessed! | 16:30 | |
www.evernote.com/shard/s2/sh/c8e39...4e2a9bf92c | |||
[Coke]: ^ | 16:31 | ||
16:34
mls left,
mls joined,
denisboyun left
|
|||
PerlJam wonders if that newline was left there on purpose | 16:34 | ||
16:35
[Sno] joined
|
|||
timotimo | i asked coke to keep that newline | 16:35 | |
PerlJam | why? | 16:36 | |
timotimo | it used to just be an unfortunate automatic linewrapping | ||
i thought it was hilarious comedic timing | |||
hm, that newline is a bit aggressive, though | |||
16:37
bluescreen100 left,
slavik left,
tgt left,
Woodi left,
sjohnson left,
Psyche^_ left,
ashleydev left,
raydiak left,
Timbus left,
rhr left,
odoacre left,
risou_awy left,
bluescreen__ joined,
odoacre joined
|
|||
PerlJam | or ... now I expect the haters to take the quote out of context ... "Perl 6 people admit their failure! ``When is Perl 6 going to be Ready? ... and the answer is never''" | 16:37 | |
16:37
Psyche^ joined
16:38
slavik joined,
tgt joined,
Woodi joined,
ashleydev joined,
raydiak joined,
Timbus joined,
rhr joined,
risou_awy joined,
sjohnson joined,
sjohnson left,
sjohnson joined
|
|||
PerlJam | anyhow ... [Coke]++ | 16:39 | |
timotimo | i had hoped it would not make a whole new paragraph | ||
were you just locking the editor on that post? | |||
i was going to try a <br/> instead of an actual new paragraph | |||
16:41
jeff_s1 left
|
|||
timotimo | ah, perlpilot locked it | 16:41 | |
that's not you, is it? | |||
PerlJam | oh. I was looking at the post. hold on. | ||
16:42
hummeleB1 joined
|
|||
PerlJam | all yours ;) | 16:42 | |
16:42
Gruber joined,
Maddingu1 joined,
obra_ joined
16:43
apejens left,
Timbus|Away joined
16:44
raydiak_ joined,
jeff_s1 joined,
Maddingue left,
Grrrr left,
obra left
16:45
rhr_ joined,
kaleem joined
|
|||
timotimo | thanks | 16:47 | |
look at the updated post | |||
it doesn't look as bad any more | |||
actually, if i put evrything after the ? on its own paragraph, it may look more natural | |||
nope. now "never" has its whole own line :) | 16:48 | ||
16:49
kaleem left,
slavik left,
tgt left,
Woodi left,
ashleydev left,
raydiak left,
Timbus left,
rhr left,
risou_awy left,
Timbus|Away is now known as Timbus
16:50
Woodi joined
|
|||
PerlJam | I dunno. An unfortunate, but humorous line break is one thing amongst friends, but it may do more harm than humor when exposed to a wider audience. | 16:51 | |
16:54
ashleydev joined
16:55
denisboyun joined
16:59
slavik joined,
risou_awy joined
17:00
vytas left
17:01
denisboyun left
17:02
colomon left,
colomon joined
17:03
denisboyun joined
17:07
apejens joined
17:09
denisboyun left
17:11
denis_boyun joined,
FROGGS joined
17:13
retupmoca left
17:14
jeffreykegler left,
genehack left
17:15
genehack joined
17:17
denis_boyun left
17:21
retupmoca joined
17:23
atroxaper left
17:25
jeffreykegler joined
|
|||
[Coke] | I thought it was hilarious and obviously intentional in the final product, whereas the new version looks like a bad cut and paste. YMMV, but I bow to the will of the masses. | 17:29 | |
timotimo | [Coke]: and i'll bow to your judgement | 17:30 | |
17:31
Alina-malina left,
Alina-malina joined
|
|||
[Coke] | er, s/the final product/the initial release that rjbs saw/ | 17:31 | |
either way, haters gonna hate. | |||
so I'm fine. :) | |||
(to be clear, y'all are not the haters) | 17:32 | ||
17:33
ssutch joined
17:34
Alina-malina left
17:35
Alina-malina joined,
ajr_ left,
ajr joined,
ajr left
17:36
bluescreen__ left
17:40
denis_boyun joined
17:44
denisboyun joined
17:45
denisboyun left,
denis_boyun left
17:51
ssutch left
18:01
Esylt left
|
|||
TimToady | lizmat: no, the problem is not that it is returning a Parcel; the problem is that it is not returning a Parcel | 18:02 | |
it is instead returning an itemized Parcel, which doesn't flatten properly in the list context supplied by all() | |||
r: my %h = :foo(1), :bar(2); say so all map {.perl.say; $_}, %h<foo bar baz>:exists | 18:03 | ||
camelia | rakudo-parrot 02af63, rakudo-jvm 02af63: OUTPUT«$(Bool::True, Bool::True, Bool::False)True» | ||
TimToady | note the $() | 18:04 | |
sjohnson | nollij | ||
TimToady | and that map is getting it unflattened too | 18:05 | |
r: my %h = :foo(1), :bar(2); say (%h<foo bar baz>:exists).perl | 18:06 | ||
camelia | rakudo-parrot 02af63, rakudo-jvm 02af63: OUTPUT«$(Bool::True, Bool::True, Bool::False)» | ||
TimToady | r: my %h = :foo(1), :bar(2); say (%h<foo bar baz>:exists).WHAT | ||
camelia | rakudo-parrot 02af63, rakudo-jvm 02af63: OUTPUT«(Parcel)» | ||
TimToady | WHAT derefs the $() silently | ||
so it's hard to tell there's an unwanted level of indirection | 18:07 | ||
moritz | and there's no easiy way to introspec the presence of a scalar container (hint, hint) | 18:08 | |
TimToady | r: my %h = :foo(1), :bar(2); my \thing = (%h<foo bar baz>:exists); say thing.VAR.WHAT | 18:09 | |
camelia | rakudo-parrot 02af63, rakudo-jvm 02af63: OUTPUT«(Scalar)» | ||
TimToady | you was sayin'? | ||
timotimo | perl6: the developers thought of everything | ||
TimToady | 'course you could invoke No True Scotsman here :) | ||
camelia | rakudo-parrot 02af63: OUTPUT«===SORRY!=== Error while compiling /tmp/xz7wrTk0yUUndeclared routines: developers used at line 1 everything used at line 1 of used at line 1 the used at line 1 thought used at line 1» | ||
..niecza v24-108-g17d73e4: OUTPUT«(timeout)[auto-compiling setting]» | |||
..rakudo-jvm 02af63: OUTPUT«===SORRY!=== Error while compiling /tmp/QTzJzrSBIBUndeclared routines: developers used at line 1 everything used at line 1 of used at line 1. Did you mean '&on'? the used at line 1 thought used at line 1» | |||
TimToady | camelia is very...enthusiastic... | 18:10 | |
speaking of ..., that's what I'd do on the line break, if you want it kept | 18:11 | ||
the answer is never... | |||
...as simple as | |||
18:12
tgt joined
|
|||
TimToady | [Coke]: ^^ | 18:12 | |
then it's perfectly clear that the joke is intentional | 18:13 | ||
18:13
mjreed joined,
jeff_s2 joined
|
|||
timotimo | arnsholt: will we ever resume work on p6-zmq? :) | 18:13 | |
18:15
jeff_s1 left
|
|||
PerlJam | TimToady++ good idea | 18:15 | |
timotimo | also, SDL2 may be something to consider in the near future; especially since it does all graphics operations opengl-accelerated, it may offset the slowness of rakudo-parrot a bit | 18:16 | |
(and when NativeCall for jvm is done ... :D ) | |||
moritz | aren't there Java bindings to SDL? | 18:20 | |
timotimo | hm, there probably are | 18:21 | |
mjreed | @moritz - Getting ICU into Parrot didn't help. gist.github.com/markjreed/7948743 Additional ideas welcome. Works fine on Linux... | 18:24 | |
TimToady | maybe your CLI is defective | 18:27 | |
what does perl -e 'say "«»"' give you for output? | |||
what does perl -e 'say "«»".chars' give you for output? | 18:28 | ||
or echo '«»' for that matter | |||
colomon | should that have been perl6 instead of perl back there? | 18:29 | |
moritz | ------> say ("A".."C")⏏»xx»2 | ||
could still be either perl6 or the terminal | 18:30 | ||
TimToady | or perl -E :) | ||
well, not the .chars one... | |||
colomon | TimToady: btw, perl6 -e 'say "«»".chars' gives me 4 | ||
TimToady | should say 2 | 18:31 | |
colomon | yeah, I know | ||
perl6 -e 'say "«»".ords' | |||
194 171 194 187 | |||
that's parrakudo | |||
moritz | so, a general mac os X problem? | ||
colomon | on OSX 10.8 | ||
TimToady | could be | ||
colomon | perl6 -e 'say "«»".ords' | 18:32 | |
171 187 # on linux | |||
TimToady | perl -E 'say length "«»"' ?? | ||
colomon | also 4 on OS X | 18:33 | |
TimToady | interestingly, 4 on Linux too | ||
lue | hello world o/ | ||
colomon | \o | 18:34 | |
lue | well, you know, I count four angles among those two characters, so... :) | ||
18:35
sqirrel joined
18:36
darutoko- left
|
|||
TimToady | because perl5 requires a 'use utf8;' to count it as 2 chars | 18:38 | |
perl -E 'use utf8; say length "«»"' ?? | |||
lue | I get 2 using utf8 | 18:39 | |
TimToady | on OS X? | ||
mjreed | perl -Mutf8 -E 'say length "«»"' | ||
2 | |||
on the same terminal where the perl6 version doesn't so much work | 18:40 | ||
TimToady | okay, so something is just defaulting wrong in rakudo, I guess | ||
mjreed | yeah, just strange. same version of rakudo works fine on Linux. | ||
lue | TimToady: not OS X, was just providing more data. | 18:41 | |
TimToady | that's with perl6-p? do you have a perl6-j to try? | ||
mjreed | no; installed from the Star release, which has no perl6-j. I shall try building one when I have a moment.. | ||
colomon | perl6-j -e 'say "«»".ords' | 18:43 | |
171 187 # os x | |||
TimToady | so just the parrot codepath | 18:44 | |
colomon | y | ||
TimToady wonders if perl6-m is up to doing .ords | |||
colomon doubts it | |||
TimToady | well, just one step beyond say "hello world" | 18:45 | |
what could possibly go wron?g | |||
colomon | :) | ||
it's not part of the main branch of rakudo yet, is it? | 18:46 | ||
TimToady | not yet | ||
and doesn't compile on linux even that far yet | |||
them winders guys is speshul | |||
18:48
wollmers joined
19:00
mjreed left
19:04
fhelmberger_ joined,
wollmers left
|
|||
sjohnson | utf8 is the greatest thing to happen to a computer. | 19:06 | |
19:07
fhelmberger left
|
|||
sjohnson | well, it's up there. | 19:07 | |
19:08
fhelmberger_ left
|
|||
FROGGS | TimToady: is P5's pos() really about flags within the supplied string? I'd have trouble translating that to v5 :/ | 19:09 | |
TimToady | if this is the first insanity you've run into in P5, you're very fortunate :) | 19:11 | |
FROGGS | hehe | ||
no, yesterday I stumbled upon: push(a, 1) which pushes to @a O.o | |||
TimToady | when P5 got a magic hammer, everything started to look like a magic nail | ||
well, that's not insane, that's just ancient cruft :) | 19:12 | ||
huf | there's a lot of stuff in P5 you're not really supposed to see ;) | ||
FROGGS | yeah... | ||
TimToady | what else would a push push to, other than an array? :D | ||
huf | "la la la no it isnt" :) | ||
TimToady: maybe if we wait a few versions, it'll "push" to a hash too? | |||
FROGGS | TimToady: I guess that was before lvalue subs were invented? :o) | 19:13 | |
TimToady | anyway, it's just a bit of syntactic diabetes | ||
FROGGS | hehe | ||
TimToady++ | |||
TimToady hates it when our make process says: Missing or wrong version of dependency | 19:16 | ||
THAT'S WHAT MAKE IS FOR!!! | |||
</rant> | 19:17 | ||
FROGGS | TimToady: that is on my todo list for next year :/ | 19:18 | |
sjohnson | i like rants | ||
<rant type="angry"> ... | |||
diakopter | wantrant | ||
FROGGS | does that gistify to (FatRant) ? | 19:19 | |
diakopter | Rantional | ||
sjohnson | FatRant < YomamaRant | ||
TimToady hopes that's not Ruby code | 19:20 | ||
sjohnson | C:\>format e: /FS:YOMAMA32 /q | 19:21 | |
timotimo | the < operator opens classes back up for adding methods, right? | ||
TimToady | it's their mixin, iirc | 19:22 | |
sjohnson | import Java.Mathemathics.ComparisonOperators; int_tmp = new Integer(6); if (int_tmp.Math.lessThan(3)) { ... } etc | 19:23 | |
alright, i think i've been silly enough for one day. | 19:24 | ||
lue | <THAT'S_WHAT_MAKE_IS_FOR_!!!>.WHAT.say # output: (RantStr) | 19:27 | |
sjohnson | lue++ | 19:29 | |
lizmat | TimToady: I see your point | 19:32 | |
meanwhile, I was thinking of speccing / implementing ":any", ":all", ":one" and ":none" adverbs as special versions of :exists on slices | 19:33 | ||
moritz | but you can simply say any %thing<...>:exist, no? | 19:34 | |
lizmat | does that smell ? | ||
moritz | yes | ||
lizmat | moritz: yes, but it would huffmanize it (whether there is a reason for it, I don't know) | ||
and it could fail earllier, as any %h<...>:exists would still need to build the entire Parcel of Bools | 19:35 | ||
moritz | I don't buy the huffmanization argument | 19:36 | |
same number of characters, afaict | |||
lizmat | no, *iinstead* of :exists | 19:37 | |
%h<....>:any | |||
TimToady thinks the optimizer can work out what to do with 'any %thing<...>:exists' | 19:39 | ||
unless we've screwed up the design of junctions too much | 19:40 | ||
timotimo | TimToady: i recently suggested to jnthn to turn such code into a direct loop with quick-fail, but he said the analysis would probably be too costly | ||
TimToady | -O3 :) | ||
timotimo | (also, yeah, the optimization i had in mind was only going to happen in bool context, like the other junction unfolding) | 19:41 | |
lizmat | also: the optimizer would then have to optimize into the slice handling? | ||
TimToady | well, slices are supposed to be transparent to laziness | ||
timotimo | not necessarily | ||
TimToady | dunno if rakudo actually accomplishes that though | 19:42 | |
lizmat | anyway: I could implement them internally, so that the optimizer could convert any %h<...>:exists to %h<...>:ANY (not the capitals to indicate internal adverb) | ||
timotimo | the resulting code would just be something like { my $result = True; for %thing<...>:exists { $result = False if !$_; last unless $result } } | ||
lizmat | *note | ||
TimToady | r: my @array = <a b c>; say @array[2 xx *][^5] | ||
timotimo | so there would not be a need to introspect | 19:43 | |
camelia | rakudo-parrot 02af63, rakudo-jvm 02af63: OUTPUT«(timeout)» | ||
TimToady | that is supposed to work | ||
timotimo | though now i realize you mean that the slice wouldn't have to continue, which i didn't think of yet | ||
lizmat | timotimo: indeed | ||
"fail early" | |||
TimToady | the whole point of the LoL argument thing is to allow .[LIST; LIST; LIST] to treat each LIST as, well, a list | 19:44 | |
lizmat | .oO( I hope jnthn realizes his perl6 advent blog is for tonight ) |
19:45 | |
TimToady | maybe he's just planning to youtube the christmas party | ||
19:45
araujo left
19:46
araujo joined
|
|||
lizmat | maybe he is writing the blog post concurrently :) | 19:47 | |
TimToady smiles ever so slightly | 19:48 | ||
lizmat | I mean, he *did* Promise | ||
TimToady | and you did Supply him with tuits, right? | ||
lizmat | plenty of tuits on tap | ||
p: sub a { <a b c>.map( {$_} ).eager.Parcel }; say a.perl; say a.WHAT | 19:49 | ||
camelia | rakudo-parrot 02af63: OUTPUT«("a", "b", "c")(Parcel)» | ||
lizmat | p: sub a { my $return = <a b c>.map( {$_} ).eager.Parcel; $return }; say a.perl; say a.WHAT | ||
camelia | rakudo-parrot 02af63: OUTPUT«$("a", "b", "c")(Parcel)» | ||
lizmat | this is the cause of what TimToady just pointed out to me | ||
so somehow not returning it, but putting it into a var, is causing the extra indirection | 19:50 | ||
TimToady | p: sub a { my \result = <a b c>.map( {$_} ).eager.Parcel; result }; say a.perl; say a.WHAT | ||
camelia | rakudo-parrot 02af63: OUTPUT«("a", "b", "c")(Parcel)» | ||
lizmat | ah, duh! | ||
lizmat needs to spend less time with P5 programmers :-) | 19:51 | ||
TimToady | p: sub a { my \result = <a b c>.map( {$_} ); result }; say a.perl; say a.WHAT | ||
camelia | rakudo-parrot 02af63: OUTPUT«("a", "b", "c").list(List)» | ||
FROGGS runs away (crying) | |||
TimToady | p: sub a { my \result = (<a b c>.map( {$_} ); result }); say a.perl; say a.WHAT | ||
camelia | rakudo-parrot 02af63: OUTPUT«===SORRY!=== Error while compiling /tmp/9J8AT5NZzjUnable to parse expression in parenthesized expression; couldn't find final ')' at /tmp/9J8AT5NZzj:1------> \result = (<a b c>.map( {$_} ); result ⏏}); say a.p…» | ||
TimToady | p: sub a { my \result = (<a b c>.map( {$_} )); result }; say a.perl; say a.WHAT | 19:52 | |
camelia | rakudo-parrot 02af63: OUTPUT«("a", "b", "c").list(List)» | ||
TimToady | p: sub a { my \result = (<a b c>.map( {$_} ),); result }; say a.perl; say a.WHAT | ||
camelia | rakudo-parrot 02af63: OUTPUT«(("a", "b", "c").list,)(Parcel)» | ||
PerlJam | <jnap> Catalyst Advent is now covered to Day 26! | ||
I guess the catalyst folks do advent differently :) | |||
TimToady | p: sub a { my \result = <a b c>.map( {$_} ).Parcel; result }; say a.perl; say a.WHAT | 19:53 | |
camelia | rakudo-parrot 02af63: OUTPUT«(ListIter.new(),)(Parcel)» | ||
TimToady | you don't want the eager if :exists is to be lazy | ||
jnap | PerlJam: when I know Perl6 well enough I will definitely be involved in advent! | 19:54 | |
lizmat | TimToady: the eager.Parcel meme was cargo-culted from the previous implementation | ||
do we have lazy Parcels? | 19:55 | ||
since it is specced to return a Parcel | |||
19:55
jeff_s1 joined
|
|||
TimToady | a parcel contains a list | 19:55 | |
lists are lazy by default | |||
well, a parcel can contain a list | |||
lizmat | but you cannot push/pop Parcels, if I remember correctly | 19:56 | |
TimToady | see my last p: above, which is a Parcel containing a lazy list | ||
p: sub a { my \result = (42 xx *).map( {$_} ).Parcel; result }; say a[^20]; say a.WHAT | 19:57 | ||
camelia | rakudo-parrot 02af63: OUTPUT«42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42 42(Parcel)» | ||
lizmat | so the Parcel contains 1 item, a lazy list | ||
TimToady | like that | ||
19:57
jeff_s2 left
|
|||
lizmat | I've always interpreted the spec as each Bool being an item in the Parcel, rather than in a lazy list inside a Parcel | 19:58 | |
TimToady | a Parcel cannot be infinite | 19:59 | |
a slice can be, if you slice with an infinite list | |||
well, supposed to can be :) | 20:00 | ||
lizmat | well, not the way it is implemented now... :-) | ||
but that can be fixed | 20:01 | ||
p: my %h=a=>1,b=>2; say so all %h<a b c>:exists | |||
camelia | rakudo-parrot 02af63: OUTPUT«True» | ||
lizmat | $ perl6-p -e 'my %h=a=>1,b=>2; say so all %h<a b c>:exists' | ||
False | |||
committing fix now | |||
TimToady | \o/ | ||
dalek | kudo/nom: 7142b7e | (Elizabeth Mattijsen)++ | src/core/Any.pm: Fix additional dereference, thanks to TimToady++ $ perl6-p -e 'my %h=a=>1,b=>2; say so all %h<a b c>:exists' False |
20:02 | |
lizmat | p: my @a=1; say @a[0..Inf]:exists # only 1 checked? | 20:06 | |
camelia | rakudo-parrot 02af63: OUTPUT«True» | ||
lizmat | shouldn't Inf be handled differently from * ? | ||
TimToady | ranges autotrim in subscripts | ||
lizmat | or will that also be bound by the size of the array ? | ||
ok | |||
TimToady | why I used xx instead :) | ||
20:06
wollmers joined
|
|||
TimToady | r: my @a = <a b c>; say @a[1 xx *][^20]; | 20:07 | |
seems like that oughta be allowed | |||
camelia | rakudo-parrot 02af63, rakudo-jvm 02af63: OUTPUT«(timeout)» | ||
20:07
jeffreykegler left
|
|||
TimToady | though we may get into weirdness with S09ish multidimension slices | 20:07 | |
*sional | 20:08 | ||
obviously you don't want arbitrary size in two different dimensions at once | |||
s/arbitrary size/infinite list of subscripts/ | |||
lizmat | ah, I was wondering | 20:09 | |
lue | .oO(my @space[*;*;*]) |
||
TimToady | that one is just "all the ones that are there" though | ||
lizmat | feels to me you could want N-1 dimensions to be infinite | ||
wollmers | Will the Graphems be born at X-mas? | ||
lizmat | note the "feels" there | ||
TimToady | what's the shape of the items returned, is the question | 20:10 | |
probably can support xx * only in the first dimension | 20:11 | ||
so maybe it makes sense to do it the rakudo way and force people to use map instead, if we can't make it work without pessimizing normal subscripting | 20:12 | ||
but I'd like to preserve the laziness of lists if we can | |||
lizmat | so maybe slices shouldn't return Parcels but lists ? | 20:14 | |
dalek | ecs: f4b1200 | lue++ | S15-unicode.pod: [S15] Replace .compose/.decompose methods. Left behind from the move to multiple string types. |
20:19 | |
ecs: e020cb1 | lue++ | S15-unicode.pod: [S15] Fix ord(s) to work on all Stringy. This presumes that Unicodey does Stringy. If not, then you simply need to add the signatures for Unicodey things where these changes were made. Additionally, some clarification on .chr(s). |
|||
20:21
jeff_s2 joined
20:23
jeff_s1 left
|
|||
[Coke] | if we have a spec pod in perl6 can we use a .pod6 extension? things that parse perl5 pod can't be expected to not barf on pod6. | 20:23 | |
(e.g. github.com/perl6/specs/blob/master...icode.pod) | |||
lue | [Coke]: I was tempted to go for .pod6, but S26 already set a pattern for .pod in my mind. | 20:24 | |
[Coke] | see also: github.com/perl6/specs/blob/master...tation.pod | ||
lue would not hesitate to change the extensions though :) | |||
[Coke] | +1 from me if you do it. our pod doesn't live in a perl6-only toolchain. | 20:25 | |
lue | ye | ||
*yet | |||
TimToady | unless we just try the p6 toolchain and failover to p5 | ||
lue | TimToady: I got the idea from moritz that there was no Pod6 toolchain in place, at least not like the POD one. | ||
moritz | there is perl6 --doc=html | 20:27 | |
not more | |||
(plus a few bit-rotten scripts for doc.perl6.org) | |||
dalek | ecs: c834ab1 | lue++ | S15-unicode.pod: [S15] More leftover stuff from the pre-multitype days. Those functions can handle different NFs now through the magic known as a "type system", so that bit about special handling is meaningless. |
||
TimToady | seems like it's starting to rise to a dogfood issue | 20:28 | |
lue hopes there isn't more cruft :) | |||
moritz | the problem with dogfooding is that somebody has to do it :-) | ||
lue | TimToady: I plan on making it a more dogfoody issue with a pod6ify branch on the specs repo, after I write some starting tests for S15 in roast :) . | 20:29 | |
moritz | simply writing pod6 documents doesn't make a toolchain magically appear out of thin air | ||
lue: please start with the toolchain, not with pod6ifying | |||
lue | moritz: would I need access to feather to work out a toolchain, or could I run it locally? | ||
moritz: fair enough. We already have two Pod6 specs for testing :) | |||
TimToady | .oO("And cancel Christmas!" --The Sheriff of Nottingham) |
||
moritz | lue: I sure hope you can run Perl 6 code locally :-) | ||
lue | moritz: I dunno 'bout that, been years since I even thought about Perl 6... :) | 20:30 | |
20:31
araujo left
20:32
araujo joined
|
|||
[Coke] | TimToady: if you can get github to do that, woohoo. (try to render perl6 pod) | 20:32 | |
20:33
SamuraiJack_ left
|
|||
PerlJam | .oO( If Christmas is cancelled, does that mean advent continues until next Christmas? ) |
20:34 | |
lue | Here's the general idea in my head for a toolchain change: 1) move our Pod6 to .pod6 extensions, 2) setup the Pod6 portion of the toolchain, 3) setup a based-on-extensions script to manage between the two, 4) pod6ify the specs, 5) dump the POD portion | ||
moritz | I'm kinda missing step 2.5) write a test suite, for th pod6 tool chain, and make sure the bus factor is at least 2 | ||
lue | moritz: I assume the only repos I need in order to do is mu and specs, right? | 20:35 | |
bus factor...? | |||
moritz | en.wikipedia.org/wiki/Bus_factor | 20:36 | |
PerlJam | moritz: What will this toolchain actually do? | ||
moritz | PerlJam: pod6 -> html, plus some extras like inserting dates, links, headers, etc. | 20:37 | |
maybe adding an index | |||
maybe integrating smartlinks from roast | 20:38 | ||
dunno what lue has planned | |||
lue | TimToady: ooc, what's the internal-reference syntax for Pod6? I'm thinking something like L<#head1title>, but that feels incomplete (as if there needs to be some sort of anchor complement). It's something I occasionally miss from S26. | ||
:) "This could be a person taking a new job, having a baby, changing their lifestyle or life status, or literally getting hit by a bus: the effect would be the same" | 20:39 | ||
PerlJam | so, "perl6 --doc=html *.pod6" can (eventually) handle the first bit, is there a way to pass "doc options" so that the Pod::To::* modules can know what else to do? | ||
lue | PerlJam: there's currently a smartlinks.pl script which, if I'm guessing correctly, allows those links to roast tests to happen. | 20:40 | |
20:41
rindolf left
|
|||
lue | moritz: fair warning, I'm not writing any new P5 code :) [but I won't destructively replace P5 code either.] | 20:45 | |
PerlJam would like a genericish toolset so that it can be used to turn pod6 into a "website" or a "book" | 20:46 | ||
(and the book could be in PDF or HTML or whatever) | 20:47 | ||
(and the HTML-book would be different from the HTML-website in the later would have all sorts of extra cross links) | |||
lue | Hm, am I supposed to need to change the ROOT_DIR variable in update_syn? (just testing the current process to get a better understanding.) | 20:48 | |
moritz | lue: I have no idead about "supposed to". You just have to get the damn thing working :-) | 20:50 | |
lue | well, ROOT_DIR points to /home/pugscode which, to the surprise of no-one, doesn't exist on my computer. | ||
20:51
filly joined
|
|||
xenoterracide | where can I find a good example of the async { } api (IIRC that's what it looks like) | 20:51 | |
moritz | lue: create it :-) | ||
FROGGS | xenoterracide: maybe here: jnthn.net/articles.shtml | 20:52 | |
lue | I just pointed to a subdir of mu, since I don't want it to finagle with my Real Repositories™. | ||
lue 'll create pugscode after all, just to avoid the headache of not committing a change to ROOT_DIR :) | 20:53 | ||
20:57
Entonian joined
|
|||
japhb_ | xenoterracide, It's not async {} anymore. It's Promise.start({}). Or as I tend to use it Promise.start: {} | 20:57 | |
xenoterracide | japhb_: ah, so are even jnthn slides out of date? | 21:00 | |
japhb_ | xenoterracide, No, you just have to read the latest version of the concurrency ones. | ||
TimToady | just: start {...} | ||
xenoterracide | am discussing some of my opinions of async and js callback hell with a friend who does js, in reference to how it appears p6 is going to be doing async | 21:01 | |
japhb_ | TimToady, ah, it's exposed as a sub as well? Nice. | ||
TimToady | statement prefix | 21:02 | |
japhb_ | xenoterracide, jnthn.net/papers/2013-npw-conc.pdf | ||
perl5 think | |||
xenoterracide | japhb_: TimToady thanks | ||
japhb_ | preflex: tell jnthn It looks like your articles.shtml is out of date WRT your latest talks. | 21:03 | |
preflex | Consider it noted. | ||
japhb_ | Am I the only one who hears the 80's song "The Reflex" in his head every time he talks to preflex? | 21:04 | |
PerlJam | japhb_: heh! | 21:05 | |
21:05
Entonian left
|
|||
TimToady | j: my @promises = (start { sleep rand; .say } for 1..10); await @promises | 21:06 | |
camelia | rakudo-jvm 7142b7: OUTPUT«NilNilNilNilNilNilNilNilNilNil» | ||
TimToady | hah | ||
japhb_ | Caught it cheating. :-) | ||
TimToady | j: my @promises = do for 1..10 { start { sleep rand; .say } }; await @promises | 21:07 | |
camelia | rakudo-jvm 7142b7: OUTPUT«38271049165» | ||
TimToady | j: my @promises = do for 1..10 { start { sleep rand; .say; $_ } }; say await @promises | 21:08 | |
camelia | rakudo-jvm 7142b7: OUTPUT«376491825101 2 3 4 5 6 7 8 9 10» | ||
TimToady | looks like a hyper to me | ||
japhb_ | Without any chunking | 21:09 | |
TimToady | j: my @promises = do for 1..10 { start { .say; $_ } }; say await @promises | 21:10 | |
camelia | rakudo-jvm 7142b7: OUTPUT«167543210981 2 3 4 5 6 7 8 9 10» | ||
TimToady | heh, 98 | ||
funny thing, if you change it to print "$_\n", it can still interleave the output | 21:11 | ||
japhb_ | Thread interruption mid-vm-op? | 21:13 | |
Or does it treat the interpolating string as multiple buffers to flush in sequence? | |||
timotimo | it might | 21:14 | |
TimToady | I know it can also deadlock threads that way, which is why the dining philosophers on RC serializes output to a channel | 21:15 | |
but maybe we'd better be extra careful about passing lazy things to a channel... | 21:16 | ||
21:16
wollmers left
|
|||
TimToady | perhaps even enforce an eager there | 21:17 | |
japhb_ | Well, if you pass the lazy thing as a unit. But you want feeding a lazy into a channel to DWIM. | 21:18 | |
TimToady | sure, but send it by item currently | ||
*is by | |||
japhb_ | nod | ||
21:22
kivutar joined
21:35
danishman joined
|
|||
lizmat | TimToady: start is currently implemented as 'sub start(&code) { Promise.start(&code) }' | 21:45 | |
if I understand correctly, to make it a statement prefix, it would have to be done by the actions rather than just being a simple sub, right? | 21:46 | ||
rurban1 | TimToady: parrot say vs print "\n" ? we had a parrot threading problem with say | 21:47 | |
moritz | I'm pretty sure we're talking about the JVM backend | 21:49 | |
FROGGS | lizmat: it needs to go into the grammar and would then dispatch to &prefix:<start> for example | 21:50 | |
It can do the `Promise.start(&code)` in the actions too of course | 21:51 | ||
21:52
danishman left
|
|||
lizmat | since most people would probably do start {..} rather than Promise.start: { ... } | 21:52 | |
it might make sense to put the Promise start code into the prefix:start and make Promise.start return that | 21:53 | ||
or is that a premature optimization thought ? | |||
moritz | sounds like a violation of encapsulation | ||
FROGGS | I dunno, I am bad at designing things | ||
lizmat | meanwhile I'm getting worried about jnthn's blog post for tomorrow | ||
moritz | lizmat: don't worry too much. In the last years it happened frequently that the post wasn't available at 00H UTC, but rather 10AM CET or so :-) | 21:54 | |
so it might still happen tomorrow | |||
japhb_ | That little indirection from start to Promise.start probably costs way less than all the other stuff involved in spawning a thread, scheduling it, joining it, and tearing it down. | ||
lizmat | true | 21:55 | |
timotimo | japhb_: how far away from having perl6-bench compare multiple versions of the same compiler over time in a graph? | ||
i found the thought of implementing that myself daunting; especially since we have the "automatically scale up the problem size as long as we can" thing | 21:56 | ||
japhb_ | timotimo, That feature was largely gated (in my own mind) on decent tagging for the various tests, because a graph like AWFY wants a single score to compare (or a small number, if you're willing to do multiple graphs). | 21:57 | |
timotimo | AWFY? | ||
what kind of tagging are you refering to? | |||
21:57
sahadev left
|
|||
lue | is File::Find::Rule something Perl 5 is expected to come with? | 21:57 | |
japhb_ | And you really want to produce a weighted average of the results from various tests (at some representative workload sizes) to produce that score. | 21:58 | |
timotimo | ah | ||
i thought it would already be nice enough to compare the speeds for the same test across versions | |||
japhb_ | timotimo, AWFY is arewefastyet.com/ | 21:59 | |
moritz | lue: no | ||
japhb_ | lue: ISTR File::Find is, but File::Find::Rule is not. | ||
But best way to know is to use the corelist utility, which itself is core as of perl 5.010. | 22:00 | ||
moritz | File::Find::Rule was not in CORE (or so I think) | ||
that's what corelist says | |||
and yes, File::Find is a core module | |||
dalek | : 979297b | lue++ | docs/feather/script/update-syn: [feather] Make update-syn first-time friendly. Essentially, clones repos if they don't exist. A small convenience, and shouldn't effect existing uses of this script. |
||
lue | hah, searching for "File-Find" in my package manager gives me one result: File-Find-Rule :D | 22:02 | |
timotimo | oic | ||
22:03
huf left
|
|||
japhb_ | timotimo, So anyway, most tests like AWFY take a weighted average of a suite of benchmarks (usually of one size class, like microbenchmarks or application benchmarks), so that an improvement or weakness in just one component will be visible, but won't pull the total completely off the chart. | 22:03 | |
22:03
sqirrel left
|
|||
timotimo | i'd prefer something like speed.pypy.org, actually | 22:05 | |
japhb_ | (Throwing away outliers and averaging or totaling would lose the ability to notice a single component, and choosing a single test, even a sizeable one, will tend to be dominated by a small portion of the compiler's performance profile -- regex and DOM performance in JS tests were two famous examples that led to flame wars as I recall.) | ||
timotimo, speed.pypy.org can do that because the baseline is something with decent, relatively even performance across all subsystems. | 22:06 | ||
timotimo | hmm. | 22:07 | |
japhb_ | (Hence the reason I chose perl5 as the gold standard for perl6-bench -- any AWFY or speed.pypy clone for Perl 6 should seriously consider that.) | ||
timotimo | speed.pypy also compares to cpython; why wouldn't we compare to perl5? | 22:08 | |
japhb_ | My point more or less exactly. ;-) | ||
rjbs | timotimo: <rewind> Ah, the line break was intentional! Okay, sometimes my newsreader inserts them in very odd places. | ||
timotimo | :) | ||
japhb_ | rjbs, Because it's insane, or because the input is, and it's not able to pass a "crappy HTML Turing Test"? | 22:09 | |
rjbs | japhb_: I think it's mostly the latter. | ||
japhb_ remembers a few years back when someone finally produced a canonical parser for HTML tag soup -- I wonder if that's still considered state of the art. | 22:10 | ||
22:10
jeff_s2 left
22:12
jeff_s1 joined
|
|||
moritz | IE6? :-) | 22:12 | |
lue apparently has a pitiful collection of P5 modules :) | 22:13 | ||
japhb_ | moritz, No, silly. It was something produced in the early days of the HTML 5 effort. | ||
lue | moritz: "Please install Perl6::Perldoc v0.0.5 from the CPAN to generate /home/pugscode/syn/S15.html" --- that says to me the setup *can* handle Pod6, maybe. | 22:14 | |
moritz | lue: don't believe all the lies they tell you | 22:15 | |
japhb_ | ISTR it was intended as a "Browsers can just all include this free library, and then they will all interpret crazy inputs the same way." | ||
lue | :) I got the sense Perl6::Perldoc is perhaps not a stellar choice for Pod6. | 22:16 | |
moritz | lue: iirc Perl6::Perldoc is an attempt from Damien Conway to support his early S26 versions | ||
22:16
huf joined
|
|||
moritz | lue: and a few hundred mails on p6l later, S26 was altered sufficiently that it can't be parsed without a full-blown Perl 6 parser anymore, and other things changed also | 22:17 | |
so Perl6::Perldoc is a hysterical artifact more than state-of-the-art | |||
lue | moritz: yeah, I had the sneaking suspicion that Perl6::Perldoc was maybe a bit old, as soon as the message popped up. | ||
japhb_ | Chances are pretty good that any given Perl 5 module in the Perl6:: namespace is out of date even for what tiny piece it tried to emulate. | 22:20 | |
That said, I can't even tell you how many times at my previous job I would have killed for even the tiniest bit of 6-like syntactic relief. | 22:21 | ||
22:21
rurban1 left
|
|||
lue | moritz: should I gut &process_perl6_file (SmartLinks.pm) and leave just a singular warning for now, then? Seeing as the P5 modules for Pod6 apparently won't work anyway? | 22:22 | |
moritz | lue: +1 | ||
22:23
jnap left
|
|||
moritz | lue: just for the record, I'm not really familiar with most of that code; I'm just the one who made that stinking pile of poo run again the last two or three times it stopped working | 22:25 | |
lue | :) Don't worry, I plan on replacing it with a P6-able version eventually. | 22:26 | |
lue will do most of that work in a branch, to not disturb the actual generation in the meantime | |||
22:36
hummeleB1 left
|
|||
lue | gaaah! I wanted to print the original POD filename in the new warning, but $pod contains an array and I don't sigil variance! | 22:38 | |
lue & | |||
tadzik | .u ᴱ | 22:43 | |
22:44
dwarring left
|
|||
lue | r: say uniname("ᴱ"); # coming soon, hopefully :) | 22:52 | |
camelia | rakudo-jvm 7142b7: OUTPUT«===SORRY!=== Error while compiling /tmp/1ZCAQVEDHIUndeclared routine: uniname used at line 1» | ||
..rakudo-parrot 7142b7: OUTPUT«===SORRY!=== Error while compiling /tmp/1W0K0XjOBmUndeclared routine: uniname used at line 1» | |||
22:59
rurban1 joined
|
|||
timotimo | i found a (the?) sillyness in my chaining_whatever branch and may now have what it takes to get through spectests | 23:07 | |
lue | moritz: would you prefer that the new toolchain lives outside of mu/ as much as possible, and then use panda and such? (Feels like the right thing to me, but I don't know.) | 23:12 | |
dalek | : 3e2808e | lue++ | util/Text-SmartLinks/lib/Text/SmartLinks.pm: [Text::SmartLinks] Gut Pod6 generation. It apparently wouldn't work if you had all the stuff anyway. |
23:14 | |
: 2998f7e | lue++ | docs/feather/script/update-syn: [feather] Comment out zh-cn Synopses generation. It hasn't been looked after in a while from the looks of it, and the code meant to handle it, which was commented out here, doesn't work anyway. |
|||
kudo/nom: 455fbcb | (Elizabeth Mattijsen)++ | src/core/Any.pm: Put the burden of :SINK on :delete only |
23:15 | ||
23:16
bluescreen10 left
|
|||
lizmat | gnight, #perl6! | 23:17 | |
timotimo | gnite lizmat :) | 23:20 | |
so, how's jnthn++'s advent post coming along? =) | |||
23:26
BenGoldberg joined
|
|||
BenGoldberg | r: 1 | 23:27 | |
camelia | ( no output ) | ||
BenGoldberg | n:1 | ||
n: 1 | |||
camelia | niecza v24-108-g17d73e4: OUTPUT«(timeout)[auto-compiling setting]» | 23:28 | |
23:28
btyler left
|
|||
BenGoldberg | j: [R,] 1..3 | 23:29 | |
camelia | rakudo-jvm 7142b7: OUTPUT«Too many positional parameters passed; got 3 but expected 2 in block at /tmp/2uld8ew40l:1 in any eval at gen/jvm/stage2/NQPHLL.nqp:1086 in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1292 in any command_eval at gen/jvm/stage2/NQPHLL.nqp:1196…» | ||
timotimo | nqp: my %foo; say(nqp::isnull(%foo<bar>)); | 23:30 | |
camelia | nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«0» | ||
timotimo | oooooh! | ||
23:31
rurban1 left
|
|||
timotimo | that would certainly explain the weirdness | 23:32 | |
hm. does nqp::existskey work on QAST::Nodes? | 23:33 | ||
23:36
simcop2387 left
|
|||
timotimo tries it out | 23:36 | ||
seems fine | 23:38 | ||
23:38
simcop2387 joined
23:39
kivutar left,
Maddingu1 is now known as Maddingue
23:41
kaare__ left
23:45
PacoAir left
|