»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by moritz on 25 December 2014.
Kristien But that shouldn't really be a problem, since structs tend to have very low amount of fields and there are very few structs. 00:00
dalek ecs: 5a4a8f7 | TimToady++ | S32-setting-library/Numeric.pod:
document polymod
Kristien it's here: coliru.stacked-crooked.com/a/4408f5375893d6c5 I don't know how to calculate its complexity though
00:08 skids joined, kaare_ joined, vendethiel joined 00:13 pmurias left 00:14 kjs_ joined 00:26 zakharyas joined 00:31 vendethiel left, ninjazach left
ruoso is there a way to disable the jit from the command line? or maybe even from the build? I have a segfault in Moar and I'd like having to debug jit-genrated assembly if possible 00:36
s/having/to avoid having/
raydiak ruoso: moar --help mentions an env var MVM_JIT_DISABLE 00:38
00:38 kjs_ left
timotimo indeed 00:38
Mouq It also looks like you can set --jit=0 in the MoarVM build, if you want :P
00:38 vendethiel joined
timotimo i think it'd have to be --no-jit 00:39
or maybe --disable-jit
but disabling the jit via env var should work well, too
ruoso thanks, I'll give it a try 00:40
dalek kudo-star-daily: c25c2d2 | coke++ | log/ (14 files):
today (automated commit)
rl6-roast-data: f327f9a | coke++ | / (5 files):
today (automated commit)
00:42 zakharyas left
ruoso yeah, the env var does work... 00:43
it doesn't make the debugging easier, however 00:44
since I only have 6 frames... since it's a trampoline function
00:45 ninjazach joined
ruoso will try running on valgrind instead 00:45
[Coke] moritz++: yes, hack.p6c.org/ looks great, thanks. 00:46
cxreg the decision to suspend parrot comes almost exactly 2 years following modernperlbooks.com/mt/2013/02/good...arrot.html 00:52
masak cxreg: and whiteknight wrote another postmortem recently. 00:53
00:54 fwilson left
dalek c: 5d6fbec | Mouq++ | htmlify.p6:
Improve &find-definitions documentation a bit
00:56
c: d0e49b2 | Mouq++ | lib/Language/about.pod:
Add a basic about page (mostly about contributing)

Currently stored in lib/Language, but perhaps should be special-cased at some point.
Kristien time to sleep, bye! 01:00
01:00 Kristien left 01:01 vendethiel left 01:02 ninjazach left
dalek c: 170ae16 | Mouq++ | lib/Language/unicode_entry.pod:
[unicode_entry] Condense title and add an elided sigil
01:06
c: 9e6656a | Mouq++ | lib/Language/unicode_entry.pod:
[unicode_entry] swap entering and inputting so it sounds better
01:08
01:09 kaare_ left
pippo o/ #perl6 01:12
01:12 pippo left, ninjazach joined 01:15 kaare_ joined 01:20 telex left 01:22 zmisc joined, telex joined 01:25 mr-foobar left, ninjazach left 01:32 zmisc left 01:33 ninjazach joined 01:40 kaare_ left 01:41 vendethiel joined 01:42 mvuets left, dayangkun joined
TimToady m: say 1000000.polymod(60,60,24) 01:45
camelia rakudo-moar 0e6127: OUTPUT«40 46 13 11␤»
01:45 echowuhao left
TimToady m: say 1000000.polymod(3 xx *) 01:46
camelia rakudo-moar 0e6127: OUTPUT«1 0 0 2 0 2 0 1 2 2 1 2 1 0␤»
TimToady maybe shouldn't return that last 0
colomon polymod? 01:48
timotimo it's like "base", but having different bases for different digits 01:49
01:49 chenryn joined
colomon on the one hand, Nice! on the other hand, we’ve got that in core? 01:49
is there an inverse function for it? 01:50
timotimo Z* 01:51
well, more or less
with a [\*] added in there for good measure
bbl 01:52
01:52 kaare_ joined
timotimo actually, bedtime 01:52
01:54 chenryn_ joined, chenryn left
masak colomon: it being in core makes more sense if you have an APL background. 01:54
(not being funny or sarcastic; it does) 01:55
colomon masak: wouldn’t it be a Unicode operator, then? ;)
colomon probably shouldn’t encourage TimToady++ that way
TimToady I heard that
no, actually, it needs to be dehuffmanized 01:56
it's really just a divmod that knows how to do it more than once
in fact, divmod is just a degenerate case
colomon putting it in a module is the ultimate dehuffmanization. ;)
TimToady has wanted it too many time already 01:57
colomon too, actually. but never knew it until now.
TimToady has talked about it on various occasions, but only named it today
probably wants a polymul to go the other way 01:58
01:58 Ugator left
dalek kudo/nom: df5b31e | Mouq++ | src/Perl6/Actions.nqp:
Implement #74850 "has Array $.x .= new(1, 2, 3);"
01:59
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=74850
masak in fact, APL holds some kind of prize for generalizing scalar ops to vector and N-dimensional matrix ops, and still having the reader go "huh, yeah. that makes sense."
'night, #perl6
colomon o/, masak
TimToady o/
02:00 bjz left
dalek ast: 3be9a84 | Mouq++ | S12-class/attributes.t:
Unfudge test for #74850
02:05
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=74850
ruoso The sudoku solve I wrote a while back actually runs pretty fast now... added a few optimizations github.com/ruoso/perl6-sudoku/blob.../sudoku.pl 02:06
02:06 vendethiel left
TimToady ruoso: how does it compare with rosettacode.org/wiki/Sudoku#Perl_6 ? 02:07
ruoso It is more complex, because it tries to do a smarter solution instead of brute-forcing it 02:08
TimToady feel free to add it as an additional solution to RC 02:09
02:11 vendethiel joined
ruoso I probably need to clean it up a lot 02:11
Mouq m: my @A = < 5 3 0 0 2 4 7 0 0 0 0 2 0 0 0 8 0 0 >; say @A.rotor(3,0).rotor(3,0).map(*.join(" ")).join("\n")
camelia rakudo-moar 0e6127: OUTPUT«5 3 0 0 2 4 7 0 0␤0 0 2 0 0 0 8 0 0␤»
ruoso specifically, it does three things.. 1) cleanup impossible values from the whole grid in a separate pass. 2) try solving the cells that are the easiest first. and 3) tries guessing the numbers that are the most unique in the candidates 02:14
for some medium-level sudokus, this results in incredibly efficient guessing.. if the puzzle is not too hard, this will lead to a faster search path for the solution 02:15
02:16 bjz joined 02:17 aborazmeh left
ruoso I then tried to make it parallel, but moarvm segfaults in non-consistent ways... I tried debugging, but every run breaks at a different point... 02:18
02:22 BenGoldberg left, BenGoldberg joined
TimToady yeah, there's still a bit of instability to hunt down there 02:23
ninjazach Hello, I'm interested in experimenting with perl 6 and am wondering if Rakudo was the recommended implementation? 02:27
s/was/is 02:28
Mouq ninjazach: It definitely is :) 02:30
ninjazach: Rakudo built on MoarVM, in particular 02:31
ninjazach Thank you :)
ninjazach begins casually reading some documentation 02:32
02:33 vendethiel left 02:37 echowuhao joined 02:44 vendethiel joined 02:46 colomon left, ilbot3 left 02:47 ilbot3 joined 02:49 aborazmeh joined, aborazmeh left, aborazmeh joined, kurahaupo1 joined
TimToady ninjazach: and feel free to ask questions here, like you already did :) 02:52
though many of the implementors are asleep at the moment 'cause they're sun runs faster than ours 02:54
*their
02:56 colomon joined
dalek kudo/nom: 0411dd3 | TimToady++ | src/core/ (2 files):
don't include final 0 in infinite polymod
02:56
bcode ooh, polymod looks really nice 02:57
03:00 colomon left 03:05 vendethiel left 03:06 dayangkun left 03:07 noganex_ joined 03:10 noganex left 03:13 vendethiel joined
dalek kudo/nom: 0b48529 | Mouq++ | src/ (2 files):
Port error message from STD.pm6 for #123834
03:14
kudo/nom: 6245cfb | Mouq++ | src/ (2 files):
Try to awesomify error for #123834
kudo/nom: 0759eba | Mouq++ | src/core/ (2 files):
Merge branch 'nom' of github.com/rakudo/rakudo into nom
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123834
ast: afbce9b | Mouq++ | S32-exceptions/misc.t:
Add test for #123834
03:20
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123834
03:20 BenGoldberg left 03:21 BenGoldberg joined
dalek ast: 928ad9b | Mouq++ | S32-exceptions/misc.t:
Typo, s/RE/RT
03:23
03:25 tinyblak joined 03:36 vendethiel left 03:37 yeahnoob joined 03:38 vendethiel joined, gfldex left 03:48 BenGoldberg left 04:22 vendethiel left
jdv79 since when does it need to be 18F out? 04:22
04:23 rmgk left 04:29 nyuszika7h left 04:31 nyuszika7h joined, lsm-desktop left, vendethiel joined, lsm-desktop joined 04:32 rmgk joined 04:36 xtreak joined
skids No wind chill and only 3" powder to shovel. Gonna count my blessings. 04:38
geekosaur 18F? heat wave 04:40
04:40 chenryn_ left 04:41 Aaron`J left, chenryn_ joined
geekosaur it's 1°F and still dropping, expected low around -10°F with winds gusting to 40mph 04:41
04:42 yeahnoob left
jdv79 i think its only gotten to -7F here this year and that's abnormally low i feel. 04:42
normally the teens is about the lowest
a heat wave was thursday in the city when the high was 38F. i almost felt like taking a walk at lunch. 04:44
04:46 colomon joined
flussence I've yet to see below 0°C this year :( 04:53
04:53 vendethiel left, Humbedooh left 04:54 nyuszika7h left, xtreak left, clkao left, clkao joined 04:55 skarn_ left 04:56 lsm-desktop left, nyuszika7h joined, lsm-desktop joined 04:57 skarn joined 04:58 chenryn_ left
TimToady wonders if anyone will ever use the ℃ and ℉ characters 05:00
jdv79 i just see 2 boxes that look identical 05:01
TimToady m: say uniprop '℉', 'age' 05:12
camelia rakudo-moar 0759eb: OUTPUT«1.1␤»
TimToady these characters have only been in Unicode for a century or two by now... :P 05:13
05:15 Aaron`J joined
TimToady well, okay, it's only been 22 years now, but that's Even Longer Than We've Been Working On Perl 6!!! 05:17
those characters were added when Perl 5 first came out 05:18
No More Excuses!!! 05:20
</soapbox> 05:21
(and by first came out, I mean 5.000alpha1, not 5.000) 05:22
05:30 pierrot_ joined, vendethiel joined
jdv79 maybe cause they probably aren't on any keyboard. i know i never use a char that's not on my keyboard. 05:31
05:32 chenryn_ joined, pierrot_ is now known as pierrot 05:33 kurahaupo1 left
TimToady there is no ctrl-C key on your keyboard 05:34
so that argument is specious
jdv79 there is a ctrl and a c
TimToady there is a compose key on many keyboards too
and the people who typed ° probably did it with compose o o 05:35
all those keys are on my keyboard :)
skids Yeah but the default mapping is pretty sparse. Most letter combos don't do anything. 05:36
TimToady and on mine, I can type any char using ctrl-shift u plus the hex code, if I know it 05:37
so ␤ is one that I already know, 2424
jdv79 had you not pointed it out i would have never guessed there were "degrees (C|F)" glyphs in unicode
TimToady (an easy one to remember, but it'd be nice if there were a compose n l for that
skids Yeah, the letter combos are much easier to remember though. And so many missed opportunities for obvious ones.
TimToady jdv79: you might've guessed if you had a decent font, but that's a different issue 05:38
flussence notices ␤ is rendering from a different font today... bah, I liked the old one I had. 05:39
jdv79 i thought i had a clean utf-8 setup too...
05:39 chenryn__ joined
TimToady do you get cjk characters like 木? 05:40
05:40 chenryn_ left, hobbs left
jdv79 yes 05:40
TimToady if you get a single box for that, then your utf-8 is probably fine, it's just a font issue
if you get multiple boxes, you're not utf-8 clean
so just a font thing 05:41
jdv79 no, i get a cross with 2 extra diagonal legs
TimToady lol 05:42
05:42 integral joined, integral left, integral joined
TimToady m: say 123456789.polymod(10 xx *) 05:43
camelia rakudo-moar 0759eb: OUTPUT«9 8 7 6 5 4 3 2 1␤»
05:43 hobbs joined
flussence m: say ('0'..'9','A'..'Z','a'..'z','-','_')[4294967296.polymod(64 xx *)] 05:46
camelia rakudo-moar 0759eb: OUTPUT«0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 _␤»
flussence bah, not quite what I was going for...
m: say ('0'..'9','A'..'Z','a'..'z','-','_').flat.list.[4294967296.polymod(64 xx *)]
camelia rakudo-moar 0759eb: OUTPUT«0 0 0 0 0 4␤»
flussence m: say 4294967296.polymod(64 xx *) 05:47
camelia rakudo-moar 0759eb: OUTPUT«0 0 0 0 0 4␤»
TimToady a power of 2 is gonna come out boring there 05:50
flussence yep... probably should've picked a more interesting one :) 05:51
m: say ('0'..'9','A'..'Z','a'..'z','-','_').flat.list.[2718281828.polymod(64 xx *)] 05:52
camelia rakudo-moar 0759eb: OUTPUT«a 1 R 1 Y 2␤»
TimToady surely .flat already returns a list?
flussence that's just me being paranoid 05:53
05:53 vendethiel left
skids Now we just need shorter $a - $a mod $b and ($a + $b - 1) div $b 05:54
flussence m: say 14 divmod 5
camelia rakudo-moar 0759eb: OUTPUT«===SORRY!=== Error while compiling /tmp/oabhKLpB1A␤Two terms in a row␤at /tmp/oabhKLpB1A:1␤------> say 14 ⏏divmod 5␤ expecting any of:␤ infix stopper␤ infix or meta-infix␤ postfix…»
flussence aw
TimToady m: say 14.polymod(5)
camelia rakudo-moar 0759eb: OUTPUT«4 2␤»
TimToady works fine for that
just returns it in the reverse of the usual order 05:55
flussence (am I hallucinating divmod? could've sworn it was a thing...)
TimToady python maybe 05:56
only it's divmod(n,m) there
or you might be thinking of expmod
but that's a method 05:57
flussence I plead temporary insanity for that then
TimToady polymod could certainly be an infix, but it doesn't seem quite to rise to the level of necessity 05:58
flussence (I have to admit, polymod is one of the cleverer things I've seen in any language... :) 05:59
TimToady and there are various possible optimizations too 06:00
10 xx * is notationally convenient, but actually doing it that way when it's a constant divisor is kinda silly 06:01
plus if the number fits into a native int, once could do all the operations at a low level 06:02
the current implementation attempts none of those
Mouq TimToady: 123456789.polymod(10, *) ? 06:05
06:11 Humbedooh joined, Humbedooh left, Humbedooh joined
dalek c: 69b1eb8 | Mouq++ | / (3 files):
Let =TITLE set names of type docs; stub nativeInt.pod as example

Although really, I'm thinking that it's more likely that the int and uint classes are going to end up being defined in a Language/natives.pod file or such along with str and num.
06:11
Mouq .ask moritz What do you think of github.com/perl6/doc/commit/69b1eb8c32 as a direction? 06:12
yoleaux Mouq: I'll pass your message to moritz.
moritz Mouq: not bad. The idea I pondered the last two days was to have a lib/NativeType/int.pod instead 06:19
yoleaux 06:12Z <Mouq> moritz: What do you think of github.com/perl6/doc/commit/69b1eb8c32 as a direction?
Mouq moritz: I'm not attached to the way I put forward in the commit; htmlify should've been working that way in the first place :P 06:20
TimToady Mouq: that might be easier for the optimizer to recognize from its bits, but semantically it's more special-casey than 10 xx *
Mouq moritz: I think it would be pretty easy to add a new dir though… 06:21
moritz: Something like this: gist.github.com/Mouq/a61a6912a745d3f2227c 06:24
Err, oops. That link was just updated :P
06:27 vendethiel joined
moritz Mouq: I'm not attached to my way either 06:34
Mouq: but now the search for int gives class: int which goes to /type/nativeint which is a 404 06:35
Mouq Curious 06:40
Is that better or worse than /type/int ?
(Obviously it's better for it to point to the right place; but is the search box wrong here or the generator that puts the file /type/int.html) 06:42
moritz that's debatable again :-) 06:49
it's a more consistent URL scheme
otoh people on macosx or windows won't be able to generate the HTML files correctly
but for now I see htmlify specifically as a tool to create doc.perl6.org contents, so I'm fine with it not being portable 06:50
moritz wonders if we have some kind of tool to detect case insensitive file systems
06:51 vendethiel left
TimToady m: printf "%064b\n", -1234 06:52
camelia rakudo-moar 0759eb: OUTPUT«0000000000000000000000000000000000000000000000000000-10011010010␤»
TimToady there's a bug
06:57 vendethiel joined 06:58 Mouq left, echowuhao left 06:59 Mouq joined 07:01 echowuhao joined 07:02 echowuhao left
Mouq moritz: I don't think we should limit perl6/doc to that. Almost everything it does is abstract manipulation of "documentables", and then it throws them all at Pod::To::HTML and tells it to make them pretty. 07:04
moritz: I'm still thinking we should generate database of some sort, and then things like p6doc can use that, with the full richness of search that'd be available to the online version. Potentially there are other applications as well. I just don't have a lot of database experience and haven't gotten around to setting it up 07:06
moritz: But then, storing these in a DB, we don't have to worry about generated filenames, or canonicalizing things 07:09
like infix:</>
Mouq -> bed
TimToady m: multi sub infix:«+>»(Int:D $a, Int:D $b, :$rotate!) { :2[$a.polymod(2 xx 64).rotate($b)] }; say 7 +> 2 :rotate; 07:13
camelia rakudo-moar 0759eb: OUTPUT«Unexpected named parameter 'rotate' passed␤ in sub infix:<+>> at src/gen/m-CORE.setting:5227␤ in block <unit> at /tmp/8oG7QtqdEA:1␤␤»
TimToady why doesn't rakudo add my candidate to the list? 07:14
07:15 xfix joined, tinyblak left
TimToady jnthn: ^^ 07:15
07:15 Mouq left, tinyblak joined
TimToady m: multi sub infix:«+>»(Int:D \a, Int:D \b, :$rotate!) { :2[a.polymod(2 xx 64).rotate(b)] }; say 7 +> 2 :rotate; 07:16
camelia rakudo-moar 0759eb: OUTPUT«Unexpected named parameter 'rotate' passed␤ in sub infix:<+>> at src/gen/m-CORE.setting:5227␤ in block <unit> at /tmp/Om7eVlI9fJ:1␤␤»
moritz TimToady: probably the infix:«+>» has a proto without the named 07:17
TimToady hmm, that seems likely
but if so, maybe autogenerated 07:18
nop, in core/Numeric.pm 07:19
*nope
next question is whether it's better to add a different operator than to add flags to shifts
07:20 tinyblak left
raydiak well, it's neither pretty nor fast, but here's one way to make * work in .assuming: gist.github.com/raydiak/1ecf3131e1fa4157e625 07:24
07:33 vendethiel left 07:34 tinyblak joined
raydiak I'm fading, off to bed...anyone feel free to suggest a more sensible way of accomplishing that; o/ 07:35
moritz raydiak: you can simplify the first grep to curried.list.grep(Whatever) 07:38
07:43 darutoko joined, yeahnoob joined 07:47 wicope joined 07:48 mr-foobar joined 07:49 yeahnoob left 07:54 grondilu joined
grondilu say grep Whatever, 1, *, 3 07:55
m: say grep Whatever, 1, *, 3
camelia rakudo-moar 0759eb: OUTPUT«*␤»
grondilu expected that not to work
m: say grep Int, 1, 2, pi, 4
camelia rakudo-moar 0759eb: OUTPUT«1 2 4␤»
grondilu that used not to work, I'm glad it does now though 07:56
08:00 tinyblak left
dalek c: 6c33473 | moritz++ | htmlify.p6:
htmlify.p6: un-obscure code a bit
08:03
c: 8323f56 | moritz++ | lib/Type/Cool.pod:
Document Cool.IO
08:04 prime left 08:09 Ven joined, khisanth_ joined 08:12 Khisanth left 08:13 prime joined, prime left, prime joined 08:22 rindolf joined
TimToady rosettacode.org/wiki/Bitwise_operations#Perl_6 <- unicode has some great rotate ops :) 08:24
08:25 Mouq joined
TimToady mind you, that's a grotesque way to actually implement them... 08:25
zzz & 08:27
08:30 vendethiel joined
grondilu m: say .WHAT given (my uint $ = 1) +< 2; 08:42
camelia rakudo-moar 0759eb: OUTPUT«(Int)␤»
grondilu m: say .WHAT given (my uint $ = 1);
camelia rakudo-moar 0759eb: OUTPUT«(Int)␤»
grondilu m: say (my uint $) ~~ uint; 08:44
camelia rakudo-moar 0759eb: OUTPUT«False␤»
08:53 vendethiel left 09:10 vendethiel joined 09:19 moritz_ joined 09:20 MilkmanDan left, kaare__ joined, _sri_ joined 09:22 avuserow_ joined 09:23 dj_goku_ joined 09:26 Akagi201_ joined 09:31 Some-body_ joined, kaare_ left, dj_goku left, Akagi201 left, avuserow left, DarthGandalf left, moritz left, _sri left 09:32 vendethiel left, Some-body_ is now known as DarthGandalf 09:34 vendethiel joined 09:41 kaare__ is now known as kaare_ 09:45 kjs_ joined 09:48 lsm-desktop left 09:49 lsm-desktop joined 09:50 djanatyn left 09:55 Mouq left 10:00 diana_olhovik_ joined 10:05 Sir_Ragnarok left 10:06 djanatyn joined 10:08 Sir_Ragnarok joined 10:09 gfldex joined 10:10 Kristien joined, wicope left 10:14 adu left 10:27 zmisc joined 10:28 chenryn__ left 10:31 ninjazach left 10:32 skarn left 10:33 skarn joined 10:40 vendethiel left 10:50 sqirrel__ joined
dalek kudo/newio: 949b809 | moritz++ | src/core/Proc/Async.pm:
Give all X::Proc::Async exceptions a common role

and make the Proc::Async object that threw it available as an attribute in the common role
10:50
10:50 dalek left
lizmat sorry dalek 10:50
10:50 dalek joined, ChanServ sets mode: +v dalek 10:54 coffee` joined 10:56 chenryn__ joined 10:57 spider-mario joined
dalek ecs/newio: 16df181 | lizmat++ | S16-io.pod:
Clarify second positional on tmpdir/homedir
10:59
11:00 chenryn__ left 11:01 chenryn joined
Ven o/, #perl6 11:02
dalek kudo/newio: 430e150 | lizmat++ | src/core/io_operators.pm:
tmpdir/homedir return their setting, not Bool
11:03
11:05 Ven left 11:06 pmurias joined
pmurias hi 11:06
lizmat Ven pmurias o/ 11:07
11:09 kjs_ left, Rounin joined, diana_olhovik_ left 11:12 vendethiel joined, diana_olhovik joined 11:24 kjs_ joined 11:32 gaussblurinc_ joined 11:34 vendethiel left 11:38 pochi_ is now known as pochi 11:39 Mouq joined 11:42 bjz left 11:43 sqirrel__ left 11:44 Mouq left 11:46 mvuets joined 11:47 Kristien left, Ven joined 11:48 MadcapJake left 11:50 vendethiel joined, bjz joined 11:52 rindolf left 12:03 telex left 12:04 telex joined
dalek kudo/longer: 874caf6 | TimToady++ | src/core/ (2 files):
implementation of polymod method to play with
12:26
kudo/longer: 0e61279 | TimToady++ | src/core/ (2 files):
polymod yields 1 more result than args unless inf
kudo/longer: df5b31e | Mouq++ | src/Perl6/Actions.nqp:
Implement #74850 "has Array $.x .= new(1, 2, 3);"
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...l?id=74850
dalek kudo/longer: 0b48529 | Mouq++ | src/ (2 files):
Port error message from STD.pm6 for #123834
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123834
kudo/longer: 0411dd3 | TimToady++ | src/core/ (2 files):
don't include final 0 in infinite polymod
kudo/longer: 6245cfb | Mouq++ | src/ (2 files):
Try to awesomify error for #123834
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123834
kudo/longer: 0759eba | Mouq++ | src/core/ (2 files):
Merge branch 'nom' of github.com/rakudo/rakudo into nom
kudo/longer: a25f366 | FROGGS++ | src/ (5 files):
Merge branch 'nom' of github.com:rakudo/rakudo into longer
12:27
12:27 Kristien joined
Ven Haskell's new website certainly looks good :) 12:30
literal m: my token foo { \# <[A..z]>+ } 12:31
camelia rakudo-moar 0759eb: OUTPUT«===SORRY!===␤Regex not terminated.␤at /tmp/3zVlE6sPh8:1␤------> my token foo { \# <[A..z]>+ }⏏<EOL>␤Regex not terminated.␤at /tmp/3zVlE6sPh8:1␤------> my token foo { \# <[A..z]>+ }⏏<EOL>[…»
literal do I need to use <[#]> to match a '#' ?
FROGGS_ m: my token foo { '#' <[A..z]>+ } 12:32
camelia ( no output )
literal oh
FROGGS_ literal: \# is unspace I think
literal I see
FROGGS_ m: my token foo { \#`(that's a comment) <[A..z]>+ }
camelia ( no output )
FROGGS_ m: my token foo { \#`(that's a comment) <[A..z]>+ }; say "foobarbaz" ~~ foo
camelia rakudo-moar 0759eb: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤ in regex foo at /tmp/mYOKqt65FJ:1␤ in block <unit> at /tmp/mYOKqt65FJ:1␤␤»
FROGGS_ m: my token foo { \#`(that's a comment) <[A..z]>+ }; say "foobarbaz" ~~ /<foo>/ 12:33
camelia rakudo-moar 0759eb: OUTPUT«「foobarbaz」␤ foo => 「foobarbaz」␤»
FROGGS_ seems so
m: my token foo { #`(that's a comment) <[A..z]>+ }; say "foobarbaz" ~~ /<foo>/
camelia rakudo-moar 0759eb: OUTPUT«「foobarbaz」␤ foo => 「foobarbaz」␤»
FROGGS_ hmmmm
FROGGS_ is not so sure anymore 12:34
12:35 vendethiel left
[ptc] m: use Test; ok(True); skip_rest "skip"; ok(False); is(1, 1); done; 12:39
camelia rakudo-moar 0759eb: OUTPUT«ok 1 - ␤use of uninitialized value of type Any in numeric context in sub skip_rest at lib/Test.pm:189␤␤not ok 2 - ␤␤# Failed test at /tmp/MKvHKgkNLn line 1␤ok 3 - ␤1..3␤# Looks like you failed 1 tests of 3␤»
[ptc] is that a bug?? ^^^^^ 12:40
12:40 chenryn left
[ptc] or am I not understanding how to use skip_rest? 12:40
no, I think I worked it out, I was using it incorrectly 12:42
FROGGS_ m: use Test; plan 42; ok(True); skip_rest "skip"; ok(False); is(1, 1); done; 12:43
camelia rakudo-moar 0759eb: OUTPUT«1..42␤ok 1 - ␤ok 2 - # SKIP skip␤ok 3 - # SKIP skip␤ok 4 - # SKIP skip␤ok 5 - # SKIP skip␤ok 6 - # SKIP skip␤ok 7 - # SKIP skip␤ok 8 - # SKIP skip␤ok 9 - # SKIP skip␤ok 10 - # SKIP skip␤ok 11 - # SKIP skip␤ok 12 - # SKIP skip␤ok 1…»
[ptc] I believe skip_rest has to be used conditionally, i.e. unless $some-condition { skip_rest; exit; } 12:45
FROGGS_ hmmm, I am unable to built perl6-j on a 32bit system...
12:48 Ven left 12:49 vendethiel joined
[ptc] m: use Test; plan 2; ok(True); if True { skip_rest; exit } ok(False); 12:49
camelia rakudo-moar 0759eb: OUTPUT«===SORRY!=== Error while compiling /tmp/FZFMZvV5xd␤Missing semicolon.␤at /tmp/FZFMZvV5xd:1␤------> ; ok(True); if True { skip_rest; exit } ⏏ok(False);␤»
[ptc] m: use Test; plan 2; ok(True); if True { skip_rest; exit }; ok(False);
camelia rakudo-moar 0759eb: OUTPUT«1..2␤ok 1 - ␤ok 2 - # SKIP <unknown>␤»
[ptc] m: use Test; plan 2; ok(True); if True { skip_rest; exit; }; ok(False);
camelia rakudo-moar 0759eb: OUTPUT«1..2␤ok 1 - ␤ok 2 - # SKIP <unknown>␤»
[ptc] m: use Test; plan 2; ok(True); if True { skip_rest "skip rest"; exit; }; ok(False); 12:50
camelia rakudo-moar 0759eb: OUTPUT«1..2␤ok 1 - ␤ok 2 - # SKIP skip rest␤»
[ptc] m: use Test; ok(True); if True { skip_rest "skip rest"; exit; }; ok(False); done 12:51
camelia rakudo-moar 0759eb: OUTPUT«ok 1 - ␤use of uninitialized value of type Any in numeric context in sub skip_rest at lib/Test.pm:189␤␤»
[ptc] it looks like skip_rest needs a plan...
FROGGS_ aye
which might be an error
but, it is good to have a plan
[ptc] true 12:52
when developing a test suite it is common to just use C<done> and no C<plan> 12:53
thus one can't use C<skip_rest> in this use case 12:54
FROGGS_ [ptc]: perhaps we should die here instead of assuming a plan? github.com/rakudo/rakudo/blob/nom/...st.pm#L189 12:57
\o/ 12:59
[ptc] FROGGS_: dunno. I must admit to being confused about getting "use of uninitialized value of type Any in numeric context"
FROGGS_ -Xss1m seems to let me built perl6-j on my 32bit ubuntu!
[ptc] yay!
FROGGS_ [ptc]: the number of planned tests is not set, so it is (Any)
and there you have your uninitialized value in the computation of how many tests need to be skipped 13:00
psch: ping
psch FROGGS_: what's up? 13:01
FROGGS_ psch: since you are a Java professional... would it hurt somebody when we'd add -Xss1m to the nqp runner? 13:02
psch i don't think so, afaik -Xss is starting stack size. 1m might be low, if anything 13:03
FROGGS_ ohh, in our Makefile-JVM for rakudo we have: 13:04
J_RUN_PERL6 = $(JAVA) -Xss1m -Xms500m -Xmx2000m -Xbootclasspath/a:.@cpsep@$(NQP_JARS)@cpsep@rakudo-runtime.jar@cpsep@perl6.jar -cp @nqp_classpath@ perl6
so, I might as well use that in nqp
[ptc] FROGGS_: I know; but should the user of the test suite know the internals like that? 13:05
*Test module internals
FROGGS_ [ptc]: that's why I propose we die there... 'calling "skip_rest" requires setting a plan first' or so
that#s nothing internal then 13:06
psch fwiw, on my 32bit vm i used to have to change -Xmx in perl6-eval-server for running roast - 4gb of total ram hardly allow for 3gb of continuous memory
FROGGS_ psch: and I cannot build rakudo with 2G it seems... I'm trying 3G now
[ptc] FROGGS_: I think die-ing is a good idea. 13:07
FROGGS_ psch: and according to stackoverflow the default stack size is only 512k
[ptc]: do you make a pull request?
[ptc] FROGGS_: I'm not really experienced enough to make that call
FROGGS_ :/
[ptc] FROGGS_: yeah, I can make a PR for it
FROGGS_ [ptc]++ # thank you 13:08
13:08 dj_goku_ left
[ptc] FROGGS_: thought it might change some behaviour which someone would think necessary/helpful (or something) 13:08
dalek p/longer: 3804a84 | FROGGS++ | tools/build/install-jvm-runner.pl:
set initial stack size to 1M for nqp-j runner

This let us build rakudo on a 32bit machine.
13:11
13:23 dj_goku joined 13:24 _mg_ joined 13:25 Ven joined 13:26 Ven left, zmisc left
dalek c: b4545ec | paultcochrane++ | lib/Pod/Convenience.pm6:
Add vim coda to Pod::Convenience
13:27
c: cbc53e7 | paultcochrane++ | lib/Language/testing.pod:
Start documenting the Text module
13:30 vendethiel left
[ptc] FROGGS_: do I need to recompile rakudo after I've changed Test.pm? 13:32
13:32 _mg_ left 13:33 gaussblurinc_ left, sunnavy left
FROGGS_ [ptc]: just do: make install 13:33
[ptc] k
FROGGS_: do I need to reboostrap panda afterwards? 13:34
FROGGS_ no
13:34 vendethiel joined
[ptc] ok, thanks :-) 13:34
FROGGS_ :o)
[ptc] btw: when is it necessary to rebootstrap panda? 13:35
I know that sometimes caches change and stuff, but it'd be nice to note down somewhere when this is necessary
FROGGS_ when you rebuild rakudo for example
13:35 ninjazach joined
FROGGS_ recompiling rakudo invalidates all precompiled modules 13:36
13:36 Ven joined
[ptc] ok, so that's not something a user would normally have to worry about 13:37
I'm thinking of the case where a user has done "aptitude install rakudo"...
13:38 espadrine_ left
[ptc] thus, recompiling the modules would only be necessary after a rakudo upgrade (similarly to how python recompiles its modules, for example) 13:38
13:38 virtualsue joined
FROGGS_ aye 13:38
[ptc] I'd done a fetch and merge on nom, thus 'make install' wouldn't work
now I'm getting this: Unhandled exception: While looking for 'ModuleLoader.moarvm': no such file or directory
any ideas?
btw, I've done a make realclean beforehand 13:39
13:42 Ven left
FROGGS_ hmmm, perhaps you have to 'make install' in nqp? 13:42
13:43 Ven joined 13:44 Ven left
[ptc] FROGGS_: that gave me the same error 13:44
FROGGS_ :/
[ptc] I'd just run Configure.pl and that was the error that turned up as part of the build
FROGGS_ did you already reconfigure?
ahh
[ptc] am testing now on a new clone
FROGGS_ removing the install dir should do too 13:45
because that forces the build of the backends and nqp
[ptc] ok, I'll give that a try as well
dalek p/js: 1c09d0e | (Pawel Murias)++ | src/vm/js/bin/run_tests:
Add passing test 94 to run tests.
13:46
13:47 _4d47 joined
[ptc] FROGGS_: removing install dir worked, ta! :-) 13:49
FROGGS_ pheew :o)
13:50 ninjazach left
FROGGS_ okay, I finally got to the point where I have a perl6-j on a 32bit machine and reproduce the 32bit with NativeCall there too 13:50
dalek p/js: d2b4c10 | (Pawel Murias)++ | tools/missing-js-tests:
Add a script that prints the missing js tests.
13:51
13:51 gaussblurinc_ joined 13:52 ninjazach joined 13:53 diana_olhovik left 13:55 [Sno] left, [Sno] joined, vendethiel left 13:58 mike joined, rindolf joined, mike is now known as Guest8747 13:59 Guest8747 is now known as mrf 14:00 mrf left, mike_ joined, mike_ is now known as Guest74252 14:01 Guest74252 is now known as mrf 14:08 rurban joined 14:11 vendethiel joined 14:14 chenryn joined 14:23 rurban1 joined
gfldex tries to find the exit of masak++'s blog post 14:23
14:24 kjs_ left
pmqs Hey folks. Is this a bug in tell or me being stupid? 14:27
$f = open("x", :w); $f.print("abc"); say $f.tell
0
geekosaur or tell operating on the actual file vs. buffered abstraction 14:30
gfldex pmqs: that's a bug by the compare-with-perl5-rule 14:31
pmqs geekosaur: so how to do tell on buffered abstraction? 14:32
14:33 raiph joined 14:34 vendethiel left
pmqs gfldex: that's what I assumed, but still getting my head around p6. 14:34
gfldex pmqs: github.com/rakudo/rakudo/blob/nom/...le.pm#L434 14:35
pmqs gfldex: the plot thickens. seek seems to make tell work 14:36
$f = open("x", :w); $f.print("abc"); $f.seek(2,0); say $f.tell
2
14:38 Ven joined
Ven pmurias: I did that "missing scripts" thing in one line of Perl6. :P 14:40
masak good afternoon, #perl6 14:41
gfldex: ;) 14:43
Ven \o, masak
pmqs gfldex: tell in perl5 equivalent looks fine 14:45
perl -e ' open $f, ">xyz" or die; print $f "bc"; print tell($f) . "\n" '
3
gfldex pmqs: i can tell you that i just filed a rakudobug 14:46
pmqs gfldex: you beat me to it :-)
gfldex m: my $a = 'x' x 2**32;
camelia rakudo-moar 0759eb: OUTPUT«repeat count > 1073741824 arbitrarily unsupported...␤ in sub infix:<x> at src/gen/m-CORE.setting:8020␤ in block <unit> at /tmp/hQQygjKVRk:1␤␤»
lizmat pmqs gfldex will look at it for the newio branch
gfldex lizmat++ for fixing things faster then we can report it :) 14:47
lizmat didn't say anything about fixing :-)
14:47 carthanc joined
pmqs lizmat: newio? Is that what it sounds like? 14:47
gfldex it's a very shiny io 14:48
14:48 vendethiel joined
lizmat more like the same old wine in a new bottle, really 14:48
pmqs does it change to what's in S32?
lizmat but hopefully a shiny bottle :-) 14:49
generally, no
with some exceptions
pmqs :-)
lizmat there's a newio branch in "specs", in case you're interested
14:50 diana_olhovik_ joined
pmqs lizmat: Aaaah, didn't know that. I didn't see any tests for tell in roast. Is that the correct place to look? 14:50
lizmat there's a newio branch in roast as well
although there's quite a lot of breakage in there atm
gfldex pmqs: [perl #123838] is the ticket 14:51
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123838
pmqs gfldex: ta
14:51 MilkmanDan joined 14:52 sunnavy joined 14:53 _4d47 left
pmqs lizmat: thanks 14:55
14:59 zakharyas joined 15:01 gaussblurinc_ left
geekosaur right, I wasn't saying not a bug, I was suggesting a (common) cause of it. 15:02
and there are enough levels of IO abstraction in the stack that I'm not even going to try to guess at what level it's breaking :)
pmqs geekosaur: ok. Still feeling my way with p6, so not fully sure how things should work. 15:05
15:08 ingy left, ingy joined
dalek p/js: 76e8376 | (Pawel Murias)++ | src/vm/js/bin/run_tests:
Add passing test 79 to run_tests.
15:18
p/js: 3220398 | (Pawel Murias)++ | tools/missing-js-tests:
Remove pointless dependency from tools/missing-js-tests.
15:19 chenryn left 15:22 chenryn joined
masak Haskell's new web page is gorgeous. www.haskell.org/?new 15:24
15:24 kjs_ joined
masak favorite bit: they make absolutely no big deal out of the fact that there's a little fully functional REPL directly under the fold. 15:25
we should have this.
gfldex font-size: 13px; :( 15:27
15:29 RusAlex joined
RusAlex wow very croud here 15:29
15:29 carthanc left
lizmat welcome RusAlex 15:29
15:30 aborazmeh left 15:33 sivoais left
Ven masak: you're late, I said that earlier :P 15:39
masak: also, it's really bad that the REPL is as broken as ghci 15:40
(people try a = x * y first, and boom!)
15:41 dolmen joined, sivoais joined 15:43 aborazmeh joined, aborazmeh left, aborazmeh joined
pmqs lizmat: hacked a very simple test harness for "tell". reading & seek seem ok. write seems to be the broken part 15:43
15:47 chenryn left
Kristien is implementing a compacting GC 15:51
geekosaur well, seek should flush so I'd expect it to be correct after that 15:52
15:53 Ven left 15:54 mrf left 15:55 mike joined, mike left
pmqs lizmat: attached test harness to [perl #123838] 15:57
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123838
lizmat pmqs: thanks!
masak vendethiel: I'm just happy we arrived at the same conclusion, even though I was late :)
16:02 mrf joined, mrf left, mrf joined
lizmat afk for the rest of the day & 16:08
16:11 Kristien left 16:12 Ven joined 16:13 spider-mario left
[ptc] FROGGS_: just did a dodgy git push --force on the skip_rest PR, hope it's still mergeable 16:15
16:16 ninjazach left
FROGGS_ [ptc]: you dont need to do that usually, pushing another commit to your branch also makes it visible to the PR 16:17
dalek kudo/nom: db560a0 | paultcochrane++ | lib/Test.pm:
Die in skip_rest if no plan is set

Current behaviour dies with "use of uninitialized value of type Any in numeric context", which is confusing to the user of the Test module. This change tells the user what is required in order to use skip_rest correctly.
kudo/nom: 5ba2c86 | FROGGS++ | lib/Test.pm:
Merge pull request #363 from paultcochrane/pr/skip_test_dies_without_plan

Die in skip_rest if no plan is set
FROGGS_ [ptc]++
16:18 ninjazach joined
Ven [ptc]++ 16:18
[ptc] FROGGS_: yeah, I thought so. Thought it might be easier to merge than having to cherry pick one commit
Actually, I noticed that like() and unlike() etc aren't yet implemented, however turn up in the spec test, are they yet to be implemented? 16:19
FROGGS_: btw: I'm not usually that brutal with my git branches :-) I usually try to avoid --force at all costs 16:22
timotimo facebook is getting an "unlike" button?
16:25 liztormato joined 16:26 molaf joined
FROGGS_ [ptc]: I'm not sure about like/unlike... 16:26
pmurias why use bindpos of @foo[0] := ...?
s/of/instead of/
dalek p/js: f973217 | (Pawel Murias)++ | TODO:
Update TODO.
16:27
liztormato FWIW: I was just about to commit a patch that would make .trans about 20x as fast
For the simplest case 16:28
Need to fix one boumdary condition but had no time 16:29
Will do so in about 8 hours
FROGGS_ ++ liztormato 16:32
[ptc]: but I think like/unlike might be useful
Ven liztormato++ 16:33
FROGGS_ [ptc]: will it just smartmatch against the $expected?
[ptc]: or does it also take a comparator?
16:33 pmqs left 16:35 drzsasz joined
dalek c: bb626e4 | paultcochrane++ | lib/Language/testing.pod:
Complete documentation for Test module
16:36
[ptc] FROGGS_: don't know exactly. I saw tests within the spectest suite (which aren't being run currently) and wondered why like/unlike were missing from Test.pm 16:37
FROGGS_: like/unlike don't turn up in the spec docs about testing though
16:37 vendethiel- joined
pmurias hoelzro: I got the random test 14 failure on my machine too 16:38
16:38 liztormato_ joined, liztormato_ left
[ptc] FROGGS_: maybe like is really something along the lines of ok($obtained ~~ $expected) 16:38
16:38 vendethiel left
[ptc] and thus like isn't really necessary 16:38
dalek p/js: dc4ae0d | (Pawel Murias)++ | t/nqp/70-invokespec.t:
Fix test plan.
16:39
p/js: cc16234 | (Pawel Murias)++ | / (3 files):
Implement nqp::bindpos.
FROGGS_ well, when the testing sub gets the $expected and the $got it can print a helpful message on mismatch
16:41 liztormato left
pmurias nqp-p: say(nqp::istype(NQPMu, nqp::null())); 16:43
camelia nqp-parrot: OUTPUT«0␤»
16:47 vendethiel joined 16:48 vendethiel- left
moritz_ FROGGS_, [ptc]: since our regexes don't stringify so well, like() often couldn't produce good diagnostics messages 16:49
(with regexes at least)
FROGGS_ ahh, true 16:50
[ptc] I just implemented a first-cut at like(); is it still worthwhile adding? 16:51
16:52 Kristien joined
[ptc] moritz_: so like/unlike were removed? 16:52
dalek osystem: e8a9be6 | (Andrew Egeler)++ | META.list:
Add UUID
16:53
moritz_ [ptc]: I don't think they were removed; but we certainly pondered them before
16:55 chenryn joined 16:56 dolmen left 17:00 chenryn left 17:06 moritz_ is now known as moritz
raydiak moritz_: wrt gist.github.com/raydiak/1ecf3131e1fa4157e625 thanks for looking! .list would induce premature flattening; also I need the indices not the values, so it'd have to use .pairs too 17:06
if it looks like something that might not be too horrendous to include in core in some form, I'll open a PR 17:07
ruoso So, I refactored the code in my sudoku solver, it's much more legible now, I'm considering adding it to Rosetta Code... feedback is appreciated: github.com/ruoso/perl6-sudoku/blob.../sudoku.pl 17:13
the solver is surprisingly good at avoiding backtracks.... 17:15
17:18 pmurias left, Guest11706 left, virtualsue left 17:19 rurban left
colomon smoke.perl6.org/report 17:19
17:20 raiph left
timotimo my lord, this looks bad 17:22
17:23 rurban1 left
timotimo i'd still like having the build output in the smoke reports 17:23
what's the domain for panda testers again? 17:24
ah, testers.
just takes a tiny while to come up
FROGGS_: we need to get some more performance out of testers :) 17:25
17:26 abraxxa joined
raydiak yeah noticed last night that Inline is failing tests...that's why zlib and png::portable are failing at least 17:28
17:29 tgt joined, nebuchadnezzar left
moritz but shouldn't they show a "P" then? 17:29
17:30 raiph joined
raydiak yes, that would be expected behavior 17:31
17:32 nebuchadnezzar joined 17:39 Ven_ joined, vendethiel left 17:41 Ven left
Ven_ wow, realize it's now been more than a year on this channel \o 17:42
r: for lines() -> $_ is copy { s:g/men/boys/; .say } 17:43
camelia rakudo-{parrot,moar} 5ba2c8: OUTPUT«Céad slán ag sléibhte maorga Chontae Dhún na nGall␤Agus dhá chéad slán ag an Eireagal ard ina stua os cionn caor is coll;␤Nuair a ghluais mise thart le Loch Dhún Lúich’ go ciúin sa ghleann ina luí␤I mo dhiaidh bhí gleanntáin g…»
17:44 abraxxa left
geekosaur that changed too :p 17:45
17:49 Kristien left 17:50 ninjazach left
Ven_ m: sub second-to-last(@ [*@, $value, $]) { $value }; # that didn't change :P 17:51
camelia rakudo-moar 5ba2c8: OUTPUT«===SORRY!=== Error while compiling /tmp/5R0cTW9glf␤Cannot put required parameter $value after variadic parameters␤at /tmp/5R0cTW9glf:1␤------> sub second-to-last(@ [*@, $value⏏, $]) { $value }; # that didn't change …» 17:52
17:55 ninjazach joined
masak Ven_: I can see why that's disallowed. 18:03
Ven_ masak: I can't :) 18:04
masak it kinds goes against the rule the later things shouldn't affect earlier things.
Ven_ I'm sorry?
masak at least declaration-y things.
also, it's consistent with how slurpies work in Perl 5.
mst Ven_: allowing a required parameter after a variadic is a TERRIBLE idea and will bring you only inconsistency and pain
flussence m: sub second-to-last(*@ [@, $value, $]) { $value }; say second-to-last(|1..10); 18:05
camelia rakudo-moar 5ba2c8: OUTPUT«===SORRY!=== Error while compiling /tmp/Vgp9XNQ8Pk␤Variable '&prefix:<|>' is not declared␤at /tmp/Vgp9XNQ8Pk:1␤------> lue, $]) { $value }; say second-to-last(⏏|1..10);␤»
Ven_ mst: thanks, but that's not what I'm doing here.
flussence m: sub second-to-last(*@ [@, $value, $]) { $value }; say second-to-last(|(1..10));
camelia rakudo-moar 5ba2c8: OUTPUT«cannot stringify this␤ in sub second-to-last at /tmp/WEkVUbZVxR:1␤ in block <unit> at /tmp/WEkVUbZVxR:1␤␤»
masak Ven_: it kinds is, though.
flussence um, wat
Ven_ I really isn't...
mst Ven_: that's what the error appears to be saying
Ven_ It*
mst it might be what you *wanted* to do, but it's certainly what the compiler thinks you're doing :)
Ven_ mst: it's not a *parameter*
It's an array deconstruction. That's not the same as an argument list, in my book 18:06
(sorry, BooK )
mst oh, right, I see where you're going
Ven_ m: sub foo(@a){}; my @a = 1..*, <this is okay here>; foo(|(1..*)); # this isn't 18:07
camelia rakudo-moar 5ba2c8: OUTPUT«Too few positionals passed; expected 1 argument but got 0␤ in sub foo at /tmp/LAyn7Zhy54:1␤ in block <unit> at /tmp/LAyn7Zhy54:1␤␤»
flussence m: sub a(*@ [$value]) { $value }; say a(1..10) 18:08
camelia rakudo-moar 5ba2c8: OUTPUT«Too many positionals passed; expected 1 argument but got 10 in sub-signature␤ in sub a at /tmp/3gzmy2m2lz:1␤ in block <unit> at /tmp/3gzmy2m2lz:1␤␤»
18:08 echowuhao joined
flussence m: sub b(*@ [$value, *@]) { $value }; say b(1..10) 18:08
camelia rakudo-moar 5ba2c8: OUTPUT«1␤»
flussence m: sub c(*@ [$value, @]) { $value }; say c(1..10) 18:09
camelia rakudo-moar 5ba2c8: OUTPUT«cannot stringify this␤ in sub c at /tmp/dVGIrrNhc3:1␤ in block <unit> at /tmp/dVGIrrNhc3:1␤␤»
18:10 Kristien joined
Kristien How does Perl 6 resolve the problem of the dreaded diamond of death? 18:10
flussence C3, same as Perl 5.
Juerd Kristien: It lets you use roles instead of classes, which can't be composed into something that it clashes with. 18:11
(Assuming that's the diamond you're referring to. If it's some other diamond, I don't know.) 18:12
18:14 Mouq joined
Kristien Well especially with data members. 18:15
E.g. class A { has $!x; }; class B is A { }; class C is A { }; class D is B is C { /* how many $!x members are there? } 18:16
masak one.
Kristien Ah, so B and C share the same base members. 18:17
masak but you shouldn't care so much, since $!x is private to A.
Kristien yeah but A may expose it in some way
masak then A is doing a bad job hiding its private stuffs. 18:18
Kristien In C++ there'd be two unless you inherit with virtual keyword.
Ven_ (oooh, virtual inheritances... well) 18:19
18:19 ninjazach left
nine_ masak++ # just finished reading the fascinating maze blog post 18:20
masak so it was readable. nice \o/
18:21 BenGoldberg joined, molaf left
raiph "PL design is like a box of tradeoffs" (news.ycombinator.com/item?id=9052239) 18:22
japhb And there is some kind of design that isn't? 18:24
geekosaur ^ see "pick any two" 18:25
Kristien And in the diamond case how is it prevented that the constructor of A is called twice? 18:26
Mouq m: class A { has $!x; }; class B is A { }; class C is A { }; class D is B is C { }; say D.^mro 18:27
camelia rakudo-moar 5ba2c8: OUTPUT«(D) (B) (C) (A) (Any) (Mu)␤»
18:27 Ven_ left 18:34 tgt left
Mouq Kristien: The mro works least-derived to most-derived. AFAICT, the constructor for B knows how to build B and then gets the build instructions for A; BUILDALL relies purely on the mro, so it pulls the plans from each element, rather than the instructions for parents being embedded in the instructions for the child 18:42
Or at least, I think that's how it works, based on the code I've looked at
18:42 BenGoldberg left
flussence `perldoc mro` explains it properly ;) 18:42
Mouq Someone else might be able to put that better/more accurately
18:43 BenGoldberg joined
Mouq flussence++ 18:43
flussence don't ++ me! I only pointed to TFM, not wrote it :) 18:44
(and I was wrong about p5 using it anyway, it's not the default [unless you use Moose, or something]) 18:45
18:46 ninjazach joined 18:48 tgt joined
Kristien Now I understand why it's called nextsame and not super. 18:51
18:52 aborazmeh left 18:59 tgt left
Kristien Perl 6 is very nice. 19:06
19:06 BenGoldberg left 19:07 ninjazach left, BenGoldberg joined 19:09 _mg_ joined
masak .oO( Perl 6: unifying concepts, for your pleasure ) 19:11
19:14 rurban joined
FROGGS_ timotimo: aye, I'm almost done with generating static html pages that an apache can server 19:14
serve* 19:15
19:15 kjs_ left
Kristien Are INITs called in an order similar to C3, or depth-first? 19:15
moritz uhm
INITs aren't called in any OO order, I suppose
but rather in the order of use statements 19:16
Kristien well replacing inheritance with use
moritz depth first
Kristien OK
Makes sense.
dalek c: fd08a18 | moritz++ | lib/Type/Metamodel/C3MRO.pod:
More explanations for method resolution order; add example
19:17
19:19 vendethiel joined
moritz why does skip_rest require a plan? 19:19
FROGGS_ moritz: because it will just emit a certain number of 'XX - SKIP' 19:20
masak moritz: could be argued if there's no plan, you can just do `done` instead
moritz FROGGS_: from a user's perspective, that answer isn't satisfactory at all :- 19:21
)
masak++ # that I can relate to
dalek c: b1abbbc | moritz++ | lib/Language/testing.pod:
testing: mention &done as an alternative to skip_rest

  ... when no plan was made. masak++
19:22
FROGGS_ moritz: hmmm, we eventually can emit a 'XX - SKIP' for every call to ok/nok/pass/etc in that case then 19:23
19:23 gaussblurinc_ joined
moritz FROGGS_: except that we don't have that information 19:23
timotimo FROGGS_: cool! :) 19:24
FROGGS_ moritz: what information?
moritz: ahh, it does not make much sense to run the code after a skip_rest, ehh? 19:25
moritz FROGGS_: correct
it's not todo_rest
FROGGS_ well, then there is no way to avoid a plan 19:26
ahh, it could be a noop perhaps?
19:29 rindolf left 19:31 _mg_ left 19:33 gaussblurinc_ left 19:34 zakharyas left 19:38 raiph left
flussence I'm having trouble finding an actual description for META.info (if one even exists). Following links from modules.perl6.org gets me to S11, which only has a dead link for "META6.json" (which I haven't heard of before). Up until now I've been cargo-culting other people's stuff... 19:39
FROGGS_ flussence: yes, META.info is in theory deprecated 19:40
but it is still the one that works with panda
moritz FROGGS_: what is the not-deprecated alternative? 19:43
FROGGS_ META6.json
which, panda only knows about in a dev branch
19:44 _mg_ joined, beastd joined
dalek p/longer: 984d8c0 | FROGGS++ | src/vm/jvm/runtime/org/perl6/nqp/sixmodel/reprs/P6 (2 files):
handle C types when composing P6int and P6num on the jvm
19:46
c: df9a2f3 | moritz++ | lib/Language/testing.pod:
testing: be more explicit about contexts; example for is_deeply
19:47
19:50 ninjazach joined
raydiak FROGGS_: are you aware of the Inline::C test failure? 19:51
19:52 virtualsue joined 19:54 kjs_ joined
FROGGS_ raydiak: yes, it is caused by NativeCall<->Rakudo version mismatch 19:56
I am working on that indirectly 19:57
raydiak FROGGS_++
FROGGS_ I've got a tiny problem on parrot though... 19:58
19:58 virtualsue left
moritz has a solution for that 19:59
19:59 pippo joined
pippo o/ #perl6 19:59
raydiak \o pippo 20:00
pippo use Form; print form('{]]]}','0')
m: use Form; print form('{]]]}','0')
camelia rakudo-moar 5ba2c8: OUTPUT«===SORRY!===␤Could not find Form in any of: /home/camelia/rakudo-inst-1/languages/perl6/lib, /home/camelia/rakudo-inst-1/languages/perl6␤»
timotimo aye, Form is NYI
FROGGS_ what's Form?
pippo it is in the p6 modules!
FROGGS_ pippo: camelia here does not have (all) modules installed 20:01
timotimo oh, we have a module for that?
pippo FROGGS_: thanks.
timotimo: yes
FROGGS_ there is a 'star-m' command that has the modules of the star distribution, but that's all
timotimo "A Perl 6 implementation of Perl 6-style text formatting" ... um ..?!
20:01 kjs_ left
moritz in fact, 'm:' in camelia only gives you those modules that a bare rakudo gives you 20:01
FROGGS_ ahh, Form is like P5's formats 20:02
pippo star-m: use Form; print form('{]]]}','0')
camelia star-m 2015.01: OUTPUT«===SORRY!===␤Could not find Form in any of: /home/camelia/rakudo-star-2015.01/install/languages/perl6/lib, /home/camelia/rakudo-star-2015.01/install/languages/perl6, /home/camelia/rakudo-star-2015.01/install/languages/perl6/site␤»
pippo :-(
FROGGS_ pippo: well, install it locally
pippo Anyway does anybody used that module? It hates the 0 and do not want to print it. 20:03
Do not know why.
FROGGS_ did not use it
raydiak hasn't been worked on for 3 years except for a "fix the obvious errors and warnings" commit by retupmoca++ last summer 20:05
Mouq moritz: perl6 htmlify.p6 1312.50s user 336.63s system 89% cpu 30:40.88 total GAH 20:06
20:07 eternaleye left
Mouq moritz: We could probably trim a good bit of that by doing partial HTMLifying of Pod and saving that, since there's a lot of reuse between pages we're not taking care of. I don't think I have time to mess with that today 20:07
moritz: Also, I'm guessing we could probably have a module that has a direct interface to pygments. I'm guessing shelling out to a new process of it over and over isn't exactly ideal 20:11
Oh, okay; without hilighting it's only: perl6 htmlify.p6 --no-highlight 364.04s user 3.76s system 95% cpu 6:26.71 total 20:13
Mouq still wants to cut that :P
Mouq afk
20:14 Rounin left 20:16 darutoko left 20:22 pmqs joined 20:23 ninjazach left 20:24 bjz left 20:25 geekosaur joined
timotimo hm, how do we do the highlighting? something must be very bad about that part for it to be that slow 20:26
raydiak timotimo: it's a recent addition, uses Pygments 20:32
20:32 zakharyas joined
timotimo i know 20:32
but why does it add such a ridiculous amount of time to the process?
20:34 _mg_ left 20:35 telex left 20:36 telex joined
raydiak appears to write the code block out to a temp file for passing to pygmentize.../me would guess it's that part if it's not pygmentize itself 20:37
dalek p/longer: f18a667 | FROGGS++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/NativeCallOps.java:
use NativeLong for arguments and return types instead of Long

This fixes the last problems with NativeCall on a 32bit machine on the jvm.
20:40
moritz pygmentize on a typical code block is about 0.1s
Mouq: one problem is that processing a file doesn't just htmlify it, but also uses the data to bulid the search index and disambiguation files 20:42
FROGGS_ p: say nqp::objprimspec 42
camelia rakudo-parrot 5ba2c8: OUTPUT«0␤»
FROGGS_ p: say nqp::objprimspec(my int $a = 42)
camelia rakudo-parrot 5ba2c8: OUTPUT«0␤»
nwc10 FROGGS_: I build longer (but not that most recent NQP change for the JVM), an valgrind spots no errors with the zavolaj tests. 20:46
FROGGS_ \o/ 20:47
nwc10: I love to hear that :o)
nwc10 I hope you trip to the zoo was good. We got up not-particularly-early to go to www.bauen-energie.at/
and donate the children to the grandparents for the morning) 20:48
it was big (but useful for what we needed)
FROGGS_ nwc10: it was a very nice sunny day, and so we walked around with friends... (= five kids in total)
though, carrying my middle child on my shoulders payed me back the afternoon and evening :/ 20:49
I'd enjoyed that too if I would not live in a flat :o) 20:50
moritz wonders if there's a need for an async DB interface 20:51
and who would write that :-)
20:52 echowuhao left
FROGGS_ ain't no time for that 20:53
FROGGS_ has a feeling that he solved his problem with parrot (in a unmoritzish way) 20:55
an*
nwc10 FROGGS_: we are currently in a flat. We were going there for details needed to help craft our escape plan.
FROGGS_ ahh
21:04 mvuets left
dalek p/longer: 126fe20 | FROGGS++ | src/vm/parrot/6model/reprs/P6 (4 files):
port native C type handling to parrot
21:09
kudo/longer: 470a5cb | FROGGS++ | src/Perl6/Metamodel/NativeHOW.nqp:
check for int-ness in NativeHOW.compose

We get away with that in theory on moar and jvm but not on parrot. And it is certainly more correct this way.
21:12
21:15 echowuhao joined
moritz raydiak, Mouq: I just did some timings, and htmlify.p6 spends about 45s writing those temp files, and 677s running pygmentize 21:15
is 45s too long for writing 374521 character in total in 6863 spurt() calls? 21:16
I'd say so :-)
but it's not the bottleneck here 21:17
jdv79 is train_mod a routine?
21:18 echowuhao left
jdv79 dead link for that on doc.perl6.org/language/about 21:18
moritz oh, trait_mod
FROGGS_ 404, aye: doc.perl6.org/routine/trait_mod 21:19
moritz well, not quite
jdv79 link for graphviz is also dead - s/com/org/
same page
raydiak thanks moritz, useful info...almost makes me wonder if we shouldn't cache the highlighted blocks for subsequent runs
21:19 sqirrel__ joined
moritz raydiak: we should 21:20
raydiak: and I'd like to use sha1 as the cache key, but not the nqp::sha1 opcode
can't we spec Str.sha1hex or so? :-)
jdv79 oh, whoa. train. sorry. i should probably find some contact lenses. i was trying to avoid them today:(
dalek c: 74326f7 | moritz++ | lib/Language/about.pod:
Fix link, jdv79++
21:22
raydiak moritz: there's the Digest module 21:23
well, modules 21:24
21:25 pmurias joined
moritz pure perl implementations 21:25
but I wanted to speed up the thing :/ 21:26
dalek p/js: 5272c6b | (Pawel Murias)++ | / (2 files):
Make nqp::istype work on nqp::null().
raydiak moritz: erm, right
grondilu what's wrong with nqp::sha1?
moritz grondilu: it's rakudo specific 21:27
grondilu: and not part of the public API
grondilu ok
there is always rosettacode.org/wiki/SHA1#Perl_6. Maybe it could be made faster with native types or something. 21:29
moritz ok, I think we're approaching this wrong :-)
what I *really* want is a cache
raydiak what if the digest module used nqp::sha1 where available, falling back to PP if some poor soul tries htmlify on niecza or whatever?
moritz the sha1 is just an implementation detail of that
raydiak: +1
raydiak cuz regardless of algorithm, idk if we currently have any fast portable hashing of any sort 21:31
grondilu that'd be unfortunate imho 21:32
21:33 zakharyas left
pmurias we will need a way to check if nqp is supported on a given implementation 21:33
moritz ok, TBH I haven't benchmarked Digest::*
21:33 xfix left
moritz maybe I should before calling it slow :-) 21:33
masak today's mini-challenge: write a program that finds all the solutions to 1/p + 1/q + 1/r = 1/2, 0 < p <= q <= r being integers. (hint: there are 10 such solutions.)
dalek p/js: c501739 | (Pawel Murias)++ | / (4 files):
Implement and test nqp::sha1.
21:34
raydiak as far as checking for nqp, "try { require nqp }" might work 21:37
grondilu m: P: for 3 .. * -> $p { for $p .. * -> q { for q .. * -> \r { say
camelia rakudo-moar 5ba2c8: OUTPUT«===SORRY!=== Error while compiling /tmp/kw4CnitO2g␤Couldn't find terminator }␤at /tmp/kw4CnitO2g:1␤------> or $p .. * -> q { for q .. * -> \r { say⏏<EOL>␤»
grondilu pressed enter accidentally, as you probably guessed 21:40
FROGGS_ could be a very intelligent keyboard cat also :o)
masak let me know where such cats can be found 21:41
grondilu wonders if there is a more elegant way to enumerate increasing integers.
masak would recommend not iterating towards a solution on #perl6 camelia ;) 21:42
21:45 pmqs left
grondilu
.oO( 1/p + 1/q == 1/2 - 1/r <=> (p + q)/(pq) = (r - 2)/(2r) and then using a trinome maybe ?)
21:46
Kristien Tank you for this perl of wisdom. 21:48
masak ok, I have a program that prints all the solutions. it's 16 LoC. 21:49
I also may have discovered a bug.
m: Q: for 1..3 { next Q if $_ == 2; say $_ } 21:50
camelia rakudo-moar 5ba2c8: OUTPUT«===SORRY!=== Error while compiling /tmp/yril2FnfqN␤Alphanumeric character is not allowed as a delimiter␤at /tmp/yril2FnfqN:1␤------> Q: for 1..3 { next Q ⏏if $_ == 2; say $_ }␤»
masak std: Q: for 1..3 { next Q if $_ == 2; say $_ }
camelia std f9b7f55: OUTPUT«===SORRY!===␤Alphanumeric character is not allowed as delimiter at /tmp/V78_cOoOhH line 1:␤------> Q: for 1..3 { next Q ⏏if $_ == 2; say $_ }␤Parse failed␤FAILED 00:00 138m␤»
masak ah; maybe not, then.
raydiak heh /me just ran into the exact same one
masak pro tip: don't name your things Q something :P
m: Q: for 1..3 { next "Q" if $_ == 2; say $_ } 21:51
camelia rakudo-moar 5ba2c8: OUTPUT«1␤3␤»
masak can always do that, I guess.
raydiak yeah Qs break things...especially solar systems and space ships
21:52 spider-mario joined
raydiak breaks down and opens vim instead of writing it as a one-liner on the command line 21:53
s/writing/debugging/
masak :)
and although the pursuit of knowledge is itself enough, you can also look at the pretty pictures at en.wikipedia.org/wiki/Tiling_by_reg...t_a_vertex 21:54
(I found that one via math.ucr.edu/home/baez/42.html ) 21:55
grondilu m: say (^2 X ^2).perl 22:00
camelia rakudo-moar 5ba2c8: OUTPUT«(0, 0, 0, 1, 1, 0, 1, 1).list␤»
masak m: say (^2 X ^2).tree
camelia rakudo-moar 5ba2c8: OUTPUT«0 0 0 1 1 0 1 1␤»
masak m: say (^2 X ^2).tree.perl
camelia rakudo-moar 5ba2c8: OUTPUT«(0; 0; 0; 1; 1; 0; 1; 1).item␤»
grondilu that's not good, is it?
masak m: say (^2 X ^2).lol.perl
camelia rakudo-moar 5ba2c8: OUTPUT«(0; 0; 0; 1; 1; 0; 1; 1)␤»
masak shrugs
looks wrong to me, but...
...I never had a working intuition about flattening, trees, and lols. 22:01
22:01 rurban left, sqirrel__ left
masak I just generally avoid contact with them, to be honest :) 22:01
grondilu I found this when trying to brute-force your problem
22:02 rurban joined
grondilu I wanted to write somthing like: for 3..* X 3..* X 3..* { next unless [<=] @$_; ... } 22:02
but that did not work out
masak quick workaround is to add `-> $p, $q, $r` 22:03
22:03 adu joined
grondilu that does work indeed 22:04
vendethiel masak: definitely looks wrong to me...
but again, flattening certainly isn't my favorite p6 feature
22:04 echowuhao joined
vendethiel I often find it's a think I constantly have to keep track of in my code. It's not automatic. I'm definitely missing some use of it, though... 22:04
22:05 FROGGS__ joined
grondilu this kind of behavior will have to be learnt again after the GLR, I suppose, so it does not matter much right? 22:06
22:07 Sqirrel_ left 22:08 echowuhao left, FROGGS_ left, virtualsue joined
masak .oO( the bug was not submitted, because nobody was all that fond of flattening ) 22:08
raydiak
.oO( [BUG] implicit flattening )
22:12
vendethiel
.oO( [BUG] implicit )
22:13
22:13 rurban left 22:16 davido__ left 22:17 davido__ joined 22:18 ninjazach joined 22:21 Sqirrel joined, diana_olhovik_ left 22:22 diana_olhovik_ joined
raydiak masak: I have a solution, but it's kinda brain-dead and utilizes not only your hint of 10 answers, but also an arbitrarily-chosen upper bound of 100 for each var 22:23
masak raydiak: ok. I'm still interested in seeing it.
raydiak: I'll post mine if you'll post yours.
vendethiel m: 'a'->2
camelia rakudo-moar 5ba2c8: OUTPUT«===SORRY!=== Error while compiling /tmp/9tOrR4EV5a␤Unsupported use of -> as postfix; in Perl 6 please use either . to call a method, or whitespace to delimit a pointy block␤at /tmp/9tOrR4EV5a:1␤------> 'a'->⏏2…»
raydiak masak: gist.github.com/raydiak/a9063c068f93a162ca2e 22:25
masak raydiak: gist.github.com/masak/a26d1b2b7417b0db7a28 22:26
ok, I see. 22:27
raydiak masak: your bailout tests are what I was missing
masak I don't need the artificial upper bound because I have those tests.
raydiak yep
22:27 dwarring joined
masak think of what we're iterating through as a simplex in some 3-space. the extra tests build the necessary walls, kind of. 22:27
22:28 rurban joined
raydiak ah, I see 22:29
22:33 echowuhao joined 22:34 spider-mario left 22:36 spider-mario joined 22:37 dolmen joined
raydiak I considered something similar to those tests, but couldn't get it into mental focus so just used the bound...after that, also considered a version which incrementally expands the bound until 10 solutions are found 22:37
22:42 coffee` left 22:43 adu left
dalek ast: 2e94c20 | (David Warring [email@hidden.address] | integration/weird-errors.t:
Revert "Unfudge passing test"

This reverts commit 4954d43df4525130f0fb27cc3cf48f7d4e10325e. RT #123686 Seems to be back.
22:43
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=123686
avuserow_ moritz: re pygments being slow, have you compared shelling out versus Inline::Python? 22:44
22:44 avuserow_ is now known as avuserow, raiph joined, dolmen left 22:45 beastd left
pippo o/ #perl6 22:47
22:47 pippo left
Kristien hello pippo 22:47
masak bye pippo 22:48
dalek p: bb5a1c1 | FROGGS++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
add constants for C data types
22:49
nqp: f82ceb0 | FROGGS++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
nqp: add constant for C type long
22:49 dalek left 22:50 dalek joined, ChanServ sets mode: +v dalek
dalek kudo/nom: 7d49693 | FROGGS++ | src/Perl6/Metamodel/NativeHOW.nqp:
handle C type names in "is nativesize" trait
22:50
kudo/nom: e4811fe | FROGGS++ | / (9 files):
Merge branch 'nom' of github.com:rakudo/rakudo into longer
kudo/nom: 12bab2b | FROGGS++ | src/ (2 files):
move C type handling into traing "is ctype"
kudo/nom: a25f366 | FROGGS++ | src/ (5 files):
Merge branch 'nom' of github.com:rakudo/rakudo into longer
kudo/nom: 470a5cb | FROGGS++ | src/Perl6/Metamodel/NativeHOW.nqp:
check for int-ness in NativeHOW.compose

We get away with that in theory on moar and jvm but not on parrot. And it is certainly more correct this way.
kudo/nom: 493d73e | FROGGS++ | src/ (2 files):
Merge branch 'longer' of github.com:rakudo/rakudo into nom
kudo/nom: 127c99e | FROGGS++ | tools/build/NQP_REVISION:
get nqp with C type improvements
22:51
volaj: b6c78ed | FROGGS++ | / (8 files):
s/int/long/ and use long and int32 correctly
volaj: 6dc894e | FROGGS++ | lib/NativeCall.pm6:
use new trait "is ctype"
22:51 FROGGS__ is now known as FROGGS
FROGGS I'll move NativeCall to the rakudo repo tomorrow if nobody beats me to it (I'm tired) 22:52
Mouq masak: Just saw the challenge, do p, q, and r have to be different numbers or are they any numbers of Z+ ?
masak Mouq: they can be equal.
cf. the '<=' conditions in the initial statement. :) 22:53
Mouq Oh, okay :)
22:58 vendethiel left
Kristien reminds me of the guy who asked what kind of reverse lambda <= was in C# (lambda is (x, y) => x + y) because he didn't realise it was smaller than or equal to 22:59
masak in some BASIC variants I've used, `=>` would mean the same as `>=`. 23:00
Kristien Erlang has => and it's horrible. :(
masak it took me until C and similar languages to realize that the order between those two symbols even mattered :)
Kristien Erlang also has "and then" and "or else" to be short circuiting and "and" and "or" are strict. :P 23:03
23:09 echowuhao left 23:10 echowuhao joined, echowuhao left
Kristien goodbye 23:10
23:10 Kristien left 23:12 diana_olhovik_ left 23:21 adu joined 23:23 FROGGS left 23:24 adu left
grondilu stumbbled upon 1+2+3+... = -1/12 again while wandering on Wikipedia. Felt like watch the relevant numberphile video again: youtube.com/watch?v=w-I6XTVZXww 23:26
maybe we should have [+] 1 .. * return -1/12 :)
masak sounds like a good job for a module :) 23:29
was it Ramanujan who first proposed that -1/12 be the answer? 23:30
23:30 virtualsue left, pmurias left
Juerd I actually like the idea of hard coding that. A lot of people will probably try that one, and it'd be a great easter egg. 23:32
m: say [+] 1...
camelia rakudo-moar 5ba2c8: OUTPUT«===SORRY!=== Error while compiling /tmp/YyqTqWHOvV␤Missing semicolon.␤at /tmp/YyqTqWHOvV:1␤------> say [+] 1...⏏<EOL>␤»
Juerd Semicolon? :(
m: say [+] 1..*
camelia rakudo-moar 5ba2c8: OUTPUT«(timeout)» 23:33
Juerd -1/12 is obviously better than that.
grondilu masak: not sure Ramanujan was the first but he did discover it by himself. 23:34
colomon argh, not that -1/12 nonsense again 23:36
23:38 vendethiel joined 23:42 bcode left 23:43 bcode joined
masak colomon: hey, nonsense? I don't think you fully appreciate the sense -1/12 is making here. 23:44
colomon blogs.scientificamerican.com/roots-...-negative/
23:45 ninjazach left
masak colomon: interesting post. I skimmed it. 23:46
yes, of course the series doesn't converge, and it's potentially misleading to say that the sum actually is -1/12. 23:47
colomon it’s 100% misleading
masak (Evelyn Lamb)++ 23:48
'night, #perl6
grondilu colomon: what about 1 - 1 + 1 - 1 ... = 1/2? What do you think about this one? 23:51
colomon grondilu: also nonsense
23:51 ninjazach joined
grondilu well, tbh I don't quite understand why it could not be zero, since I could write it: (1 - 1) + (1 - 1) + ... = 0 + 0 + 0 + ... 23:53
colomon if you’re willing to ignore the fact it has no sum and pretend it does have one, you can do all sorts of remarkable things. ;) 23:55
grondilu what do you mean by "it has no sum"?
raydiak doesn't that violate order of operations? 23:56
grondilu raydiak: addition is associative, I can put parenthesis whereever I want.
23:57 ninjazach left
raydiak well then I can write 1-(1+1)-(1+1)-(1+1)... L) 23:57
*:)
grondilu you can
colomon grondilu: to be precise, the series 1 - 1 + 1 - 1 + 1 … does not converge
Here’s a much more detailed explaination. 23:58
skullsinthestars.com/2014/01/18/inf...would-say/
grondilu colomon: then you're using a particular conception of what is an infinite sum. The whole point is that there might be other conceptions.
colomon “We say a series converges only if, on adding more and more terms to the sum, we find that the total gets closer and closer to a single value.”
23:59 BenGoldberg left
grondilu before mathematical definitions are written down, someone had to imagine them and they did it from an idea that they have in mind. They can always refine this idea and write other definitions. 23:59
colomon Sure, if you define “sum” to mean “not a sum”, you can make it work