Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-11-22

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:14 gfldex joined #perl6
00:26 sivoais joined #perl6
00:31 sivoais_ joined #perl6
00:46 labster joined #perl6
01:05 vendethiel joined #perl6
01:11 hagiri joined #perl6
01:28 cognominal joined #perl6
01:29 vendethiel joined #perl6
01:31 timotimo interestingly the recent stage0 update of nqp made pretty much every .moarvm file bigger than it used to be
01:35 araujo hello
01:35 araujo I searched on the modules page, but couldn't find there, asking here in case someone knows, is there a couchdb driver for perl6?
01:37 hagiri r u brazillian araujo ?
01:37 hagiri =)
01:38 araujo hagiri, not really, no.. though you assume it for my nick? very popular in .br I know :)
01:39 hagiri yes
01:40 hagiri last name :P
01:45 tobleronegordon joined #perl6
01:52 vendethiel joined #perl6
02:06 telex joined #perl6
02:14 raiph joined #perl6
02:32 sorear joined #perl6
02:32 btyler joined #perl6
02:32 Vlavv joined #perl6
02:32 dalek joined #perl6
02:32 hoelzro joined #perl6
02:32 xinming_ joined #perl6
02:32 oetiker joined #perl6
02:32 esaym153 joined #perl6
02:32 cognominal joined #perl6
02:32 bjz joined #perl6
02:32 7GHAAOQ3D joined #perl6
02:32 Hor|zon joined #perl6
02:32 mathw joined #perl6
02:32 lue joined #perl6
02:32 salv0 joined #perl6
02:32 apejens joined #perl6
02:32 BenGoldberg joined #perl6
02:32 BooK joined #perl6
02:32 gtodd joined #perl6
02:32 Sir_Ragnarok joined #perl6
02:32 orevdiabl joined #perl6
02:41 bjz joined #perl6
02:41 7GHAAOQ3D joined #perl6
02:41 Hor|zon joined #perl6
02:41 mathw joined #perl6
02:41 lue joined #perl6
02:41 salv0 joined #perl6
02:41 apejens joined #perl6
02:46 BenGoldberg joined #perl6
02:46 BooK joined #perl6
02:46 gtodd joined #perl6
02:46 Sir_Ragnarok joined #perl6
02:46 orevdiabl joined #perl6
02:46 cibs joined #perl6
02:56 jack_rabbit joined #perl6
02:56 chenryn joined #perl6
03:18 labster joined #perl6
03:19 chenryn joined #perl6
03:29 vendethiel joined #perl6
03:45 KCL_ joined #perl6
03:47 gfldex joined #perl6
03:52 chenryn saw perl6 -pe 'say "{++$}"' in Perl6-One-Liner repo. What's the `$` mean?
03:52 chenryn moar: say $.WHAT
03:52 chenryn perl6: say $.WHAT
03:52 camelia rakudo-{parrot,moar} a75337: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Variable $.WHAT used where no 'self' is availableâ�¤at /tmp/tmpfile:1â�¤------> [32msay $.WHAT[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        argument listâ�¤        pre…»
04:06 rmgk_ joined #perl6
04:08 labster joined #perl6
04:10 jack_rabbit joined #perl6
04:13 zoosha joined #perl6
04:14 Grrrr joined #perl6
04:17 apejens joined #perl6
04:28 JimmyZ joined #perl6
04:30 JimmyZ .tell chenryn 那个是匿名变量
04:30 yoleaux JimmyZ: I'll pass your message to chenryn.
04:38 kaare__ joined #perl6
05:04 kjs_ joined #perl6
05:18 vendethiel joined #perl6
05:36 chenryn joined #perl6
06:03 raiph joined #perl6
06:04 vendethiel joined #perl6
06:26 telex joined #perl6
06:40 vendethiel joined #perl6
06:42 tobleronegordon left #perl6
06:49 PerlJam S02:Nil
06:50 moritz \o
07:05 ugexe can we set the exit status without exiting (and instead continuing)?
07:12 raydiak ugexe: maybe w/a phaser like 'END exit 3;'?  as long as you only want to set it once and not change it again
07:14 ugexe exit in END is NYI still
07:14 raydiak worked when I tried it in a one-liner a minute ago
07:15 ugexe but yea thats the idea. iterate through a list and exit 1 if any item failed (but still iterate the entire list)
07:15 ugexe hmm maybe it was outdated comments in the roasts
07:15 raydiak my test: perl6 -e 'END exit 3; say "foo"'; echo $?
07:16 raydiak though it'd feel cleaner to me personally to set a $var in the middle, and exit $var at the end
07:34 ugexe https://gist.github.com/ugexe/bdc0ce756bb7d0d005c2
07:35 ugexe it is the install method for panda and 2 simple exit code alternatives
07:43 darutoko joined #perl6
07:52 rurban joined #perl6
08:15 anaeem1 joined #perl6
08:27 virtualsue joined #perl6
08:33 jfredett joined #perl6
08:47 salv0 joined #perl6
09:06 smls joined #perl6
09:06 smls o/
09:07 smls So, what's the difference between a Capture and a Signature?
09:08 moritz about the same as between a string and a regex :-)
09:08 smls ah, I get it
09:08 moritz :-)
09:14 anaeem1 joined #perl6
09:16 anaeem1 joined #perl6
09:30 sqirrel__ joined #perl6
09:57 vendethiel o/, #perl6
09:59 smls m: say Mu.new ~~ *.defined
09:59 camelia rakudo-moar a75337: OUTPUT«True␤»
10:00 smls I didn't know you can instantiate Mu; what is this used for?
10:00 gfldex joined #perl6
10:06 cognominal joined #perl6
10:09 timotimo m: say Mu.new
10:09 camelia rakudo-moar a75337: OUTPUT«Mu.new()␤»
10:09 timotimo hmm
10:09 lizmat it's all because the default .new lives in Mu and doesn't make a difference between being called with Mu or anything else, afaik
10:09 lizmat and good morning, #perl6!
10:11 vendethiel o/, lizmat!
10:19 lizmat moritz itz: just wondering, why aren't the rakudo / star release announcements not on pl6anet.org ?
10:20 dalek roast: 3e737ee | usev6++ | S03-operators/assign.t:
10:20 dalek roast: Add fudged test ("todo") for RT #76414
10:20 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=76414
10:20 dalek roast: review: https://github.com/perl6/roast/commit/3e737ee253
10:21 cognominal joined #perl6
10:26 lizmat moritz itz: s/aren't/are/
10:26 lizmat or s/not//
10:27 moritz lizmat: I only know that the old feed subscribed to the perl6-announce mailing list; no idea if there's an RSS/atom interface for that
10:34 virtualsue joined #perl6
10:34 lizmat hmmm... I did not announce it to the perl6-announce list
10:34 lizmat only to the compiler list, should I have done the announce list as well ?
10:35 lizmat the release guide doesn't say so...
10:38 moritz lizmat: oh, maybe it should come from the rakudo.org blog
10:38 moritz no, wait
10:38 moritz it's fine as it is
10:38 moritz iirc the decision was to only widely announce the star releases
10:39 * lizmat finds it a bit strange that pl6anet.org *does* mention parrot releases and not rakudo releases
10:40 lizmat ah well, I guess the weekly will mention it  timotimo++  (eventually  :-)
10:41 timotimo i decided to skip this weekly and do the next one, because it's post-release
10:43 itz lizmat: well rakudo releases aren't even mentioned on rakudo.org :) .. I'll look for another rss feed
10:43 lizmat ++timotimo
10:44 vendethiel "this is perl6 version 2014.03.01 built on parrot 6.1.0 revision 0"
10:44 vendethiel welp.
10:44 timotimo itz: yeah, we only announce rakudo star releases on rakudo.org
10:45 timotimo the thinking is that a rakudo star is much more useful than a rakudo alone
10:45 * vendethiel looks for a 2014.11 msi :)
10:47 itz hmm if the rakudo releases went to perl6.announce (low traffic) I could use the RSS feed from that
10:49 lizmat itz: how do the parrot release announcements wind up on pl6anet.org ?
10:51 itz via perl6.announce
10:52 vendethiel I've had enough of manually moving files that I download, and perl6 will be the perfect tool for the job.
10:53 lizmat vendethiel: that reminds me of the "rename" project of TheDamian
10:53 lizmat not sure whether that would be online somewhere or not
10:55 denis_boyun joined #perl6
10:57 rindolf joined #perl6
10:57 psch joined #perl6
10:57 psch hi #perl6 o/
10:57 timotimo heyo psch
10:57 psch lizmat++ for the release
10:58 psch hey timotimo
10:58 vendethiel mmh?
11:00 * psch recently realized how unorderly the implement_tr actually looks on github
11:01 psch the fact that .trans should, afair, build grammars dynamically aside, the branch i made for the adverbs has stuff in it that shouldn't even be there
11:04 psch also, the asm guide is quite a tough read for me, fwiw
11:06 virtualsue joined #perl6
11:09 timotimo asm guide?
11:10 denis_boyun joined #perl6
11:10 rurban joined #perl6
11:10 jack_rabbit joined #perl6
11:10 KCL_ joined #perl6
11:10 esaym153 joined #perl6
11:10 oetiker joined #perl6
11:10 xinming_ joined #perl6
11:10 hoelzro joined #perl6
11:10 dalek joined #perl6
11:10 Vlavv joined #perl6
11:10 btyler joined #perl6
11:10 sorear joined #perl6
11:10 psch timotimo: http://download.forge.objec​tweb.org/asm/asm4-guide.pdf
11:10 jack_rabbit joined #perl6
11:10 psch the java class write lib jarakudo uses
11:11 timotimo ah, that thing
11:11 timotimo well, let me first say: thank you for looking into jakudo
11:12 anaeem1_ joined #perl6
11:13 vendethiel joined #perl6
11:13 BooK joined #perl6
11:13 gtodd joined #perl6
11:13 Sir_Ragnarok joined #perl6
11:13 orevdiabl joined #perl6
11:24 psch did @arr[*-5] turn into compile-time recently?  i get "No subtests run" for S02-types/array_extending.t
11:24 psch ohh wait
11:24 psch that's probably t/spec being out of date
11:25 timotimo it did turn compile-time
11:26 psch timotimo: but adjusting the test wasn't forgot, i'd assume :)
11:26 psch and i did have a conflict in S06-operator-overloading/sub.t
11:26 timotimo probably :)
11:29 zakharyas joined #perl6
11:32 * timotimo has a new bit of set removal for moarvm
11:34 psch what does that mean?
11:36 timotimo you know the set instruction we have in moar bytecode?
11:37 zakharyas1 joined #perl6
11:37 psch i have nearly no understanding of moarvm bytecode
11:37 psch i know it exists... :)
11:38 timotimo ah, ok
11:38 timotimo so basically it's the simplest case of a mov instruction
11:38 timotimo spesh turns many expensive operations into a simple set instead
11:39 timotimo that can lead to results like this: https://gist.github.com/timo/85052abeab6aa330ff0c
11:39 psch ah, set as in antonym to reset, not synonym for collection
11:41 timotimo yeah
11:41 timotimo moarvm doesn't have any operations on sets
11:41 timotimo afaik :)
11:41 timotimo https://github.com/MoarVM/MoarVM/commit/898fe2a62a - the comments here may explain what this piece does
11:44 arnsholt psch: Is there anything in particular you're curious about, re ASM?
11:44 arnsholt I've used it a bit for JVM NativeCall
11:44 psch arnsholt: i've just been trying to get into what it does and how it does it.  i'm maybe 1/4th into the guide, no specific questions yet.
11:44 arnsholt 'k
11:45 arnsholt USing it is pretty straightforward
11:45 psch arnsholt: i might get back to you when i come across things i need help with :)
11:45 arnsholt Cool
11:45 arnsholt The API is a bit weird at first glance, but pretty nice once you get used to it
11:45 arnsholt The tricky bit for me was getting used to the JVM instruction set
11:45 psch timotimo: so you're basically removing temporary variables, for some high enough level of abstraction?
11:46 timotimo yeah
11:47 timotimo at this point these "variables" are equivalent to stack space
11:47 psch arnsholt: jvm bytecode does look a bit unusual, yes.  i don't have that much experience with that level either, i.e. it does require some reshuffling of concepts
11:47 timotimo well, we really build almost all our stack frames on the heap, but that's not that important
11:47 psch (which fits the general theme right now, "how do i lowlevel?" :) )
11:47 psch s/bytecode/mnemonics/
11:47 psch and s/does/do/, for grammar
11:48 psch PR #317 looks sane again \o/
11:48 timotimo psch: the most important thing about ASM.js is that you have to treat "long int" as two slots on the stack
11:48 timotimo that made my earliest attempts at coding stuff explode
11:49 dalek Inline-Python: 71ee63c | nine++ | / (2 files):
11:49 dalek Inline-Python: Allow calling methods of Perl 6 objects from Python
11:49 dalek Inline-Python: review: https://github.com/niner/Inl​ine-Python/commit/71ee63c814
11:49 timotimo so instead of dup you need dupx2 and the instruction that swaps the first two values on the stack needs to know about that, too etc etc
11:51 psch timotimo: ASM is apparently not a good abbreviation for projects.  ASM.js is a completely different beast than org.objectweb.asm i think :)
11:52 timotimo er, why did i type ASM.js? %)
11:52 * psch .oO( javascript or "java" in short... )
11:55 timotimo yeah %)
11:58 anaeem1_ joined #perl6
11:59 netstar joined #perl6
12:03 Alina-malina joined #perl6
12:18 KCL joined #perl6
12:27 anaeem1 joined #perl6
12:30 vendethiel timotimo: maybe we'll have escape analysis "soon-ish"
12:36 timotimo that'll surely give us a lot.
12:36 timotimo i'd also like loop hoisting
12:37 timotimo looking at the spesh log for 'my $a := 0; my $b := 1; for 1 .. 1024_1024 { $a := $b; }; 1' i can see that 1) we're not turning the inner block into an in-lined thingie, 2) we're deconting that block every loop iteration before we call it, even though the target register never gets overwritten
12:37 timotimo so every single decont except for the first one is actually unnecessary
12:39 dalek joined #perl6
12:50 sqirrel__ joined #perl6
12:53 tgt joined #perl6
12:55 netstar joined #perl6
12:56 netstar perl6 say 3 / 0
12:56 netstar perl6: say 3 / 0
12:56 psch m: say 3 / 0
12:56 camelia rakudo-parrot a75337: OUTPUT«Type check failed for return value; expected 'Int' but got 'Failure'␤  in method floor at gen/parrot/CORE.setting:11187␤  in method Str at gen/parrot/CORE.setting:11204␤  in method Str at gen/parrot/CORE.setting:1124␤  in method gist at gen/parro…»
12:56 camelia ..rakudo-moar a75337: OUTPUT«Type check failed for return value; expected 'Int' but got 'Failure'␤  in any return_error at src/vm/moar/Perl6/Ops.nqp:649␤  in method floor at src/gen/m-CORE.setting:11251␤  in method Str at src/gen/m-CORE.setting:11272␤  in method gist at src/ge…»
12:56 camelia rakudo-moar a75337: OUTPUT«Type check failed for return value; expected 'Int' but got 'Failure'␤  in any return_error at src/vm/moar/Perl6/Ops.nqp:649␤  in method floor at src/gen/m-CORE.setting:11251␤  in method Str at src/gen/m-CORE.setting:11272␤  in method gist at src/ge…»
12:56 psch oh it works without colon anyway?
12:56 psch ah
12:56 psch no
12:56 psch just perfect timing :)
12:56 netstar :)
12:57 psch m: say { CATCH { when X::Numeric::DivideByZero { ":(" } } 3 / 0 }
12:57 camelia rakudo-moar a75337: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/oxtqyvd_9yâ�¤Missing semicolon.â�¤at /tmp/oxtqyvd_9y:1â�¤------> [32mhen X::Numeric::DivideByZero { ":(" } } [33mâ��[31m3 / 0 }[0mâ�¤    expecting any of:â�¤        postfixâ�¤        statement e…»
12:58 psch m: say { CATCH { when X::Numeric::DivideByZero { ":(" } }; 3 / 0 }
12:58 camelia rakudo-moar a75337: OUTPUT«-> ($_? is parcel) { #`(Block|71415520) ... }␤»
12:58 psch m: say { CATCH { when X::Numeric::DivideByZero { ":(" } }; 3 / 0 }()
12:58 camelia rakudo-moar a75337: OUTPUT«Type check failed for return value; expected 'Int' but got 'Failure'␤  in any return_error at src/vm/moar/Perl6/Ops.nqp:649␤  in method floor at src/gen/m-CORE.setting:11251␤  in method Str at src/gen/m-CORE.setting:11272␤  in method gist at src/ge…»
12:58 psch right
12:58 psch lazy rats or something i think
13:03 psch m: my $y = 3; my $x = do { CATCH { default { say .perl } }; ($y / 0).Int }; say $x.WHAT
13:03 camelia rakudo-moar a75337: OUTPUT«X::TypeCheck::Return.new(operation => "returning", got => Failure.new(exception => X::Numeric::DivideByZero.new(using => Any)), expected => Int)␤(Any)␤»
13:04 psch that means the $y / 0 returns something non-Int-y, which throws differently, with DivideByZero as additional payload
13:04 psch that seems a bit convoluted
13:05 psch as in, i can't imagine a case where we get *just* X::Numeric::DivideByZero not wrapped in some X::TypeCheck
13:08 anaeem1 joined #perl6
13:12 timotimo something - perhaps my set removal stuff - is making some stuff less efficient :(
13:13 xprime joined #perl6
13:15 prime joined #perl6
13:50 BenGoldberg joined #perl6
13:59 bartolin rakudo.parrot doesn't build atm (due to a typo in Makefile-Parrot.in). would be great if someone with a commit bit merges PR 332?
14:02 dalek rakudo/nom: 27a2976 | usev6++ | tools/build/Makefile-Parrot.in:
14:02 dalek rakudo/nom: Fix typo (wrong path for new IOU.pm)
14:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/27a2976a01
14:02 dalek rakudo/nom: 3bbf7bc | timo++ | tools/build/Makefile-Parrot.in:
14:02 dalek rakudo/nom: Merge pull request #332 from usev6/nom
14:02 dalek rakudo/nom:
14:02 dalek rakudo/nom: Fix typo (wrong path for new IOU.pm)
14:02 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3bbf7bc421
14:02 timotimo merged; bartolin++
14:03 bartolin thanks ;-)
14:22 yeahnoob joined #perl6
14:26 netstar is opendir implemented yet?
14:26 psch m: say &opendir.WHAT
14:26 camelia rakudo-moar 3bbf7b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/Fwy8vvP2Vaâ�¤Undeclared routine:â�¤    &opendir used at line 1â�¤â�¤Â»
14:27 timotimo well, we do have dir ...
14:28 timotimo m: say dir
14:28 camelia rakudo-moar 3bbf7b: OUTPUT«"/home/camelia/rakudo-inst-2".IO "/home/camelia/evalbot".IO "/home/camelia/.viminfo".IO "/home/camelia/rakudo-inst-1".IO "/home/camelia/.bashrc".IO "/home/camelia/.ssh".IO "/home/camelia/std".IO "/home/camelia/rakudo-star-2014.09.tar.gz".IO "/home/camelia/…»
14:32 rindolf joined #perl6
14:34 dalek doc: aa4383d | smls++ | lib/Type/ (55 files):
14:34 dalek doc: Add summaries to type docs
14:34 dalek doc:
14:34 dalek doc: I didn't get around to adding them for the Set-related and exception classes yet, but all other currently documented classes should be covered.
14:34 dalek doc: Also I didn't add them for roles for now, because I'm not yet sure what's the best way to phrase it for them... should the summary for Rational be "Rational number" or "represents a number as numerator and denumerator" or "role for rational numbers"?
14:34 dalek doc: review: https://github.com/perl6/doc/commit/aa4383defc
14:34 dalek doc: d00eb0c | smls++ | htmlify.p6:
14:34 dalek doc: Show summaries in the type indexes
14:34 dalek doc:
14:34 dalek doc: It works for sub-indexes, but for some reason not yet for the main type/ index.
14:34 dalek doc: review: https://github.com/perl6/doc/commit/d00eb0c644
14:34 dalek doc: cf2e424 | moritz++ | / (56 files):
14:34 dalek doc: Merge pull request #29 from smls/master
14:34 dalek doc:
14:34 dalek doc: Add summaries / short description for classes
14:34 dalek doc: review: https://github.com/perl6/doc/commit/cf2e4241cd
14:35 moritz smls++
14:36 tadzik lizmat: ping
14:37 erkan joined #perl6
14:39 timotimo tadzik: what does redpanda do?
14:40 sqirrel__ joined #perl6
14:41 tadzik timotimo: it was supposed to be a cpanm of Perl 6
14:42 tadzik I believe at this point the answer is "nothing useful" :)
14:42 FROGGS[mobile] joined #perl6
14:43 tadzik oh, SpaceInvaders segfaults these days
14:43 colomon :)
14:43 colomon :)
14:43 colomon :(
14:44 vendethiel colomon: you seem a tad too happy about that..
14:44 woolfy tadzik: lizmat is on her way...  :-)
14:44 lizmat tadzik: pong
14:44 FROGGS[mobile] o/
14:45 colomon vendethiel: repeated typos
14:45 vendethiel colomon: sure, it's the typos
14:45 tadzik lizmat: your last commit to Shell::Command introduced deprecations for me
14:45 lizmat ah?
14:45 tadzik Method path (from Str) called at: lib/Shell/Command.pm, line 55
14:45 tadzik which is weird because it does use IO
14:45 tadzik ah, perhaps the submodule is not updated in panda
14:46 tadzik and that caused my confusion
14:46 tadzik nevermind :)
14:46 lizmat I did update the submodules, I thought...
14:46 lizmat guess not
14:46 lizmat will do now
14:46 tadzik oh, thank you
14:46 tadzik I was just about to look up how to do that
14:47 netstar is there a guide to writing modules using C core?
14:47 tadzik C core?
14:47 tadzik you mean modules that talk to C?
14:47 netstar yes
14:47 timotimo so NativeCall?
14:47 tadzik not a guide, but I can guide you through that :)
14:47 dalek panda: d581951 | (Elizabeth Mattijsen)++ | ext/ (2 files):
14:47 dalek panda: Update submodules
14:47 dalek panda: review: https://github.com/tadzik/panda/commit/d581951a6c
14:47 FROGGS[mobile] tadzik: btw, I wanna merge pande/reporter soonish
14:47 tadzik FROGGS[mobile]: okay, I will look into it
14:48 tadzik netstar: https://perl6advent.wordpress.com/2011/​12/21/native-libraries-native-objects/ may interest you
14:48 netstar thanks
14:48 FROGGS[mobile] tadzik: it requires 2014.11 though
14:48 tadzik FROGGS[mobile]: I think I have it
14:49 FROGGS[mobile] tadzik: it does cause any harm btw
14:49 tadzik netstar: that blogpost resulted in https://github.com/tadzik/perl6-MPD, pretty much, so you can use that as a template or whatnot
14:50 tadzik FROGGS[mobile]: erm, does cause, or any harm? :)
14:50 FROGGS[mobile] hehe
14:50 FROGGS[mobile] not*
14:50 tadzik okay :)
14:51 FROGGS[mobile] phone "keyboard", you see
14:51 tadzik yeah, I know the feeling
14:52 tadzik mine just tends.to put dots instead.of spaces sometimes :P
14:53 tadzik FROGGS[mobile]: the "pipe but still print" pattern makes me wonder whether we want something like IO::Tee
14:53 tadzik in an undefined future, that is :)
14:53 tadzik FROGGS[mobile]: I really like it, please merge at your earliest convenience :)
14:54 FROGGS[mobile] tadzik: yes, and a way to print to the pipe, and get both its stdout and stderr
14:54 FROGGS[mobile] \o/
14:54 ab5tract joined #perl6
14:54 tadzik FROGGS[mobile]: ya, like open3()
14:55 FROGGS[mobile] yeah, dunno how to do that with libuv yet
14:55 tadzik when did github interface got so bad :(
14:55 FROGGS[mobile] ?
14:55 tadzik well, it never made it easy for me to look at bugs and pull requests in my repositories alone
14:56 tadzik but now I don't seem to be able to see those that I can act on at all
14:56 tadzik it used to have a view where it showed me everything in the repos that I can write to, which was too much SNR for me to handle
14:56 FROGGS[mobile] look at the upper right
14:56 tadzik it seems like they solved that problem by getting rid of it
14:56 tadzik FROGGS[mobile]: that shows me stuff I opened
14:57 tadzik is:open is:pr author:tadzik
14:57 tadzik maybe I can say "repoauthor:tadzik"
14:57 chenryn joined #perl6
14:58 FROGGS[mobile] or owner: tadzik
14:58 FROGGS[mobile] but I dunno
14:58 ab5tract hmm... HTTP::UserAgent fails its tests now
14:59 FROGGS[mobile] eww
14:59 tadzik ah, there's user:
14:59 tadzik aww yiss
14:59 tadzik now I only need to bookmark that
15:02 netstar bbl thanks people!
15:02 ab5tract ouch... the HTTP::UserAgent failure looks like _another_ "tests break for compiled bytecode" modules
15:03 ab5tract s/modules/module/
15:03 timotimo god damn it.
15:04 tadzik :<
15:04 tadzik those suck
15:05 tadzik hey peoples: https://github.com/tadzik/panda/pull/117 makes me think that something like 'gcc -M' we may want in Rakudo
15:05 tadzik as in: what are the dependencies of this code file
15:05 ab5tract timotimo: even worse... it fails when doing 'panda install HTTP::UserAgent'... 'panda look HTTP::UserAgent; panda-build; panda-test' works... WTF
15:06 ab5tract this is with a moar build i (regrettably) installed this morning
15:07 anaeem1 joined #perl6
15:10 smls joined #perl6
15:11 ab5tract so unfortunately every dependency on my "dead simple" advent calendar scraper requires manual intervention
15:11 raiph joined #perl6
15:12 ab5tract https://gist.github.com/ab5​tract/b67eabaed9d55fb51753
15:12 mtj joined #perl6
15:12 tadzik hmm, HTTP::UserAgent works for me ootb
15:12 tadzik so the issue is there only sometimes, which doesn't exactly make it better :
15:12 ab5tract if you do get them installed though, this helpfully breaks with an "Abort trap 6" error
15:13 tadzik oh?
15:13 tadzik wow, this starts with use XML::Query; use HTML::Parser::XML;
15:14 tadzik where are the times when I knew about every Perl 6 module in existence :D
15:14 ab5tract tadzik: yeah, it's my first play with channels, but since i have also seen the script finish successfully... i don't know if it's me that's broken, or something else
15:14 ab5tract tadzik: hehe
15:15 tadzik I'm quite happy that those times are over
15:17 ab5tract HTML::Parser::XML won't work OOB until tony-o merges ugexe's pull request
15:18 moritz smls: most roles already have a one-line summary that can act as SUBTITLE
15:18 dalek doc: 0b9c762 | moritz++ | lib/Type/ (4 files):
15:18 dalek doc: Give a few roles a subtitle
15:18 dalek doc: review: https://github.com/perl6/doc/commit/0b9c762f37
15:19 smls moritz: My concern was about how to best phrase it
15:20 smls In case of classes, I intentionally didn't write in the form "A class whose objects represent rational numbers", but simply "
15:20 smls "Rational number (arbitrary-precision
15:20 smls )"
15:21 smls but I guess in the case of roles it makes sense to phrase it like you did
15:21 moritz smls: also I'm open to experiments
15:22 dalek panda/reporter: 1d7606e | (Tobias Leich)++ | bin/panda:
15:22 dalek panda/reporter: exclude panda from smoke run by default
15:22 dalek panda/reporter: review: https://github.com/tadzik/panda/commit/1d7606e97c
15:22 smls moritz: Also, did you find out why the summaries don't show up in the main type/ index?
15:23 moritz smls: I haven't regenerated the pages yet; installing deps now
15:23 smls TBH I find it difficult to modify htmlify.pl because of how long it takes to run it, and there doesn't seem to be an easy way to just generate specific pages for testing purposes
15:24 moritz smls: I've been meaning to address this for a while
15:25 moritz smls: there's --sparse=10 which will only process 1/10 of all files
15:25 dalek panda: 98ea6ec | (Tobias Leich)++ | / (7 files):
15:25 dalek panda: implement Panda::Reporter, which saves reports to disk for now
15:25 dalek panda:
15:25 dalek panda: This is WIP. It will create a test report file once a dist installation is attempted.
15:25 dalek panda: See this example of a FAIL: https://gist.github.com/FR​OGGS/5b25776e1ce3f297cb05
15:26 dalek joined #perl6
15:26 tadzik I like when this happens
15:26 moritz (and it was a lot more painful on parrot, where I had to shut down firefox and thunderbird to make enough memory available
15:28 tadzik haha, I remember doing that too
15:28 tadzik chromium in my case, but still
15:28 smls moritz:  I'm a little tempted to completely rewrite the htmlify.pl, using a "pull instead of push" way of going about generating stuff, and by default only generating pages whose mtime is less than the mtimes of the source files it depends on.
15:28 smls And allow generating specific  pages like `./htmlify.pl type/Str`.
15:29 ab5tract smls: sounds handy :)
15:29 moritz smls: sounds tempting, but that design would have to account for the disambiguation files too
15:29 smls are those still needed?
15:29 smls I don't like them very much anyway :)
15:30 smls The search bar covers the use-case of finding stuff by name
15:30 moritz they are very handy for somebody trying to decipher code that they don't understand
15:30 moritz and the second use case is linking
15:31 moritz it allows to write L<Cool> without having to write L<Cool|/type/Cool>
15:31 chenryn joined #perl6
15:31 smls well, chances are if you're linking to something, you know what it is
15:32 smls so why bother the user with an extra step of indirection?
15:32 FROGGS_ timotimo: for your weekly: the panda/reporter was merged
15:33 smls as for "trying to decipher code that they don't understand", why would people prefer hand-typing URLs to see if they exist, over using the search bar?
15:35 moritz smls: it would be interesting to know how many of the current links inside the docs go to disambiguation pages
15:36 moritz smls: if it's only a few (or a few percent), then I have no objects to removing them
15:36 smls maybe we could allow a custom link syntax like L:<type:Cool>
15:37 smls assuming that's compatible with POD
15:38 moritz +1
15:39 dalek doc: 3e10dbd | moritz++ | htmlify.p6:
15:39 dalek doc: htmlify: allow the user to skip two more steps
15:39 dalek doc: review: https://github.com/perl6/doc/commit/3e10dbd6e0
15:39 * vendethiel implemented a parser using a "bare" regex, feels dirty but knows it's Gonna Work Anwyays(TM)
15:39 flussence I see being able to type short keyword URLs and getting the most specific answer back as a feature, even if the search box is there.
15:40 smls moritz: "Tag role for all input/output types" -- What do you mean by 'tag role'?
15:41 moritz smls: a role that doesn't have functionality of its own, just acts as a tag or label
15:41 moritz smls: also, is assembling the search index and assembling the disambiguation files really all that different?
15:42 perltricks joined #perl6
15:43 smls ok
15:44 smls re search index: hm no, I suppose not
15:44 perltricks m: say $*DISTRO
15:44 camelia rakudo-moar 3bbf7b: OUTPUT«linux (3.7.10.1.16.default)␤»
15:44 moritz smls: also there's the command line client; if you want to refactor / rewrite htmlify, it would be nice to make the data available for the command line 'p6doc' tool too
15:44 smls you mean the search data?
15:45 perltricks is anyone here on OSX or BSD? I need the output of $*DISTRO
15:45 perltricks pleeeease :)
15:45 leedo_ macosx (10.10)
15:45 ab5tract perltricks: 'macosx (10.10)'
15:46 perltricks leedo_, ab5tract: thanks!
15:46 flussence see src/core/Distro.pm for a full list
15:46 perltricks ahh
15:46 bartolin perltricks: on FreeBSD 10.0: "freebsd (10.0.release.p.7)"
15:47 ab5tract is tapping on channels implemented yet?
15:47 perltricks flussence: thanks I'll check it out
15:47 perltricks bartolin: thank you!
15:48 * ab5tract suspects that 'Malformed UTF-8' exceptions in HTTP::UserAgent are what has been causing the segfaults
15:49 moritz smls: one more point: I'd be happy to have an option to only process one file (or generate one specific file) and omit search index / disambiguation file updates, as long as there's a warning not to sync the result to doc.perl6.org
15:50 dalek doc: a334ee8 | moritz++ | lib/Perl6/TypeGraph/Viz.pm:
15:50 dalek doc: Avoid usage of deprecated .tmpdir
15:50 dalek doc:
15:50 dalek doc: lizmat++ for making the deprecation warnings so awesome
15:50 dalek doc: review: https://github.com/perl6/doc/commit/a334ee8d51
15:56 smls moritz: OK, I'll think about this some more (and maybe start experimenting with a pull/dependency mechanism and what that would entail)
15:57 smls Now I have to go though... Have a nice Saturday, everyone!
15:57 vendethiel m: my $regexp = / ^ '[' $<sub>=<-[ ']' ]> ']' /;
15:57 camelia rakudo-moar 3bbf7b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/LOw9BNkAa4â�¤Unable to parse expression in metachar:sym<assert>; couldn't find final '>' â�¤at /tmp/LOw9BNkAa4:1â�¤------> [32mmy $regexp = / ^ '[' $<sub>=<-[ '][33mâ��[31m' ]> ']' /;[0mâ�¤    e…»
15:57 vendethiel oh, right, ']' >_>
16:01 psch m: my $regex = / ^ '[' ~ ']' $<sub>=<-[\]]> $ /
16:01 camelia rakudo-moar 3bbf7b: ( no output )
16:02 psch m: say "[abc]" ~~ / ^ '[' ~ ']' $<sub>=<-[\]]> $ /
16:02 camelia rakudo-moar 3bbf7b: OUTPUT«Unable to parse expression in ; couldn't find final ']' ␤  in any FAILGOAL at gen/moar/stage2/QRegex.nqp:1211␤  in method ACCEPTS at src/gen/m-CORE.setting:14227␤  in block <unit> at /tmp/rtwf3elMfx:1␤␤»
16:07 psch oh, that just fails 'cause i didnt quantify the cclass
16:07 psch the error does seem LTA, though
16:08 anaeem1_ joined #perl6
16:08 vendethiel m: say '' ~~ / [ <-[ '-' ]> + ] /
16:08 camelia rakudo-moar 3bbf7b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/bBxgxFX92f�Unsupported use of - as character range; in Perl 6 please use .. for range, for explicit - in character class, escape it or place it as the first or last thing�at /tmp/bBxgxFX92f:1�…»
16:09 vendethiel m: say '' ~~ / [ <-[ \- ]> + ] /
16:09 camelia rakudo-moar 3bbf7b: OUTPUT«Nil␤»
16:09 vendethiel what the heck is happening in my code.
16:09 psch m: say '[abc]' ~~ / ^ '[' ~ ']' $<sub> = <-[ \] ]>+ $ / # fwiw
16:09 camelia rakudo-moar 3bbf7b: OUTPUT«「[abc]」␤ sub => 「abc」␤␤»
16:10 kjs_ joined #perl6
16:12 vendethiel psch: that's totally normal
16:12 vendethiel but in my code, rakudo was basically matching an empty string with <-[ \- ]> +
16:12 vendethiel no idea how.
16:13 vendethiel also, uh, "foo/bar".IO.e completly fails on windows it seems. (with foo/bar being a relative path)
16:13 psch vendethiel: that does sound intriguing, was there some looking around involved in the match?
16:14 vendethiel m: say "[Leopard-Raws] Akame ga Kill! OP (MX 1280x720 x264 AAC).mp4.dl" ~~ / ^ '[' $<sub>=<-[ \] ]>+ ']' $<name>=[ <-[ \- ]> + ] '-' /
16:14 camelia rakudo-moar 3bbf7b: OUTPUT«Nil␤»
16:14 vendethiel psch: this matched for me
16:14 vendethiel okay, it seems directory names that contain files never exist in Perl6.
16:15 vendethiel "foo bar".IO.e returns False. always.
16:15 * psch .oO( *non*-deterministic finite automaton... )
16:15 vendethiel (I'm on windows)
16:16 perltricks hey y'all has the syntax for class inheritance changed? I'm getting an error "cannot inherit from X because it is unknown"
16:16 vendethiel perltricks: nope, what are you trying?
16:16 psch vendethiel: no idea how that regex would match, reproducability might be useful, but apparently that's not there
16:16 perltricks let me push it to GH
16:17 anaeem___ joined #perl6
16:17 perltricks vendethiel: https://github.com/sillymoose/System-Passwd
16:18 perltricks the System::Passwd::User::Linux subclass is giving the error
16:19 colomon perltricks: how does that file know what System::Passwd::User is?
16:19 guru joined #perl6
16:20 psch m: { class A { }; }; { class A::B is A { }; }; use A; use A::B; my $b = B.new # somewhat similar, i'd say
16:20 camelia rakudo-moar 3bbf7b: OUTPUT«===SORRY!===␤Could not find A in any of: /home/camelia/rakudo-inst-2/languages/perl6/lib, /home/camelia/rakudo-inst-2/languages/perl6␤»
16:20 psch although actually it's not the subclassing here that borks
16:20 perltricks well if I compile with perl6 -I lib -c /path/to/file
16:20 psch hard to emulate different files with blocks
16:20 perltricks I assumed it would find the parent class in lib
16:21 psch perltricks: but it doesn't use it
16:21 colomon perltricks: you need to use "use" to bring in other files/modules
16:21 perltricks *penny drops*
16:21 psch package/class declarations only nest, they don't import parents
16:22 perltricks got it, thanks all :)
16:23 psch hm, actually i'm unsure about the FAILGOAL thingy above
16:28 psch m: say '[abc]' ~~ anon regex { :dba("silencer") ^ '[' ~ ']' $<sub> = <-[ \] ]> $ } # heh
16:28 camelia rakudo-moar 3bbf7b: OUTPUT«Nil␤»
16:30 kjs_ joined #perl6
16:31 ab5tract joined #perl6
16:35 Alina-malina joined #perl6
16:36 rurban joined #perl6
16:43 mtj joined #perl6
16:45 sprocket joined #perl6
16:45 Alina-malina joined #perl6
16:57 timotimo ~ may not be for you in this case
16:59 esaym153 joined #perl6
17:00 psch m: my token foo { '(' ~ ')' 'a' }; say "(ab)" ~~ foo
17:00 camelia rakudo-moar 3bbf7b: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤  in regex foo at /tmp/J7kxpDUuB1:1␤  in block <unit> at /tmp/J7kxpDUuB1:1␤␤»
17:00 psch right, they only work in grammars don't they
17:01 psch m: grammar Bar { token TOP { '(' ~ ')' 'a' } }; say Bar.parse("(ab)")
17:01 camelia rakudo-moar 3bbf7b: OUTPUT«Unable to parse expression in TOP; couldn't find final ')' ␤  in any FAILGOAL at gen/moar/stage2/QRegex.nqp:1211␤  in regex TOP at /tmp/LwVNmF7cXc:1␤  in method parse at src/gen/m-CORE.setting:14199␤  in block <unit> at /tmp/LwVNmF7cXc:1␤␤»
17:01 psch which means i should correct my ticket - it doesn't swallow the method name
17:01 psch timotimo: i just think it shouldn't complain from nqp, but throw something typed
17:02 psch timotimo: :dba silencing the error is clearly wrong though, isn't it
17:02 psch m: grammar Bar { token TOP { :dba("shush") '(' ~ ')' 'a' } }; say Bar.parse("(ab)")
17:02 camelia rakudo-moar 3bbf7b: OUTPUT«(Any)␤»
17:04 Alina-malina joined #perl6
17:04 Alina-malina joined #perl6
17:06 timotimo i didn't know we actually did anything with dba in perl6 regexes yet
17:07 psch well, we do do something, but it seems it just silences failures from below
17:07 psch if it's just NYI it doesn't hurt having a ticket for it either, does it..?
17:07 timotimo correct
17:07 timotimo and tests of course
17:08 dwarring joined #perl6
17:11 haroldwu joined #perl6
17:12 psch fwiw, i found out why overloaded java methods can't be reached with their shortname from perl6-j.  they don't get cached
17:12 psch i had the idea of redispatching to JavaHOW for those cases with the capture and the shortname and trying to figure out if we have anything we can bind to, but that seems a bit hamfisted
17:14 telex joined #perl6
17:14 timotimo it has been too long since i worked on that code ...
17:15 psch additionally it's probably fragile, because i don't see an obvious way to translate types from perl6 to java inside the JavaHOW
17:21 anaeem1 joined #perl6
17:23 dalek panda: 9043b54 | (Jorn van Engelen)++ | lib/Panda/Builder.pm:
17:23 dalek panda: Builder.pm: Ignore Pod when determining module dependencies.
17:23 dalek panda:
17:23 dalek panda: Ignore use/need/require statements inside Pod blocks when determining module dependencies in build-order().
17:23 dalek panda: review: https://github.com/tadzik/panda/commit/9043b547b8
17:23 dalek panda: 8dc7ebb | (Jorn van Engelen)++ | lib/Panda/Builder.pm:
17:23 dalek panda: Builder.pm: Fix regex in strip-pod().
17:23 dalek panda:
17:23 dalek panda: Regex was using Perl5 style syntax.
17:23 dalek panda: review: https://github.com/tadzik/panda/commit/8dc7ebbc06
17:23 dalek panda: 3e9895c | tadzik++ | lib/Panda/Builder.pm:
17:23 dalek panda: Merge pull request #117 from jpve/master
17:23 dalek panda:
17:23 dalek panda: Builder.pm: Ignore Pod when determining module dependencies.
17:23 dalek panda: review: https://github.com/tadzik/panda/commit/3e9895cbce
17:37 raiph joined #perl6
17:40 KCL_ joined #perl6
17:52 FROGGS__ joined #perl6
17:58 zakharyas joined #perl6
18:05 sqirrel__ joined #perl6
18:06 tadzik aargh precomp is crazy
18:07 arnsholt tadzik: So is Python =)
18:07 tadzik :)
18:07 tadzik and we do these voluntarily, what's more crazy
18:07 arnsholt Quite
18:08 arnsholt Some of the Python quirks look like they were specially designed to torture sixmodel, in fact
18:10 jfredett joined #perl6
18:11 ab5tract joined #perl6
18:13 cognominal joined #perl6
18:23 timotimo tadzik: you wanna go back to the days when rakudo took five minutes to start up? :)
18:23 dalek ecosystem: 884a2e0 | (Jorn van Engelen)++ | META.list:
18:23 dalek ecosystem: META.list: Add Pod::To::Markdown.
18:23 dalek ecosystem: review: https://github.com/perl6/e​cosystem/commit/884a2e00dc
18:24 arnsholt Five minutes to start up might be a bit of an exaggeration. But I do remember trying how long it used to take to compile NQP from scratch...
18:27 dwarring another precompilation bug - RT#123276
18:27 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=123276
18:27 dwarring easily reproduced, at least
18:28 colomon joined #perl6
18:28 dwarring I'll add it to roast in a little while
18:29 timotimo hello dwarring :)
18:29 dwarring g'day timotimo
18:29 cognominal joined #perl6
18:30 timotimo long time no irc :)
18:31 dwarring have quiet on perl6# but happily hacking on my modules :)
18:32 dwarring new css serializer coming soon
18:33 timotimo allow me to say: it was quite cool that you've put such a big amount of work into roast for such a long time
18:33 FROGGS__ dwarring: I have an idea about your RT ticket
18:36 colomon dwarring++
18:38 * TimToady is trying to help someone install star on a mac, and of course we're getting the free without malloc error...
18:38 FROGGS__ :o(
18:39 TimToady any known workarounds, other than use jvm?
18:39 TimToady (which also blew up due to heap space, of course)
18:39 FROGGS__ TimToady: I thought that this only pops up in spectest runs...
18:40 TimToady compiling the setting
18:40 TimToady for star 2014.09
18:41 TimToady dunno which osx offhand
18:41 FROGGS__ TimToady: add some text to the setting perhaps
18:41 FROGGS__ that helped lizmat at least once
18:43 FROGGS__ the other option would be to use the 2014.11 compiler, or, I'd quickly do a star release
18:44 FROGGS__ though I cannot promise that it will happen quickly at all, because it is possible that modules have to be fixed
18:46 * TimToady probably broke some of them himself
18:47 cognominal_ joined #perl6
18:53 virtualsue joined #perl6
19:03 colomon ===SORRY!=== Error while compiling compare.pl
19:03 colomon Two terms in a row
19:03 colomon at compare.pl:434
19:03 colomon ------> }⏏ᚠᚢᚦᚨᚱᚲ
19:03 colomon Whoops.  :)
19:04 colomon Apparently you can't put a random string of runes randomly in your source and expect Rakudo to work with it.
19:05 timotimo %)
19:05 flussence aw nuts, that's gonna be a blocker for full v5 support!
19:08 jnthn I'd imagine that totally runes the parse, yes...
19:08 * FROGGS__ groans
19:08 * jnthn made it home
19:08 timotimo oh hello jnthn :)
19:08 FROGGS__ \o/
19:08 jnthn After looong journey
19:08 FROGGS__ jnthn: welcome at home honey :o)
19:08 jnthn Of course, I only get to be at home for like, a day and a half before I have to go do more teaching :/
19:09 * jnthn did hack a bit on the flight
19:11 arnsholt jnthn: So, Python *really* wants type objects to have attributes. D'you think it's best to install a *different* class of object as the type object, or to stash them away in the HOW instance?
19:11 jnthn arnsholt: HOW instance.
19:12 arnsholt Cool. Cheers!
19:12 jnthn In Perl 6 our class attributes are lexicals...
19:12 jnthn (my $.foo)
19:12 jnthn But I *think* that's not dynamic enough for what Python needs.
19:13 arnsholt Yeah, won't work
19:13 arnsholt I considered it =)
19:13 jnthn Then, I'm a sufficiently good Python programmer that when I was live-coding it to demo some stuff earlier this week, the first thing masak did when I handed the keyboard over to him was remove my semicolons :P
19:13 arnsholt Heeheehee =D
19:13 arnsholt I do that intermittently too =)
19:13 timotimo :D
19:14 timotimo before i did perl6 i kind of despised semicolons
19:14 jnthn Yeah, I programmed in far too few languages without semicolons at the end.
19:14 timotimo but now that i do perl6 as well as C, it's all right
19:14 jnthn So even when I *know* I don't need them, the muscle memory filsl them in anyway. :)
19:15 jnthn Even more fun is the time when I was thinking "svn", saying "svn" out loud as I typed it, hit enter, got error...turns out my fingers did "git" anyway. :)
19:16 timotimo :D
19:16 flussence I'm *still* trying to retrain my fingers to not type raw HTML tags...
19:18 arnsholt jnthn: Thankfully, git svn makes it possible to get away with it too =D
19:18 timotimo https://gist.github.com/timo/23e49f55079de22048ca - why, oh why does this generate at_key for $?PACKAGE ?!?
19:19 timotimo jnthn, i'm losing my mind here >_<
19:20 jnthn timotimo: Because you didn't declare $k as a lexical?
19:20 jnthn timotimo: and -e is lax mode, so I guess it gets put in the package?
19:21 timotimo OH!
19:21 timotimo holy crap
19:21 timotimo how did this ever ...
19:21 FROGGS__ it is lax and you did not declare $k
19:21 FROGGS__ ohh, I am slow :o(
19:22 arnsholt Ooh, we have lax mode now? Cool!
19:22 timotimo that is *so* much better
19:22 jnthn Lax mode...it's so fishy.
19:22 * arnsholt has been away for way too long
19:22 timotimo but why did it never explode due to undeclared $k?
19:22 jnthn timotimo: Because -e implies "no strict" which means it auto-declares stuff for you in package scope
19:22 vendethiel timotimo: I still dislike semicolons a bit :P
19:23 vendethiel (but I can see how postfix if and the like are fun. they're also not that compatible)
19:23 psch -e wasn't designed to be lax, fwiw
19:23 mr-foobar joined #perl6
19:23 psch S19 has 'If you wish to run in lax mode, without strictures and warnings enabled, pass a value of '6;' at the start of the -e on the command line'
19:23 vendethiel interesting :o)
19:23 * vendethiel thought -e was supposed to be defaulting to lax mode.
19:24 timotimo uh ... apparently i was using microbenchmarks.pl from an older version of perl6::bench
19:24 timotimo and that caused my grief
19:24 * psch maybe should start contributing to perl6/specs
19:24 FROGGS__ "Perl 5 code is not strict by default, while
19:24 FROGGS__ Perl 6 code is.   But it should be easy to relax with C<-e> or
19:24 FROGGS__ a bare version number:"
19:24 psch because i think i mentioned this the last time it came up as well
19:25 psch FROGGS__: i guess that means it's underspecced?
19:25 FROGGS__ psch: it means that -e *or* a base version number turns off strict
19:25 psch FROGGS__: but the bit i quoted says you need both
19:25 psch it's where the -e switch is explained
19:26 FROGGS__ S19 does not agree though
19:26 psch i've lost confidence w.r.t. getting line numbers from .pod files, so i'm not linking directly
19:26 timotimo are "our" variables this terrible, performance-wise?
19:26 psch FROGGS__: is perlcabal.org/syn out-of-date then?
19:26 jnthn timotimo: Well, they're hash lookups
19:26 FROGGS__ I have no idea
19:26 psch i'll pull and look locally...
19:27 timotimo jnthn: but they also cause humongous amounts of work in bind_one_param, is_bindable, find_best_dispatchee, ...
19:27 FROGGS__ S01:147
19:27 synopsebot Link: http://perlcabal.org/syn/S01.html#line_147
19:27 jnthn Then something wants re-writing to not hit the slow-path binder...
19:27 FROGGS__ S19:431
19:27 synopsebot Link: http://perlcabal.org/syn/S19.html#line_431
19:27 psch S19:426
19:27 synopsebot Link: http://perlcabal.org/syn/S19.html#line_426
19:27 psch ... :9
19:27 FROGGS__ :o)
19:28 jnthn Or alternatively, we want to figure out why th slow path binder is hit in that case, if it seems it should not be.
19:28 timotimo i think it shouldn't be, aye
19:29 raydiak re lax -e and 6;, I could be confused, but wasn't this b/c use v5 was going to be the default even for one-liners? starting w/use v6; was for strict 6 mode, and starting w/6; was for lax 6 mode
19:29 raydiak (and good morning)
19:29 FROGGS__ v5 being a default would be very confusing these days
19:29 psch raydiak: well, it's complicated.  "When invoced as C<perl>..." is a key phrase i think
19:29 psch *invoked
19:30 timotimo raydiak: start with v6, not with 6, iirc
19:30 raydiak FROGGS__: /agree
19:30 raydiak psch: ah, missed that part
19:30 raydiak timotimo: either
19:30 timotimo oh ok
19:31 psch i guess package maintainers could break their everything if they supply our v5 as alternative for /usr/bin/perl already, if they want
19:32 psch or maybe rather "FROGGS__' or nine's v5/Inline::Perl5"
19:32 psch and we'd be safe because we're already lax
19:32 raydiak was the original idea...5.10 was just gonna be a 6 slang, was the plan way back when...I'm not really seeing that happen these days though :)
19:33 timotimo hah
19:34 denis_boyun_ joined #perl6
19:35 cognominal joined #perl6
19:36 psch rereading S19 reminds me, do we need/want something akin to HLL::CommandLine::Result as entries in %*OPTS?
19:38 psch S19:302
19:38 synopsebot Link: http://perlcabal.org/syn/S19.html#line_302
19:43 sprocket joined #perl6
19:50 Ven joined #perl6
19:50 colomon tadzik says "I think the only sensible solution we can get here is equipping Rakudo with something similar to gcc -M, so something that'd actually read the code properly, with a proper parser and tell us what modules does a given file depend on."
19:50 colomon +1
19:52 cognominal joined #perl6
19:52 dalek roast: b795547 | (David Warring david.warring@gmail.com)++ | / (5 files):
19:52 dalek roast: adding precomp test for RT#123276
19:52 dalek roast: review: https://github.com/perl6/roast/commit/b79554762e
19:52 synopsebot Link: https://rt.perl.org/rt3//Publ​ic/Bug/Display.html?id=123276
19:53 timotimo colomon: actually, what i would like even more would be for rakudo itself to do the whole precompilation business itself
19:53 timotimo since it knows best anyway
19:53 timotimo so you'd perhaps give rakudo a list of files to compile and it'd go off and do the dependencies first and make sure to only precompile modules once each
19:54 timotimo another thing people have been wanting is automatic precompilation upon first use with invalidation if the source file gets updated or if the dependency precomp'd files change
19:55 ab5tract joined #perl6
19:55 sprocket joined #perl6
19:56 colomon ok, so completely unrelated (but being implemented in p6) algorithms question:
19:57 colomon suppose I've got two lists of objects, and a distance function from one object to another
19:58 dalek roast: 3d91ae8 | (David Warring david.warring@gmail.com)++ | packages/RT123276/B.pm:
19:58 dalek roast: cull unused package
19:58 dalek roast: review: https://github.com/perl6/roast/commit/3d91ae840d
19:58 colomon and I want to find the "best" way to pair up the objects with one from each list.
19:59 timotimo sounds like you want to X the lists to get combinations
19:59 colomon yesish
19:59 Juerd joined #perl6
20:00 colomon I know I can solve it by Xing the lists and comparing every pair, pairing the closest two, deleting them from the lists, and iterating
20:00 colomon but that's O(N**3)
20:00 timotimo yeah, that sounds pretty NP :)
20:00 colomon :\
20:01 psch it does look rather knapsack-ish, intuitively
20:01 timotimo hm, maximum cover maybe?
20:01 timotimo hm, actually helps that it's bipartite
20:03 timotimo nah, maximum cover doesn't fit
20:03 arnsholt Should be solvable with a linear programming toolkit
20:06 colomon arnsholt: unfortunately linear programming is a huge weak spot in my Comp Sci knowledge
20:09 raiph joined #perl6
20:10 Ven joined #perl6
20:18 denis_boyun_ joined #perl6
20:37 kurahaupo colomon: surely you'd just do the pairing once? so O(N**2)?
20:38 colomon kurahaupo: as nearly as I can see, to do it right you need to compare all of A to all of B, find the best pairing and remove it, then repeat
20:38 kurahaupo colomon: but I'm not sure this necessarily gives the "best" sum-of-distance
20:39 colomon kurahaupo: I don't want the best sum-of-distance.
20:39 colomon … let me describe the actual problem.
20:39 colomon simplified
20:39 colomon imagine you've got two lists of 3D points, possibly with some fuzz added.
20:39 colomon no particular order
20:40 kurahaupo colomon: consider {{a,b},{c,d}} with ac=1, ad=2, bc=2, bd=100
20:40 colomon you're hoping to verify that the lists contain the exact same points
20:40 colomon or have a list of the ones that don't match well, anyway.
20:40 kurahaupo or are we talking a Euclidean space?
20:41 colomon you can't just start with one point and compare it to all the others and take the best match, because the matching point might match even better with some other point.
20:41 colomon Euclidean space, close enough
20:42 kurahaupo colomon: so it's more a "how closely matched" rather than "how far apart"?
20:43 colomon yes
20:43 kurahaupo with you so far
20:44 kurahaupo and the overall question is "how well do these two sets match?"?
20:44 colomon right
20:44 cognominal what is the correct way to test that a path correspond to an existing file?  saying /a/wrong/path.IO.f barks something like      Failed to find '/a/wrong/path' while trying to do '.f'
20:44 cognominal ...short of walking the path oneself to see where it fails
20:45 moritz IMHO it shouldn't
20:45 moritz cognominal: but you could try .e first
20:45 moritz .e && .f
20:46 anaeem1_ joined #perl6
20:46 cognominal ho, I did not notice .e !
20:46 cognominal thx
20:49 kurahaupo colomon: sounds a bit like trying to decide whether two chemicals are actually the same, and if not, where do they differ
20:49 BenGoldberg colomon, My advice: describe your problem on ##math, and, if you're lucky, someone will know the proper formal name for that task... and perhaps a solution.
20:50 BenGoldberg Even if noone on ##math can consisely describe the solution, if you know the proper name, you can google the problem.
20:50 kurahaupo or #algorithms
20:51 japhb How can a module export a singleton, like True or False?  In particular, if I have a compunit containing: 'class Foo::Bar { ... }; my Foo::Bar $baz .= new;'  How do I export $baz as Baz?  (Or for that matter, Foo::Bar::Baz?)
20:53 kurahaupo colomon: the type of solution will depend critically on whether the "fit" of two points corellates with the fits of their respective neighbours
20:54 timotimo japhb: "our constant Baz = Foo::Bar.new"?
20:54 colomon kurahaupo: I'm not sure what you mean by that?
20:55 kaare__ joined #perl6
20:55 japhb timotimo++
20:56 japhb I use constant aliasing all the time to make imports less annoying, but it didn't occur to me to use it for export.
20:56 japhb .oO( My god, it's full of idioms ... )
20:57 kurahaupo colomon: is there any notion of measurable distance or difference between points in one of the sets?
20:57 colomon kurahaupo: yes, getting a distance between points is not hard
20:58 BenGoldberg colomon, What if the first list of points is: [0, 1] and [0, -1], and the second list is: [1, 0] and [-1, 0] ?
20:59 colomon it occurs to me that if we had oct-tree structure I could save a lot of searching work here.
21:00 dalek nqp/6pe: da635d2 | jonathan++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
21:00 dalek nqp/6pe: Map nqp:: ops for parametricity on MoarVM backend.
21:00 dalek nqp/6pe: review: https://github.com/perl6/nqp/commit/da635d2ae7
21:00 dalek nqp/6pe: 749e7cd | jonathan++ | t/nqp/87-parametric-6model.t:
21:00 dalek nqp/6pe: Some initial tests for 6model parametric ops.
21:00 dalek nqp/6pe: review: https://github.com/perl6/nqp/commit/749e7cda70
21:00 colomon BenGoldberg: in that case I don't really care, because the real answer is neither of them matches
21:00 kurahaupo so in general you could pick a "closest neighbour". given point A in one set and it's nearest neighbour B, and points C in the other set and its closest neighbour D, are the metrics AC and BD corelated?
21:01 colomon hmmm…. so I could probably get by with just setting a tolerance and complaining if I don't find a match.
21:04 raiph joined #perl6
21:06 ugexe https://github.com/ugexe/panda/compare/exit_status <- is this an acceptable way to handle exit status?
21:06 marconrd joined #perl6
21:08 FROGGS ugexe: I like it so far, but wanna try it of course :o)
21:08 ugexe it works
21:09 ugexe i was worried about a situation where it might return exit 0 somewhere else, then the END block hitting LAST exit 1
21:11 sqirrel__ joined #perl6
21:12 FROGGS yeah, I was already under the impression that this END block is always run
21:14 ugexe it does. but if i call exit 0 somewhere else, then END gets called. if for some reason there are %failures END will exit 1 (in my example). so which exit status do i honor?
21:15 ugexe i cant think of a good reason for someone to do that though
21:16 FROGGS you are talking about 'exit 0' in a user's Build.pm?
21:16 ugexe no, i mean somewhere in panda in a theoretical future function
21:17 FROGGS and yes, %failures meaning exit 1 sounds very sane
21:17 FROGGS hmm, I would not worry about that yet
21:20 colomon m: say @a = 1..10; say @a[4]; @a[4]:delete; say @a.perl
21:20 camelia rakudo-moar 3bbf7b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/i8F7uRBeMGâ�¤Variable '@a' is not declaredâ�¤at /tmp/i8F7uRBeMG:1â�¤------> [32msay @a[33mâ��[31m = 1..10; say @a[4]; @a[4]:delete; say @[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
21:21 colomon m: my @a = 1..10; say @a[4]; @a[4]:delete; say @a.perl
21:21 camelia rakudo-moar 3bbf7b: OUTPUT«5␤Array.new(1, 2, 3, 4, Any, 6, 7, 8, 9, 10)␤»
21:23 colomon m: my @a = 1..10; say @a[4]; @a.splice(4); say @a.perl
21:23 camelia rakudo-moar 3bbf7b: OUTPUT«5␤Array.new(1, 2, 3, 4)␤»
21:23 colomon m: my @a = 1..10; say @a[4]; @a.splice(4, 1); say @a.perl
21:23 camelia rakudo-moar 3bbf7b: OUTPUT«5␤Array.new(1, 2, 3, 4, 6, 7, 8, 9, 10)␤»
21:28 netstar joined #perl6
21:28 netstar ahoy!
21:29 FROGGS hi netstar
21:29 timotimo heyo
21:29 labster joined #perl6
21:39 colomon my solution for now: https://gist.github.com/co​lomon/6eb0ea455f81b5f19490
21:40 btyler how can I declare a method with an operator-ish name? like "method <2foo?> ($foo) { self.foo + $foo }"
21:40 Mso150 joined #perl6
21:41 colomon btyler: you mean that works like an operator?
21:41 FROGGS btyler: using quotes?
21:41 ab5tract joined #perl6
21:41 FROGGS m: class Foo { method '2foo?' { 42 } }; say Foo.'2foo?'()
21:41 camelia rakudo-moar 3bbf7b: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/3oLNF6phBJâ�¤Missing blockâ�¤at /tmp/3oLNF6phBJ:1â�¤------> [32mclass Foo { method [33mâ��[31m'2foo?' { 42 } }; say Foo.'2foo?'()[0mâ�¤    expecting any of:â�¤        statement listâ�¤        pr…»
21:42 moritz operators can't be methods
21:42 btyler ok, reprhased question. can I declare a method with a question mark in the name?
21:42 btyler foo.is-bar?
21:42 moritz because operators need to be known at the caller side, and methods are late bound
21:42 moritz btyler: that's not supported, afaict
21:42 moritz maybe
21:43 moritz m: class A { method ::('is-bar?') { True } }; say A.'is-bar?'()
21:43 FROGGS m: class Foo { method foo { &?ROUTINE.name = '2foo?'; 42 } }; say Foo.^methods # :o(
21:43 camelia rakudo-moar 3bbf7b: OUTPUT«True␤»
21:43 camelia rakudo-moar 3bbf7b: OUTPUT«foo␤»
21:43 FROGGS ohh!
21:43 FROGGS moritz++
21:43 moritz but it's butt ugly
21:43 FROGGS that's what he was asking for :o)
21:43 moritz and will disable optimizations related to the method, iirc
21:44 btyler ah, bummer, ok. so much for taking naming cues from ruby libs :)
21:46 btyler is that by design or just NYI/implementation limitation? given the wild freedom of operator names, it seems like a mere question mark in a method name should be no big deal
21:47 anaeem1_ joined #perl6
21:47 netstar its just confusing i think
21:47 psch m: class A { method is-bar { True } }; my $a = A.new; say ?is-bar $a: ; # colon as a RTL marker..?
21:47 camelia rakudo-moar 3bbf7b: OUTPUT«True␤»
21:47 FROGGS psch: that like indirect object syntax
21:48 psch FROGGS: yes, i had to look it up as well, because it still feels really weird to me to that extend.  the comment was intended as a joke
21:48 FROGGS ahh, got it :D
21:52 sprocket joined #perl6
21:55 colomon m: sub postfix:<?>($a) { ?$a; }; say 443242352.is-prime?
21:55 camelia rakudo-moar 3bbf7b: OUTPUT«False␤»
21:55 psch how do we distinguish precomp'd multi methods on the jvm and where can i look at that?  maybe i can steal from there for jvm interop...
21:56 cognominal S03 : say [\+] 1..*  #  (1, 3, 6, 10, 15, ...)    # now what is the syntactic sugar if I got a function instead of the + operator?
21:56 raiph joined #perl6
21:57 psch m: sub sum { $^a + $^b }; say [\[&sum]] 1, 2, 3 # cognominal
21:57 camelia rakudo-moar 3bbf7b: OUTPUT«1 3 6␤»
21:57 cognominal psch++
22:02 timotimo hum.
22:04 marconrd left #perl6
22:15 sprocket joined #perl6
22:15 timotimo maybe we should have something like postfix increment vs prefix increment for METAOP_ASSIGN :P
22:16 Grrrr joined #perl6
22:32 timotimo tadzik++ # lots of work and triage for panda
22:35 timotimo time for a spectest for a much improved METAOP_ASSIGN
22:35 timotimo oh, that looks pretty bad
22:36 timotimo seems like i used bind where i should have used assign. too much nqp and moarvm-internals lately %)
22:37 sprocket joined #perl6
22:37 timotimo actually, if i can introspect the native type of a variable used on the LHS of a METAOP_ASSIGN, i could make += work on native ints and nums
22:38 timotimo oh? seems like i'll have to generate a bind or an assign anyway in order to make spectests happy
22:38 FROGGS can't you just use nqp::objprimspec?
22:39 FROGGS I mean, that could work if the LHS is not a declaration
22:42 timotimo i think i'll be modeling the code after assign_op in Actions.nqp
22:44 juiko joined #perl6
22:48 timotimo the Actions sub assign_op refers to the fact that calling .STORE from within the assign op maybe causing an inferior runloop
22:48 timotimo i'm pretty glad we don't have to worry about that in moar
22:50 dalek snake: 80b97ed | (Arne Skjærholt)++ | / (5 files):
22:50 dalek snake: Preliminary implementation of object attributes.
22:50 dalek snake:
22:50 dalek snake: Also disables checking of reading from unassigned variables as a workaround
22:50 dalek snake: due to the refactoring of the assignment grammar.
22:50 dalek snake: review: https://github.com/arnshol​t/snake/commit/80b97ed89c
23:13 noganex joined #perl6
23:17 salv0 joined #perl6
23:18 [Coke] (OS X) parrot's your best bet for stability on mac at the moment.
23:22 araujo joined #perl6
23:50 silug joined #perl6
23:53 raiph .tell nine http://www.reddit.com/r/perl6/comments/2n27el/per​l6_20141121_cool_just_opened_my_first_qt/cm9orki
23:53 yoleaux raiph: I'll pass your message to nine.

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

Perl 6 | Reference Documentation | Rakudo