»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:04 Actualeyes joined 00:05 idiosyncrat_ left 00:07 tmtowtdi left 00:12 jack_rabbit joined 00:14 musiKk_ left 00:35 captain-adequate left 00:44 cdg left, cdg joined 00:49 cdg left 00:51 wamba joined
sortiz m: use NativeCall; my role Foo is array_type(Pointer) { }; my CArray[Pointer] $a; say $a but Foo; # So far so good 01:05
camelia rakudo-moar 2c552d: OUTPUT«(Pointer]+{Foo})␤»
01:05 labster left
sortiz m: use NativeCall; my role Foo is array_type(Pointer) { }; my CArray[Pointer] $a .= new(Pointer.new); say $a but Foo; # What type change!? 01:05
camelia rakudo-moar 2c552d: OUTPUT«This REPR cannot change type␤ in any mixin at gen/moar/m-Metamodel.nqp line 1300␤ in block <unit> at /tmp/EENyCZWnrr line 1␤␤»
01:15 BenGoldberg joined 01:24 wamba left 01:38 vbnmpol joined 01:42 labster joined 01:46 labster left 02:01 molaf_ joined 02:05 molaf left 02:06 TEttinger left 02:13 [particle]1 left 02:20 partly_ joined 02:23 kalkin- left 02:28 themonkeybob11 left 02:32 themonkeybob11 joined 02:36 kid511 left 02:38 vbnmpol left 02:39 sufrostico left 02:40 [particle] joined 02:41 [particle]1 joined 02:45 [particle] left, ilbot3 left 02:47 ilbot3 joined 02:56 labster joined 02:59 molaf__ joined 03:01 sno left 03:03 molaf_ left 03:35 Ben_Goldberg joined, Ben_Goldberg left 03:37 Ben_Goldberg joined, BenGoldberg left 03:49 noganex_ joined 03:52 noganex left, idiosyncrat_ joined 03:56 Actualeyes left 04:01 kaare__ joined 04:22 wamba joined 04:36 mspo left
llfourn m: role R { submethod Bool { True } }; class A does R { }; say A || "lose" # Bug I think it works if it's changed to a method in the role 04:38
camelia rakudo-moar 2c552d: OUTPUT«lose␤»
04:43 vendethiel joined
llfourn m: class A { submethod Bool { True } }; say A || "lose" # better golfing 04:43
camelia rakudo-moar 2c552d: OUTPUT«lose␤»
04:43 mspo joined
SmokeMachine____ How can I create multi method with ^add_method? 04:50
llfourn SmokeMachine____: .^add_multi_method
skids class A { submethod Bool { 42.say } }; say so A; role B { submethod Bool { 43.say } }; say so B; role C { method Bool { 44.say } }; say so C;
llfourn SmokeMachine____: be sure to .^compse again after doing that if the class has already been composed
SmokeMachine____ Thanks!
skids m: class A { submethod Bool { 42.say } }; say so A; role B { submethod Bool { 43.say } }; say so B; role C { method Bool { 44.say } }; say so C;
camelia rakudo-moar 2c552d: OUTPUT«42␤True␤False␤False␤»
llfourn skids: so seems to work (for classes) 04:51
it's implicit boolean context via || etc that doesn't 04:52
m: class A { submethod Bool { True } }; say A.^find_method("Bool",:no_fallback(1)).(A) 04:53
camelia rakudo-moar 2c552d: OUTPUT«True␤»
llfourn I think the problem is in Metamodel::Mixins 04:54
It only checks method_table not submethod table
nqp::existskey($new_type.HOW.method_table($new_type), 'Bool') ?? 0 !! 04:55
self.get_boolification_mode($obj));
it should just use find_method I think
skids too tired to chase that through Grammar/Actions. Should probably head to bed. 04:56
llfourn skids: go to bed :D but it's github.com/rakudo/rakudo/blob/nom/...ns.nqp#L87 04:57
(I think) 04:58
although It's not a mixin there so maybe not
but I expect it's the same mistake somewhere else
skids m: use nqp; class A { submethod Bool { True } }; nqp::say(nqp::existskey(A.^method_table, "Bool"))
camelia rakudo-moar 2c552d: OUTPUT«0␤»
skids m: use nqp; class A { submethod Bool { True } }; nqp::say(nqp::existskey(A.^submethod_table, "Bool")) 04:59
camelia rakudo-moar 2c552d: OUTPUT«1␤»
llfourn precisely
skids yeah that sounds likely.
llfourn I will RT it and see if I can make a patch 05:00
05:00 khw left 05:03 skids left 05:08 vendethiel left 05:34 Ben_Goldberg left 05:40 Cabanossi left 05:43 Cabanossi joined 05:45 wamba left 06:01 salva joined 06:22 TEttinger joined 06:30 frew1 is now known as frew 07:06 dalek left 07:12 sno joined 07:16 azawawi joined
azawawi good morning #perl6 07:17
sortiz: ping
sortiz azawawi, hi. 07:18
azawawi sortiz: as requested, github.com/azawawi/perl6-memoize/b...load.t#L53 :) 07:21
github.com/azawawi/perl6-memoize/b...e.pm6#L120 # documentation
sortiz: if you can review the implementation and let me know if it working as expected, that would be great :) 07:22
sortiz: s/if it/if it is/
sortiz azawawi, great! I'll review it later and I will give feedback. 07:26
07:27 xinming_ joined
azawawi sortiz: cool... keep them coming :) 07:29
azawawi goes back to fixing perl6/doc issues
07:30 xinming left 07:33 cpage_ left 07:37 kurahaupo joined 07:38 cpage_ joined, cpage_ left 07:50 domidumont joined 07:54 domidumont left 07:55 domidumont joined 08:11 darutoko joined 08:12 cpage_ joined 08:13 geraud left 08:23 [TuxCM] joined 08:24 musiKk_ joined 08:25 [Tux] left 08:29 FreezerburnV joined 08:31 CIAvash joined 08:35 FreezerburnV left 08:37 labster left 08:38 rindolf joined 08:40 tmch joined 08:44 labster joined 08:47 lizmat joined
lizmat good *, #perl6! 08:51
after committing last night, I had this nagging feeling that the amount of times faster for Buf.^pun was wrong 08:53
and indeed it was, not 300x but only 17x :-(
nine "only" 17x
moritz lizmat: the good thing is, only have to speed it up another 17x to make it to total 300x :-) 08:55
lizmat yeah, but I'm afraid I will have to leave that up to jnthn
08:56 [Tux] joined
lizmat [Tux]: back from skiing in one piece, I hope? 08:57
breakfast&
[Tux] Yes :) 08:58
azawawi enjoy :)
[Tux] already building
still no CRNL or UTF8-C8 news?
08:59 firstdayonthejob joined 09:00 [TuxCM] left 09:04 RabidGravy joined
RabidGravy Rarr! 09:05
[Tux] test 23.474
test-t 12.174
csv-parser 51.549
09:10 salva left 09:11 kurahaupo left 09:13 azawawi left 09:15 azawawi joined 09:19 FROGGS joined
masak m: say 17 * 17 09:22
camelia rakudo-moar 2c552d: OUTPUT«289␤»
masak m: say sqrt(300) 09:23
camelia rakudo-moar 2c552d: OUTPUT«17.3205080756888␤»
FROGGS morning 09:24
RabidGravy good morning my podling buddies 09:26
azawawi =begin morning 09:29
09:35 jjido joined 09:37 spider-mario joined
moritz \o 09:37
azawawi: I think I've fixed the layout issues on deploybook.com/. Thanks again for your feedback
azawawi moritz: confirmed... they're now perfect :) moritz++ 09:38
should tests `use lib 'lib'` or `prove -v -e perl6 -Ilib` should be the normal procedure? 09:39
09:40 integral left, integral joined, integral left, integral joined 09:41 TreyHarris left
moritz azawawi: the latter 09:42
though I often include a "use lib 'lib';" in the test anyway, for convenience
why does each use of !important in CSS feels like I've lost a small battle? 09:44
FROGGS this also catches testing against an installed dist rather then testing against the modified stuff in lib/ 09:45
09:45 TreyHarris joined
partly_ There is no way to say perl6 it shouldn't use ansi terminal colors for output, or is there? 09:45
moritz also, I shouldn't procrastinate by tweaking the website. Instead I should *finally* finish my slides for GPW2016
partly_: there's an environment variable, iirc 09:46
partly_: RAKUDO_ERROR_COLOR=0
FROGGS no, I think RAKUDO_ERROR_COLOR= is needed
since "0" is trueish
moritz sighs 09:47
FROGGS (we should handle "0" correctly though)
partly_ Yes it's RAKUDO_ERROR_COLOR=
May be perl6 -h should mention it? 09:48
FROGGS +1
partly_ like this → To modify the display of colors unset the RAKUDO_ERROR_COLOR 09:49
moritz unsetting doesn't help
you need to *set* it
to an empty string
partly_ set to nothing?
To disable ansi colors in the error ouput set RAKUDO_ERROR_COLOR 09:50
FROGGS and it might also mention that colors are disabled on windows by default, and need to be turned on
partly_ my issue is that I would ask myself set to what?
FROGGS yeah
we should make RAKUDO_ERROR_COLOR=0 work
m: say <0> 09:51
camelia rakudo-moar 2c552d: OUTPUT«0␤»
FROGGS m: say <0>.WHAT
camelia rakudo-moar 2c552d: OUTPUT«(IntStr)␤»
FROGGS m: say <0>.BOOL 09:52
camelia rakudo-moar 2c552d: OUTPUT«Method 'BOOL' not found for invocant of class 'IntStr'␤ in block <unit> at /tmp/GXHiq6mRAw line 1␤␤»
FROGGS m: say <0>.Bool
camelia rakudo-moar 2c552d: OUTPUT«False␤»
FROGGS m: say var('0').Bool
camelia rakudo-moar 2c552d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/DbmARUgSAY␤Undeclared routine:␤ var used at line 1. Did you mean 'VAR', 'val'?␤␤»
FROGGS m: say VAR('0').Bool
camelia rakudo-moar 2c552d: OUTPUT«True␤»
FROGGS m: say VAR('0').WHAT
camelia rakudo-moar 2c552d: OUTPUT«(Str)␤»
FROGGS moritz: IMO we should treat this env var as IntStr also 09:53
because it is as unqualified as an argument to the program 09:54
partly_ m: my $f // True ?? "asd" !! "Bar; say $f
camelia rakudo-moar 2c552d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/ib91CEPCu8␤Unable to parse expression in double quotes; couldn't find final '"' ␤at /tmp/ib91CEPCu8:1␤------> 3my $f // True ?? "asd" !! "Bar; say $f7⏏5<EOL>␤ expecting any of:␤ postfi…»
09:54 musiKk_ left
partly_ m: my $f // True ?? "asd" !! "Bar"; say $f 09:54
camelia rakudo-moar 2c552d: OUTPUT«(Any)␤»
FROGGS partly_: nothing assigns to $f 09:55
m: my $f //= True ?? "asd" !! "Bar"; say $f
camelia rakudo-moar 2c552d: OUTPUT«asd␤»
partly_ I'm trying to undestand src/core/Rakudo/Internals.pm:671 09:56
It says %*ENV<RAKUDO_ERROR_COLOR> // !self.IS-WIN ?? (ansicolors) !! ("", "",..);
FROGGS and the result of the expression is returned from this method 09:57
partly_ The operators doc says // is defined-or operator
FROGGS aye
partly_ but There is only one // instead of say Any // 0 // 42;
FROGGS m: my $f; say $f // True ?? 'foo' !! 'bar'
camelia rakudo-moar 2c552d: OUTPUT«foo␤»
FROGGS it is like 09:58
m: my $f; say ($f // True) ?? 'foo' !! 'bar'
camelia rakudo-moar 2c552d: OUTPUT«foo␤»
FROGGS end even more:
m: my $f; say ($f // True).Bool ?? 'foo' !! 'bar'
camelia rakudo-moar 2c552d: OUTPUT«foo␤»
FROGGS see?
partly_ m: my $f; say ($f // True) 09:59
camelia rakudo-moar 2c552d: OUTPUT«True␤»
partly_ m: my $f; say ($f // False)
camelia rakudo-moar 2c552d: OUTPUT«False␤»
partly_ m: my $f = ""; say ($f // True)
camelia rakudo-moar 2c552d: OUTPUT«␤»
partly_ ok, i think I undestand the // part 10:00
If i set RAKUDO_ERROR_COLOR=, then %*ENV<RAKUDO_ERROR_COLOR>.defined == False? 10:01
FROGGS no
defined is true
so it does not consider is-win as port of the condition of the ternary 10:02
so it calls .Bool on the (defined) env var only
which then returns False
10:02 espadrine joined
FROGGS m: say val('0') 10:02
camelia rakudo-moar 2c552d: OUTPUT«0␤»
FROGGS m: say val('0').Bool 10:03
camelia rakudo-moar 2c552d: OUTPUT«False␤»
FROGGS aha!
that's what I'd need
testing a patch... 10:04
10:04 domidumont left
azawawi tadzik: ping 10:05
10:05 AlexDaniel joined
partly_ m: say ("0" // True) ?? say "foo" !! say "bar"; 10:05
camelia rakudo-moar 2c552d: OUTPUT«foo␤True␤»
AlexDaniel m: say ?+‘0’
camelia rakudo-moar 2c552d: OUTPUT«False␤»
partly_ m: say ("" // True) ?? say "foo" !! say "bar"; 10:06
camelia rakudo-moar 2c552d: OUTPUT«bar␤True␤»
RabidGravy right, that's a fairly worky MP3 frame parser done. If someone could just do the same with Vorbis, AAC, WebM and Opus that would be lovely. kthx
FROGGS RabidGravy: *g*
$ FOO=0 perl6 -e 'say so %*ENV<FOO>'
False
/o/
and that's the path in src/core/Env.pm: 10:07
- %ENV{$key} = nqp::p6box_s(nqp::iterval($envelem));
+ %ENV{$key} = val(nqp::p6box_s(nqp::iterval($envelem)));
nine win 1 10:08
masak manually teleports nine to window 1
nine thanks :) 10:09
partly_ Ahh now i get it "0".Bool == True, but 0.Bool == False. val Converts Str to Int and all is fine, 10:11
Took me some time, because i got distracted by _so_ :)
FROGGS cal converts the something in "0" into an IntStr, which is both a string and an int
partly_ FROGGS: thanks for the explanation. 10:12
btw val is missing from the docs. The search does not find it and it's missing in the list 10:13
FROGGS ewww :o(
so much to do and so little time :o( 10:14
10:17 Actualeyes joined, vendethiel joined 10:19 Actualeyes left 10:20 Actualeyes joined
partly_ m: my \x=23; say 5 x 5; 10:20
camelia rakudo-moar 2c552d: OUTPUT«55555␤»
partly_ m: my \x=23; say x 10:21
camelia rakudo-moar 2c552d: OUTPUT«23␤»
10:21 virtualsue joined
partly_ m: my \x=23; sub x() { return 42 }; say x; 10:23
camelia rakudo-moar 2c552d: OUTPUT«23␤»
masak partly_: the parser knows if it's expecting a term (your \x) or an operator (infix:<x>), and there's no ambiguity
partly_ m: my \x=23; sub x() { return 42 }; say x();
camelia rakudo-moar 2c552d: OUTPUT«42␤»
masak oh, and in the latter case, term shadows the usual meaning of `x` for `&x()` 10:24
(but don't do that -- keep your terms and subs separate, that's better) :)
partly_ masak: yeah of course.
masak m: sub foo { "OH HAI" }; enum A <b foo c>; say foo; say foo() 10:27
camelia rakudo-moar 2c552d: OUTPUT«foo␤OH HAI␤»
partly_ Hmm i can imagine that the abuse of sigilless variables can bring you in deep trouuble where not obvious things happen. 10:28
masak frankly I don't see the big deal with sigilless variables
maybe I just like sigils ;) 10:29
10:30 kurahaupo joined
FROGGS and I miss nicely interpolating variables in languages that either have no sigils or dont make use of sigils 10:35
vendethiel to each their own :) 10:37
hi, #perl6.
10:38 virtualsue left
masak hi, vendethiel 10:40
10:41 kurahaupo left
FROGGS vendethiel: it is just a missed opportunity, is all :o) 10:42
that reminds me of a PHP 7 talk 10:43
lizmat commuting&
FROGGS where the devs had two ways to implement something
10:44 lizmat left
FROGGS the audience wanted b) the more strickt way, but they did it the a) way which was more lax but potentially error prone 10:44
strict*
(sorry for my Germish accent) 10:45
10:46 ely-se joined
xiaomiao FROGGS: why not both ;) 10:48
FROGGS xiaomiao: nah, in my opinion the default (perhaps only) way should lead the dev away from easy mistakes 10:49
you cant provide every feature in two or more ways
mst right. I am really quite pleased that ES6 'class' keyword enforces 'use strict' within its body even if you didn't specify 10:50
FROGGS aye
that's like the standard nowadays
xiaomiao FROGGS: well, I would appreciate gcc devs using -Werror ;) 10:51
mst yes, but I like that even if you don't know you should be doing that
using the new shiny syntax gives you it anyway
10:53 kurahaupo joined 10:54 ely-se left
azawawi anyone online with commit rights on github.com/tadzik/Shell-Command? 10:55
FROGGS I dont have a commit bit there sadly 10:56
10:56 ely-se joined
azawawi github.com/azawawi/Shell-Command # :) 10:56
masak hm, in the Chrome Console the use of `class` seems to be illegal unless you're already under "use strict" 10:57
mst oh, maybe I misunderstood what I read and suck
masak no, I heard the same thing
just observing what happens in practice
might be a difference between spec and implementation ;)
mst sure. or we could both suck similarly. this tends to happen to programmers who know each other, usually at the least opportune moment :D 10:58
vendethiel xiaomiao: no, never use -Werror
it's a bad idea.
xiaomiao vendethiel: if your code spews hundreds of warnings during compilation ... that's a bad smell 10:59
vendethiel your code will randomly stop compiling when you update GCC. And sometimes they add warning for spurious things. Like in GCC 6, the indentation warning.
xiaomiao especially if your code does that when self-compiling :)
vendethiel Sure; it shouldn't spew so many errors (you can limit the number of errors anyway), but -Werror without specifying explicitly which warnings should come off as errors is a bad idea.
xiaomiao gcc should compile gcc without thousands of warnings
mst the indentation warning sounds really quite handy
certainly I would be happy to opt in to it 11:00
FROGGS xiaomiao: adding -Werror for authors is okay, not so much for users which run a different/untested compiler
azawawi atom.io/packages/python-debugger # going to work on something like this soon for atom-perl6-editor-tools :)
vendethiel it does - but with -Werror, it means your code won't compile anymore
mst FROGGS: yes, and xiaomiao was saying the gcc devs should add -Werror for themselves when compiling gcc
why is everybody assuming the stupidest possible interpretation of his statement? :(
FROGGS okay, then I agree :o)
xiaomiao :D
mst makes a giant sign saying PRINCIPLE OF CHARITY and nailguns it to the channel ceiling
FROGGS uhh, with such force 11:01
mst when all you have is a nailgun, every problem looks like a messiah
azawawi :)
_nadim Morning
anyone knows why Stash doesn't have elemes as the doc states? 11:02
11:02 virtualsue_ joined
FROGGS _nadim: can you demonstrate what you are missing? 11:02
11:03 virtualsue_ is now known as virtualsue, jjido left
_nadim Hmm, actually it si an MVMContext that is missing it but it is "caught " as a Stash in thecode. 11:04
11:05 virtualsue left
masak hey, uh, what's with this new giant sign in the ceiling? 11:06
11:06 Skarsnik joined 11:08 kurahaupo left
azawawi github.com/tadzik/Shell-Command/pull/10 11:13
.tell tadzik please enable Travis CI / App 11:14
yoleaux azawawi: I'll pass your message to tadzik.
azawawi .tell tadzik please enable Travis CI / AppVeyor support. See github.com/tadzik/Shell-Command/pull/10
yoleaux azawawi: I'll pass your message to tadzik.
azawawi pressed enter too soon :)
11:14 musiKk_ joined
mst masak: I think about 98% of perl6's niceness can be summed up by 'apply the principle of charity everywhere as hard as possible' 11:17
I mean, #perl6's niceness
RabidGravy it's a struggle every day believe me 11:19
azawawi github.com/perl6/doc/issues/411#is...-192623251 # please review
RabidGravy ;-) 11:20
azawawi mst: and the nailgun? :)
mst RabidGravy: if I didn't think I'd've needed reminding too, I'd've nailgunned it to FROGGS instead of the ceiling :D
RabidGravy :) 11:21
mst azawawi: wait, you think I need a *reason* to nailgun something to a flat surface?
clearly I'm not talking in here enough
11:21 edehont joined
RabidGravy well staple gun maybe 11:21
azawawi mst: the words nice and nailgun caught my attention :) 11:22
mst (1) I said #perl6 was nice (2) I'm the one with the nailgun (3) that's why the sign is for me too :D
RabidGravy wonders if he should stick this bitfield stuff in a separate module and release it 11:24
mst azawawi: trout.me.uk/quotes.txt - search for 'staffment'
azawawi RabidGravy: yeah a staple gun :) 11:33
11:35 labster left
azawawi mst: That's the problem with some words. One gets distracted by them and the discussion goes elsewhere :) 11:35
11:37 rindolf left 11:44 awwaiid left
azawawi what color theme represents Perl 6? Perl had a blue theme to it in all of its books. Ruby has red. 11:45
11:45 wamba joined
mst in order to match camelia it needs to be something playful, fun, and possible to make cute, while also annoying a bunch of people in the process 11:46
I suggest a nice pastel yellow
azawawi raw.githubusercontent.com/DanBrook...-icons.png
RabidGravy pinkish
sjn azawawi: O'Reilly's color themes aren't really that important anymore imo... I don't think we should leave it to them to pick a "theme" like you mentioned 11:48
sjn wishes TPF would some serious work around that topic for once. :-( 11:49
azawawi camelia logo dominant colors are (black, blue, ...) pasteboard.co/22nSW4As.png 11:52
11:52 rindolf joined, TEttinger left 11:54 RabidGravy left
sjn azawawi: I'd pick the yellow one, if I only get to choose one. Then again, my aesthetic sense isn't that good :-P 11:56
mst azawawi: I was mostly being silly, mind
sjn: if somebody would convince them to actually give mdk a marketing budget to go with his position (rather than approve-everything-one-at-a-time-possibly) that might actually be doable :) 11:57
sjn thinks yellow is good because of... The King in Yellow? :)
mst was mostly joking about pastel yellow
sjn mst: yeah, that stuff needs monies and leadership will 11:58
"will to lead"
AlexDaniel m: say [2, 5, 3].shape 12:02
camelia rakudo-moar 2c552d: OUTPUT«(*)␤»
AlexDaniel m: say [2, [5, 4], 3].shape
camelia rakudo-moar 2c552d: OUTPUT«(*)␤»
AlexDaniel am I the only one who finds “whatever” to be a strange answer to that question? :) 12:04
12:04 kjs_ joined
Skarsnik look a weird defautlk 12:04
AlexDaniel m: my @a[-99;-10]; say @a.shape' # geez…
camelia rakudo-moar 2c552d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/xl0yQhfoI1␤Two terms in a row␤at /tmp/xl0yQhfoI1:1␤------> 3my @a[-99;-10]; say @a.shape7⏏5' # geez…␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ sta…» 12:05
azawawi or this color for Perl 6 icons tinyurl.com/hd2k4d8 :)
Skarsnik this yellow is nice
AlexDaniel oh great, it seems like it was fixed :)
moritz m: my @a[-99;-10]; say @a.shape;
camelia rakudo-moar 2c552d: OUTPUT«(-99 -10)␤»
AlexDaniel ah…
there was a quote…
m: my @a[-20] 12:06
camelia rakudo-moar 2c552d: OUTPUT«Memory allocation failed; could not allocate 18446744073709551456 bytes␤»
12:07 travis-ci joined
travis-ci Doc build passed. Eric de Hont 'Added an entry for method shape' 12:07
travis-ci.org/perl6/doc/builds/113878669 github.com/perl6/doc/commit/283a8536435c
12:07 travis-ci left
AlexDaniel ok I've already reported that: rt.perl.org/Ticket/Display.html?id=126800 12:08
12:13 ish_ joined 12:14 kjs_ left 12:29 azawawi left 12:35 kjs_ joined 12:41 musiKk_ left 12:46 kid51 joined 12:48 CIAvash left 12:51 kurahaupo joined 12:52 kurahaupo left 12:54 sortiz left 12:56 test123 joined 13:07 test123 left, test123 joined 13:14 ely-se left 13:15 awwaiid joined 13:17 ish_ left 13:18 edehont left 13:21 awwaiid left 13:28 awwaiid joined 13:30 jjido_ joined 13:31 jjido_ left 13:33 awwaiid left
partly_ The perl 6 compiler errors are very hard to parse with vim errorformat 13:37
also sometimes the file name and line number are given and some times not
sometimes the file name is repeated with and without line number and some times just ones the file name, but multiple line numbers 13:38
13:38 edehont joined 13:40 awwaiid joined
partly_ Look how different they all are gist.github.com/kalkin/cf84f21f8f50e9f962fd 13:40
13:42 kjs_ left, domidumont joined
kaare__ looks at the color question and wonders. 13:42
I thought Perl 6 was the rainbow of programming
13:43 kaare__ is now known as kaare_
llfourn partly_: are those Errors after SORRY! really not appearing on a new line? 13:43
partly_ llfourn: i thought this is the default? Only the missing module message (first one) has no message after SORRY 13:44
llfourn partly_: I feel your pain (a bit), we probably need to do a better job making Exceptions consistent 13:45
they are defined here github.com/rakudo/rakudo/blob/nom/...ception.pm ( in case you are not aware )
I'd say PRs for more consistent error messages are more likely to be enthuastically accepted than other things because they don't affect versioning 13:46
or at least IMO they don't :P
partly_ llfourn: well the issue is that from the human point of view, they are completly okay. But an IDE would preffer to have something different to parse
llfourn partly_: Right. But I'd say for example, sometimes errors appearing on a new line after SORRY! and sometimes not is something that could be fixed 13:47
partly_ In the linked gist the second example is a perfect example of a human readable error. For a compiler you normally would repeat the file name
llfourn: I will have a look at that 13:48
or in general at the Exception.pm
now need to get groceries :)
llfourn I agree with you that making them consistent so that they can be parsed with the line no and file being in the same place each time would make sense
13:51 Psyche^_ joined 13:55 Psyche^ left 13:59 telex left 14:00 telex joined, kjs_ joined 14:17 test123 left, Ven joined 14:18 RabidGravy joined
RabidGravy RARR! 14:19
m: sprintf "%08b", +^(0b00011000) 14:23
camelia ( no output )
RabidGravy m: printf "%08b", +^(0b00011000)
camelia rakudo-moar 2c552d: OUTPUT«00-11001»
RabidGravy that's entirely not what I expected
I think there may be two bugs there 14:24
AlexDaniel RabidGravy: beauty :) 14:25
masak I agree that looks very wrong 14:26
just out of curiosity, though -- what did you expect?
RabidGravy well, I'd hoped that it would be "11100111"
but for any reading of "two's complement" that's not right and the printf is broken given the bogus result 14:27
masak m: say +^0b00011000 14:28
camelia rakudo-moar 2c552d: OUTPUT«-25␤»
masak m: say 0b11000
camelia rakudo-moar 2c552d: OUTPUT«24␤»
masak m: say 0b11111111 - 0b11000 14:29
camelia rakudo-moar 2c552d: OUTPUT«231␤»
14:32 jjido_ joined 14:33 skids joined
AlexDaniel partly_: it was decided that error messages should be human-readable in the first place 14:35
partly_: and the whole machine-readable part was left behind as non important…
IMO it is a huge problem 14:36
SmokeMachine____ does any one know why is it giving P6opaque error on the second attribute? www.irccloud.com/pastebin/19SqhrnQ/ 14:38
_nadim Is it possible to give a junction in a given/when?
14:38 themonkeybob11 left, jjido_ left
AlexDaniel maybe a more general solution would be to have some kind of a special mode that will wrap error messages in some special characters or something 14:38
partly_: I think that bug reports like “I'm trying to parse *this* but it is nearly impossible” will be taken care of, eventually. Or feel free to fix that stuff yourself :) 14:41
jnthn AlexDaniel: More likely, just serialize the exception object (.perl or so) and spit that out. That's part of the reason for them being objects in the first place, so machines can process them. 14:42
AlexDaniel jnthn: right 14:43
RabidGravy indeed
jnthn Maybe some environment variable can be set to request that.
Then no need to go parsing stuff out of text at all. :)
AlexDaniel that's even better
llfourn SmokeMachine____: try not calling .^compose on the clazz, it's going to be composed anyway at the end.
psch help, hack is dying (again) 14:44
"load average: 805.83, 798.81, 781.14"
moritz, FROGGS?
llfourn SmokeMachine____: though that might not be the problem lets start there :)
AlexDaniel m: given 10 { when 5|10 { say ‘hallo’ } }
camelia rakudo-moar 2c552d: OUTPUT«hallo␤»
AlexDaniel m: given 100 { when 5|10 { say ‘hallo’ } }
camelia ( no output )
AlexDaniel _nadim: why not?
jnthn llfourn: It's likely to be the problem. You can't add attributes to a class after it's been composed. 14:45
AlexDaniel _nadim: or you mean other way round?
jnthn But a trait shouldn't be doing the composition.
moritz psch: killall?
SmokeMachine____ llfourn: that worked like a charm!
RabidGravy so my best bet for inverting a bit pattern is actually XOR it with "all the bits"
llfourn me++
RabidGravy llfourn++
SmokeMachine____ llfourn: thanks!
psch moritz: my user has irssi and ~9 vim buffers running
well, and two screen sessions 14:46
RabidGravy m: say sprintf "%08b", 0b11111111 +^ 0b00011000
camelia rakudo-moar 2c552d: OUTPUT«11100111␤»
psch (and a hanging perl6-j and ps now too...)
SmokeMachine____ llfourn: any idea why that was working?
llfourn: *any idea why that was happening?
llfourn SmokeMachine____: read what jnthn++ said :)
FROGGS ewww 14:47
psch moritz: i did see collectd in ps, but i guess we're beyond "can become workable without soft reset" again :S
_nadim AlexDaniel: because I want to make sure. In my simple tst it works, as I expected it to, but in another piece of code it doesn't. I need to look at where my error is more carefuly I guess.
SmokeMachine____ thank you all!
psch ...well, not that collectd is really related there
llfourn SmokeMachine____: you are composing the class after adding the first attribute so when you try and add the attribute the next time and compose it goofs
AlexDaniel m: given 10|15 { when 10 { say ‘hallo’ } }
camelia rakudo-moar 2c552d: OUTPUT«hallo␤»
AlexDaniel m: given 10|15 { when 15 { say ‘hallo’ } }
camelia rakudo-moar 2c552d: OUTPUT«hallo␤»
AlexDaniel m: given 10|15 { when 25 { say ‘hallo’ } } 14:48
camelia ( no output )
AlexDaniel _nadim: ↑ it works
SmokeMachine____ llfourn: yes, makes sense!
skids m: my $c = -> { once 42.say; my $d = 1.rand; sleep $d; $d.say; once say "43 $d"; }; start { $c() }; $c(); sleep 1;
camelia rakudo-moar 2c552d: OUTPUT«42␤0.452358791016134␤0.775707954734534␤43 0.775707954734534␤»
llfourn SmokeMachine____: the class will be composed anyway when the compiler gets to its closing '}'
skids wonders if once is threadsafe.
jnthn skids: no, nor is state
Well, "because state isn't" more like
skids By design or NYI? 14:49
jnthn By design
You can explicitly clone the closure to get a fresh state var per thread
skids But you can't ever rely on one state among ultiple threads not double-hitting, right? 14:50
SmokeMachine____ thanks! 14:51
jnthn skids: No, you can't rely on that.
skids OK, I think that deserves doccing. Thanks.
14:52 ambs left, musiKk_ joined 14:54 pmurias joined
_nadim AlexDaniel: Not in the piece of code I have in front of me. I'll do some scaffolding to check everything, again. 14:55
pmurias do we want to allow setting open(nl => "", ...) to read things in paragraph mode?
like setting $/ = "" does in Perl 5? 14:56
there is an open issue for that: github.com/MoarVM/MoarVM/issues/193
AlexDaniel _nadim: well, golf it down and we will have a look :) 14:58
masak pmurias: good question
14:58 themonkeybob11 joined
masak pmurias: I guess it depends whether we consider it a hack or an admirable DWIM that "" does that ;) 14:58
moritz ok, I'll force-reboot hack 15:02
15:02 sergot left, synopsebot6 left, [Coke] left, dalek joined, ChanServ sets mode: +v dalek 15:03 synopsebot6 joined, JimmyZ left, themonke1bob11 joined, psch left, themonkeybob11 left 15:08 musiKk_ left 15:11 pmurias left 15:12 pmurias joined
pmurias .tell it's not DWIM to me as I wouldn't ever expect that without looking it up 15:12
yoleaux pmurias: What kind of a name is "it's"?!
pmurias .tell masak it's not DWIM to me as I wouldn't ever expect that without looking it up
yoleaux pmurias: I'll pass your message to masak.
15:13 psch joined
pmurias .tell masak it seems to be something inherited from awk 15:13
yoleaux pmurias: I'll pass your message to masak.
15:14 kjs_ left, sjoshi joined
_nadim well, there's not much to gold down. In simple examples it works, in my code it doesn't. nopaste.linux-dev.org/?975775. that code doesn't work but when the lines that are comment out are part of the code it works 15:15
and you can see that the commented lines are what the junction should match.
dalek c: 162598a | skids++ | doc/Language/ (2 files):
Doc per-clone behavior of state/once and mention not threadsafe
RabidGravy skids++ 15:16
psch m: sub f { (<A B C>) }; given 'A' { when any(f()) { .say } } 15:18
camelia rakudo-moar 2c552d: OUTPUT«A␤»
psch m: class C { method m { (<A B C>) }; method foo { given 'A' { when any($.m()) { .say } } } }; C.foo
camelia ( no output )
psch m: class C { method m { (<A B C>) }; method foo { given 'A' { when any(self.m()) { .say } } } }; C.foo
camelia rakudo-moar 2c552d: OUTPUT«A␤»
psch _nadim: seems like the $ shorthand for self doesn't work right there 15:19
15:19 cpage_ left
_nadim psch: you are right 15:20
psch m: class C { method m { (<A B C>) }; method foo { given Any { when any(self.m()) { .say } } } }; C.foo
camelia ( no output )
15:20 parseirc14467 joined
psch m: class C { method m { (<A B C>) }; method foo { given Mu { when any(self.m()) { .say } } } }; C.foo 15:20
camelia ( no output )
15:20 awwaiid left
psch err 15:20
...what did i even want to figure out with that
_nadim that it would not match ;) 15:21
psch m: class C { method m { (<A B C>) }; method foo { say any($.m()); say any(self.m()) } }; C.foo # something like this, maybe... 15:22
camelia rakudo-moar 2c552d: OUTPUT«any((A B C))␤any(A, B, C)␤»
psch seems like $. instead of self. adds an item context there
m: class C { method f { 1 }; method foo { say $.f.perl; say self.f.perl }; C.foo 15:23
camelia rakudo-moar 2c552d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/l4gZ4yly1E␤Missing block␤at /tmp/l4gZ4yly1E:1␤------> 3{ say $.f.perl; say self.f.perl }; C.foo7⏏5<EOL>␤ expecting any of:␤ statement end␤ statement modifier␤ stateme…»
psch m: class C { method f { 1 }; method foo { say $.f.perl; say self.f.perl } }; C.foo
camelia rakudo-moar 2c552d: OUTPUT«1␤1␤»
psch m: class C { method f { (1) }; method foo { say $.f.perl; say self.f.perl } }; C.foo
camelia rakudo-moar 2c552d: OUTPUT«1␤1␤»
psch m: say &any.signature.perl
camelia rakudo-moar 2c552d: OUTPUT«:(+ is raw)␤»
skids m: class C { method f { (1,) }; method foo { say $.f.perl; say self.f.perl } }; C.foo 15:24
camelia rakudo-moar 2c552d: OUTPUT«$(1,)␤(1,)␤»
15:24 parseirc14467 left
psch i do remember that there's supposed to be a difference between $.m() and self.m(), but i have no idea if that's the right difference :) 15:24
15:24 parseirc28296 joined
psch moritz: thanks for the hack reboot, before i forget :) 15:25
_nadim psch: any idea where that could be documented? 15:26
15:26 awwaiid joined
_nadim or anyone else who knows? 15:27
because if it is not it is a bug
15:27 masak joined 15:28 CIAvash joined
_nadim Dmping a CallFrme was a joyous trip, beween the internals sipping out, this and Mu, the God of nothing, I amstarting to wonder if I am not a bit masochist. 15:29
skids _nadim: it is specced at least: "$.foo(1,2,3); # calls self.foo under $ context" 15:31
15:32 parseirc28296 left
_nadim and how would, in this case, $ context differ from self context? 15:32
skids By itemization
15:33 edehont left
psch m: say any((1,2)).perl; say any(1,2).perl 15:33
camelia rakudo-moar 2c552d: OUTPUT«any(1, 2)␤any(1, 2)␤»
15:33 ashevchuk left
psch m: say any($(1,2)).perl; say any(1,2).perl # 15:33
camelia rakudo-moar 2c552d: OUTPUT«any($(1, 2))␤any(1, 2)␤»
skids that's single arg rule.
15:35 jjido_ joined
_nadim I'll burn that somewhere in my brains 15:35
15:39 jjido_ left 15:43 awwaiid left 15:48 Ben_Goldberg joined
partly_ AlexDaniel: i will see what i can do 15:50
15:54 awwaiid joined 16:00 cpage_ joined 16:01 jjido joined 16:07 [Coke] joined
[Coke] wonders if he will ever get irssi to come back "as was" post reboot. 16:07
16:07 zpmorgan left 16:08 lizmat joined
[Coke] half the freenode windows show up but then aren't connected to a channel. 16:09
16:10 araujo_ joined
nine adding the netwos and servers with auto and then /save went a long way for me in that regard 16:10
16:10 jjido left 16:11 awwaiid left 16:12 awwaiid joined 16:14 araujo left
_nadim has anything happened to the ecosystem? like moved to another repository. 16:15
16:16 rindolf left
moritz nope 16:16
16:17 awwaiid left
_nadim thanks 16:18
16:19 skids left, Ven left 16:22 rindolf joined, lizmat left 16:23 lizmat joined
partly_ when running perl6 -c is it possible to have more than one Exception at a time? (I differentiate between exceptions and errors, because Undeclared routine is _one_ exception, but it can contain _multiple_ errors) 16:27
16:27 kjs_ joined, kid51 left
partly_ All will the compiler barf at the first exception? 16:27
s/All/Or/g
Skarsnik not sure, compile time is already rather complex 16:28
partly_ And some times it will printout the same exception twice o_O 16:29
psch well, -c is "stop after stage parse" 16:30
partly_ m: sub foo($b) is export { bar() }
camelia rakudo-moar 2c552d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/JHU0IonMC9␤Undeclared routine:␤ bar used at line 1. Did you mean 'VAR', 'bag'?␤␤»
psch which btw includes *running* BEGIN blocks
i think "only the first exception" falls straight out of one-pass-parsing, though 16:31
similar to how Eclipse won't complain about missing identifiers in a string with a missing end delimiter - because that means the rest of the file is the string and the only error that can be found is "missing end delimiter for literal string"
or somesuch 16:32
16:32 musiKk_ joined
[Coke] (same exeption twice) that was a precomp bug which is, I believe fixed. 16:32
partly_ Intersting, if i have an Undeclared routine called in a module and run perl6 -c lib/My/Module.pm, the exception is printed once, if i run perl -c t/01-basic.t which uses My::Module, the exception is printed twice
16:34 Ven joined
[Coke] partly_: what version of rakudo are you running? 16:34
partly_ This is Rakudo version 2015.12-242-g8bd7ee6 built on MoarVM version 2016.01
16:34 nowan_ joined
partly_ ok it's to old 16:34
16:35 lizmat left 16:37 nowan left 16:39 nowan_ left
partly_ [Coke]: thanks for the hint, now it's gone 16:39
16:39 nowan joined 16:41 lizmat joined 16:48 lizmat left
ugexe seems like a precomp related error. most perl6 code should work on that rakudo if it works on the current 16:48
dalek kudo/nom: 0ad8b36 | lizmat++ | src/core/Rakudo/Internals.pm:
Make RAKUDO_ERROR_COLOR=0 work as expected

This was I guess one of the last places we forgot to change when the string "0" because True rather than False.
Also create Rakudo::Internals.NUMERIC-ENV-KEY(\key) helper method.
16:49
16:50 lizmat joined
lizmat s/because/became 16:50
dalek osystem: c49fb36 | (Nadim Khemir)++ | META.list:
Update Data::Dump::Tree to v1.0.1
16:51
osystem: 060e7f1 | (Fritz Zaucker)++ | META.list:
Merge pull request #164 from nkh/master

Update Data::Dump::Tree to v1.0.1
16:54 khw joined 16:55 buharin joined
buharin hi 16:55
16:56 El_Che joined
RabidGravy m: my $a = (((1 +< 2) - 1) +< (8 - (2 + 0))); my $b = ((2^8) - 1) +^ $a; say sprintf "%08b", $b 16:59
camelia rakudo-moar 2c552d: OUTPUT«P6opaque: get_boxed_ref could not unbox for the representation '20'␤␤»
psch m: my $a = (((1 +< 2) - 1) +< (8 - (2 + 0))); my $b = ((2^8) - 1) +^ $a; say $b
camelia rakudo-moar 2c552d: OUTPUT«one(193, 199)␤»
RabidGravy another unexpected result in the family of bitwise stuff
psch m: say sprintf one(1,2)
camelia rakudo-moar 2c552d: OUTPUT«one(1, 2)␤»
psch RabidGravy++
that's amazing
moritz RabidGravy: is that a weird mesage for an overflow? 17:00
17:00 lizmat left
RabidGravy don't think so 17:00
psch oh
2^8
was that supposed to be one(2,8) 17:01
RabidGravy m: say 0b00111111
camelia rakudo-moar 2c552d: OUTPUT«63␤»
psch or 2**8?
m: my $a = (((1 +< 2) - 1) +< (8 - (2 + 0))); my $b = ((2**8) - 1) +^ $a; say $b
camelia rakudo-moar 2c552d: OUTPUT«63␤»
psch m: my $a = (2^8) - 1; say sprintf "%08b", $a
camelia rakudo-moar 2c552d: OUTPUT«P6opaque: get_boxed_ref could not unbox for the representation '20'␤␤»
RabidGravy m: my $a = (2^8) - 1; say sprintf "%016b", $a 17:02
camelia rakudo-moar 2c552d: OUTPUT«P6opaque: get_boxed_ref could not unbox for the representation '20'␤␤»
psch m: sprintf "%08b", (1|1) - 1
camelia rakudo-moar 2c552d: OUTPUT«P6opaque: get_boxed_ref could not unbox for the representation '20'␤␤»
psch m: sprintf "%08b", (1|1)
camelia rakudo-moar 2c552d: OUTPUT«P6opaque: get_boxed_ref could not unbox for the representation '20'␤␤»
psch yeah, Junctions into sprintf 17:03
17:03 lizmat joined
psch i'd guess because the sprintf handler is in NQP or something 17:03
RabidGravy but there shouldn't be a junction there
psch RabidGravy: 2^8 is one(2, 8)
m: say 2^8
camelia rakudo-moar 2c552d: OUTPUT«one(2, 8)␤»
RabidGravy but there isn't in my code? 17:04
psch "my $b = ((2^8) - 1)4~
well, it's what appears here vOv
17:04 themonke1bob11 left
psch well, the 4~ was supposed to be a " 17:05
17:05 wamba left
psch irclog.perlgeek.de/perl6/2016-03-05#i_12142632 logs agree :S 17:05
RabidGravy what the actual ..... ? 17:06
timotimo hmm
lizmat m: printf "%d",one() # shortest golf so far
camelia rakudo-moar 2c552d: OUTPUT«P6opaque: get_boxed_ref could not unbox for the representation '20'␤␤»
RabidGravy it's 2 <asterisk> <asterisk> 8 as what I typed
psch m: printf "%d",1|1
camelia rakudo-moar 2c552d: OUTPUT«P6opaque: get_boxed_ref could not unbox for the representation '20'␤␤»
psch RabidGravy: spooky irc client..?
RabidGravy no, it's doing it in vim too 17:07
okay I'm going stupid 17:08
never mind
dalek kudo-star-daily: a7620be | coke++ | log/ (9 files):
today (automated commit)
17:11
kudo-star-daily: 5620aa5 | coke++ | log/ (8 files):
today (automated commit)
17:11 jjido joined
psch yeah, probably something about how it's handed over to NQP 17:12
r-j throws an NPE for < printf $fmt, $junc >
17:13 wamba joined
timotimo o/ 17:13
partly_ The print_exception() in src/core/Exception.pm is pretty complicated. Why are some exceptions printed via their gist, while others are handled differently?
And how do the VERBATIM-EXCEPTION fit in? 17:14
timotimo probably --ll-exception
17:15 lizmat left, idyllei joined
partly_ ok ic 17:16
17:16 themonkeybob11 joined
psch m: sub f($, *@a) { .WHAT.say for @a }; f(1, 1|1) 17:17
camelia rakudo-moar 2c552d: OUTPUT«(Junction)␤»
psch i think that's behind the printf error
AlexDaniel what is one?
psch i'm pretty sure that shouldn't be a Junction anymore
AlexDaniel ah
I see
timotimo interesting, so maybe auto-currying doesn't work with slurpy arguments properly?
psch m: sub f(@a) { .WHAT.say for @a }; f 1|1
camelia rakudo-moar 2c552d: OUTPUT«Type check failed in binding @a; expected Positional but got Int (1)␤ in sub f at /tmp/0tw79ep9oQ line 1␤ in sub f at /tmp/0tw79ep9oQ line 1␤ in block <unit> at /tmp/0tw79ep9oQ line 1␤␤»
psch m: sub f(*@a) { .WHAT.say for @a }; f 1|1
camelia rakudo-moar 2c552d: OUTPUT«(Junction)␤»
17:17 jjido left
psch timotimo: i guess there's a missing junc_or_fail somewhere..? 17:18
timotimo no, it just seems like it properly binds
psch oh, right, junc_or_fail is after type checks...
timotimo m: sub F(*@a) { .WHAT.say for @a }; F Mu, Mu
camelia rakudo-moar 2c552d: OUTPUT«(Mu)␤(Mu)␤»
psch slurpies are too accepting /o\ 17:19
timotimo ^- if this succeeds, junctions will never be auto-threaded
psch yeah, but even slurpies should auto type to Any, shouldn't they
m: sub F(Any *@a) { .WHAT.say for @a }; F Mu, Mu
camelia rakudo-moar 2c552d: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Iv7RwGcpvT␤Slurpy positional parameters with type constraints are not supported␤at /tmp/Iv7RwGcpvT:1␤------> 3sub F(Any *@a7⏏5) { .WHAT.say for @a }; F Mu, Mu␤ expecting any of:␤ const…»
psch hrm 17:20
17:20 awwaiid joined
timotimo i suppose it's because it really just slurps up everything. it could also have lazy lists passed to it 17:20
so type-checking isn't something we can guarantee we always do
RabidGravy really it's just a nicer error message required 17:23
17:23 lizmat joined 17:24 SCHAAP137 joined 17:28 kjs_ left, lizmat_ joined
psch RabidGravy: i don't know if it's *just* that 17:28
RabidGravy: i mean, for the sprintf case i'M inclined to agree - i don't know how sprintf with a Junction should work otherwise
but the general case means either using Junctions or using slurpies
17:29 lizmat left
psch and then you might overlook that you're using a module that uses slurpies but decide to use Junctions yourself... 17:29
hrm 17:30
17:30 azawawi joined
psch actually, i guess all of that is fine if you don't end up somewhere that Junctions don't work 17:30
azawawi AlexDaniel: ping
psch m: print (1|1)
camelia rakudo-moar 0ad8b3: OUTPUT«any(1, 1)»
azawawi AlexDaniel: close(open(close(open))) :)
psch m: say 1 + (1|1) 17:31
camelia rakudo-moar 0ad8b3: OUTPUT«any(2, 2)␤»
psch ...there's probably a lot of discussion about this somewhere in the clog :) 17:32
RabidGravy: fwiw, would 'Junction passed to &sprintf - please don't do that' or similar have helped you right then?
17:33 buharin left
RabidGravy yeah, I'd actually copied some (working) code from one place to another and somehow changed the ** to a ^ without even noticing 17:34
I mean I should have noticed that I was getting an unexpected junction in the result but then I got more confused with the debugging output I put in
17:35 CIAvash left
psch m: printf "%d", 1..* 17:36
camelia rakudo-moar 0ad8b3: OUTPUT«Cannot .elems a lazy list␤ in block <unit> at /tmp/ZsnKMLfX2R line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/ZsnKMLfX2R line 1␤␤»
psch ...i think i don't like our current &printf :/
AlexDaniel azawawi: mmm?
psch well, maybe i can get that better... gonna make a few notes now and look into it over the next few days 17:37
17:37 virtualsue joined
dalek c: 6f0c118 | lizmat++ | doc/Language/5to6-perlvar.pod:
Make 5to6 docs for @INC/%INC slightly better
17:40
17:41 musiKk_ left
AlexDaniel azawawi: what does this close/open thing mean? :) 17:42
17:42 lizmat_ left 17:43 Ben_Goldberg left 17:44 Util joined 17:45 lizmat joined
lizmat getting too far away from the coast& 17:45
17:46 lizmat left
TreyHarris is "chmod $mode, $file or die ..." still the preferred idiom for subs like that that return a falsey on failure? 17:53
psch m: say so [] 17:55
camelia rakudo-moar 0ad8b3: OUTPUT«False␤»
psch TreyHarris: if you're using exactly one file for chmod i'd say yes
TreyHarris: chmod has a slurpy though, so if you use it for more than one file i'd compare the argument to the return value and complain then 17:56
TreyHarris psch: of course. otherwise it would have to be a more complex return anyway and I'd probably be better off creating IO::Path's and looping through them, then I'll get an exception on any that are problems
psch something like < my @files = get_files(); my @chmodded_files = chmod $mode, @files; die unless @files eqv @chmodded_files > or so
note i'm not sure eqv does exactly what i mean there :)
TreyHarris *nod* I think making path objects and using the method that throws is easier 17:57
RabidGravy visually it sometimes helps to do "if .... { } else { die ... }" in a larger subroutine 17:58
psch in any case, those two approaches should work for any CORE sub that doesn't throw itself on failure
17:58 cdg joined
RabidGravy it also makes it easier to add some recovery or cleanup later 17:58
17:59 cdg left 18:00 cdg joined
RabidGravy the "die" is after all "control flow" albeit leaving through the window rather than the front door 18:00
psch "die" feels more like "leaving through all walls in any direction, no matter how deep inside the building" :D 18:01
azawawi 38 days current github contribution steak github.com/azawawi/ :)
s/steak/streak/ :)
RabidGravy Mmmmm contribution steak
azawawi i was like contribution steak is better :) 18:02
RabidGravy I once reached 104 then went on holiday
18:03 themonkeybob11 left
azawawi RabidGravy: then im going to break the 104 barrier :) 18:03
RabidGravy that's healthy competition 18:04
azawawi and going to change to nick to SteakGravy :) 18:05
psch has 7 days longest streak 18:07
it was an accident
18:10 Ben_Goldberg joined 18:11 Ben_Goldberg left
azawawi btw it changes with time, so you cant prove it... :( 18:12
18:12 vendethiel- joined
azawawi so eventually your streak will be over 18:12
18:12 Ben_Goldberg joined
ugexe you can just set your clock back to the day you missed and send a commit 18:13
RabidGravy I'm also looking for competition on the ecosystem front, there are only 3 people who have released more than half of the number
okay some of mine are utter bilge but better out than in as they say
18:14 themonkeybob11 joined, vendethiel left, jjido joined
azawawi RabidGravy: i hate the current travis ci/appyveyor support... we're basically wasting time testing rakudo all time lol 18:14
RabidGravy: basically it is rakudobrew build moar && prove -v -e perl6 -Ilib 18:15
18:15 edehont joined
azawawi ugexe: maintaining contribution streaks can sometimes mean delaying commits also :) 18:17
18:18 themonkeybob11 left
azawawi sub foo is delayable { }; foo() # prints "I will do it later. I promise" :) 18:19
18:19 jjido left 18:20 edehont left, mykhailyk left
psch m: use nqp; sub trait_mod:<is>(Routine $r, :$delayable!) { $r.add_phaser('ENTER', -> { say "i'll do it later, promise"; exit }) }; sub foo is delayable { }; foo() 18:22
camelia rakudo-moar 0ad8b3: OUTPUT«i'll do it later, promise␤»
psch err, that 'use nqp' is actually superfluous vOv
...also, that trait probably should be called something like 'delayed_indefinitely', actually
m: use nqp; sub trait_mod:<is>(Routine $r, :$delayable!) { $r.add_phaser('ENTER', -> { say "i'll do it later, promise"; exit }) }; sub foo is delayable { }; foo(); say "alive" 18:23
camelia rakudo-moar 0ad8b3: OUTPUT«i'll do it later, promise␤»
azawawi psch: :) 18:24
psch++
AlexDaniel azawawi: open close open close? 18:29
azawawi AlexDaniel: :)
AlexDaniel azawawi: I didn't get it :)
18:30 BenGoldberg_ joined
azawawi AlexDaniel: the ticket ... 18:30
AlexDaniel azawawi: ah right. Want me to reopen it again? 18:31
:)
azawawi github.com/perl6/doc/issues/407 :)
18:32 Ben_Goldberg left
AlexDaniel azawawi: at first I thought that close(open(…)) was some kind of a golfed down perl 6 code that is supposed to compile :D 18:32
18:32 BenGoldberg_ is now known as BenGoldberg
azawawi AlexDaniel: sorry for not being clear about but doc.perl6.org/language/5to6-perlfunc contains little documentation. And skids told me earlier that /routine/printf will look bad 18:33
AlexDaniel: in the sense that it is not really Perl6ish
AlexDaniel: my understanding is 5to6-perlfunc are for backward compatibility 18:34
AlexDaniel azawawi: then why do we have doc.perl6.org/routine/sprintf ?
azawawi now that i dont understand :)
AlexDaniel or even doc.perl6.org/routine/abs 18:35
azawawi ok will do it :)
azawawi delays plans for Perl 6 debugger to fix it :)
AlexDaniel I've always felt that 5to6 document is for Perl 5 programmers. That is, if you don't know Perl 5 then you should never have to open it 18:36
BenGoldberg m: sub trait_mod:<is>(Routine $r, :$doomed!) { die "doomed" }; sub foo is doomed { say 'alive' };
m: sub trait_mod:<is>(Routine $r, :$doomed!) { die "doomed" }; sub foo is doomed { say 'alive' }; foo();
camelia rakudo-moar 0ad8b3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/E0FSE6ZVFE␤doomed␤at /tmp/E0FSE6ZVFE:1␤»
rakudo-moar 0ad8b3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/h4v1SYSQD0␤doomed␤at /tmp/h4v1SYSQD0:1␤»
18:37 sevvie joined
BenGoldberg abs is needed, since people will, at some point, be trying to optimize by using 'int32' instead of 'Int', and of course you can't call methods on native integers. 18:37
azawawi BenGoldberg: :) 18:39
AlexDaniel azawawi: and I think that indexing 5to6 page is a great temp solution … until we actually document everything 18:40
18:41 espadrine left
AlexDaniel azawawi: but I've seen enough “wtf is Perl 5 I don't want to know it to know Perl 6” complaints that I'm pretty sure that 5to6 page is not something we should rely on 18:42
azawawi AlexDaniel: i see 18:47
AlexDaniel: what do you think of this UI for a Perl 6 debugger atom.io/packages/python-debugger ?
18:47 Ven left
azawawi AlexDaniel: that guy convert swift-debugger to python-debugger and now im going to convert python-debugger into perl6-debugger :) 18:48
18:48 BenGoldberg left, spider-mario left, Ben_Goldberg joined
azawawi AlexDaniel: s/convert swift/converted swift/ 18:49
TreyHarris :m my $p = "test".IO; $p.spurt("test");
azawawi m: my $p = "test".IO; $p.spurt("test");
camelia ( no output )
TreyHarris azawawi: oops. thanks. 18:50
azawawi TreyHarris: np
TreyHarris m: my $p = "test".IO; $p.spurt("test"); $p.spurt("test2", :createonly);
camelia rakudo-moar 0ad8b3: OUTPUT«Failed to open file /home/camelia/test: file already exists␤ in any at /home/camelia/rakudo-m-inst-1/share/perl6/runtime/CORE.setting.moarvm line 1␤ in block <unit> at /tmp/bt8w0hlZ5T line 1␤␤Actually thrown at:␤ in any at gen/moar/m-Metamod…»
TreyHarris what's the easies way to see what exception type that was?
jdv79 any reason why hashes aren't mentinoed on doc.perl6.org/language/containers?
azawawi AlexDaniel: but we need to give it a separate namespace (e.g. 5to6func/printf ) ; otherwise we're going to get conflicts 18:52
TreyHarris m: my $p = "test".IO; $p.spurt("test"); try { $p.spurt("test2", :createonly); CATCH { default { say .perl } } }
camelia rakudo-moar 0ad8b3: OUTPUT«X::AdHoc.new(payload => "Failed to open file /home/camelia/test: file already exists")␤»
TreyHarris interesting; why's that AdHoc?
azawawi TreyHarris: doc.perl6.org/type/X::AdHoc
ugexe m: try { CATCH { default { say $_.perl; }; die "xxx"; }; 18:53
camelia rakudo-moar 0ad8b3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/mbN6Z9HDHJ␤Missing block␤at /tmp/mbN6Z9HDHJ:1␤------> 3 default { say $_.perl; }; die "xxx"; };7⏏5<EOL>␤»
RabidGravy okay you maths and/or CS graduates, is there a more succinct way of expressing :
ugexe m: try { CATCH { default { say $_.perl; }; }; die "xxx"; };
camelia rakudo-moar 0ad8b3: OUTPUT«X::AdHoc.new(payload => "xxx")␤»
RabidGravy m: sub min-size($f) { for 8,16,32,64,128 -> $pow { if $f < (2**$pow) - 1 { return $pow } }}; say min-size(98); say min-size(8903)
camelia rakudo-moar 0ad8b3: OUTPUT«8␤16␤»
TreyHarris azawawi: no, I understand that a die throws an X::AdHoc, but why doesn't spurt throw an X::IO:: of some sort? 18:54
RabidGravy because no-one got around to it yet
18:54 sjoshi left
TreyHarris ok 18:54
RabidGravy possibly there are tests that check the exception type that need to be changed, or something 18:55
18:56 Ben_Goldberg left
Skarsnik hm, another crash with h::ua, but no openssl output this time 18:57
18:57 araujo_ left 18:58 araujo_ joined 18:59 araujo_ left, idiosyncrat_ left 19:00 araujo_ joined, idiosyncrat_ joined
Skarsnik I don't get why I get another output after the crash x) gist.github.com/Skarsnik/33f2bc8f34ea0da022d9 19:00
19:01 BenGoldberg joined, araujo_ left, salva joined 19:02 idiosyncrat_ left, araujo_ joined
RabidGravy Skarsnik, it's getting nothing back from the recv when getting the "header chunk" 19:04
it could be made to crap out noisier and earlier 19:05
*but* there does need to be an easily repeatable test case to determine where best to catch this 19:08
so instrumenting back up the line from the "multi method new(Blob $header-chunk)" backwards with the actual content of the Blob would be useful 19:09
Skarsnik This should probably throw correctly on empty content github.com/sergot/http-useragent/b...t.pm6#L246 19:10
RabidGravy yes it should, that's why seeing exactly what's in the $header-chunk at that point is the only way to get to the bottom of it 19:11
there could be "unexpected garbage" in there for instance
Skarsnik well it does nothing to check if this get nothing
or does the $conn object should be responsible to throw? 19:12
19:12 sjoshi joined, kurahaupo joined
RabidGravy right, it should and if there is *nothing* in the $header-chunk it should have already crapped out, that's why seeing what's in there would be very useful 19:13
jdv79 has anyone looked into what isn't documented yet in the setting? 19:14
i think there's a script for nqp to report that - is thare one for src/core?
RabidGravy if it's completely empty then a) we should throw an exception before we get that far and b) someone should look to fixing the unhandled condition in OpenSSL that lets it get like that 19:15
19:15 jjido joined
RabidGravy if there is *something* in there then we need to know what to determine whether we need to try harder to get a complete header, fix up the constructor for HTTP::Response to find the bits or just throw an exception in a more controlled manner 19:17
I do agree that it shouldn't be failing on passing unacceptable stuff to its own constructor
Skarsnik what give the size of $t ? 19:19
.chars ?
yoleaux ?
19:19 sjoshi left
moritz jdv79: iirc there's a tool in perl6/doc repo, but it's mostly useless (doesn't deal well with multis) 19:20
19:20 jjido left
Skarsnik I mean, what is common with Str and Buf to get the size? 19:20
timotimo Buf has .elems, Str has .chars, .codes, ...
RabidGravy yeah
timotimo that's by design 19:21
you're not supposed to think of a Str as a list of little things, except if by thins you mean graphemes
Skarsnik Yes, but in this case it's annoying to not have a common method
azawawi good night everyone 19:22
RabidGravy why?
azawawi &
Skarsnik then you have to test if it's a Str or not x)
RabidGravy test what?
Skarsnik well it should be a Buf in this case
moritz what's the use case? 19:23
I mean, you can't simply treat Bufs and Strs the same anyway
jdv79 moritz: ok
Skarsnik I remember when adding the debug stuff on UA I had to know if it's a Buf or a Str to display the size
RabidGravy Skarsnik, in the loop in H::UA.get-response it *must* be a Blob
Skarsnik it's elems? 19:24
I mean there is no .bytes?
RabidGravy I don't want the elems, I want the actual whole content when it fails
sevvie disco. 19:25
RabidGravy if it's empty then it's interesting, if it has stuff in it then the content is interesting
the number of bytes is not interesting in this case (unless it is zero)
19:25 abaugher left
timotimo i think we also offer .bytes, which multiplies .count with the size of an individual element 19:25
19:26 azawawi left, abaugher joined
Skarsnik what are the possible encoding with decode? 19:27
I added say "GET-RESPONSE {$t.elems}: ###" ~ $t.decode("ascii") ~ "###"; 19:29
let's see if it crash again x)
ugexe i'd probably just MONKEY-TYPING/augment or .wrap() IO::Socket::INET.print/recv to get a full log 19:31
19:32 virtualsue left
RabidGravy I'd say almost certainly the first recv isn't returning anything 19:33
but I'm not precluding a bunch of garbage 19:34
Skarsnik it's ssl in this case (discord stuff is https)
AlexDaniel .tell azawawi well, I don't use Atom so I can't tell. It's also very hard for me to imagine switching to atom after all emacs/vim experience I had. So I am not the right person to answer this question ;)
yoleaux AlexDaniel: I'll pass your message to azawawi.
ugexe so IO::Socket::SSL then
19:36 kjs_ joined
RabidGravy infact it's easier than wrap, I think the $conn is given a role to ensure a consistent interface, could just implement recv in the role and callsame the real one, get the output and log it 19:36
19:42 yary joined
yary Hi... what does the "constant" mean in "my $a='aaaa';my constant $b=$a; say $b" and why is $b undefined (Any)? 19:42
sevvie $a is set at runtime, whereas $b is is set at compile time. Because $a is undefined at compile time, $b is being assigned that undefined value. (I think. I'm a little high.) 19:47
yary thanks, that's about what I figured out from experimenting too
perl6: my $a; BEGIN { $a='aaaa' } my constant $b=$a; say $b 19:48
camelia rakudo-moar 0ad8b3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/tmpfile␤Strange text after block (missing semicolon or comma?)␤at /tmp/tmpfile:1␤------> 3my $a; BEGIN { $a='aaaa' }7⏏5 my constant $b=$a; say $b␤ expecting any of:␤ infix␤ in…» 19:49
..rakudo-jvm f99bdb: OUTPUT«cannot connect to eval server: Connection refused␤»
timotimo SDL2-raw's repository now has a cute little particle system demo
19:50 virtualsue joined
wamba p6: say " There".match( /^^ \s* There/ )           19:50
camelia rakudo-moar 0ad8b3: OUTPUT«「 There」␤»
TreyHarris how can I suppress the backtrace for end-user-facing thrown exceptions? I've tried perl5-style die(.message, "\n"), but a newline doesn't do it. 19:51
wamba say " There".match( /^^ <?after \s*> There/ )
p6: say " There".match( /^^ <?after \s*> There/ )
camelia rakudo-moar 0ad8b3: OUTPUT«Nil␤» 19:52
19:53 cdg_ joined
sevvie p6: die X::IO::DoesNotExist.new(:path("foo/bar"), :trying("zombie copy")); CATCH { when X::IO { say "expecting a backtrace?" } } 19:57
camelia rakudo-moar 0ad8b3: OUTPUT«expecting a backtrace?␤»
19:57 cdg left
sevvie TreyHarris, ^^ 19:57
19:57 zakharyas joined
RabidGravy or just 19:57
sevvie TreyHarris, that's from doc.perl6.org/language/exceptions 19:58
19:58 cognominal left
RabidGravy CATCH { default { say $_.message; exit }} 19:58
19:58 cdg_ left
RabidGravy at the outest scope 19:58
20:00 idyllei left
sevvie RabidGravy++ # saving me typing 20:01
20:02 yary left 20:05 mayweed joined
wamba p6: say " There".match( / <?after ^^ \s*> There/ ) 20:07
camelia rakudo-moar 0ad8b3: OUTPUT«Nil␤»
20:14 musiKk_ joined 20:16 mayweed left 20:17 jack_rabbit left 20:18 lsm-desktop left 20:20 kurahaupo left 20:21 kurahaupo joined 20:25 darutoko left 20:29 lsm-desktop joined, domidumont left
AlexDaniel m: say ‘x’.match( / <?after ^> x/ ) 20:30
20:30 kurahaupo left
camelia rakudo-moar 0ad8b3: OUTPUT«Nil␤» 20:30
20:31 kurahaupo joined, kurahaupo left
AlexDaniel wamba: hmm, so is it a bug? 20:32
20:35 jack_rabbit joined
FROGGS m: say ‘x’.match( / <?before ^> x/ ) 20:39
camelia rakudo-moar 0ad8b3: OUTPUT«「x」␤»
RabidGravy gets me every time that one ;-)
FROGGS well, I dunno if it is correct or not 20:40
Hotkeys weird
RabidGravy I think that is the documented behaviout
m: say ‘x’.match( / <?after $> x/ ) 20:41
camelia rakudo-moar 0ad8b3: OUTPUT«「x」␤»
RabidGravy jeez that's really slow poor server
20:42 labster joined 20:45 kjs_ left 20:47 BenGoldberg left 21:01 themonkeybob11 joined 21:03 kurahaupo joined 21:04 virtualsue left 21:05 pyrimidi_ joined 21:08 pyrimidine left 21:10 Laurent_R joined 21:15 cdg joined 21:17 zpmorgan joined 21:20 labster left
moritz just tried his GPW talk for the first time. 45 Minutes (it's a 40 min slot) 21:34
so with a few more attempts, and speaking faster due to stage fever, it'll end up as 32 minutes or so in the end :-) 21:35
21:36 kjs_ joined, jjido joined
timotimo not bad! 21:36
so you'll be able to answer some questions, too
21:37 maybekoo2 joined
jdv79 maybe next nyc p6 meeting some peeps from here could pop into the other irc chan we use. 21:38
hackathon on magnet
21:39 labster joined
dalek osystem: d93b46f | RabidGravy++ | META.list:
Add Util::Bitfield

See github.com/jonathanstowe/Util-Bitfield
21:44
RabidGravy gotta keep the tempo up 21:45
also thas me 40th module, maybe I should just stop
moritz why stop?
Hotkeys ^^^ 21:47
RabidGravy It's a never ending tesseract of a rabbithole, that ^ was because of the MP3 frame parser which I started because of the Streaming server which I started because I couldn't test Audio::Libshout properly ;-)
Hotkeys I still havevn;t done anything past 1 module
21:50 kurahaupo left
AlexDaniel sits quietly in the corner with 0 modules 21:50
Skarsnik lol RabidGravy 21:53
Laurent_R Hi, all. I have been watching discussions here from time to time, but never intervened actively. So, my first intervention, with a question. I hope this is the right place for my question. Trying infinite recursion in Perl 5, with a subroutine like: sub recurse { recurse();}, I get the "100 levels deep in subroutine calls!" message. Just tried the same in Perl 6, and BANG! Anyone has an idea... 22:01
...why I did not get any "infinite recursion" message?
Skarsnik Probably because it's not checked x) 22:02
22:03 jack_rabbit left
RabidGravy Perl6 prefers "well don't do that then" rather than stopping you from doing it 22:05
22:07 labster left, idiosyncrat_ joined
Laurent_R OK, fair enough, thanks. 22:07
22:10 musiKk_ left 22:12 pdcawley joined 22:14 SCHAAP137 left
timotimo Laurent_R: we don't have a recursion limit. you'll just end up allocating too many frames and your heap will flow over 22:22
dinner time \o/
22:25 _nadim left
timotimo Laurent_R: in a few months' time we'll let you run that exact code forever without running out of memory, i think 22:26
AlexDaniel timotimo: like? Any plans for TCO?
timotimo trace jit might give us this for free
Skarsnik damn this perl6 script kill my vm by filling the ram x)
timotimo or at least at very low cost 22:27
Laurent_R Well, thank you, it seems that I actually ran out of memory. But anyway, I thought that the Perl 5 message was a good protection against a silly mistake. You can remove the limit with a no strict recursion pragma (or whatever it is exactly), I wished we had a similar protection in Perl 6. Anyway, I know now I have to be more careful in Perl 6.
timotimo mhm 22:28
we could implement a frame depth counter
RabidGravy well you could do it yourself right now couldn't you? 22:29
timotimo yeah, but only for frames you have control over
AlexDaniel Laurent_R: honestly I don't see how it protects you from something. More like it makes your script die when you have a plenty of memory left. 22:30
timotimo well, i'd be for making the recursion limit like 5k or so 22:31
Laurent_R AlexDaniel: yeah, you're right. Still, it protects against killing the session.
22:31 frew left
AlexDaniel if you are afraid of trying to allocate too much memory then I'll tell you a secret: there are many other ways to do that 22:32
22:32 simcop2387 left
lucs Can I tell panda to "install the code that is found in my cloned repo of a module that I modified for some reason"? 22:32
And if not, how do I install that modified code? 22:33
Skarsnik panda install . ?
22:33 rjbs left
lucs Oh, that simple, eh, trying... 22:33
22:33 kid51 joined
lucs Skarsnik: Yep, looking good, thanks. 22:33
AlexDaniel 5k limit is pretty fair, actually 22:34
22:35 zostay left
Skarsnik damn nobody write something to interact with twitter 22:35
Laurent_R AlexDaniel: also it is better in my view to have my program aborting with a proper diagnostic of the problem than just silently dying silently.
timotimo i don't think it actually dies silently 22:36
i think it says "malloc failed" or something
AlexDaniel m: sub recurse() { recurse if $++ < 5000 }; recurse; say now - BEGIN now
camelia rakudo-moar 0ad8b3: OUTPUT«2.05444032␤»
AlexDaniel m: sub recurse() { recurse if $++ < 5000 }; recurse; say now - BEGIN now
timotimo don't forget, invocation is currently way too expensive
and will be improved in the future
camelia rakudo-moar 0ad8b3: OUTPUT«2.0354796␤»
AlexDaniel star: sub recurse() { recurse if $++ < 5000 }; recurse; say now - BEGIN now
RabidGravy m: sub foo() { if Backtrace.new.elems > 25 { die "You screwed up"}; foo() }; foo()
Oops, I broke it 22:37
AlexDaniel no, I guess it was mep
camelia star-m 2015.09: OUTPUT«1.73563714␤»
rakudo-moar 0ad8b3: OUTPUT«You screwed up␤ in sub foo at /tmp/vosg4k9Gpj line 1␤ in sub foo at /tmp/vosg4k9Gpj line 1␤ in sub foo at /tmp/vosg4k9Gpj line 1␤ in sub foo at /tmp/vosg4k9Gpj line 1␤ in sub foo at /tmp/vosg4k9Gpj line 1␤ in sub foo at /tmp/vosg4k9Gpj li…»
AlexDaniel me*
m: say ‘hello’
camelia rakudo-moar 0ad8b3: OUTPUT«hello␤»
AlexDaniel can anybody help camelia? There's something wrong with her
she is very slow today 22:38
22:39 spider-mario joined
RabidGravy it's the weather, phase of the moon, cosmic rays or something 22:39
22:39 frew joined, rjbs joined, geekosaur left 22:40 simcop2387 joined 22:41 geekosaur joined
AlexDaniel timotimo: actually, 5k is probably too low. On my machine there is no problem with 100k recursion depth, or so it seems. 22:42
22:42 zostay joined
timotimo mhm 22:43
well, just saying 100 is way too low
22:43 perigrin joined
Laurent_R Agreed, 100 is really too low. 22:44
22:45 Ven joined
partly_ m: say "FoB\n".substr(0, *-1); 22:49
camelia rakudo-moar 0ad8b3: OUTPUT«FoB␤»
timotimo m: say "FoB\n".chomp.perl 22:50
camelia rakudo-moar 0ad8b3: OUTPUT«"FoB"␤»
22:51 zakharyas left
timotimo m: say "FoB".chop.perl; say "FoB".chomp.perl # interesting difference, btw 22:51
camelia rakudo-moar 0ad8b3: OUTPUT«"Fo"␤"FoB"␤»
timotimo chop chops anything, chomp chops only newlines
22:52 themonkeybob11 left
partly_ thanks! 22:52
AlexDaniel m: say chop ∞ # cool, I didn't know about chop 22:55
camelia rakudo-moar 0ad8b3: OUTPUT«In␤»
RabidGravy right, time for bed here. toodles.
22:59 TEttinger joined 23:00 RabidGravy left 23:02 kurahaupo joined, kurahaupo left 23:03 kjs_ left 23:11 bjz left 23:12 bjz joined 23:13 kjs_ joined 23:32 Skarsnik left 23:36 BenGoldberg joined 23:38 Ven left 23:41 cognominal joined 23:45 Laurent_R left
Hotkeys I would like this syntax 23:47
m: sub circumfix:<⌊ ⌋> ($a) {floor($a)}; say ⌊3.4⌋
or not
Hotkeys slaps camelia
camelia rakudo-moar 0ad8b3: OUTPUT«(timeout)»
Hotkeys weird 23:48
[Coke] sees bdf is a little salty on stack overflow
timotimo hm? 23:49
Hotkeys why did that take so long on camelia
is it the unicode
timotimo ah, brian
sjn m: sub circumfix:<⌊ ⌋> ($a) {floor($a)}; say ⌊3.4⌋ 23:50
camelia rakudo-moar 0ad8b3: OUTPUT«(timeout)»
sjn yeah, weird 23:51
23:51 jjido left, virtualsue joined
sjn works fine for me with my local install 23:51
23:52 firstdayonthejob left
timotimo [Coke]: i can't put my finger on it, but his posts on SO kind of make me angry 23:56
what's wrong with me?
well, i've been having a bad day, so that might be it
BenGoldberg std: sub circumfix:<⌊ ⌋> ($a) {floor($a)}; say ⌊3.4⌋ 23:57
camelia std : OUTPUT«No such file or directory»
BenGoldberg std: say 'alive'
camelia std : OUTPUT«No such file or directory»
std : OUTPUT«(timeout)cat: /home/camelia/std/snap/revision: No such file or directory␤#perl6 <BenGoldberg> std: say 'alive'␤»
BenGoldberg ? 23:58
timotimo STD isn't alive at the moment
like, at all.