»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:14 gfldex joined 00:20 gfldex left, KCL_ left 00:22 labster left 00:26 sivoais joined 00:31 sivoais_ joined 00:36 jfredett left 00:43 beastd left 00:46 labster joined 00:59 vendethiel left 01:05 vendethiel joined 01:11 hagiri joined 01:20 cognominal left 01:23 ajr_ left 01:26 vendethiel left 01:28 cognominal joined 01:29 vendethiel joined
timotimo interestingly the recent stage0 update of nqp made pretty much every .moarvm file bigger than it used to be 01:31
araujo hello 01:35
I searched on the modules page, but couldn't find there, asking here in case someone knows, is there a couchdb driver for perl6?
hagiri r u brazillian araujo ? 01:37
=)
araujo hagiri, not really, no.. though you assume it for my nick? very popular in .br I know :) 01:38
hagiri yes 01:39
last name :P 01:40
01:41 sivoais_ left 01:42 cognominal left 01:45 tobleronegordon joined 01:48 Mso150 left 01:50 vendethiel left 01:52 vendethiel joined 01:59 exixt_ is now known as exixt 02:00 cibs left, BenGoldberg left, BooK left, gtodd left, Sir_Ragnarok left, orevdiabl left, telex left, esaym153 left, oetiker left, xinming_ left, hoelzro left, dalek left, Vlavv left, btyler left, sorear left, bjz left, prime left, Hor|zon left, mathw left, lue left, salv0 left, apejens left 02:06 telex joined 02:14 raiph joined 02:32 sorear joined, btyler joined, Vlavv joined, dalek joined, hoelzro joined, xinming_ joined, oetiker joined, esaym153 joined, cognominal joined, bjz joined, GHAAOQ3D joined, Hor|zon joined, mathw joined, lue joined, salv0 joined, apejens joined, asimov.freenode.net sets mode: +v dalek, bjz left, Hor|zon left, mathw left, lue left, salv0 left, apejens left, BenGoldberg joined, BooK joined, gtodd joined, Sir_Ragnarok joined, orevdiabl joined 02:39 raiph left 02:40 BenGoldberg left, BooK left, gtodd left, Sir_Ragnarok left, orevdiabl left 02:41 bjz joined, GHAAOQ3D joined, Hor|zon joined, mathw joined, lue joined, salv0 joined, apejens joined 02:45 hagiri left 02:46 BenGoldberg joined, BooK joined, gtodd joined, Sir_Ragnarok joined, orevdiabl joined, cibs joined 02:49 labster left 02:56 jack_rabbit joined, chenryn joined 03:16 chenryn left 03:18 labster joined 03:19 vendethiel left, chenryn joined 03:29 vendethiel joined 03:42 araujo left 03:45 KCL_ joined 03:46 BenGoldberg left 03:47 gfldex joined 03:50 vendethiel left
chenryn saw perl6 -pe 'say "{++$}"' in Perl6-One-Liner repo. What's the `$` mean? 03:52
moar: say $.WHAT
perl6: say $.WHAT
camelia rakudo-{parrot,moar} a75337: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfile␤Variable $.WHAT used where no 'self' is available␤at /tmp/tmpfile:1␤------> say $.WHAT⏏<EOL>␤ expecting any of:␤ argument list␤ pre…»
03:58 labster left 04:00 jack_rabbit left 04:06 rmgk_ joined, rmgk is now known as Guest72679, rmgk_ is now known as rmgk 04:08 labster joined 04:10 jack_rabbit joined, Guest72679 left, apejens left 04:13 zoosha_ left, zoosha joined 04:14 Grrrr left, Grrrr joined 04:17 apejens joined 04:26 chenryn left 04:28 JimmyZ joined
JimmyZ .tell chenryn 那个是匿名变量 04:30
yoleaux JimmyZ: I'll pass your message to chenryn.
04:38 kaare__ joined 05:04 kjs_ joined 05:05 JimmyZ left 05:06 gfldex left 05:10 kaare__ left 05:18 vendethiel joined 05:36 chenryn joined 05:39 vendethiel left 05:52 chenryn left 06:03 raiph joined 06:04 vendethiel joined 06:25 telex left 06:26 vendethiel left, telex joined 06:40 vendethiel joined 06:42 tobleronegordon left
PerlJam S02:Nil 06:49
moritz \o 06:50
ugexe can we set the exit status without exiting (and instead continuing)? 07:05
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:12
ugexe exit in END is NYI still 07:14
raydiak worked when I tried it in a one-liner a minute ago
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
hmm maybe it was outdated comments in the roasts
raydiak my test: perl6 -e 'END exit 3; say "foo"'; echo $?
though it'd feel cleaner to me personally to set a $var in the middle, and exit $var at the end 07:16
07:17 kjs_ left 07:30 raiph left
ugexe gist.github.com/ugexe/bdc0ce756bb7d0d005c2 07:34
it is the install method for panda and 2 simple exit code alternatives 07:35
07:41 cognominal left 07:43 darutoko joined 07:52 rurban joined 08:15 anaeem1 joined 08:27 virtualsue joined 08:28 salv0 left 08:33 jfredett joined 08:34 jfredett left 08:47 salv0 joined 09:02 virtualsue left 09:06 smls joined
smls o/ 09:06
So, what's the difference between a Capture and a Signature? 09:07
moritz about the same as between a string and a regex :-) 09:08
smls ah, I get it
moritz :-)
09:14 anaeem1 left, anaeem1 joined 09:15 anaeem1 left 09:16 anaeem1 joined 09:20 anaeem1 left 09:26 daxim left 09:30 sqirrel__ joined
vendethiel o/, #perl6 09:57
smls m: say Mu.new ~~ *.defined 09:59
camelia rakudo-moar a75337: OUTPUT«True␤»
smls I didn't know you can instantiate Mu; what is this used for? 10:00
10:00 gfldex joined 10:06 cognominal joined 10:07 sqirrel__ left
timotimo m: say Mu.new 10:09
camelia rakudo-moar a75337: OUTPUT«Mu.new()␤»
timotimo hmm
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
and good morning, #perl6!
vendethiel o/, lizmat! 10:12
lizmat moritz itz: just wondering, why aren't the rakudo / star release announcements not on pl6anet.org ? 10:19
dalek ast: 3e737ee | usev6++ | S03-operators/assign.t:
Add fudged test ("todo") for RT #76414
10:20
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=76414
10:20 cognominal left 10:21 cognominal joined
lizmat moritz itz: s/aren't/are/ 10:26
or s/not//
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:27
10:34 virtualsue joined
lizmat hmmm... I did not announce it to the perl6-announce list 10:34
only to the compiler list, should I have done the announce list as well ?
the release guide doesn't say so... 10:35
moritz lizmat: oh, maybe it should come from the rakudo.org blog 10:38
no, wait
it's fine as it is
iirc the decision was to only widely announce the star releases
10:39 exixt is now known as exixt_
lizmat finds it a bit strange that pl6anet.org *does* mention parrot releases and not rakudo releases 10:39
ah well, I guess the weekly will mention it timotimo++ (eventually :-) 10:40
timotimo i decided to skip this weekly and do the next one, because it's post-release 10:41
itz lizmat: well rakudo releases aren't even mentioned on rakudo.org :) .. I'll look for another rss feed 10:43
lizmat ++timotimo
vendethiel "this is perl6 version 2014.03.01 built on parrot 6.1.0 revision 0" 10:44
welp.
timotimo itz: yeah, we only announce rakudo star releases on rakudo.org
the thinking is that a rakudo star is much more useful than a rakudo alone 10:45
vendethiel looks for a 2014.11 msi :)
itz hmm if the rakudo releases went to perl6.announce (low traffic) I could use the RSS feed from that 10:47
lizmat itz: how do the parrot release announcements wind up on pl6anet.org ? 10:49
itz via perl6.announce 10:51
vendethiel I've had enough of manually moving files that I download, and perl6 will be the perfect tool for the job. 10:52
lizmat vendethiel: that reminds me of the "rename" project of TheDamian 10:53
10:53 dj_goku left
lizmat not sure whether that would be online somewhere or not 10:54
10:55 denis_boyun joined 10:57 rindolf joined, psch joined
psch hi #perl6 o/ 10:57
timotimo heyo psch
psch lizmat++ for the release
hey timotimo 10:58
vendethiel mmh?
psch recently realized how unorderly the implement_tr actually looks on github 11:00
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:01
also, the asm guide is quite a tough read for me, fwiw 11:04
11:06 virtualsue left, virtualsue joined 11:07 denis_boyun left, rurban left, jack_rabbit left, KCL_ left, esaym153 left, oetiker left, xinming_ left, hoelzro left, dalek left, Vlavv left, btyler left, sorear left
timotimo asm guide? 11:09
11:10 denis_boyun joined, rurban joined, jack_rabbit joined, KCL_ joined, esaym153 joined, oetiker joined, xinming_ joined, hoelzro joined, dalek joined, Vlavv joined, btyler joined, sorear joined, asimov.freenode.net sets mode: +v dalek, jack_rabbit left
psch timotimo: download.forge.objectweb.org/asm/asm4-guide.pdf 11:10
11:10 jack_rabbit joined
psch the java class write lib jarakudo uses 11:10
timotimo ah, that thing 11:11
well, let me first say: thank you for looking into jakudo
11:11 vendethiel left, BooK left, gtodd left, Sir_Ragnarok left, orevdiabl left 11:12 anaeem1_ joined 11:13 vendethiel joined, BooK joined, gtodd joined, Sir_Ragnarok joined, orevdiabl joined 11:17 jack_rabbit left 11:20 smls left
psch did @arr[*-5] turn into compile-time recently? i get "No subtests run" for S02-types/array_extending.t 11:24
ohh wait
that's probably t/spec being out of date
timotimo it did turn compile-time 11:25
psch timotimo: but adjusting the test wasn't forgot, i'd assume :) 11:26
and i did have a conflict in S06-operator-overloading/sub.t
timotimo probably :)
11:29 zakharyas joined
timotimo has a new bit of set removal for moarvm 11:32
psch what does that mean? 11:34
timotimo you know the set instruction we have in moar bytecode? 11:36
11:37 zakharyas1 joined
psch i have nearly no understanding of moarvm bytecode 11:37
i know it exists... :)
11:38 zakharyas left
timotimo ah, ok 11:38
so basically it's the simplest case of a mov instruction
spesh turns many expensive operations into a simple set instead
that can lead to results like this: gist.github.com/timo/85052abeab6aa330ff0c 11:39
psch ah, set as in antonym to reset, not synonym for collection
11:40 Alina-malina left
timotimo yeah 11:41
moarvm doesn't have any operations on sets
afaik :)
github.com/MoarVM/MoarVM/commit/898fe2a62a - the comments here may explain what this piece does
arnsholt psch: Is there anything in particular you're curious about, re ASM? 11:44
I've used it a bit for JVM NativeCall
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.
arnsholt 'k
USing it is pretty straightforward 11:45
psch arnsholt: i might get back to you when i come across things i need help with :)
arnsholt Cool
The API is a bit weird at first glance, but pretty nice once you get used to it
The tricky bit for me was getting used to the JVM instruction set
psch timotimo: so you're basically removing temporary variables, for some high enough level of abstraction?
timotimo yeah 11:46
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
timotimo well, we really build almost all our stack frames on the heap, but that's not that important
psch (which fits the general theme right now, "how do i lowlevel?" :) )
s/bytecode/mnemonics/
and s/does/do/, for grammar
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
that made my earliest attempts at coding stuff explode
dalek line-Python: 71ee63c | nine++ | / (2 files):
Allow calling methods of Perl 6 objects from Python
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
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:51
timotimo er, why did i type ASM.js? %) 11:52
psch .oO( javascript or "java" in short... )
11:53 denis_boyun left
timotimo yeah %) 11:55
11:57 anaeem1_ left 11:58 anaeem1_ joined 11:59 netstar joined 12:02 anaeem1_ left 12:03 Alina-malina joined 12:04 cognominal left 12:09 netstar left 12:18 KCL joined 12:21 KCL_ left 12:27 anaeem1 joined, anaeem1 left
vendethiel timotimo: maybe we'll have escape analysis "soon-ish" 12:30
timotimo that'll surely give us a lot. 12:36
i'd also like loop hoisting
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
so every single decont except for the first one is actually unnecessary
12:39 dalek left, dalek joined, ChanServ sets mode: +v dalek 12:50 sqirrel__ joined 12:53 tgt joined 12:55 netstar joined
netstar perl6 say 3 / 0 12:56
perl6: say 3 / 0
psch m: say 3 / 0
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…»
..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…»
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…»
psch oh it works without colon anyway?
ah
no
just perfect timing :)
netstar :)
psch m: say { CATCH { when X::Numeric::DivideByZero { ":(" } } 3 / 0 } 12:57
camelia rakudo-moar a75337: OUTPUT«===SORRY!=== Error while compiling /tmp/oxtqyvd_9y␤Missing semicolon.␤at /tmp/oxtqyvd_9y:1␤------> hen X::Numeric::DivideByZero { ":(" } } ⏏3 / 0 }␤ expecting any of:␤ postfix␤ statement e…» 12:58
psch m: say { CATCH { when X::Numeric::DivideByZero { ":(" } }; 3 / 0 }
camelia rakudo-moar a75337: OUTPUT«-> ($_? is parcel) { #`(Block|71415520) ... }␤»
psch m: say { CATCH { when X::Numeric::DivideByZero { ":(" } }; 3 / 0 }()
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…»
psch right
lazy rats or something i think
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)␤»
psch that means the $y / 0 returns something non-Int-y, which throws differently, with DivideByZero as additional payload 13:04
that seems a bit convoluted
as in, i can't imagine a case where we get *just* X::Numeric::DivideByZero not wrapped in some X::TypeCheck 13:05
13:08 anaeem1 joined
timotimo something - perhaps my set removal stuff - is making some stuff less efficient :( 13:12
13:13 xprime joined 13:15 xprime is now known as prime, prime left, prime joined 13:20 tgt left 13:30 zakharyas1 left 13:31 sqirrel__ left 13:40 exixt_ is now known as exixt 13:50 BenGoldberg joined
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? 13:59
dalek kudo/nom: 27a2976 | usev6++ | tools/build/Makefile-Parrot.in:
Fix typo (wrong path for new IOU.pm)
14:02
kudo/nom: 3bbf7bc | timo++ | tools/build/Makefile-Parrot.in:
Merge pull request #332 from usev6/nom

Fix typo (wrong path for new IOU.pm)
timotimo merged; bartolin++
bartolin thanks ;-) 14:03
14:19 rindolf left 14:22 yeahnoob joined
netstar is opendir implemented yet? 14:26
psch m: say &opendir.WHAT
camelia rakudo-moar 3bbf7b: OUTPUT«===SORRY!=== Error while compiling /tmp/Fwy8vvP2Va␤Undeclared routine:␤ &opendir used at line 1␤␤»
timotimo well, we do have dir ... 14:27
m: say dir 14:29
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:29 clkao is now known as ipa_blah 14:32 rindolf joined
dalek c: aa4383d | smls++ | lib/Type/ (55 files):
Add summaries to type docs

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. 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
c: d00eb0c | smls++ | htmlify.p6:
Show summaries in the type indexes

It works for sub-indexes, but for some reason not yet for the main type/ index.
c: cf2e424 | moritz++ | / (56 files):
Merge pull request #29 from smls/master

Add summaries / short description for classes
moritz smls++ 14:35
tadzik lizmat: ping 14:36
14:37 erkan joined
timotimo tadzik: what does redpanda do? 14:39
14:40 sqirrel__ joined
tadzik timotimo: it was supposed to be a cpanm of Perl 6 14:41
I believe at this point the answer is "nothing useful" :) 14:42
14:42 FROGGS[mobile] joined
tadzik oh, SpaceInvaders segfaults these days 14:43
colomon :)
:(
vendethiel colomon: you seem a tad too happy about that.. 14:44
woolfy tadzik: lizmat is on her way... :-)
lizmat tadzik: pong
FROGGS[mobile] o/ 14:45
colomon vendethiel: repeated typos
vendethiel colomon: sure, it's the typos
tadzik lizmat: your last commit to Shell::Command introduced deprecations for me
lizmat ah?
tadzik Method path (from Str) called at: lib/Shell/Command.pm, line 55
which is weird because it does use IO
ah, perhaps the submodule is not updated in panda 14:46
and that caused my confusion
nevermind :)
lizmat I did update the submodules, I thought...
guess not
will do now
tadzik oh, thank you
I was just about to look up how to do that
netstar is there a guide to writing modules using C core? 14:47
tadzik C core?
you mean modules that talk to C?
netstar yes
timotimo so NativeCall?
tadzik not a guide, but I can guide you through that :)
dalek nda: d581951 | (Elizabeth Mattijsen)++ | ext/ (2 files):
Update submodules
FROGGS[mobile] tadzik: btw, I wanna merge pande/reporter soonish
tadzik FROGGS[mobile]: okay, I will look into it
netstar: perl6advent.wordpress.com/2011/12/...e-objects/ may interest you 14:48
netstar thanks
FROGGS[mobile] tadzik: it requires 2014.11 though
14:48 anaeem1 left, yeahnoob left
tadzik FROGGS[mobile]: I think I have it 14:48
FROGGS[mobile] tadzik: it does cause any harm btw 14:49
tadzik netstar: that blogpost resulted in github.com/tadzik/perl6-MPD, pretty much, so you can use that as a template or whatnot
FROGGS[mobile]: erm, does cause, or any harm? :) 14:50
FROGGS[mobile] hehe
not*
tadzik okay :)
FROGGS[mobile] phone "keyboard", you see 14:51
tadzik yeah, I know the feeling
mine just tends.to put dots instead.of spaces sometimes :P 14:52
FROGGS[mobile]: the "pipe but still print" pattern makes me wonder whether we want something like IO::Tee 14:53
in an undefined future, that is :)
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
\o/
14:54 ab5tract joined
tadzik FROGGS[mobile]: ya, like open3() 14:54
FROGGS[mobile] yeah, dunno how to do that with libuv yet 14:55
tadzik when did github interface got so bad :(
FROGGS[mobile] ?
tadzik well, it never made it easy for me to look at bugs and pull requests in my repositories alone
but now I don't seem to be able to see those that I can act on at all 14:56
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
FROGGS[mobile] look at the upper right
tadzik it seems like they solved that problem by getting rid of it
FROGGS[mobile]: that shows me stuff I opened
is:open is:pr author:tadzik 14:57
maybe I can say "repoauthor:tadzik"
14:57 chenryn joined
FROGGS[mobile] or owner: tadzik 14:58
but I dunno
ab5tract hmm... HTTP::UserAgent fails its tests now
FROGGS[mobile] eww 14:59
tadzik ah, there's user:
aww yiss
now I only need to bookmark that
netstar bbl thanks people! 15:02
15:02 netstar left
ab5tract ouch... the HTTP::UserAgent failure looks like _another_ "tests break for compiled bytecode" modules 15:02
s/modules/module/ 15:03
timotimo god damn it.
tadzik :< 15:04
those suck
hey peoples: github.com/tadzik/panda/pull/117 makes me think that something like 'gcc -M' we may want in Rakudo 15:05
as in: what are the dependencies of this code file
ab5tract timotimo: even worse... it fails when doing 'panda install HTTP::UserAgent'... 'panda look HTTP::UserAgent; panda-build; panda-test' works... WTF
this is with a moar build i (regrettably) installed this morning 15:07
15:07 anaeem1 joined 15:10 smls joined
ab5tract so unfortunately every dependency on my "dead simple" advent calendar scraper requires manual intervention 15:11
15:11 raiph joined 15:12 mtj left
ab5tract gist.github.com/ab5tract/b67eabaed9d55fb51753 15:12
15:12 mtj joined
tadzik hmm, HTTP::UserAgent works for me ootb 15:12
so the issue is there only sometimes, which doesn't exactly make it better :
ab5tract if you do get them installed though, this helpfully breaks with an "Abort trap 6" error
tadzik oh? 15:13
wow, this starts with use XML::Query; use HTML::Parser::XML;
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
tadzik: hehe
tadzik I'm quite happy that those times are over 15:15
ab5tract HTML::Parser::XML won't work OOB until tony-o merges ugexe's pull request 15:17
moritz smls: most roles already have a one-line summary that can act as SUBTITLE 15:18
dalek c: 0b9c762 | moritz++ | lib/Type/ (4 files):
Give a few roles a subtitle
smls moritz: My concern was about how to best phrase it 15:19
In case of classes, I intentionally didn't write in the form "A class whose objects represent rational numbers", but simply " 15:20
"Rational number (arbitrary-precision
)"
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 virtualsue left
dalek nda/reporter: 1d7606e | (Tobias Leich)++ | bin/panda:
exclude panda from smoke run by default
15:22
smls moritz: Also, did you find out why the summaries don't show up in the main type/ index?
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
moritz smls: I've been meaning to address this for a while 15:24
smls: there's --sparse=10 which will only process 1/10 of all files 15:25
dalek panda: 98ea6ec | (Tobias Leich)++ | / (7 files):
panda: implement Panda::Reporter, which saves reports to disk for now
panda:
panda: This is WIP. It will create a test report file once a dist installation is attempted.
panda: See this example of a FAIL: gist.github.com/FROGGS/5b25776e1ce3f297cb05
15:25 dalek left 15:26 dalek joined, ChanServ sets mode: +v dalek
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:27 anaeem1 left
tadzik haha, I remember doing that too 15:28
chromium in my case, but still
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.
And allow generating specific pages like `./htmlify.pl type/Str`.
ab5tract smls: sounds handy :) 15:29
moritz smls: sounds tempting, but that design would have to account for the disambiguation files too
15:29 chenryn left
smls are those still needed? 15:29
I don't like them very much anyway :)
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
and the second use case is linking
it allows to write L<Cool> without having to write L<Cool|/type/Cool> 15:31
15:31 chenryn joined
smls well, chances are if you're linking to something, you know what it is 15:31
so why bother the user with an extra step of indirection? 15:32
FROGGS_ timotimo: for your weekly: the panda/reporter was merged
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:33
moritz smls: it would be interesting to know how many of the current links inside the docs go to disambiguation pages 15:35
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>
assuming that's compatible with POD 15:37
15:37 KCL left
moritz +1 15:38
dalek c: 3e10dbd | moritz++ | htmlify.p6:
htmlify: allow the user to skip two more steps
15:39
vendethiel implemented a parser using a "bare" regex, feels dirty but knows it's Gonna Work Anwyays(TM)
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.
smls moritz: "Tag role for all input/output types" -- What do you mean by 'tag role'? 15:40
moritz smls: a role that doesn't have functionality of its own, just acts as a tag or label 15:41
smls: also, is assembling the search index and assembling the disambiguation files really all that different?
15:42 perltricks joined
smls ok 15:43
re search index: hm no, I suppose not 15:44
perltricks m: say $*DISTRO
camelia rakudo-moar 3bbf7b: OUTPUT«linux (3.7.10.1.16.default)␤»
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
smls you mean the search data? 15:45
perltricks is anyone here on OSX or BSD? I need the output of $*DISTRO
pleeeease :)
leedo_ macosx (10.10)
ab5tract perltricks: 'macosx (10.10)'
perltricks leedo_, ab5tract: thanks! 15:46
flussence see src/core/Distro.pm for a full list
perltricks ahh
bartolin perltricks: on FreeBSD 10.0: "freebsd (10.0.release.p.7)"
ab5tract is tapping on channels implemented yet? 15:47
perltricks flussence: thanks I'll check it out
bartolin: thank you!
ab5tract suspects that 'Malformed UTF-8' exceptions in HTTP::UserAgent are what has been causing the segfaults 15:48
15:49 sqirrel__ left
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:49
dalek c: a334ee8 | moritz++ | lib/Perl6/TypeGraph/Viz.pm:
Avoid usage of deprecated .tmpdir

  lizmat++ for making the deprecation warnings so awesome
15:50
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:56
Now I have to go though... Have a nice Saturday, everyone! 15:57
vendethiel m: my $regexp = / ^ '[' $<sub>=<-[ ']' ]> ']' /;
camelia rakudo-moar 3bbf7b: OUTPUT«===SORRY!=== Error while compiling /tmp/LOw9BNkAa4␤Unable to parse expression in metachar:sym<assert>; couldn't find final '>' ␤at /tmp/LOw9BNkAa4:1␤------> my $regexp = / ^ '[' $<sub>=<-[ ']⏏' ]> ']' /;␤ e…»
15:57 smls left
vendethiel oh, right, ']' >_> 15:57
psch m: my $regex = / ^ '[' ~ ']' $<sub>=<-[\]]> $ / 16:01
camelia ( no output )
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␤␤»
psch oh, that just fails 'cause i didnt quantify the cclass 16:07
the error does seem LTA, though
16:08 anaeem1_ joined
vendethiel m: say '' ~~ / [ <-[ '-' ]> + ] / 16:08
camelia rakudo-moar 3bbf7b: OUTPUT«===SORRY!=== 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␤…»
vendethiel m: say '' ~~ / [ <-[ \- ]> + ] / 16:09
camelia rakudo-moar 3bbf7b: OUTPUT«Nil␤»
vendethiel what the heck is happening in my code.
psch m: say '[abc]' ~~ / ^ '[' ~ ']' $<sub> = <-[ \] ]>+ $ / # fwiw
camelia rakudo-moar 3bbf7b: OUTPUT«「[abc]」␤ sub => 「abc」␤␤»
16:10 kjs_ joined
vendethiel psch: that's totally normal 16:12
but in my code, rakudo was basically matching an empty string with <-[ \- ]> +
no idea how.
16:12 kjs_ left
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:13 rurban left
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␤»
vendethiel psch: this matched for me
okay, it seems directory names that contain files never exist in Perl6.
"foo bar".IO.e returns False. always. 16:15
psch .oO( *non*-deterministic finite automaton... )
vendethiel (I'm on windows)
16:15 ab5tract left
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?
psch vendethiel: no idea how that regex would match, reproducability might be useful, but apparently that's not there
perltricks let me push it to GH
16:17 anaeem___ joined, anaeem1_ left
perltricks vendethiel: github.com/sillymoose/System-Passwd 16:17
the System::Passwd::User::Linux subclass is giving the error 16:18
colomon perltricks: how does that file know what System::Passwd::User is? 16:19
16:19 guru joined 16:20 guru is now known as ajr_
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␤»
psch although actually it's not the subclassing here that borks
perltricks well if I compile with perl6 -I lib -c /path/to/file
psch hard to emulate different files with blocks
perltricks I assumed it would find the parent class in lib
psch perltricks: but it doesn't use it 16:21
colomon perltricks: you need to use "use" to bring in other files/modules
perltricks *penny drops*
psch package/class declarations only nest, they don't import parents
perltricks got it, thanks all :) 16:22
psch hm, actually i'm unsure about the FAILGOAL thingy above 16:23
m: say '[abc]' ~~ anon regex { :dba("silencer") ^ '[' ~ ']' $<sub> = <-[ \] ]> $ } # heh 16:28
camelia rakudo-moar 3bbf7b: OUTPUT«Nil␤»
16:30 kjs_ joined 16:31 ab5tract joined, chenryn left 16:34 Alina-malina left 16:35 Alina-malina joined 16:36 rurban joined 16:41 mtj left 16:42 Alina-malina left 16:43 mtj joined, ipa_blah is now known as clkao 16:45 sprocket joined, Alina-malina joined 16:50 kjs_ left 16:53 esaym153 left 16:55 anaeem___ left 16:57 sprocket left
timotimo ~ may not be for you in this case 16:57
16:59 esaym153 joined
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␤␤»
psch right, they only work in grammars don't they
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␤␤»
psch which means i should correct my ticket - it doesn't swallow the method name
timotimo: i just think it shouldn't complain from nqp, but throw something typed
timotimo: :dba silencing the error is clearly wrong though, isn't it 17:02
m: grammar Bar { token TOP { :dba("shush") '(' ~ ')' 'a' } }; say Bar.parse("(ab)")
camelia rakudo-moar 3bbf7b: OUTPUT«(Any)␤»
17:04 Alina-malina left, Alina-malina joined, Alina-malina left, Alina-malina joined
timotimo i didn't know we actually did anything with dba in perl6 regexes yet 17:06
psch well, we do do something, but it seems it just silences failures from below 17:07
if it's just NYI it doesn't hurt having a ticket for it either, does it..?
timotimo correct
and tests of course
17:08 dwarring joined 17:10 haroldwu left 17:11 haroldwu joined
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
17:12 telex left
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:12
17:14 telex joined
timotimo it has been too long since i worked on that code ... 17:14
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:15
17:21 anaeem1 joined
dalek nda: 9043b54 | (Jorn van Engelen)++ | lib/Panda/Builder.pm:
Builder.pm: Ignore Pod when determining module dependencies.

Ignore use/need/require statements inside Pod blocks when determining module dependencies in build-order().
17:23
nda: 8dc7ebb | (Jorn van Engelen)++ | lib/Panda/Builder.pm:
Builder.pm: Fix regex in strip-pod().

Regex was using Perl5 style syntax.
nda: 3e9895c | tadzik++ | lib/Panda/Builder.pm:
Merge pull request #117 from jpve/master

Builder.pm: Ignore Pod when determining module dependencies.
17:24 raiph left 17:27 xinming_ left 17:37 raiph joined 17:38 exixt is now known as EXIXT 17:40 KCL_ joined 17:52 FROGGS__ joined 17:55 FROGGS_ left 17:58 zakharyas joined 18:03 colomon left 18:05 sqirrel__ joined
tadzik aargh precomp is crazy 18:06
18:06 ab5tract left
arnsholt tadzik: So is Python =) 18:07
tadzik :)
and we do these voluntarily, what's more crazy
arnsholt Quite
Some of the Python quirks look like they were specially designed to torture sixmodel, in fact 18:08
18:10 jfredett joined 18:11 ab5tract joined 18:13 cognominal joined 18:17 gtodd left
timotimo tadzik: you wanna go back to the days when rakudo took five minutes to start up? :) 18:23
dalek osystem: 884a2e0 | (Jorn van Engelen)++ | META.list:
META.list: Add Pod::To::Markdown.
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:24
18:26 ab5tract left
dwarring another precompilation bug - RT#123276 18:27
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123276
dwarring easily reproduced, at least
18:28 colomon joined
dwarring I'll add it to roast in a little while 18:28
18:28 cognominal left
timotimo hello dwarring :) 18:29
dwarring g'day timotimo
18:29 cognominal joined
timotimo long time no irc :) 18:30
dwarring have quiet on perl6# but happily hacking on my modules :) 18:31
18:32 perltricks left
dwarring new css serializer coming soon 18:32
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
colomon dwarring++ 18:36
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(
TimToady any known workarounds, other than use jvm? 18:39
(which also blew up due to heap space, of course)
FROGGS__ TimToady: I thought that this only pops up in spectest runs...
18:40 zakharyas left
TimToady compiling the setting 18:40
for star 2014.09
dunno which osx offhand 18:41
FROGGS__ TimToady: add some text to the setting perhaps
that helped lizmat at least once
the other option would be to use the 2014.11 compiler, or, I'd quickly do a star release 18:43
though I cannot promise that it will happen quickly at all, because it is possible that modules have to be fixed 18:44
TimToady probably broke some of them himself 18:46
18:47 cognominal_ joined 18:48 cognominal left 18:53 EXIXT is now known as exixt, virtualsue joined
colomon ===SORRY!=== Error while compiling compare.pl 19:03
Two terms in a row
at compare.pl:434
------> }⏏ᚠᚢᚦᚨᚱᚲ
Whoops. :)
Apparently you can't put a random string of runes randomly in your source and expect Rakudo to work with it. 19:04
timotimo %) 19:05
flussence aw nuts, that's gonna be a blocker for full v5 support!
19:05 rindolf left 19:07 bcode left
jnthn I'd imagine that totally runes the parse, yes... 19:08
FROGGS__ groans
jnthn made it home
timotimo oh hello jnthn :)
FROGGS__ \o/
jnthn After looong journey
FROGGS__ jnthn: welcome at home honey :o)
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 :/
jnthn did hack a bit on the flight 19:09
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.
arnsholt Cool. Cheers! 19:12
jnthn In Perl 6 our class attributes are lexicals...
(my $.foo)
But I *think* that's not dynamic enough for what Python needs.
arnsholt Yeah, won't work 19:13
I considered it =)
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
arnsholt Heeheehee =D
I do that intermittently too =)
timotimo :D
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.
timotimo but now that i do perl6 as well as C, it's all right
19:14 raiph left
jnthn So even when I *know* I don't need them, the muscle memory filsl them in anyway. :) 19:14
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:15
timotimo :D 19:16
flussence I'm *still* trying to retrain my fingers to not type raw HTML tags...
arnsholt jnthn: Thankfully, git svn makes it possible to get away with it too =D 19:18
timotimo gist.github.com/timo/23e49f55079de22048ca - why, oh why does this generate at_key for $?PACKAGE ?!?
jnthn, i'm losing my mind here >_< 19:19
jnthn timotimo: Because you didn't declare $k as a lexical? 19:20
timotimo: and -e is lax mode, so I guess it gets put in the package?
timotimo OH! 19:21
holy crap
how did this ever ...
FROGGS__ it is lax and you did not declare $k
ohh, I am slow :o(
arnsholt Ooh, we have lax mode now? Cool! 19:22
timotimo that is *so* much better
jnthn Lax mode...it's so fishy.
arnsholt has been away for way too long
timotimo but why did it never explode due to undeclared $k?
jnthn timotimo: Because -e implies "no strict" which means it auto-declares stuff for you in package scope
vendethiel timotimo: I still dislike semicolons a bit :P
(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
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)
vendethiel thought -e was supposed to be defaulting to lax mode.
timotimo uh ... apparently i was using microbenchmarks.pl from an older version of perl6::bench 19:24
and that caused my grief
psch maybe should start contributing to perl6/specs
FROGGS__ "Perl 5 code is not strict by default, while
Perl 6 code is. But it should be easy to relax with C<-e> or
a bare version number:"
psch because i think i mentioned this the last time it came up as well
FROGGS__: i guess that means it's underspecced? 19:25
FROGGS__ psch: it means that -e *or* a base version number turns off strict
psch FROGGS__: but the bit i quoted says you need both
it's where the -e switch is explained
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
timotimo are "our" variables this terrible, performance-wise?
psch FROGGS__: is perlcabal.org/syn out-of-date then?
jnthn timotimo: Well, they're hash lookups
FROGGS__ I have no idea
psch i'll pull and look locally...
timotimo jnthn: but they also cause humongous amounts of work in bind_one_param, is_bindable, find_best_dispatchee, ... 19:27
FROGGS__ S01:147
synopsebot Link: perlcabal.org/syn/S01.html#line_147
jnthn Then something wants re-writing to not hit the slow-path binder...
FROGGS__ S19:431
synopsebot Link: perlcabal.org/syn/S19.html#line_431
psch S19:426
synopsebot Link: perlcabal.org/syn/S19.html#line_426
psch ... :9
FROGGS__ :o)
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
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
(and good morning)
FROGGS__ v5 being a default would be very confusing these days
psch raydiak: well, it's complicated. "When invoced as C<perl>..." is a key phrase i think
*invoked
timotimo raydiak: start with v6, not with 6, iirc 19:30
raydiak FROGGS__: /agree
psch: ah, missed that part
timotimo: either
timotimo oh ok
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:31
or maybe rather "FROGGS__' or nine's v5/Inline::Perl5" 19:32
and we'd be safe because we're already lax
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 :)
timotimo hah 19:33
19:34 denis_boyun_ joined 19:35 cognominal joined
psch rereading S19 reminds me, do we need/want something akin to HLL::CommandLine::Result as entries in %*OPTS? 19:36
19:36 cognominal_ left
psch S19:302 19:38
synopsebot Link: perlcabal.org/syn/S19.html#line_302
19:40 Juerd left 19:43 sqirrel__ left, virtualsue left, sprocket joined 19:46 sprocket left 19:47 cognominal left 19:50 Ven joined
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
+1
19:52 cognominal joined
dalek ast: b795547 | (David Warring [email@hidden.address] | / (5 files):
adding precomp test for RT#123276
19:52
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123276
timotimo colomon: actually, what i would like even more would be for rakudo itself to do the whole precompilation business itself 19:53
since it knows best anyway
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
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:54
19:55 ab5tract joined, sprocket joined
colomon ok, so completely unrelated (but being implemented in p6) algorithms question: 19:56
suppose I've got two lists of objects, and a distance function from one object to another 19:57
dalek ast: 3d91ae8 | (David Warring [email@hidden.address] | packages/RT123276/B.pm:
cull unused package
19:58
colomon and I want to find the "best" way to pair up the objects with one from each list.
timotimo sounds like you want to X the lists to get combinations 19:59
colomon yesish
19:59 Juerd joined
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
but that's O(N**3)
timotimo yeah, that sounds pretty NP :)
colomon :\
psch it does look rather knapsack-ish, intuitively 20:01
timotimo hm, maximum cover maybe?
hm, actually helps that it's bipartite
20:02 sprocket left 20:03 Ven left
timotimo nah, maximum cover doesn't fit 20:03
20:03 denis_boyun_ left
arnsholt Should be solvable with a linear programming toolkit 20:03
colomon arnsholt: unfortunately linear programming is a huge weak spot in my Comp Sci knowledge 20:06
20:09 raiph joined 20:10 Ven joined 20:12 Ven left 20:18 denis_boyun_ joined 20:21 darutoko left 20:25 ab5tract left 20:33 labster left
kurahaupo colomon: surely you'd just do the pairing once? so O(N**2)? 20:37
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
colomon kurahaupo: I don't want the best sum-of-distance. 20:39
… let me describe the actual problem.
simplified
imagine you've got two lists of 3D points, possibly with some fuzz added.
no particular order
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
or have a list of the ones that don't match well, anyway.
kurahaupo or are we talking a Euclidean space?
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
Euclidean space, close enough
20:41 anaeem1 left 20:42 denis_boyun_ left
kurahaupo colomon: so it's more a "how closely matched" rather than "how far apart"? 20:42
colomon yes 20:43
kurahaupo with you so far
and the overall question is "how well do these two sets match?"? 20:44
colomon right
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'
...short of walking the path oneself to see where it fails
moritz IMHO it shouldn't 20:45
cognominal: but you could try .e first
.e && .f 20:46
20:46 anaeem1_ joined
cognominal ho, I did not notice .e ! 20:46
thx
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:49 raiph left
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
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:51
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:53
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
japhb timotimo++ 20:55
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
.oO( My god, it's full of idioms ... )
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
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:58
colomon it occurs to me that if we had oct-tree structure I could save a lot of searching work here. 20:59
dalek p/6pe: da635d2 | jonathan++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
Map nqp:: ops for parametricity on MoarVM backend.
21:00
p/6pe: 749e7cd | jonathan++ | t/nqp/87-parametric-6model.t:
Some initial tests for 6model parametric ops.
colomon BenGoldberg: in that case I don't really care, because the real answer is neither of them matches
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?
colomon hmmm…. so I could probably get by with just setting a tolerance and complaining if I don't find a match. 21:01
21:04 FROGGS__ is now known as FROGGS, raiph joined
ugexe github.com/ugexe/panda/compare/exit_status <- is this an acceptable way to handle exit status? 21:06
21:06 marconrd joined
FROGGS ugexe: I like it so far, but wanna try it of course :o) 21:08
ugexe it works
i was worried about a situation where it might return exit 0 somewhere else, then the END block hitting LAST exit 1 21:09
21:11 sqirrel__ joined
FROGGS yeah, I was already under the impression that this END block is always run 21:12
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:14
i cant think of a good reason for someone to do that though 21:15
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
FROGGS and yes, %failures meaning exit 1 sounds very sane 21:17
hmm, I would not worry about that yet
colomon m: say @a = 1..10; say @a[4]; @a[4]:delete; say @a.perl 21:20
camelia rakudo-moar 3bbf7b: OUTPUT«===SORRY!=== Error while compiling /tmp/i8F7uRBeMG␤Variable '@a' is not declared␤at /tmp/i8F7uRBeMG:1␤------> say @a⏏ = 1..10; say @a[4]; @a[4]:delete; say @␤ expecting any of:␤ postfix␤»
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)␤»
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)␤»
colomon m: my @a = 1..10; say @a[4]; @a.splice(4, 1); say @a.perl
camelia rakudo-moar 3bbf7b: OUTPUT«5␤Array.new(1, 2, 3, 4, 6, 7, 8, 9, 10)␤»
21:28 netstar joined
netstar ahoy! 21:28
FROGGS hi netstar 21:29
timotimo heyo
21:29 labster joined
colomon my solution for now: gist.github.com/colomon/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
colomon btyler: you mean that works like an operator? 21:41
FROGGS btyler: using quotes?
21:41 ab5tract joined
FROGGS m: class Foo { method '2foo?' { 42 } }; say Foo.'2foo?'() 21:41
camelia rakudo-moar 3bbf7b: OUTPUT«===SORRY!=== Error while compiling /tmp/3oLNF6phBJ␤Missing block␤at /tmp/3oLNF6phBJ:1␤------> class Foo { method ⏏'2foo?' { 42 } }; say Foo.'2foo?'()␤ expecting any of:␤ statement list␤ pr…»
moritz operators can't be methods 21:42
btyler ok, reprhased question. can I declare a method with a question mark in the name?
foo.is-bar?
moritz because operators need to be known at the caller side, and methods are late bound
btyler: that's not supported, afaict
maybe
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(
camelia rakudo-moar 3bbf7b: OUTPUT«True␤»
rakudo-moar 3bbf7b: OUTPUT«foo␤»
FROGGS ohh!
moritz++
moritz but it's butt ugly
FROGGS that's what he was asking for :o)
moritz and will disable optimizations related to the method, iirc
btyler ah, bummer, ok. so much for taking naming cues from ruby libs :) 21:44
21:46 anaeem1_ left
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:46
21:47 anaeem1_ joined
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..?
camelia rakudo-moar 3bbf7b: OUTPUT«True␤»
FROGGS psch: that like indirect object syntax
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:50 Mso150 left 21:51 anaeem1_ left 21:52 sprocket joined 21:54 ajr_ left, sprocket left 21:55 raiph left
colomon m: sub postfix:<?>($a) { ?$a; }; say 443242352.is-prime? 21:55
camelia rakudo-moar 3bbf7b: OUTPUT«False␤»
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...
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
21:56 raiph joined 21:57 erkan left
psch m: sub sum { $^a + $^b }; say [\[&sum]] 1, 2, 3 # cognominal 21:57
camelia rakudo-moar 3bbf7b: OUTPUT«1 3 6␤»
cognominal psch++
21:59 netstar left
timotimo hum. 22:02
22:04 marconrd left 22:15 sprocket joined
timotimo maybe we should have something like postfix increment vs prefix increment for METAOP_ASSIGN :P 22:15
22:15 kaare__ left 22:16 Grrrr left, Grrrr joined 22:31 sprocket left
timotimo tadzik++ # lots of work and triage for panda 22:32
time for a spectest for a much improved METAOP_ASSIGN 22:35
oh, that looks pretty bad
seems like i used bind where i should have used assign. too much nqp and moarvm-internals lately %) 22:36
22:37 sprocket joined
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:37
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 ab5tract left
FROGGS I mean, that could work if the LHS is not a declaration 22:39
timotimo i think i'll be modeling the code after assign_op in Actions.nqp 22:42
22:44 juiko joined
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
i'm pretty glad we don't have to worry about that in moar
dalek ake: 80b97ed | (Arne Skjærholt)++ | / (5 files):
Preliminary implementation of object attributes.

Also disables checking of reading from unassigned variables as a workaround due to the refactoring of the assignment grammar.
22:50
22:59 KCL_ left 23:00 sprocket left 23:02 juiko left 23:13 noganex joined 23:15 FROGGS[mobile] left 23:17 salv0 left, salv0 joined
[Coke] (OS X) parrot's your best bet for stability on mac at the moment. 23:18
23:22 araujo joined, araujo left, araujo joined 23:39 gfldex left 23:40 sqirrel__ left 23:47 psch left 23:50 silug joined
raiph .tell nine www.reddit.com/r/perl6/comments/2n2...qt/cm9orki 23:53
yoleaux raiph: I'll pass your message to nine.
23:55 rurban left