»ö« 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«42TrueFalseFalse» | ||
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/DbmARUgSAYUndeclared 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/ib91CEPCu8Unable 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«fooTrue» | ||
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«barTrue» | ||
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«fooOH 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/xl0yQhfoI1Two terms in a rowat /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«420.4523587910161340.77570795473453443 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/l4gZ4yly1EMissing blockat /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«11» | ||
psch | m: class C { method f { (1) }; method foo { say $.f.perl; say self.f.perl } }; C.foo | ||
camelia | rakudo-moar 2c552d: OUTPUT«11» | ||
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/JHU0IonMC9Undeclared 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/Iv7RwGcpvTSlurpy positional parameters with type constraints are not supportedat /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 1Actually 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/E0FSE6ZVFEdoomedat /tmp/E0FSE6ZVFE:1» | ||
rakudo-moar 0ad8b3: OUTPUT«5===SORRY!5=== Error while compiling /tmp/h4v1SYSQD0doomedat /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 1Actually 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/mbN6Z9HDHJMissing blockat /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«816» | ||
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/tmpfileStrange 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. |