Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-12-13

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:04 raiph am i right in saying timotimo recently created added an optimization phase for nqp?
00:10 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.
00:12 raiph japhb_: that optimization would be in nqp code, not c, right?
00:12 japhb_ raiph: Yes, I'm pretty sure so.
00:12 raiph thx
00:13 japhb_ It's a pessimal code generation, not a failure of the regex engine itself.
00:16 timotimo i already made the optimisation
00:16 preflex timotimo: you have 1 new message. '/msg preflex messages' to read it.
00:16 timotimo to remove scans before BOS
00:16 timotimo i don't know if it's in master yet
00:16 timotimo fixing that didn't cause a significant improvement for stage parse at least.
00:16 japhb_ \o/  /o\
00:17 japhb_ Wait ... did you do the optimization *both* in NQP and Rakudo?
00:17 japhb_ Because since it's code generation, I think you'd need to do both.
00:19 TimToady are you using star?
00:20 timotimo ah, yes, i have a branch with a single commit that does nothing except invoke the P6QRegex optimizer
00:20 timotimo it's not in nom, though
00:22 sjohnson joined #perl6
00:22 japhb_ TimToady, no, from-scratch build as of a few days ago.
00:22 japhb_ timotimo, Is there a reason not to merge?
00:23 timotimo good question
00:24 timotimo do you want to test the branch for me? :P
00:24 timotimo 8i'll get an overview in a minute
00:29 dalek nqp/simplify_before: 1c3737b | (Timo Paulssen)++ | src/QRegex/P6Regex/Optimizer.nqp:
00:29 dalek nqp/simplify_before: remove futile scan operations in poscaps and subrules.
00:29 dalek nqp/simplify_before: review: https://github.com/perl6/nqp/commit/1c3737b345
00:29 dalek nqp/simplify_before: b45fce6 | (Timo Paulssen)++ | src/QRegex/P6Regex/Optimizer.nqp:
00:29 dalek nqp/simplify_before: teach the regex optimizer about LEVEL
00:29 dalek nqp/simplify_before: review: https://github.com/perl6/nqp/commit/b45fce659d
00:29 timotimo this is the branch in which the beginning-of-string-scan gets eliminated
00:30 dalek rakudo/regex_optimizer: b2f1e2b | (Timo Paulssen)++ | src/Perl6/Optimizer.nqp:
00:30 dalek rakudo/regex_optimizer: run the QRegex optimizer from rakudo's optimizer.
00:30 dalek rakudo/regex_optimizer: review: https://github.com/rakudo/rakudo/commit/b2f1e2b1b5
00:30 timotimo this is the branch that launches the regex optimizer from rakudo
00:30 timotimo if you want to test them, feel free :)
00:30 japhb I'm literally about to start a meeting ...
00:31 TimK1 joined #perl6
00:31 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".  :-)
00:31 timotimo i think i'll rebase the regex_optimizer branch on nom and see if i can make it work
00:31 timotimo or rather: if i have to do anything to make it work
00:31 japhb nodnod
00:32 BenGoldberg joined #perl6
00:35 lumimies joined #perl6
00:52 GlitchMr joined #perl6
00:53 timotimo Method 'optimize' not found for invocant of class 'NQPMu'
00:53 timotimo not sure what i did wrong exactly
00:53 Celelaptop joined #perl6
01:00 timotimo it works on parrot and breaks on jvm with that error; it seems like QRegex::Optimizer.new() returns NQPMu on jvm?!
01:13 asyoulikeit joined #perl6
01:21 jeffreykegler joined #perl6
01:23 TimK1 joined #perl6
01:23 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 timotimo i've learnt a valuable lesson today.
01:34 ggoebel114 joined #perl6
01:49 japhb ... that your LAN is really slow?  ;-)
01:49 timotimo well, it was WLAN, but it's supposed to be much faster
01:50 timotimo in the other direction i got 12 MB/s
01:50 timotimo but the CPUs of both machines weren't taxed at all and gzipping the datastream didn't make a difference whatsoever
01:55 japhb What kind of WLAN?
01:56 timotimo n
01:56 timotimo at least i think it is!
01:57 japhb MIMO?
01:57 timotimo hm, i don't think so
01:58 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
01:59 timotimo otherwise i'm very happy with my cable box + wifi access point
01:59 timotimo it's an AVM Fritz!Box; AVM is a cool company
02:07 btyler joined #perl6
02:36 TimK1 left #perl6
02:55 FreeNode joined #perl6
02:56 Guest67434 left #perl6
02:57 mjreed joined #perl6
02:59 jeffreykegler On the Marpa mailing list, I talk about S15, focusing on the Marpa point-of-view: https://groups.google.com/forum/​#!topic/marpa-parser/nar3Boxu3B0
03:01 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…»
03:01 camelia ..niecza v24-108-g17d73e4: OUTPUT«(timeout)[auto-compiling setting]␤»
03:01 camelia ..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…»
03:01 mjreed ^^ that's straight from the Perl6 advent calendar day 8.  what is going on?  where's the extra positional param?
03:05 mjreed hm. works with explicit `self.new` instead of just `.new`
03:09 cognominal joined #perl6
03:14 araujo joined #perl6
03:14 araujo joined #perl6
03:18 BenGoldberg r: say 1 R, 2
03:18 camelia rakudo-parrot 02af63, rakudo-jvm 02af63: OUTPUT«2 1␤»
03:18 BenGoldberg r: say 1 R, 2 R, 3
03:18 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…»
03:18 camelia ..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/…»
03:18 BenGoldberg std: say 1 R, 2 R, 3
03:18 camelia std 3b262af: OUTPUT«ok 00:01 124m␤»
03:20 BenGoldberg n: say 'alive'
03:21 camelia niecza v24-108-g17d73e4: OUTPUT«(timeout)[auto-compiling setting]␤»
03:26 mjreed joined #perl6
03:30 mjreed joined #perl6
03:39 slavik joined #perl6
03:50 mjreed joined #perl6
03:56 mjreed joined #perl6
04:09 preflex joined #perl6
06:01 ggoebel114 joined #perl6
06:05 Alina-malina joined #perl6
06:10 raiph joined #perl6
06:24 Woodi joined #perl6
06:24 Woodi morning!
06:25 [Sno] joined #perl6
06:28 moritz \o
06:52 kaleem joined #perl6
07:22 raiph joined #perl6
07:23 raiph preflex: tell dwarring added comment to your advent gist
07:23 preflex Consider it noted.
07:31 SamuraiJack_ joined #perl6
07:32 FROGGS[mobile] joined #perl6
07:39 darutoko joined #perl6
07:43 darutoko- joined #perl6
07:51 FROGGS joined #perl6
08:05 dwarring raiph: thanks!
08:05 preflex dwarring: you have 1 new message. '/msg preflex messages' to read it.
08:20 rindolf joined #perl6
08:38 sqirrel joined #perl6
08:38 Piers_ joined #perl6
08:44 xinming joined #perl6
09:16 hoelzro morning #perl6!
09:16 eiro joined #perl6
09:37 xinming joined #perl6
09:44 moritz \o hoelzro, *
09:47 daniel-s_ joined #perl6
09:49 xinming joined #perl6
10:01 bbkr joined #perl6
10:25 gfldex joined #perl6
10:40 Mouq joined #perl6
10:56 xenoterracide joined #perl6
11:02 fhelmberger joined #perl6
11:04 kivutar joined #perl6
11:21 dmol joined #perl6
11:33 Mouq joined #perl6
11:34 dmol joined #perl6
11:44 xinming_ joined #perl6
11:45 dmol joined #perl6
11:49 xinming joined #perl6
12:08 dmol joined #perl6
12:09 kivutar joined #perl6
12:16 denisboyun joined #perl6
12:23 denis_boyun joined #perl6
12:32 tgt joined #perl6
12:41 atroxaper joined #perl6
12:50 SamuraiJack_ joined #perl6
12:51 tgt joined #perl6
12:51 xinming joined #perl6
13:14 * jnthn home :)
13:15 moritz welcome ~, jnthn :-)
13:15 integral joined #perl6
13:19 * FROGGS .oO( welcome C:Usersjnthn, jnthn )
13:21 jnthn :P
13:25 FROGGS :o)
13:26 lizmat good *, #perl6!
13:26 lizmat backlogging
13:27 lizmat re http://irclog.perlgeek.de/​perl6/2013-12-12#i_7992956 , the bug is that :exists returns a Parcel rather than a list ?
13:30 jnthn Slicing normally returns a Parcel, so I'd imagine it still does with :exists
13:34 ajr joined #perl6
13:34 lizmat indeed, and as far as S02:2498 is concerned, it should return a Parcel of Bool
13:34 synopsebot Link: http://perlcabal.org/syn/S02.html#line_2498
13:35 * 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 lizmat we can do that too, but at extra cost  :-)
13:35 * colomon realizes 8:34 is EST.
13:43 hoelzro ahoy lizmat!
13:44 lizmat hoelzro o/
13:44 hoelzro nice running into you last night, even if we didn't get a chance to talk
13:44 lizmat it was a nice evening.... the last ones left at midnight  :-)
13:44 hoelzro =)
13:44 lizmat (which would be woolfy, ribasushi and yours truly)
13:45 zakharyas joined #perl6
13:55 btyler joined #perl6
13:57 mtj_ joined #perl6
14:08 raiph joined #perl6
14:15 jnthn $dayjob christmas dinner &
14:30 jeff_s1 joined #perl6
14:31 mjreed joined #perl6
14:36 nnunley joined #perl6
14:38 [Sno] joined #perl6
14:44 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:45 bluescreen10 joined #perl6
14:46 ggoebel114 joined #perl6
14:46 apejens joined #perl6
14:47 btyler joined #perl6
14:52 rurban1 joined #perl6
14:54 moritz mjreed: hwat kind of command-line parameters are you talking about?
14:54 moritz mjreed: and are you using the parrot or the JVM backend?
14:55 moritz mjreed: and if parrot, do you have the ICU lib + headers?
14:55 mjreed moritz: code passed in via -e, parrot.
14:55 mjreed perl6 -e '.say for ("A".."Z") >>xx>> 4'   # works
14:55 mjreed perl6 -e '.say for ("A".."Z") »xx» 4' | more  # Confused.
14:56 moritz mjreed: do you have ICU?
14:58 mjreed yes.  Homebrew-installed icu4c.
14:59 moritz mjreed: and does   say $*VM<config><has_icu>  also say 1?
15:00 mjreed hm.  nope.
15:01 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 #perl6
15:07 araujo joined #perl6
15:07 kaare__ joined #perl6
15:10 timotimo mjreed: thanks for spotting the missing self in the post. i went ahead and fixed it for raydiak++
15:12 mjreed timotimo: so .new with no explicit innocent isn't supposed to work?
15:13 colomon mjreed: it works on $_ instead of self
15:13 timotimo exactly
15:13 timotimo maybe .foo should warn if it's not in a contextualizer?
15:13 timotimo or something like that?
15:14 mjreed I thought $_ was set to self if there was no other explicit topic, though..
15:14 colomon nope
15:14 timotimo i don't know about that
15:15 colomon or at least, not as far as I know.
15:15 colomon seems like that would be very confusing.
15:16 rurban1 joined #perl6
15:27 jnap joined #perl6
15:28 xinming_ joined #perl6
15:32 slavik joined #perl6
15:35 rindolf joined #perl6
15:40 jeffreykegler joined #perl6
15:52 bluescreen100 joined #perl6
15:55 gfldex joined #perl6
16:00 xinming joined #perl6
16:01 denisboyun joined #perl6
16:30 rjbs I think my news reader is much more cynical than I might have guessed!
16:30 rjbs https://www.evernote.com/shard/s2/sh​/c8e39817-435f-4d64-bfb8-73362249427​5/43305ec56a98ed9dc0dc8b4e2a9bf92c
16:31 rjbs [Coke]: ^
16:34 mls joined #perl6
16:34 * PerlJam wonders if that newline was left there on purpose
16:35 [Sno] joined #perl6
16:35 timotimo i asked coke to keep that newline
16:36 PerlJam why?
16:36 timotimo it used to just be an unfortunate automatic linewrapping
16:36 timotimo i thought it was hilarious comedic timing
16:36 timotimo hm, that newline is a bit aggressive, though
16:37 bluescreen__ joined #perl6
16:37 odoacre joined #perl6
16:37 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 Psyche^ joined #perl6
16:38 slavik joined #perl6
16:38 tgt joined #perl6
16:38 Woodi joined #perl6
16:38 ashleydev joined #perl6
16:38 raydiak joined #perl6
16:38 Timbus joined #perl6
16:38 rhr joined #perl6
16:38 risou_awy joined #perl6
16:38 sjohnson joined #perl6
16:38 sjohnson joined #perl6
16:39 PerlJam anyhow ... [Coke]++
16:39 timotimo i had hoped it would not make a whole new paragraph
16:39 timotimo were you just locking the editor on that post?
16:39 timotimo i was going to try a <br/> instead of an actual new paragraph
16:41 timotimo ah, perlpilot locked it
16:41 timotimo that's not you, is it?
16:41 PerlJam oh.  I was looking at the post.  hold on.
16:42 hummeleB1 joined #perl6
16:42 PerlJam all yours ;)
16:42 Gruber joined #perl6
16:42 Maddingu1 joined #perl6
16:42 obra_ joined #perl6
16:43 Timbus|Away joined #perl6
16:44 raydiak_ joined #perl6
16:44 jeff_s1 joined #perl6
16:45 rhr_ joined #perl6
16:45 kaleem joined #perl6
16:47 timotimo thanks
16:47 timotimo look at the updated post
16:47 timotimo it doesn't look as bad any more
16:47 timotimo actually, if i put evrything after the ? on its own paragraph, it may look more natural
16:48 timotimo nope. now "never" has its whole own line :)
16:50 Woodi joined #perl6
16:51 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:53 ashleydev joined #perl6
16:55 denisboyun joined #perl6
16:58 slavik joined #perl6
16:59 risou_awy joined #perl6
17:02 colomon joined #perl6
17:03 denisboyun joined #perl6
17:07 apejens joined #perl6
17:11 denis_boyun joined #perl6
17:11 FROGGS joined #perl6
17:15 genehack joined #perl6
17:21 retupmoca joined #perl6
17:25 jeffreykegler joined #perl6
17:29 [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:30 timotimo [Coke]: and i'll bow to your judgement
17:31 Alina-malina joined #perl6
17:31 [Coke] er, s/the final product/the initial release that rjbs saw/
17:31 [Coke] either way, haters gonna hate.
17:31 [Coke] so I'm fine. :)
17:32 [Coke] (to be clear, y'all are not the haters)
17:33 ssutch joined #perl6
17:35 Alina-malina joined #perl6
17:35 ajr joined #perl6
17:39 denis_boyun joined #perl6
17:44 denisboyun joined #perl6
18:02 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 TimToady it is instead returning an itemized Parcel, which doesn't flatten properly in the list context supplied by all()
18:03 TimToady 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␤»
18:03 TimToady note the $()
18:04 sjohnson nollij
18:05 TimToady and that map is getting it unflattened too
18:06 TimToady 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)␤»
18:06 TimToady r: my %h = :foo(1), :bar(2); say (%h<foo bar baz>:exists).WHAT
18:06 camelia rakudo-parrot 02af63, rakudo-jvm 02af63: OUTPUT«(Parcel)␤»
18:06 TimToady WHAT derefs the $() silently
18:07 TimToady so it's hard to tell there's an unwanted level of indirection
18:08 moritz and there's no easiy way to introspec the presence of a scalar container (hint, hint)
18:09 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)␤»
18:09 TimToady you was sayin'?
18:09 timotimo perl6: the developers thought of everything
18:09 TimToady 'course you could invoke No True Scotsman here :)
18:09 camelia rakudo-parrot 02af63: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/xz7wrTk0yUâ�¤Undeclared 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â�¤â�¤Â»
18:09 camelia ..niecza v24-108-g17d73e4: OUTPUT«(timeout)[auto-compiling setting]␤»
18:09 camelia ..rakudo-jvm 02af63: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/QTzJzrSBIBâ�¤Undeclared 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â�¤â�¤Â»
18:10 TimToady camelia is very...enthusiastic...
18:11 TimToady speaking of ..., that's what I'd do on the line break, if you want it kept
18:11 TimToady the answer is never...
18:11 TimToady ...as simple as
18:12 tgt joined #perl6
18:12 TimToady [Coke]: ^^
18:13 TimToady then it's perfectly clear that the joke is intentional
18:13 mjreed joined #perl6
18:13 jeff_s2 joined #perl6
18:13 timotimo arnsholt: will we ever resume work on p6-zmq? :)
18:15 PerlJam TimToady++ good idea
18:16 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 timotimo (and when NativeCall for jvm is done ... :D )
18:20 moritz aren't there Java bindings to SDL?
18:21 timotimo hm, there probably are
18:24 mjreed @moritz - Getting ICU into Parrot didn't help. https://gist.github.com/markjreed/7948743   Additional ideas welcome.  Works fine on Linux...
18:27 TimToady maybe your CLI is defective
18:27 TimToady what does perl -e 'say "«»"'  give you for output?
18:28 TimToady what does perl -e 'say "«»".chars'  give you for output?
18:28 TimToady or echo '«»' for that matter
18:29 colomon should that have been perl6 instead of perl back there?
18:29 moritz ------> say ("A".."C")⏏»xx»2
18:30 moritz could still be either perl6 or the terminal
18:30 TimToady or perl -E :)
18:30 TimToady well, not the .chars one...
18:30 colomon TimToady: btw, perl6 -e 'say "«»".chars' gives me 4
18:31 TimToady should say 2
18:31 colomon yeah, I know
18:31 colomon perl6 -e 'say "«»".ords'
18:31 colomon 194 171 194 187
18:31 colomon that's parrakudo
18:31 moritz so, a general mac os X problem?
18:31 colomon on OSX 10.8
18:31 TimToady could be
18:32 colomon perl6 -e 'say "«»".ords'
18:32 colomon 171 187 # on linux
18:32 TimToady perl -E 'say length "«»"'   ??
18:33 colomon also 4 on OS X
18:33 TimToady interestingly, 4 on Linux too
18:33 lue hello world o/
18:34 colomon \o
18:34 lue well, you know, I count four angles among those two characters, so... :)
18:35 sqirrel joined #perl6
18:38 TimToady because perl5 requires a 'use utf8;' to count it as 2 chars
18:38 TimToady perl -E 'use utf8; say length "«»"'   ??
18:39 lue I get 2 using utf8
18:39 TimToady on OS X?
18:39 mjreed perl -Mutf8 -E 'say length "«»"'
18:39 mjreed 2
18:40 mjreed 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
18:40 mjreed yeah, just strange.  same version of rakudo works fine on Linux.
18:41 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?
18:41 mjreed no; installed from the Star release, which has no perl6-j. I shall try building one when I have a moment..
18:43 colomon perl6-j -e 'say "«»".ords'
18:43 colomon 171 187 # os x
18:44 TimToady so just the parrot codepath
18:44 colomon y
18:44 * TimToady wonders if perl6-m is up to doing .ords
18:44 * colomon doubts it
18:45 TimToady well, just one step beyond say "hello world"
18:45 TimToady what could possibly go wron?g
18:45 colomon :)
18:46 colomon it's not part of the main branch of rakudo yet, is it?
18:46 TimToady not yet
18:46 TimToady and doesn't compile on linux even that far yet
18:46 TimToady them winders guys is speshul
18:48 wollmers joined #perl6
19:04 fhelmberger_ joined #perl6
19:06 sjohnson utf8 is the greatest thing to happen to a computer.
19:07 sjohnson well, it's up there.
19:09 FROGGS TimToady: is P5's pos() really about flags within the supplied string? I'd have trouble translating that to v5 :/
19:11 TimToady if this is the first insanity you've run into in P5, you're very fortunate :)
19:11 FROGGS hehe
19:11 FROGGS no, yesterday I stumbled upon: push(a, 1) which pushes to @a O.o
19:11 TimToady when P5 got a magic hammer, everything started to look like a magic nail
19:12 TimToady 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 ;)
19:12 FROGGS yeah...
19:12 TimToady what else would a push push to, other than an array?  :D
19:12 huf "la la la no it isnt" :)
19:12 huf TimToady: maybe if we wait a few versions, it'll "push" to a hash too?
19:13 FROGGS TimToady: I guess that was before lvalue subs were invented? :o)
19:13 TimToady anyway, it's just a bit of syntactic diabetes
19:13 FROGGS hehe
19:13 FROGGS TimToady++
19:16 * TimToady hates it when our make process says: Missing or wrong version of dependency
19:16 TimToady THAT'S WHAT MAKE IS FOR!!!
19:17 TimToady </rant>
19:17 FROGGS TimToady: that is on my todo list for next year :/
19:18 sjohnson i like rants
19:18 sjohnson <rant type="angry"> ...
19:18 diakopter wantrant
19:19 FROGGS does that gistify to (FatRant) ?
19:19 diakopter Rantional
19:19 sjohnson FatRant < YomamaRant
19:20 * TimToady hopes that's not Ruby code
19:21 sjohnson C:\>format e: /FS:YOMAMA32 /q
19:21 timotimo the < operator opens classes back up for adding methods, right?
19:22 TimToady it's their mixin, iirc
19:23 sjohnson import Java.Mathemathics.ComparisonOperators;  int_tmp = new Integer(6); if (int_tmp.Math.lessThan(3)) { ... } etc
19:24 sjohnson alright, i think i've been silly enough for one day.
19:27 lue <THAT'S_WHAT_MAKE_IS_FOR_!!!>.WHAT.say    # output: (RantStr)
19:29 sjohnson lue++
19:32 lizmat TimToady: I see your point
19:33 lizmat meanwhile, I was thinking of speccing / implementing ":any", ":all", ":one" and ":none" adverbs as special versions of :exists on slices
19:34 moritz but you can simply say    any %thing<...>:exist, no?
19:34 lizmat does that smell ?
19:34 moritz yes
19:34 lizmat moritz: yes, but it would huffmanize it (whether there is a reason for it, I don't know)
19:35 lizmat and it could fail earllier, as any %h<...>:exists would still need to build the entire Parcel of Bools
19:36 moritz I don't buy the huffmanization argument
19:36 moritz same number of characters, afaict
19:37 lizmat no, *iinstead* of :exists
19:37 lizmat %h<....>:any
19:39 * TimToady thinks the optimizer can work out what to do with 'any %thing<...>:exists'
19:40 TimToady 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
19:40 TimToady -O3 :)
19:41 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?
19:41 TimToady well, slices are supposed to be transparent to laziness
19:41 timotimo not necessarily
19:42 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)
19:42 timotimo the resulting code would just be something like { my $result = True; for %thing<...>:exists { $result = False if !$_; last unless $result } }
19:42 lizmat *note
19:42 TimToady r: my @array = <a b c>; say @array[2 xx *][^5]
19:43 timotimo so there would not be a need to introspect
19:43 camelia rakudo-parrot 02af63, rakudo-jvm 02af63: OUTPUT«(timeout)»
19:43 TimToady that is supposed to work
19:43 timotimo though now i realize you mean that the slice wouldn't have to continue, which i didn't think of yet
19:43 lizmat timotimo: indeed
19:43 lizmat "fail early"
19:44 TimToady the whole point of the LoL argument thing is to allow .[LIST; LIST; LIST] to treat each LIST as, well, a list
19:45 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:46 araujo joined #perl6
19:47 lizmat maybe he is writing the blog post concurrently  :)
19:48 * TimToady smiles ever so slightly
19:48 lizmat I mean, he *did* Promise
19:48 TimToady and you did Supply him with tuits, right?
19:48 lizmat plenty of tuits on tap
19:49 lizmat 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)␤»
19:49 lizmat p: sub a { my $return = <a b c>.map( {$_} ).eager.Parcel; $return }; say a.perl; say a.WHAT
19:49 camelia rakudo-parrot 02af63: OUTPUT«$("a", "b", "c")␤(Parcel)␤»
19:49 lizmat this is the cause of what TimToady just pointed out to me
19:50 lizmat 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
19:50 camelia rakudo-parrot 02af63: OUTPUT«("a", "b", "c")␤(Parcel)␤»
19:50 lizmat ah, duh!
19:51 * 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
19:51 camelia rakudo-parrot 02af63: OUTPUT«("a", "b", "c").list␤(List)␤»
19:51 * FROGGS runs away (crying)
19:51 TimToady p: sub a { my \result = (<a b c>.map( {$_} ); result }); say a.perl; say a.WHAT
19:51 camelia rakudo-parrot 02af63: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/9J8AT5NZzj�Unable to parse expression in parenthesized expression; couldn't find final ')' �at /tmp/9J8AT5NZzj:1�------> [32m \result = (<a b c>.map( {$_} ); result [33m�[31m}); say a.p…»
19:52 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)␤»
19:52 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,)␤(Parcel)␤»
19:52 PerlJam <jnap> Catalyst Advent is now covered to Day 26!
19:52 PerlJam I guess the catalyst folks do advent differently  :)
19:53 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)␤»
19:53 TimToady you don't want the eager if :exists is to be lazy
19:54 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
19:55 lizmat do we have lazy Parcels?
19:55 lizmat since it is specced to return a Parcel
19:55 jeff_s1 joined #perl6
19:55 TimToady a parcel contains a list
19:55 TimToady lists are lazy by default
19:55 TimToady well, a parcel can contain a list
19:56 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
19:57 TimToady 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)␤»
19:57 lizmat so the Parcel contains 1 item, a lazy list
19:57 TimToady like that
19:58 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:59 TimToady a Parcel cannot be infinite
19:59 TimToady a slice can be, if you slice with an infinite list
20:00 TimToady well, supposed to can be :)
20:00 lizmat well, not the way it is implemented now...  :-)
20:01 lizmat but that can be fixed
20:01 lizmat p: my %h=a=>1,b=>2; say so all %h<a b c>:exists
20:01 camelia rakudo-parrot 02af63: OUTPUT«True␤»
20:01 lizmat $ perl6-p -e 'my %h=a=>1,b=>2; say so all %h<a b c>:exists'
20:01 lizmat False
20:01 lizmat committing fix now
20:01 TimToady \o/
20:02 dalek rakudo/nom: 7142b7e | (Elizabeth Mattijsen)++ | src/core/Any.pm:
20:02 dalek rakudo/nom: Fix additional dereference, thanks to TimToady++
20:02 dalek rakudo/nom:
20:02 dalek rakudo/nom: $ perl6-p -e 'my %h=a=>1,b=>2; say so all %h<a b c>:exists'
20:02 dalek rakudo/nom: False
20:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7142b7eb9f
20:06 lizmat p: my @a=1; say @a[0..Inf]:exists  # only 1 checked?
20:06 camelia rakudo-parrot 02af63: OUTPUT«True␤»
20:06 lizmat shouldn't Inf be handled differently from * ?
20:06 TimToady ranges autotrim in subscripts
20:06 lizmat or will that also be bound by the size of the array ?
20:06 lizmat ok
20:06 TimToady why I used xx instead :)
20:06 wollmers joined #perl6
20:07 TimToady r: my @a = <a b c>; say @a[1 xx *][^20];
20:07 TimToady seems like that oughta be allowed
20:07 camelia rakudo-parrot 02af63, rakudo-jvm 02af63: OUTPUT«(timeout)»
20:07 TimToady though we may get into weirdness with S09ish multidimension slices
20:08 TimToady *sional
20:08 TimToady obviously you don't want arbitrary size in two different dimensions at once
20:08 TimToady s/arbitrary size/infinite list of subscripts/
20:09 lizmat ah, I was wondering
20:09 lue .oO(my @space[*;*;*])
20:09 TimToady that one is just "all the ones that are there" though
20:09 lizmat feels to me you could want N-1 dimensions to be infinite
20:09 wollmers Will the Graphems be born at X-mas?
20:09 lizmat note the "feels" there
20:10 TimToady what's the shape of the items returned, is the question
20:11 TimToady probably can support xx * only in the first dimension
20:12 TimToady 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 TimToady but I'd like to preserve the laziness of lists if we can
20:14 lizmat so maybe slices shouldn't return Parcels but lists ?
20:19 dalek specs: f4b1200 | lue++ | S15-unicode.pod:
20:19 dalek specs: [S15] Replace .compose/.decompose methods.
20:19 dalek specs:
20:19 dalek specs: Left behind from the move to multiple string types.
20:19 dalek specs: review: https://github.com/perl6/specs/commit/f4b12007db
20:19 dalek specs: e020cb1 | lue++ | S15-unicode.pod:
20:19 dalek specs: [S15] Fix ord(s) to work on all Stringy.
20:19 dalek specs:
20:19 dalek specs: This presumes that Unicodey does Stringy. If not, then you simply need
20:19 dalek specs: to add the signatures for Unicodey things where these changes were made.
20:19 dalek specs:
20:19 dalek specs: Additionally, some clarification on .chr(s).
20:19 dalek specs: review: https://github.com/perl6/specs/commit/e020cb1303
20:21 jeff_s2 joined #perl6
20:23 [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 [Coke] (e.g. https://github.com/perl6/specs​/blob/master/S15-unicode.pod)
20:24 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: https://github.com/perl6/specs/b​lob/master/S26-documentation.pod
20:24 * lue would not hesitate to change the extensions though :)
20:25 [Coke] +1 from me if you do it. our pod doesn't live in a perl6-only toolchain.
20:25 lue ye
20:25 lue *yet
20:25 TimToady unless we just try the p6 toolchain and failover to p5
20:25 lue TimToady: I got the idea from moritz that there was no Pod6 toolchain in place, at least not like the POD one.
20:27 moritz there is perl6 --doc=html
20:27 moritz not more
20:27 moritz (plus a few bit-rotten scripts for doc.perl6.org)
20:27 dalek specs: c834ab1 | lue++ | S15-unicode.pod:
20:27 dalek specs: [S15] More leftover stuff from the pre-multitype days.
20:27 dalek specs:
20:27 dalek specs: Those functions can handle different NFs now through the magic known as
20:27 dalek specs: a "type system", so that bit about special handling is meaningless.
20:27 dalek specs: review: https://github.com/perl6/specs/commit/c834ab13ca
20:28 TimToady seems like it's starting to rise to a dogfood issue
20:28 * lue hopes there isn't more cruft :)
20:28 moritz the problem with dogfooding is that somebody has to do it :-)
20:29 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
20:29 moritz lue: please start with the toolchain, not with pod6ifying
20:29 lue moritz: would I need access to feather to work out a toolchain, or could I run it locally?
20:29 lue moritz: fair enough. We already have two Pod6 specs for testing :)
20:29 TimToady .oO("And cancel Christmas!" --The Sheriff of Nottingham)
20:29 moritz lue: I sure hope you can run Perl 6 code locally :-)
20:30 lue moritz: I dunno 'bout that, been years since I even thought about Perl 6... :)
20:32 araujo joined #perl6
20:32 [Coke] TimToady: if you can get github to do that, woohoo. (try to render perl6 pod)
20:34 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
20:34 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
20:35 lue moritz: I assume the only repos I need in order to do is mu and specs, right?
20:35 lue bus factor...?
20:36 moritz https://en.wikipedia.org/wiki/Bus_factor
20:36 PerlJam moritz: What will this toolchain actually do?
20:37 moritz PerlJam: pod6 -> html, plus some extras like inserting dates, links, headers, etc.
20:37 moritz maybe adding an index
20:38 moritz maybe integrating smartlinks from roast
20:38 moritz dunno what lue has planned
20:38 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.
20:39 lue :) "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?
20:40 lue PerlJam: there's currently a smartlinks.pl script which, if I'm guessing correctly, allows those links to roast tests to happen.
20:45 lue moritz: fair warning, I'm not writing any new P5 code :) [but I won't destructively replace P5 code either.]
20:46 * PerlJam would like a genericish toolset so that it can be used to turn pod6 into a "website" or a "book"
20:47 PerlJam (and the book could be in PDF or HTML or whatever)
20:47 PerlJam (and the HTML-book would be different from the HTML-website in the later would have all sorts of extra cross links)
20:48 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:50 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 #perl6
20:51 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 :-)
20:52 FROGGS xenoterracide: maybe here: http://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™.
20:53 * lue 'll create pugscode after all, just to avoid the headache of not committing a change to ROOT_DIR :)
20:57 Entonian joined #perl6
20:57 japhb_ xenoterracide, It's not async {} anymore.  It's Promise.start({}).  Or as I tend to use it Promise.start: {}
21:00 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.
21:00 TimToady just: start {...}
21:01 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.
21:02 TimToady statement prefix
21:02 japhb_ xenoterracide, http://jnthn.net/papers/2013-npw-conc.pdf
21:02 japhb_ perl5 think
21:02 xenoterracide japhb_: TimToady thanks
21:03 japhb_ preflex: tell jnthn It looks like your articles.shtml is out of date WRT your latest talks.
21:03 preflex Consider it noted.
21:04 japhb_ Am I the only one who hears the 80's song "The Reflex" in his head every time he talks to preflex?
21:05 PerlJam japhb_: heh!
21:06 TimToady j: my @promises = (start { sleep rand; .say } for 1..10); await @promises
21:06 camelia rakudo-jvm 7142b7: OUTPUT«NilNil␤␤Nil␤Nil␤Nil␤Nil␤Nil␤Nil␤Nil␤Nil␤»
21:06 TimToady hah
21:06 japhb_ Caught it cheating.  :-)
21:07 TimToady j: my @promises = do for 1..10 { start { sleep rand; .say } }; await @promises
21:07 camelia rakudo-jvm 7142b7: OUTPUT«3␤8␤2␤7␤10␤4␤9␤1␤6␤5␤»
21:08 TimToady j: my @promises = do for 1..10 { start { sleep rand; .say; $_ } }; say await @promises
21:08 camelia rakudo-jvm 7142b7: OUTPUT«3␤7␤6␤4␤9␤1␤8␤2␤5␤10␤1 2 3 4 5 6 7 8 9 10␤»
21:08 TimToady looks like a hyper to me
21:09 japhb_ Without any chunking
21:10 TimToady j: my @promises = do for 1..10 { start { .say; $_ } }; say await @promises
21:10 camelia rakudo-jvm 7142b7: OUTPUT«1␤6␤7␤5␤4␤3␤2␤10␤98␤␤1 2 3 4 5 6 7 8 9 10␤»
21:10 TimToady heh, 98
21:11 TimToady funny thing, if you change it to print "$_\n", it can still interleave the output
21:13 japhb_ Thread interruption mid-vm-op?
21:13 japhb_ Or does it treat the interpolating string as multiple buffers to flush in sequence?
21:14 timotimo it might
21:15 TimToady I know it can also deadlock threads that way, which is why the dining philosophers on RC serializes output to a channel
21:16 TimToady but maybe we'd better be extra careful about passing lazy things to a channel...
21:17 TimToady perhaps even enforce an eager there
21:18 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
21:18 TimToady *is by
21:18 japhb_ nod
21:22 kivutar joined #perl6
21:35 danishman joined #perl6
21:45 lizmat TimToady: start is currently implemented as 'sub start(&code) { Promise.start(&code) }'
21:46 lizmat 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:47 rurban1 TimToady: parrot say vs print "\n" ? we had a parrot threading problem with say
21:49 moritz I'm pretty sure we're talking about the JVM backend
21:50 FROGGS lizmat: it needs to go into the grammar and would then dispatch to &prefix:<start> for example
21:51 FROGGS It can do the `Promise.start(&code)` in the actions too of course
21:52 lizmat since most people would probably do start {..} rather than Promise.start: { ... }
21:53 lizmat it might make sense to put the Promise start code into the prefix:start and make Promise.start return that
21:53 lizmat or is that a premature optimization thought ?
21:53 moritz sounds like a violation of encapsulation
21:53 FROGGS I dunno, I am bad at designing things
21:53 lizmat meanwhile I'm getting worried about jnthn's blog post for tomorrow
21:54 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 moritz so it might still happen tomorrow
21:54 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.
21:55 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?
21:56 timotimo 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:57 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?
21:57 timotimo what kind of tagging are you refering to?
21:57 lue is File::Find::Rule something Perl 5 is expected to come with?
21:58 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
21:58 timotimo i thought it would already be nice enough to compare the speeds for the same test across versions
21:59 japhb_ timotimo, AWFY is http://arewefastyet.com/
21:59 moritz lue: no
21:59 japhb_ lue: ISTR File::Find is, but File::Find::Rule is not.
22:00 japhb_ 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)
22:00 moritz that's what corelist says
22:00 moritz and yes, File::Find is a core module
22:00 dalek mu: 979297b | lue++ | docs/feather/script/update-syn:
22:00 dalek mu: [feather] Make update-syn first-time friendly.
22:00 dalek mu:
22:00 dalek mu: Essentially, clones repos if they don't exist. A small convenience, and
22:00 dalek mu: shouldn't effect existing uses of this script.
22:00 dalek mu: review: https://github.com/perl6/mu/commit/979297b3f5
22:02 lue hah, searching for "File-Find" in my package manager gives me one result: File-Find-Rule :D
22:02 timotimo oic
22:03 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:05 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.)
22:06 japhb_ timotimo, speed.pypy.org can do that because the baseline is something with decent, relatively even performance across all subsystems.
22:07 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.)
22:08 timotimo speed.pypy also compares to cpython; why wouldn't we compare to perl5?
22:08 japhb_ My point more or less exactly.  ;-)
22:08 rjbs timotimo: <rewind> Ah, the line break was intentional!  Okay, sometimes my newsreader inserts them in very odd places.
22:08 timotimo :)
22:09 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.
22:10 * 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:12 jeff_s1 joined #perl6
22:12 moritz IE6? :-)
22:13 * 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.
22:14 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:15 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."
22:16 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 #perl6
22:17 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 moritz so Perl6::Perldoc is a hysterical artifact more than state-of-the-art
22:17 lue moritz: yeah, I had the sneaking suspicion that Perl6::Perldoc was maybe a bit old, as soon as the message popped up.
22:20 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:21 japhb_ 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:22 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:25 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:26 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:38 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 &
22:43 tadzik .u ᴱ
22:52 lue r: say uniname("ᴱ");  # coming soon, hopefully :)
22:52 camelia rakudo-jvm 7142b7: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/1ZCAQVEDHIâ�¤Undeclared routine:â�¤    uniname used at line 1â�¤â�¤Â»
22:52 camelia ..rakudo-parrot 7142b7: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/1W0K0XjOBmâ�¤Undeclared routine:â�¤    uniname used at line 1â�¤â�¤Â»
22:59 rurban1 joined #perl6
23:07 timotimo i found a (the?) sillyness in my chaining_whatever branch and may now have what it takes to get through spectests
23:12 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:14 dalek mu: 3e2808e | lue++ | util/Text-SmartLinks/lib/Text/SmartLinks.pm:
23:14 dalek mu: [Text::SmartLinks] Gut Pod6 generation.
23:14 dalek mu:
23:14 dalek mu: It apparently wouldn't work if you had all the stuff anyway.
23:14 dalek mu: review: https://github.com/perl6/mu/commit/3e2808e015
23:14 dalek mu: 2998f7e | lue++ | docs/feather/script/update-syn:
23:14 dalek mu: [feather] Comment out zh-cn Synopses generation.
23:14 dalek mu:
23:14 dalek mu: It hasn't been looked after in a while from the looks of it, and the
23:14 dalek mu: code meant to handle it, which was commented out here, doesn't work
23:14 dalek mu: anyway.
23:14 dalek mu: review: https://github.com/perl6/mu/commit/2998f7e8c3
23:15 dalek rakudo/nom: 455fbcb | (Elizabeth Mattijsen)++ | src/core/Any.pm:
23:15 dalek rakudo/nom: Put the burden of :SINK on :delete only
23:15 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/455fbcb5d0
23:17 lizmat gnight, #perl6!
23:20 timotimo gnite lizmat :)
23:20 timotimo so, how's jnthn++'s advent post coming along? =)
23:26 BenGoldberg joined #perl6
23:27 BenGoldberg r: 1
23:27 camelia rakudo-parrot 7142b7, rakudo-jvm 7142b7: ( no output )
23:27 BenGoldberg n:1
23:27 BenGoldberg n: 1
23:28 camelia niecza v24-108-g17d73e4: OUTPUT«(timeout)[auto-compiling setting]␤»
23:29 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…»
23:30 timotimo nqp: my %foo; say(nqp::isnull(%foo<bar>));
23:30 camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«0␤»
23:30 timotimo oooooh!
23:32 timotimo that would certainly explain the weirdness
23:33 timotimo hm. does nqp::existskey work on QAST::Nodes?
23:36 * timotimo tries it out
23:38 timotimo seems fine
23:38 simcop2387 joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo