»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, std:, or /msg camelia p6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by masak on 12 May 2015. |
|||
00:10
flussence left
00:12
adhoc_ joined
00:16
flussence joined
00:28
yqt left
00:38
Peter_R left
00:43
aborazmeh joined,
aborazmeh left,
aborazmeh joined,
laouji joined
00:44
leont left
00:45
colomon left
00:47
TEttinger left,
tadzik left,
colomon joined,
aborazmeh left
00:48
tokuhiro_ joined,
tadzik joined
|
|||
[Coke] | moritz: you in? | 00:48 | |
00:49
TEttinger joined
00:52
tokuhiro_ left,
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
dalek | kudo/nom: f192cd0 | TimToady++ | src/core/Junction.pm: Junction ops are pure |
00:58 | |
kudo/nom: 5e4c4c2 | TimToady++ | src/core/Pair.pm: Pair ops are pure |
|||
kudo/nom: e0b56aa | TimToady++ | src/core/set_operators.pm: Unicode set ops are also pure |
|||
01:02
kid51 left
01:06
helloworldlang joined
01:08
helloworldlang left,
helloworldlang1 joined
01:29
zed_ left
01:34
BenGoldberg joined
01:37
pierrot_ is now known as pierrot
|
|||
dalek | c: e7eae10 | coke++ | htmlify.p6: fix typo |
01:41 | |
01:45
z8 left
|
|||
[Coke] | is anyone successfully using --profile these days? | 01:46 | |
01:48
atta joined,
tokuhiro_ joined
01:52
tokuhiro_ left
|
|||
ShimmerFairy | [Coke]: you mean perl6 --profile ? I've used that a couple times. | 01:54 | |
[Coke] | the generate inclusive & exclusive time seems to be 0, so all the percentages are off. | ||
individual times aren't necessarily 0, but when you divide everything by 0... | |||
ShimmerFairy | Mainly just to see the callgraph, and it happens to have a nice "took Xms" on the summary page :) | 01:55 | |
[Coke] | here it's unusably slow, and the numbers are all off. | 01:57 | |
02:00
atta left,
prevost joined
|
|||
ShimmerFairy | I do recall it being slow sometimes, but not to an unusable extent. I never looked at the numbers enough to know if they're accurate. | 02:03 | |
02:04
tokuhiro_ joined
|
|||
[Coke] | the routines for me are showing "inf %" and "Nan%" | 02:04 | |
02:10
adu joined
02:11
atta joined
02:16
schobes joined
|
|||
[Coke] tries to cut down the code to something manageable to show the issue in the profiler. | 02:19 | ||
02:22
_thou left
|
|||
adu | [Coke]: what's wrong with the profiler? | 02:26 | |
[Coke] | 1) it's very slow for anything bigger than a breadbasket. 2) it's claiming a bunch of exclusive time is spent in a routine where no time is being spent. 3) it's reporting total inclusive time as 0, which screws up all the percentages. | 02:32 | |
[Coke] finds one problem, anyway: | |||
perl6 --profile --profile-filename=nan.html -e 'exit' | |||
^^ there's a golf. :P | |||
it reports that sink-all takes up this much exclusive time: 18446744073709ms | 02:33 | ||
ShimmerFairy | [Coke]: that ran almost instantly for me (while doing an all-CPU system update, to boot), but I do see Infinity and NaN under Inclusive Time (Routines tab), and sink, sink_all, THE_END, and exit have the ridiculous time | 02:37 | |
02:37
noganex joined
|
|||
[Coke] opens RT #126216 with that. | 02:37 | ||
02:37
ilbot6 joined
02:38
ilbot6 left
|
|||
ShimmerFairy | I don't recall seeing Infinity and NaN before in the profiler output, so it must be recent-ish | 02:38 | |
02:38
ilbot6 joined
|
|||
[Coke] | yup, that one runs fast and screws up quick. should be perfect for debugging. | 02:38 | |
02:39
helloworldlang joined,
helloworldlang left,
ilbot6 left
|
|||
ShimmerFairy | [Coke]: yeah, took me a minute to realize that your original case was probably more time consuming :) | 02:40 | |
02:40
noganex_ left,
electricface-ilb joined
|
|||
pink_mist | 0_o yeah 584 years might be a bit out of range for a profiler run | 02:41 | |
[Coke] zzz | |||
02:45
vendethiel joined
02:47
adu left
|
|||
timotimo | oh, yeah, using exit makes the profiler super confused | 02:54 | |
oh lord, why am i still up | |||
02:56
n_i_c_k joined
02:58
kaare_ joined
03:09
vendethiel left
03:16
electricface-ilb left,
electricface-ilb joined
03:17
electricface-ilb left,
electricface-ilb joined
03:20
[Tux] left
03:29
atta left
03:32
[Tux] joined
03:41
adu joined
03:46
prevost left
|
|||
ShimmerFairy | m: use nqp; sub foo(\a) { say a.^name }; say nqp::hash().^name; foo(nqp::hash()) | 03:48 | |
camelia | rakudo-moar 9e8b7b: OUTPUT«BOOTHashHash» | ||
03:49
BenGoldberg left
|
|||
ShimmerFairy | Is there a reason passing an NQP-level object to \a automatically hllizes it? (I'm working on code that's meant to be in NQP someday, and 'make' makes planning for that a bit harder atm) | 03:49 | |
03:51
atta joined
|
|||
ShimmerFairy | Oh, I can see an hllize in the qast output, that'd explain it :) | 03:52 | |
03:54
TEttinger left
03:55
laouji left
03:56
laouji joined,
skids left
03:58
mr_ron left,
atta left
04:00
laouji left
04:04
atta joined
04:11
atta left
04:18
_thou joined
04:20
AlexDaniel left
04:22
_thou left
04:23
atta joined
04:34
laouji joined
04:40
adu left
05:09
xfix joined
05:16
khw left
05:30
atta left
05:41
atta joined
05:45
salv0 left
06:00
domidumont joined,
aborazmeh left
06:04
salva joined
06:06
_thou joined
06:10
_thou left
|
|||
[Tux] | test 50000 35.796 35.692 | 06:10 | |
test-t 50000 36.602 36.499 | |||
06:12
diana_olhovik_ joined
06:23
darutoko joined
06:25
FROGGS joined
06:26
Ven joined,
abraxxa joined
06:27
araujo_ joined
06:31
araujo left,
abraxxa left
|
|||
moritz | \o | 06:34 | |
06:45
abraxxa joined
|
|||
TimToady | moritz: camelia not recompiling for some reason... | 06:46 | |
moritz | TimToady: it's currently rebuilding... | 06:49 | |
currently in the process of compiling the setting w(JVM) | 06:50 | ||
Stage jast : Error while compiling op readcharsfh (source text: "nqp::readcharsfh($!PIO,$chars)"), no registered operation handler in compile_op (gen/jvm/stage2/QAST.nqp:240) | 06:53 | ||
so, JVM build busted | 06:54 | ||
06:55
telex left
06:56
telex joined
07:00
Woodi left
07:01
Woodi joined
07:02
rindolf joined
07:07
[TuxCM] joined
|
|||
masak | good morning, #perl6 | 07:10 | |
moritz | good masak, morning | ||
or... something :-) | |||
masak | good "or somthing", moritz :) | 07:16 | |
FROGGS | if we'd implement readcharsfh for jvm we could get rid of two fudge blocks btw | ||
yoleaux | 28 Sep 2015 21:41Z <lizmat> FROGGS: added tie-breaking logic to gist.github.com/lizmat/f3807956c35.../revisions | ||
28 Sep 2015 21:41Z <lizmat> FROGGS: is that something you can agree to? | |||
moritz | FROGGS: if we'd implement readcharsfh for jvm, the build would likely unbust :-) | 07:17 | |
FROGGS | moritz: that's the bonus :P | ||
moritz | pointersgonewild.com/2015/09/24/bas...esult-yet/ # a blog post about JIT! | 07:18 | |
FROGGS | .tell lizmat what about different authors and same api? (I'm just curious) | ||
yoleaux | FROGGS: I'll pass your message to lizmat. | ||
07:22
larion left
|
|||
FROGGS | .tell lizmat I think I can live with the api tag... it feels like engaging responsibility to dist authors | 07:22 | |
yoleaux | FROGGS: I'll pass your message to lizmat. | ||
07:23
rindolf left
|
|||
ShimmerFairy | FROGGS: AIUI different auths counts as a failure, because you can't be sure any two auths will use the same versioning/API enumeration scheme | 07:24 | |
FROGGS | ShimmerFairy: yeah, I guess one should provide a set of auths if the case is a different one for a namesapce | 07:25 | |
ShimmerFairy | FROGGS: to analogize with portage, I see :auth as like the category of a package, where you can leave it off _until_ two packages in different categories have the same name. | ||
(and the :api addition came about from me talking about portage's SLOTs mechanism, to offer another comparison :P) | 07:27 | ||
FROGGS | :o) | ||
07:31
Ven left
07:33
electricface-ilb left,
electricface-ilb joined
07:34
CIAvash joined
|
|||
lizmat | good *, #perl6! | 07:35 | |
yoleaux | 07:18Z <FROGGS> lizmat: what about different authors and same api? (I'm just curious) | ||
07:22Z <FROGGS> lizmat: I think I can live with the api tag... it feels like engaging responsibility to dist authors | |||
07:35
Ven joined
|
|||
lizmat | FROGGS: what ShimmerFairy said | 07:35 | |
and yes, it empowers distribution authors :-) | 07:36 | ||
ShimmerFairy | lizmat: the only thing that might be left unconsidered is same name/auth/ver, but differing api. I think would count as a tie-break failure, in case your gist doesn't mention it already. | 07:37 | |
FROGGS | ShimmerFairy: there should not be any same name/auth/ver | 07:38 | |
lizmat | ShimmerFairy: the long name is still just name / auth / ver | ||
FROGGS | aye | ||
ShimmerFairy | ah, ok :) | ||
lizmat | api is just a tie breake | ||
r | |||
ShimmerFairy | lizmat: fair enough, since same version number is considered poor practice by more than just Semantic Versioning :) | 07:39 | |
FROGGS | dist(:$name, :$auth, :$ver;; :$api) # or so | ||
lizmat | indeed :-) | ||
indeed :-) | |||
FROGGS | indeed:-) # <-- tuxish | ||
lizmat | I haven't heard whether [Tux] is happy enough with infix:<.> to drop use of TuxIsh | 07:40 | |
ShimmerFairy | in :-) deed | ||
lizmat | *Tuxic | ||
[TuxCM] | Tuxic is not just because of the . on newline | 07:41 | |
FROGGS | lizmat: I think the whitespace before the opening parenthesis was also very important | ||
lizmat | ah, that | ||
07:41
RabidGravy joined
|
|||
[TuxCM] | the *main* reason is that I *require* a space between the function name and the opening ( | 07:41 | |
lizmat | BTW, can Slang::Tuxic now maybe be simplified ? | ||
07:42
electricface-ilb left,
electricface-ilb joined
|
|||
ShimmerFairy | Why do you require it, ooc? Is it just style, or do you have some sort of editing setup that relies on it? | 07:42 | |
lizmat | style, afaik :-) | ||
[TuxCM] | tux.nl/style.html | 07:43 | |
[TuxCM] does not expect ShimmerFairy to agree | |||
and that site may be off-line for 5 minutes soon because of security updates | 07:44 | ||
07:47
electricface-ilb left
|
|||
ShimmerFairy | [TuxCM]: I in fact don't agree with your style :) . An indented closing brace for me means the indentation engine went wonky, cuddled else/elsif is far superior visually, and putting a space between the function name and open paren is just *weird* :) | 07:47 | |
07:48
electricface-ilb joined
|
|||
[TuxCM] | superiority is within the eye of the coder | 07:48 | |
ShimmerFairy | [TuxCM]: sure, but your page reads just as sure of itself as I was right there :P | 07:49 | |
[TuxCM] | at least you see it is thought well over. not just "because" | ||
and I *am* that convinced I am right :P | 07:50 | ||
07:50
xfix left
|
|||
mrf | Its rather interesting how people can have a similar reasoning but reach a different conclusion. | 07:50 | |
ShimmerFairy | [TuxCM]: It seems you view functions in that mathy (aka Haskell) sort of way, where arguments are separated from the name by spaces. (By 'mathy' I mean like x = 2 * (sin y) instead of x = 2 * sin(y) ) | 07:51 | |
07:51
[Tux] left
|
|||
[TuxCM] | sounds about right. I understand how you perceive this | 07:51 | |
x = 2 x sin (y) | 07:52 | ||
x = 2 * sin (y) | |||
07:52
abraxxa left
|
|||
ShimmerFairy | not quite how math and Haskell make you do it, but somewhat similar. | 07:52 | |
[TuxCM] | and I go beyond that: select count (*) from foo; | ||
lizmat | moritz: am fixing the JVM breakage | 07:53 | |
ShimmerFairy | I agree that your style choices are well thought out, I only don't agree with those style choices :P | ||
[TuxCM] | which causes a default MySQL install to fail, as it rejects that space, which is permitted in ANSI | ||
07:54
_thou joined
|
|||
[TuxCM] | ShimmerFairy, I already appreciate that you had a serious look at them instead of just rejecting | 07:54 | |
ShimmerFairy | [TuxCM]: I will say that GNU's "must be formatted like we want" always struck me as disengaging. My favorite style guide was LLVM's which said "here are some guidelines, but the only big thing is to stay consistent within the file" | 07:55 | |
[TuxCM] | consistency++ for ^100 | ||
ShimmerFairy | [TuxCM]: I only skimmed it (since my browser is closed to let system update happen smoother, so went with `links`), but I did see your reasoning about blocks as a compound statement, and *why* you space away the arguments. | 07:56 | |
lizmat | hmmm... intriguing, my change seems to cause an infiniloop in the optimizer | ||
[TuxCM] | site should be up again | ||
07:58
leont joined
|
|||
ShimmerFairy | Interestingly, "braces are part of the block" is why I put the opening brace on the same line, but I line up my closing brackets with the opening brackets, where I consider the bit before a curly brace part of the opening :) | 07:58 | |
lizmat | .tell timotimo gist.github.com/lizmat/d38a48beded67ab971ff causes an infiniloop in the optimizer | ||
yoleaux | lizmat: I'll pass your message to timotimo. | ||
ShimmerFairy | In other words, I line up the opening and closing lines of a block (or paren'd group, or whatever), and indent the contents. | ||
07:58
_thou left
|
|||
lizmat | .tell timotimo may have something to do with calling a private method of class A from within class B (which lives inside class A) | 07:58 | |
yoleaux | lizmat: I'll pass your message to timotimo. | ||
[TuxCM] | that style also has a name | ||
lizmat tries to solve JVM breakage in a different way | 07:59 | ||
07:59
[Tux] joined
|
|||
FROGGS | lizmat: note that on the jvm chars != bytes | 08:01 | |
lizmat: chars == 2*bytes | |||
ShimmerFairy | I should probably write up a style guide of my own sometime, particularly since I had to invent one for regexes :P | 08:02 | |
lizmat | FROGGS: is this about IO::Handle.supply(:bin) ? | ||
FROGGS | lizmat: it is about this line: gist.github.com/lizmat/d38a48beded...e1-txt-L12 | 08:04 | |
08:04
[TuxCM] left
|
|||
FROGGS | lizmat: nqp::readfh reads N bytes, which is N half chars on jvm | 08:04 | |
lizmat | ok, will fix | 08:09 | |
08:11
leont left
08:20
dakkar joined
|
|||
dalek | kudo/nom: d4c3e8a | lizmat++ | src/core/IO/Handle.pm: Fix JVM breakage nqp::readcharsfh is not implemented on JVM, duh! |
08:21 | |
lizmat | moritz: ^^^ | ||
08:22
Ven left
|
|||
moritz | nine: you have a webserver running on niner.name, right? What do you think about exposing the camelia build logs in subdirectory (or subdomain) there somewhere? | 08:23 | |
lizmat: I hope it fixes the build :-) | |||
lizmat | pretty sure it does, testing now myself (takes a little while though) | 08:24 | |
08:25
[Sno] left
08:26
[Sno] joined,
xfix joined,
xfix left,
xfix joined
|
|||
lizmat | hmmm.. fails in t/spec/S32-io/move.t seems to be caused by different exception throwing semantics | 08:29 | |
will be afk for a few hours soon, so I can't look at it now | |||
08:31
bjz joined
08:33
Ven joined
|
|||
lizmat | moritz: confirmed JVM builds again | 08:34 | |
afk& | |||
08:44
bjz left
08:46
pmurias joined
|
|||
moritz | m: say 'version?' | 08:46 | |
camelia | rakudo-moar 9e8b7b: OUTPUT«version?» | ||
moritz | rakudo-jvm rebuild still running | 08:47 | |
ShimmerFairy | btw, has anyone looked at S19 lately? I find the ++FOO ... ++/FOO syntax really weird, particularly since things like imagemagick seem to manage with just \( ... \) | 08:49 | |
08:50
araujo_ left,
araujo joined
08:51
araujo left,
araujo joined
|
|||
moritz | ShimmerFairy: guess why this part isn't implemented :-) | 08:53 | |
m: say 'version?' | |||
camelia | rakudo-moar d4c3e8: OUTPUT«version?» | ||
moritz | lizmat, TimToady: camelia is at an up-to-date rakudo version again | 08:54 | |
Ven | ShimmerFairy: yeah, I've always found that *really* weird | ||
ShimmerFairy | moritz: as a kicker, the _one_ spot where it seems interesting and maybe useful, the BUG "subsystem", is completely unspecified. Not even so much as a hypothetical example | ||
At first glance, I'd rather something like perl6 --bug \( --trace-methods --output-file="debug_stuff" \) myfoo.p6 | 08:57 | ||
But just a first idea, though :) | |||
[Tux] builds and installs git-2.6.0 | 08:58 | ||
masak | ShimmerFairy: agree. I've been kind of secretly hoping the ++FOO ... ++/FOO syntax wouldn't survive contact with reality. | ||
ShimmerFairy | masak: the fact that it compared itself to XML was probably a good sign it wasn't a nice syntax :P | 09:00 | |
09:02
laouji left,
bjz joined
09:03
larion joined
09:05
laouji joined
|
|||
Ven | m: say &infix:<*>() | 09:07 | |
camelia | rakudo-moar d4c3e8: OUTPUT«1» | ||
masak | m: say &infix:<^^>() | 09:09 | |
camelia | rakudo-moar d4c3e8: OUTPUT«False» | ||
masak | m: say &infix:<min>() | 09:10 | |
camelia | rakudo-moar d4c3e8: OUTPUT«Inf» | ||
masak | oh, that's another reason Inf should be allomorphic: because it's the "unit"/"zero" for infix:<min> | 09:11 | |
ShimmerFairy | masak: what makes it weird is that it's a kind of "dynamic" allomorph. Unless you want to write 'class Inf is Int is Rat is Num is ...' :P | 09:17 | |
masak | yes | 09:21 | |
which hints at it maybe needing to be "special" and somewhat outside the regular type system | |||
ShimmerFairy | masak: perhaps mimic Inf of Numeric { } ? :P | 09:22 | |
masak | except it's supposed to be an Inf for Str as well | 09:23 | |
ShimmerFairy | masak: I have never heard of Inf being for strings, and that doesn't really make sense to me. | ||
masak | m: say ("g"..Inf)[^5] | 09:24 | |
camelia | rakudo-moar d4c3e8: OUTPUT«(g h i j k)» | ||
masak | ShimmerFairy: it's already in ranges. | ||
09:25
pmurias left
|
|||
ShimmerFairy | masak: except that plays with the vaguely number-ish .succ, so I'm still not sure how Inf is a stringy thing in general. | 09:25 | |
09:25
espadrine joined
|
|||
masak | but -- and *worse*, and this is the part I still haven't solved in my mind -- if we naïvely make Inf inherit from All The Things, then you *couldn't* and *shouldn't* be able to just `my Int $n = Inf;` | 09:25 | |
we kind of want to eat the cake and keep it, it seems. | |||
ShimmerFairy | masak: I think of Inf as a term that just "turns on" a class-internal infinity thing, so perhaps something like Int.new(:infinity) | 09:27 | |
.oO( Mu.asInf ) |
|||
masak: Another way to possibly think about it is that maybe it could be the third type smiley: Foo:U, Foo:D, and Foo:I. | 09:29 | ||
09:31
[Sno] left,
][Sno][ joined,
pmurias joined
|
|||
ShimmerFairy | In that way of thinking, you could think of 'Inf' as a shortcut for Any:I or something, perhaps. | 09:32 | |
09:42
_thou joined
09:45
cognominal joined
09:46
_thou left
09:48
abraxxa joined
09:55
Ven left
09:56
helloworldlang1 left
09:57
zakharyas joined
10:00
salva left
10:02
electricface-ilb left
10:04
salva joined,
rindolf joined,
Hor|zon joined
10:09
baest left,
baest joined
10:10
ponbiki left
10:11
ponbiki joined,
ponbiki is now known as Guest37654
|
|||
nine | moritz: sounds like a good idea | 10:17 | |
dalek | c: 03752d2 | (Steve Mynott)++ | bin/p6doc: GLR fix more than one .push for p6doc -f push |
10:24 | |
10:24
RabidGravy left
10:31
xinming left
|
|||
moritz | nine: oh, but it's in a separate virtual machine; what's the best approach? shared file system? scp? | 10:32 | |
10:32
xinming joined
|
|||
nine | Or a proxy? | 10:35 | |
Where are those log files exactly? | |||
10:36
andreoss joined
|
|||
andreoss | > loop { last } | 10:37 | |
sub last (|) { #`(Sub|43839928) ... } | |||
why does repl behaves like I just defined a sub called last here? | |||
*behave | 10:38 | ||
m: sub last(|) { ... } ; loop { last if True }; | 10:40 | ||
camelia | rakudo-moar d4c3e8: OUTPUT«Stub code executed in sub last at /tmp/jgV3oHE53g:1 in block <unit> at /tmp/jgV3oHE53g:1Actually thrown at: in block <unit> at /tmp/jgV3oHE53g:1» | ||
andreoss | why i even can redefine keywords such as last? | 10:41 | |
10:43
rindolf left
10:49
andreoss left
|
|||
lizmat | andreoss: because it would only be active in that lexical scope anyway | 10:50 | |
grondilu | m: sub say { say "wow" }; say; | 10:51 | |
camelia | rakudo-moar d4c3e8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/uPl8NaW93HUnsupported use of bare "say"; in Perl 6 please use .say if you meant $_, or use an explicit invocant or argument, or use &say to refer to the function as a nounat /tmp/uPl8NaW93H:1------> 3…» | ||
grondilu guesses that was asking too much. | |||
10:52
TimToady left
|
|||
masak | ShimmerFairy: no, I'm pretty sure Inf is not a type smiley :) | 10:53 | |
ShimmerFairy: Inf seems to have more in common with Whatever, actually. in that it waits until it's in a context, and then it gets used/compared in the right way. | 10:54 | ||
lizmat | m: sub say { say "wow" }; say(); | ||
camelia | rakudo-moar d4c3e8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Ejjr9Nbg0KCalling say(str) will never work with declared signature ()at /tmp/Ejjr9Nbg0K:1------> 3sub say { 7⏏5say "wow" }; say();» | ||
10:54
TimToady joined
|
|||
lizmat | m: sub say() { say "wow" }; say(); | 10:54 | |
camelia | rakudo-moar d4c3e8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/2kbF8R9b_oCalling say(str) will never work with declared signature ()at /tmp/2kbF8R9b_o:1------> 3sub say() { 7⏏5say "wow" }; say();» | ||
masak | ShimmerFairy: thinking of it that way helps in some sense, but it doesn't solve that we also want to be able to `my Int $n = Inf` sometimes. | ||
grondilu looks at rosettacode.org/wiki/Evaluate_binom...nts#Perl_6 and wonders if it would be acceptable to make &infix:</> narrow its result by default. | 10:55 | ||
masak .oO( decay type: Inf decays to Int when you're trying to assign it to an Int-typed variable ) | 10:56 | ||
grondilu: I don't think it would be acceptable. | 10:57 | ||
m: my Rat $n = 4 / 2; say "alive" | |||
camelia | rakudo-moar d4c3e8: OUTPUT«alive» | ||
masak | grondilu: ^ would fail | ||
grondilu | m: my Rat $ = 1 | 10:58 | |
camelia | rakudo-moar d4c3e8: OUTPUT«Type check failed in assignment to $; expected Rat but got Int in block <unit> at /tmp/kWWctZ4Xqo:1» | ||
lizmat | m: say (loop { last }) # curious | ||
camelia | rakudo-moar d4c3e8: OUTPUT«sub last (| is raw) { #`(Sub|55550992) ... }» | ||
masak | ewww | ||
grondilu | masak: ok, fair enough | ||
ilmari | m: my Num $ = 1.0 | 10:59 | |
camelia | rakudo-moar d4c3e8: OUTPUT«Type check failed in assignment to $; expected Num but got Rat in block <unit> at /tmp/SaTm3Qx_u2:1» | ||
11:00
colomon left
|
|||
moritz | my Num $ = 1e0 | 11:00 | |
m: my Num $ = 1e0 | |||
camelia | ( no output ) | ||
11:01
colomon joined
11:04
laouji left
11:07
crux joined
|
|||
masak | m: my class Rat {}; sub foo(Rat $) {}; foo(1/3) | 11:09 | |
camelia | rakudo-moar d4c3e8: OUTPUT«Type check failed in binding <anon>; expected Rat but got <1/3> in sub foo at /tmp/uEN2i12_kz:1 in block <unit> at /tmp/uEN2i12_kz:1» | ||
11:09
colomon left
|
|||
masak | m: my class Rat {}; sub foo(Rat $) {}; my $x = 1 / 3; foo($x) | 11:10 | |
camelia | rakudo-moar d4c3e8: OUTPUT«Type check failed in binding <anon>; expected Rat but got <1/3> in sub foo at /tmp/PRxJJ6266b:1 in block <unit> at /tmp/PRxJJ6266b:1» | ||
11:11
colomon joined
11:18
laouji joined
11:21
Ven joined
11:24
][Sno][ is now known as [Sno]
11:25
AlexDaniel joined
|
|||
lizmat | m: dd $*EXECUTABLE.resolve.parent.parent.abspath | 11:30 | |
camelia | rakudo-moar d4c3e8: OUTPUT«"/rakudo-inst"» | ||
11:30
_thou joined
|
|||
lizmat | FROGGS moritz : would you agree that would be the place to put the installation's .precomp directory ? | 11:31 | |
moritz | lizmat: if it's writable, yes | ||
lizmat: but the result is wrong | |||
lizmat | m: dd $*EXECUTABLE.resolve | 11:32 | |
camelia | rakudo-moar d4c3e8: OUTPUT«q|/rakudo-inst/bin/perl6-m|.IO(:SPEC(IO::Spec::Unix))» | ||
lizmat | moritz: why ? | ||
moritz | lizmat: it's not installed in /rakudo-inst, it's installed in /home/camelia/rakudo-inst/ | ||
lizmat | m: dd $*EXECUTABLE | ||
camelia | rakudo-moar d4c3e8: OUTPUT«q|./rakudo-inst/bin/perl6-m|.IO(:SPEC(IO::Spec::Unix))» | ||
lizmat | aha... bugs | ||
moritz | m: dd $*EXECUTABLE.absolute | 11:33 | |
camelia | rakudo-moar d4c3e8: OUTPUT«Str $path = "./rakudo-inst/bin/perl6-m"» | ||
moritz | this is not an absolute path | ||
FROGGS | why do we implement bugs? | ||
lizmat | I don't know? | ||
FROGGS shakes his fist heavily | |||
:o) | |||
lizmat | because we don't test? | 11:34 | |
m: dd $*EXECUTABLE.resolve.abspath.IO.parent.parent.abspath | |||
camelia | rakudo-moar d4c3e8: OUTPUT«"/rakudo-inst"» | ||
lizmat | wow | ||
m: dd $*EXECUTABLE.resolve | |||
camelia | rakudo-moar d4c3e8: OUTPUT«q|/rakudo-inst/bin/perl6-m|.IO(:SPEC(IO::Spec::Unix))» | ||
lizmat | resolve is broken? | ||
m: dd $*EXECUTABLE | 11:35 | ||
camelia | rakudo-moar d4c3e8: OUTPUT«q|./rakudo-inst/bin/perl6-m|.IO(:SPEC(IO::Spec::Unix))» | ||
_itz_ | is anyone seeing an error "===SORRY!=== | ||
Cannot invoke this object (REPR: Uninstantiable)" | |||
FROGGS | lizmat: I wan not quite honest btw... | ||
11:35
_thou left
|
|||
_itz_ | note this is not from the REPR | 11:35 | |
lizmat | m: SupplyOperations.new | ||
camelia | rakudo-moar d4c3e8: OUTPUT«You cannot create an instance of this type in block <unit> at /tmp/nwPMwZoaKd:1» | ||
lizmat | that's not it | ||
11:41
kid51 joined
11:47
RabidGravy joined
|
|||
jnthn | _itz_: Try --ll-exception to try and get a better idea of where it's coming from | 11:47 | |
FROGGS | hi jnthn | 11:49 | |
jnthn: you are teaching for a few days now, right? | |||
jnthn | o/ from a plane | ||
lizmat | m: dd "./zippoflap".IO.resolve | ||
camelia | rakudo-moar d4c3e8: OUTPUT«q|/home/camelia/zippoflap|.IO(:SPEC(IO::Spec::Unix))» | ||
jnthn | Yes, will be | ||
lizmat | m: dd $*EXECTUABLE.IO.resolve | ||
camelia | rakudo-moar d4c3e8: OUTPUT«Dynamic variable $*EXECTUABLE not found in block <unit> at /tmp/vFFGqhKYGm:1Actually thrown at: in any at gen/moar/m-Metamodel.nqp:2869 in block <unit> at /tmp/vFFGqhKYGm:1» | ||
lizmat | m: dd $*EXECUTABLE.IO.resolve | ||
camelia | rakudo-moar d4c3e8: OUTPUT«q|/rakudo-inst/bin/perl6-m|.IO(:SPEC(IO::Spec::Unix))» | ||
_itz_ | jnthn: ok | 11:50 | |
FROGGS | jnthn: k, will paste you something afterwards then, the status about capturing to lexical variables in regexes... | ||
jnthn | yeah, probably easier for me to look once at hotel | ||
Got another flight before that, though :S | |||
_itz_ | Cannot invoke this object (REPR: Uninstantiable) at gen/moar/m-CORE.setting:10861 (/Users/steve/.rakudobrew/moar-nom/install/share/perl6/runtime/CORE.setting.moarvm:pull-one:97) | ||
11:50
kid51 left
|
|||
FROGGS | jnthn: okay, then I'll .tell you later | 11:51 | |
_itz_ | ... | ||
lizmat | _itz_: seems gather related | ||
nqp::continuationreset(PROMPT, &!resumption); | 11:52 | ||
_itz_: feels like a rakudobug with a full stacktrace would be in order :-) | 11:53 | ||
jnthn | Thta could maybe happen if you pull-one again after it already gave back IterationEnd | ||
So if we're lucky the problem may be downstream of gather | |||
11:53
jasanj` left
|
|||
_itz_ | there is no gather in the code | 11:54 | |
I'll try and golf and put details in a RT | |||
lizmat | _itz_++ | ||
m: dd $*VM.prefix | 12:06 | ||
camelia | rakudo-moar d4c3e8: OUTPUT«"/home/camelia/rakudo-inst-2"» | ||
moritz | fwiw rakudo-inst is a symlink to rakudo-inst-2 (or sometimes -1) | 12:07 | |
lizmat | ok, so it is resolved already | ||
m: dd $*VM.config<version> | 12:09 | ||
camelia | rakudo-moar d4c3e8: OUTPUT«"2015.09-39-g1434283"» | ||
lizmat | hmmm.. this is different from what git describe tells me ? | ||
ah, that's the Moar version, right? | |||
FROGGS | $*VM, aye | ||
lizmat | yup | 12:10 | |
FROGGS | m: say $*PERL.compiler | ||
camelia | rakudo-moar d4c3e8: OUTPUT«rakudo (2015.9.179.gd.4.c.3.e.8.a)» | ||
lizmat | is that the same sha that precomp is using ? | 12:11 | |
FROGGS | precomp is using? what do you mean? | 12:12 | |
lizmat | what is the value its checks for version mismatch ? | 12:14 | |
when you try to run a precomped file | |||
it's *that* value I want to use for a directory name in install/.precomp | 12:15 | ||
12:15
CQ joined
|
|||
moritz | nqp/src/vm/jvm/runtime/org/perl6/nqp/sixmodel/SerializationReader.java throws that exception, for example | 12:17 | |
maybe work backwards from there? | |||
iirc it checksums a serialization context? | 12:18 | ||
lizmat | not sure | 12:19 | |
masak | I keep seeing "Unhandled exception: No exception handler located for unknown" | 12:20 | |
lizmat | my plan was to use this sha (which depends on a rakudo / nqp / Moar compilation combination) as the directory name in install/.precomp | ||
masak | (after the actual error has been thrown) | 12:21 | |
lizmat | maybe need to wait for jnthn to land :-) | ||
moritz | sounds like a fancy rakudo branch :-) | ||
though of course the bigger the branch, the shorter the name | 12:22 | ||
'nom', 'bs', 'glr' | |||
12:35
Ven left
|
|||
lizmat | m: dd $*VM.config<osvers> | 12:36 | |
camelia | rakudo-moar d4c3e8: OUTPUT«"3.7.10-1.16-default"» | ||
12:50
timbunce_ joined
12:51
Psyche^_ joined,
CIAvash left
12:52
AlexDaniel left
12:55
Psyche^ left
|
|||
carlin | star-m: use NativeCall; sub foo(int $i) { }; my $a = CArray[uint8].new; $a[0] = 42; foo($a[0]); | 12:57 | |
camelia | star-m 2015.03: OUTPUT«Cannot auto-decontainerize argument in sub foo at /tmp/if9VyIHmr6:1 in block <unit> at /tmp/if9VyIHmr6:1» | ||
carlin | should that work? | ||
12:58
rindolf joined
|
|||
lizmat | carlin: FROGGS or moritz might know | 13:00 | |
FROGGS | m: use NativeCall; sub foo(int $i) { }; my $a = CArray[uint8].new; $a[0] = 42; foo($a[0]); | 13:03 | |
camelia | rakudo-moar d4c3e8: OUTPUT«Cannot auto-decontainerize argument in sub foo at /tmp/_tsu4McWzD:1 in block <unit> at /tmp/_tsu4McWzD:1» | ||
FROGGS | m: use NativeCall; sub foo(uint8 $i) { }; my $a = CArray[uint8].new; $a[0] = 42; foo($a[0]); | ||
camelia | rakudo-moar d4c3e8: OUTPUT«Cannot auto-decontainerize argument in sub foo at /tmp/4xxrvkQ7qE:1 in block <unit> at /tmp/4xxrvkQ7qE:1» | ||
FROGGS | m: use NativeCall; sub foo(uint8 $i) { }; my $a = CArray[uint8].new; $a[0] = 42; foo($ = $a[0]); | 13:04 | |
camelia | ( no output ) | ||
FROGGS | m: use NativeCall; sub foo(int $i) { }; my $a = CArray[uint8].new; $a[0] = 42; foo($ = $a[0]); | ||
camelia | ( no output ) | ||
FROGGS | carlin: well, there is a workaround at least | ||
moritz | use NativeCall; sub foo(int $i) { }; my $a = CArray[uint8].new; $a[0] = 42; foo(my int $ = $a[0]) | 13:08 | |
m: use NativeCall; sub foo(int $i) { }; my $a = CArray[uint8].new; $a[0] = 42; foo(my int $ = $a[0]) | |||
camelia | ( no output ) | ||
moritz | ^^ my favorite fix | ||
_itz_ | m: my $m = (1,2 X~ ('' X~ '')).first: *.IO.f; | ||
camelia | rakudo-moar d4c3e8: OUTPUT«===SORRY!===Cannot invoke this object (REPR: Uninstantiable)» | ||
moritz | m: say uint8 ~~ int | ||
camelia | rakudo-moar d4c3e8: OUTPUT«False» | ||
_itz_ | 126218 | ||
timotimo | i hope i'm not too late for this | ||
yoleaux | 07:58Z <lizmat> timotimo: gist.github.com/lizmat/d38a48beded67ab971ff causes an infiniloop in the optimizer | ||
07:58Z <lizmat> timotimo: may have something to do with calling a private method of class A from within class B (which lives inside class A) | |||
moritz | _itz_++ # some serious golfing here | 13:09 | |
timotimo | i *think* the version of a compunit is just the thing it invents at the beginning of compilation | ||
and since building a new nqp and/or rakudo will give you a new compunit identifier, you'll get a version mismatch from that | |||
and changing moarvm doesn't invalidate compunits | |||
moritz | timotimo: my mental model is that after a compunit is fully serialized, a hash is calculated | ||
lizmat | but where does the compunit identifier live ? | ||
timotimo | oh, ah. | ||
moritz | and everything depending on that comp unit uses that hash to declare its dependency (or hash + name, dunno) | 13:10 | |
timotimo | hm, moar --dump shows at least the dependencies' compunit identifiers | ||
moritz | so, CORE.setting also has a serialization table hash | ||
and when you precompile a module with a version CORE, and then change a line in CORE and recompile, and you try to load the same precompiled module, it'll complain about a version mismatch | 13:11 | ||
not sure how close this model is to reality, but it explained all the error messages I was getting in the last ~year or so | |||
timotimo | the question is, if you revert the change to that one line, do you get the same version as before and the mismatch error goes away? i think not, because there's an nqp::time_n in there somewhere for making up names | 13:12 | |
13:12
andreoss joined
|
|||
moritz | ah right, that's for symbol generation | 13:13 | |
andreoss | m: sub die { die }; die; | ||
camelia | rakudo-moar d4c3e8: OUTPUT«Memory allocation failed; could not allocate 37888 bytes» | ||
lizmat | yeah, it really *is* a compilation ID | ||
not a SHA like thing on state of things | |||
moritz | mostly so that stage-2 nqp doesn't get the serialization table from stage-1 | ||
timotimo | andreoss: that's just an infinite recursion | 13:14 | |
moritz | but an entertaining one :-) | 13:15 | |
andreoss | m: (loop { last }).gist.say | ||
camelia | rakudo-moar d4c3e8: OUTPUT«sub last (| is raw) { #`(Sub|48276368) ... }» | ||
timotimo | ^- that one's the really weird one, yeah | ||
lizmat | m: sub foo { foo }; foo # same | ||
andreoss | timotimo: why i can redefine last, die, etc? | ||
camelia | rakudo-moar d4c3e8: OUTPUT«Memory allocation failed; could not allocate 37888 bytes» | ||
moritz | andreoss: they are just normal lexicals | ||
timotimo | andreoss: because they are just lexical ... yeah | ||
moritz | andreoss: it makes the language quite flexible | ||
something that's very important to us, because we don't know how programming in 20+ years will look like | 13:16 | ||
s/how/what/ | |||
timotimo | perl6 is meant for the next 100 years, after all :) | ||
andreoss | why does .gist on loop returns sub ... ? | ||
timotimo | aaaargh %) | ||
timo@schmand ~> perl6 -e 'loop { last }' | 13:17 | ||
(StrDistance) | |||
13:17
abraxxa left
|
|||
lizmat | timotimo: what about StrDIstance ? | 13:18 | |
timotimo | oh! | ||
that's just a dirty CORE.setting! | |||
lizmat | what is ? *confused* | ||
13:18
_thou joined
13:19
takadonet joined
|
|||
takadonet | morning all | 13:19 | |
timotimo | i put a line to print what StrDistance evaluates to into my core setting | ||
moritz | lizmat: just ignore timotimo for the past 3 minutes :-) | ||
timotimo | when i wanted to figure out why StrDistance.new broke | ||
moritz | good morning takadonet | ||
takadonet | moritz: long time no see | ||
andreoss | looks like loop { ... } returns a reference to last | ||
m: sub foo { last }; (loop { foo }).WHAT.say | 13:20 | ||
camelia | rakudo-moar d4c3e8: OUTPUT«(Sub)» | ||
timotimo | tokuhiro_ made a good point on twitter; he suggested to remove (or hide) modules from the ecosystem that aren't relevant or maintained any more | ||
andreoss | is it correct? | ||
xfix | perl6: ({.comb/!/^google$/})('google') | ||
camelia | rakudo-{moar,jvm} d4c3e8: OUTPUT«Method 'match' not found for invocant of class 'Any' in block <unit> at /tmp/tmpfile:1» | ||
lizmat | m: say (while 1 { last }) # not limited to loop | ||
timotimo | m: say &last().WHAT | ||
camelia | rakudo-moar d4c3e8: OUTPUT«sub last (| is raw) { #`(Sub|68514992) ... }» | ||
rakudo-moar d4c3e8: OUTPUT«last without loop construct in block <unit> at /tmp/D6yVg2Oo1G:1» | |||
timotimo | m: say &last() | ||
camelia | rakudo-moar d4c3e8: OUTPUT«last without loop construct in block <unit> at /tmp/sMtxDBFT4x:1» | ||
timotimo | lizmat: loop { } actually compiles directly into the same thing that while 1 { } compiles to | 13:21 | |
lizmat | well, that explains :-) | ||
moritz | xfix: you're trying to divide .comb by a negated regex match? | ||
lizmat | m: say (for ^10 { last }) # not the same | ||
camelia | rakudo-moar d4c3e8: OUTPUT«()» | ||
xfix | Yes, for codegolf.stackexchange.com/questio...gle-google | ||
I was hoping that there was still that implicit behaviour of $_. | 13:22 | ||
moritz | we seem to have some issues for implicit $_ matching together with negations | ||
xfix | m: $_ = 'Hello, world!'; say so /Hello/ | ||
camelia | rakudo-moar d4c3e8: OUTPUT«Method 'match' not found for invocant of class 'Any' in block <unit> at /tmp/9vOtk4Va2Z:1» | ||
moritz | m: $_ = 'Hello, world!'; say !/Hello/ | ||
camelia | rakudo-moar d4c3e8: OUTPUT«Method 'match' not found for invocant of class 'Any' in block <unit> at /tmp/Nd5OC2dwX2:1» | ||
moritz | same thing here | ||
rakudobug | 13:23 | ||
13:23
_thou left
|
|||
xfix | But otherwise correct? | 13:23 | |
13:23
pmurias_ joined,
pmurias left,
pmurias_ is now known as pmurias
|
|||
lizmat | m: multi a("google") {die}; multi a(\a) {a.chars}; say a("foo"); say a("google") | 13:24 | |
camelia | rakudo-moar d4c3e8: OUTPUT«3Died in sub a at /tmp/5bWaiDuYOt:1 in block <unit> at /tmp/5bWaiDuYOt:1» | ||
timotimo | don't forget the task asks for a function explicitly | ||
lizmat | a is a function ? | 13:25 | |
xfix | Obviously I do remember. | ||
I put braces. | |||
timotimo | oh | ||
lizmat | they share a proto | ||
timotimo | it says "create a function", not "declare a function" %) | ||
lizmat | yup | ||
timotimo | golf'd the task description | ||
13:26
laouji left
|
|||
eiro | hello peolpe | 13:26 | |
people, even ... | |||
lizmat | eiro o/ | ||
eiro | how was the end ot the trip ? | 13:27 | |
lizmat | nice: glad to be home :-) | ||
eiro | hehe ... get ready for p4/Strasbourg | 13:28 | |
;) | |||
lizmat | :-) | ||
timotimo | that's the patch hackathon? | ||
eiro | timotimo, yep | ||
timotimo | hmm. strasbourg isn't terribly far away from me | 13:29 | |
eiro | i'm writting some slides for perl6 promoti^winformation and i'm confused: did .WHAT.name disapeared ? | ||
xfix | I like how /!/ looks in {.comb/!/^google$/} | ||
andreoss | m: my &x={ die if m:i/google/; .comb.elems };x "bing" ;x "google" | ||
camelia | rakudo-moar d4c3e8: OUTPUT«Died in block <unit> at /tmp/o3oECxRXDh:1» | ||
timotimo | patch.pm/p4 doesn't exist :| | ||
xfix | Also, using .comb instead of .chars. I like this trick myself. | ||
eiro | timotimo, i'll go public with that as soon as i'm sure about the venue | 13:30 | |
timotimo | ah OK | ||
what date is it going to be? | |||
[Coke] | m: say 3.WHAT.^name | ||
camelia | rakudo-moar d4c3e8: OUTPUT«Int» | ||
lizmat | eiro: no, but .WHAT always returned a type object | ||
eiro | well... april or may... | ||
lizmat | m: 3.^name | ||
camelia | ( no output ) | ||
lizmat | m: say 3.^name # shorter | ||
camelia | rakudo-moar d4c3e8: OUTPUT«Int» | ||
[Coke] | you need the ^ - otherwise you're calling name on an undefined Int, not the Int's meta-object. | ||
eiro | lizmat, so ^ isn't a shortcut anymore ? | ||
lizmat | eiro: read what [Coke] said :-) | 13:31 | |
13:31
skids joined
|
|||
eiro | oops meeting | 13:31 | |
cuya | |||
moritz | $obj.^meth is a shortcut to $obj.HOW.^method($obj) | ||
timotimo | cujo | ||
xfix | Well, $obj.^meth is a shortcut to $obj.HOW.meth | ||
timotimo | not only that | 13:32 | |
since methods on the metaobject usually take the object itself as their first parameter | |||
xfix | Oh, right | ||
timotimo | it ends up being a shortcut for $obj.HOW.meth($obj, any additional args) | ||
andreoss | m: my &g={ /google{die}/;+.comb }; say g "bing" | 13:33 | |
camelia | rakudo-moar d4c3e8: OUTPUT«4» | ||
timotimo | lizmat: did i already tell that removing the "access out of bounds on purpose, then // Inf to fix it" "hack" from my script improved the behavior of the gc tremendously? | ||
andreoss: oh, that's not bad! | |||
lizmat | no, you didn't, but did now :-) | ||
xfix | m: my &g={ /google{die}/;+.comb }; say g "google now" | ||
camelia | rakudo-moar d4c3e8: OUTPUT«Died in block at /tmp/z19oD7WuQ9:1 in block <unit> at /tmp/z19oD7WuQ9:1» | ||
xfix | Should probably be /^google${die}/ | 13:34 | |
timotimo | hmm, right | ||
xfix | Although that fails. | ||
Because ${die} should be $die. Fair enough, who would write code like that anyway? | 13:35 | ||
timotimo | oh | 13:38 | |
hehehe | |||
13:38
schobes left
|
|||
lizmat wonders what creats perl6.moarvm | 13:39 | ||
is it the BOOTSTRAP ? | |||
moritz | the file? | ||
timotimo | no, i don't think it's bootstrap | ||
moritz | it's generated from src/main.nqp | 13:40 | |
timotimo | /home/timo/perl6/install/bin/nqp-m --target=mbc --output=perl6.moarvm \ | ||
--vmlibs=dynext/libperl6_ops_moar.so=Rakudo_ops_init gen/moar/m-main.nqp | |||
13:41
Ven joined
|
|||
nine | m: my&g={/^google$ {.d}/;.chars}; say g "dgoogle" | 13:41 | |
camelia | rakudo-moar d4c3e8: OUTPUT«7» | ||
nine | m: my&g={/^google$ {.d}/;.chars}; say g "google" | ||
camelia | rakudo-moar d4c3e8: OUTPUT«Method 'd' not found for invocant of class 'Str' in block at /tmp/4krxouU0eS:1 in block <unit> at /tmp/4krxouU0eS:1» | ||
13:41
sufrostico joined
|
|||
lizmat | ah, main! | 13:43 | |
andreoss | m: my &g={/^goo{die}gle$/;+.comb};say g "duckduckgo" | 13:46 | |
camelia | rakudo-moar d4c3e8: OUTPUT«10» | ||
nine | m: my &g={/^goo{die}gle$/;+.comb};say g "googoo" | 13:47 | |
camelia | rakudo-moar d4c3e8: OUTPUT«Died in block at /tmp/FNd7_JnSSU:1 in block <unit> at /tmp/FNd7_JnSSU:1» | ||
13:55
Guest37654 is now known as ponbiki
|
|||
andreoss | m: &eq.WHAT.say | 13:57 | |
camelia | rakudo-moar d4c3e8: OUTPUT«5===SORRY!5=== Error while compiling /tmp/NiDwDPXYlUUndeclared routine: &eq used at line 1» | ||
timotimo | you want &[eq] | ||
alternatively, &infix:<eq> | |||
andreoss | m: &[eq].WHAT.say | ||
camelia | rakudo-moar d4c3e8: OUTPUT«(Sub+{<anon>}+{Precedence})» | ||
timotimo | m: &[eq].say | 13:58 | |
camelia | rakudo-moar d4c3e8: OUTPUT«sub infix:<eq> (Mu $?, Mu $?) { #`(Sub+{<anon>}+{Precedence}|49681360) ... }» | ||
13:59
khw joined
|
|||
nine | m: my&g={/^google$/&&.d;.chars}; say g "fine"; say g "google" | 14:01 | |
camelia | rakudo-moar d4c3e8: OUTPUT«4Method 'd' not found for invocant of class 'Str' in block <unit> at /tmp/1t7jVLX7Mp:1» | ||
pmurias | patch hackathon? | 14:03 | |
timotimo | a hackathon called "patch" | ||
lizmat | m: END say "foo"; exit | 14:06 | |
camelia | rakudo-moar d4c3e8: OUTPUT«foo» | ||
lizmat | timotimo: ^^^ END blocks are run with an exit(), so why would that mess up the profiler ?? | ||
pmurias | timotimo: when does it happen? any Perl (6) stuff planned for that? | 14:07 | |
lizmat | pmurias: you should ask eiro | ||
(when he's back from his meeting :-) | |||
timotimo | lizmat: the profiler relies on a "we stop profiling now" instruction to be called | ||
lizmat | so perhaps that instruction should be pushed to an END block ? | ||
when we do --profile ? | 14:08 | ||
timotimo | yeah, i seem to recall having done something similar, but i don't know if i've done it successfully | ||
lizmat | or hard code it somehow in src/main.nqp ? | ||
ah, I now realize | 14:09 | ||
there's two places where END blocks get run | 14:10 | ||
one inside exit() | |||
and one in main.nqp (for normal end of code) | |||
dalek | kudo/nom: 6c64584 | lizmat++ | src/Perl6/World.nqp: Add some more RAKUDO_MODULE_DEBUGging |
14:14 | |
14:17
tokuhiro_ left
14:21
Ven left
14:24
_thou joined,
Ven joined
14:35
[Sno] left
14:37
[Sno] joined
|
|||
eiro | back and reverse backlog | 14:40 | |
moritz | forelog | 14:42 | |
dalek | rl6-roast-data: e9edb45 | coke++ | / (9 files): today (automated commit) |
||
eiro | pmurias, timotimo : i'm setting up a patch instance with the help of french perl mongers ... technical and historical details are hold by BooK | 14:43 | |
i was at lyon for patch -p3 and it was awesome | |||
DrForr | Headed to Lyon at the end of October, assuming my leg says it's ready :) | 14:44 | |
eiro | so i want those kind of events to happen in Strasbourg also | ||
DrForr | I'm sure Cluj will have a hackathon as well... | 14:45 | |
eiro | and i really want it to be an internationnal event as we're very close to germany, switzerland and not so far from benelux | ||
moritz | DrForr: I'm sure we'll organize a hackathon for GPW (Mar 2016), act.yapc.eu/gpw2016/ | 14:46 | |
lizmat | 4.5 hour drive vs 7.5 hour drive :-) | ||
eiro | DrForr, i don't want those hackathon to interfer so it would be nice to have a calendar of european perl events | ||
it becomes very busy | 14:47 | ||
moritz, ok ... so now i have to talk with french perl mongers: too many events at the begin of the year | |||
DrForr | There's also FOSDEM at the end of January. | 14:48 | |
eiro | maybe we should have our 2nd semester | ||
yep ... but fosdem isn't about hack | |||
... well it could be :) | |||
i mean: no coding session there. just enjoying conferences and huging beloved peolpe | 14:49 | ||
people | |||
damn ... what's wrong with people ? | |||
14:49
sufrostico left
|
|||
lizmat | .oO( Hanging out with the wrong peolpe :-) |
14:50 | |
eiro | .HOW.meth('ur mother') for @ever | ||
:) | |||
thanks for explainations about ^ | 14:51 | ||
andreoss | m: .HOW.^can("meth").say | 14:52 | |
camelia | rakudo-moar d4c3e8: OUTPUT«0» | ||
dalek | p: 591cadf | (Pawel Murias)++ | src/vm/js/nqp-runtime/bootstrap.js: [js] add add_attribute method to KnowHowHOW |
14:53 | |
p: 3bf0df3 | (Pawel Murias)++ | src/vm/js/nqp-runtime/ (2 files): [js] export classes so that varint serialization/deserialization can be unit tested. |
|||
p: c7b64d1 | (Pawel Murias)++ | src/vm/js/nqp-runtime/ (2 files): [js] progress on deserializing P6opaque objects |
|||
p: cbffa9a | (Pawel Murias)++ | src/vm/js/nqp-runtime/package.json: [js] use fs-ext from a branch on github as the released version doesn't build on the current node.js |
|||
pmurias | depending on a node.js module from a github branch feels really hacky | ||
14:56
zakharyas left
|
|||
hoelzro | good morning #perl6! | 15:02 | |
tadzik | morning hoelzro! | 15:03 | |
world is funny, I just ate my breakfast and now US is waking up :D | |||
hoelzro | morning tadzik! | ||
the two events must be related =) | |||
tadzik | clearly :) | ||
15:07
rindolf left
|
|||
pmurias | hoelzro: hi | 15:08 | |
hoelzro | o/ pmurias | ||
pmurias | tadzik: travelling? | 15:09 | |
tadzik | pmurias: no, staying up late :P | ||
15:10
diana_olhovik_ left
|
|||
dalek | p: eaa6e11 | (Pawel Murias)++ | src/vm/js/nqp-runtime/ (2 files): [js] use child_process instead of fallback-exec-sync (which is sometimes broken) This requires node 0.12 |
15:12 | |
15:17
mr-foobar joined
15:18
domidumont left,
tokuhiro_ joined
15:21
sufrostico joined
15:22
tokuhiro_ left
15:23
TEttinger joined
|
|||
TimToady | m: say (1..^10) * 10 | 15:25 | |
camelia | rakudo-moar 6c6458: OUTPUT«10..^100» | ||
lizmat | whheee! :-) | ||
15:27
FROGGS left
|
|||
TimToady | I'd like to write (1..^10), * * 10 ... * but I can't because ... autoflattens; maybe it shouldn't, since we now have |() when we need to slip multiple values into the list | 15:29 | |
m: say (1..^10), * * 10 ... * | 15:33 | ||
camelia | rakudo-moar 6c6458: OUTPUT«(...)» | ||
TimToady | m: say ((1..^10), * * 10 ... *) | 15:34 | |
camelia | rakudo-moar 6c6458: OUTPUT«(...)» | ||
TimToady | m: say ((1..^10), * * 10 ... *)[^10] | ||
camelia | rakudo-moar 6c6458: OUTPUT«(1 2 3 4 5 6 7 8 9 90)» | ||
TimToady | m: say ($(1..^10), * * 10 ... *)[^10] | ||
camelia | rakudo-moar 6c6458: OUTPUT«(1..^10 10 11 12 13 14 15 16 17 18)» | ||
TimToady | yeah, I think we need to GLRify ... | ||
m: 42 => 43 | 15:37 | ||
camelia | rakudo-moar 6c6458: OUTPUT«WARNINGS:Useless use of "=>" in expression "42 => 43" in sink context (line 1)» | ||
TimToady | got that working, but failed on a => 42 | 15:38 | |
TEttinger | ...what does ", * * 10" do? | ||
TimToady | m: say (* * 10)(42) | ||
camelia | rakudo-moar 6c6458: OUTPUT«420» | ||
15:38
sufrostico left
|
|||
TimToady | m: say { $_ * 10 }(42) | 15:39 | |
camelia | rakudo-moar 6c6458: OUTPUT«420» | ||
TEttinger | is it a partial function argument placeholder? | ||
pink_mist | so the first * is a whatever, and the second is multiplication? =) | ||
TimToady | yes | ||
TEttinger | is it for multiple args? | ||
TimToady | get a little confusing with multiplication or exponentiation | ||
yes | 15:40 | ||
TEttinger | in regex terms, I would thing * would be 0 or more | ||
TimToady | but only in operators | ||
TEttinger | *think | ||
TimToady | not that way | ||
TEttinger | that's just my association with the char | ||
TimToady | ** is supposed to do multiple | ||
TEttinger | kleene star | ||
kleene star | 15:41 | ||
is _ an identifier? | |||
TimToady | yes | ||
m: constant _ = *; say (_ * 10)(42) # curious | 15:42 | ||
camelia | rakudo-moar 6c6458: OUTPUT«420» | ||
TimToady | \o/ | ||
m: say (** * 10)(1..10) | 15:43 | ||
camelia | rakudo-moar 6c6458: OUTPUT«(10 20 30 40 50 60 70 80 90 100)» | ||
15:45
stux|away left
15:48
AlexDaniel joined,
rindolf joined
15:49
rindolf left
|
|||
AlexDaniel | m: dd dd | 15:49 | |
camelia | rakudo-moar 6c6458: OUTPUT«block <unit>Nil» | ||
lizmat | m: dd dd dd # just curious | 15:50 | |
camelia | rakudo-moar 6c6458: OUTPUT«block <unit>NilNil» | ||
lizmat | m: dd dd dd "last" # just curious | ||
camelia | rakudo-moar 6c6458: OUTPUT«"last"NilNil» | ||
AlexDaniel | m: dd . dd | 15:51 | |
camelia | rakudo-moar 6c6458: OUTPUT«5===SORRY!5=== Error while compiling /tmp/DtD09F7jzcPreceding context expects a term, but found infix . insteadat /tmp/DtD09F7jzc:1------> 3dd .7⏏5 dd» | ||
AlexDaniel | hm | ||
I'm getting this error | |||
“Preceding context expects a term, but found infix . instead” | |||
bah, I don't think that you can see it | 15:52 | ||
but it seems like the whitespace is part of the infix | |||
TEttinger | m: dd . dd | ||
camelia | rakudo-moar 6c6458: OUTPUT«5===SORRY!5=== Error while compiling /tmp/4LlFZtxhBIPreceding context expects a term, but found infix . insteadat /tmp/4LlFZtxhBI:1------> 3dd .7⏏5 dd» | ||
TEttinger | m: dd .dd | ||
camelia | rakudo-moar 6c6458: OUTPUT«Method 'dd' not found for invocant of class 'Any' in block <unit> at /tmp/ddWsYYHdzz:1» | ||
TEttinger | odd | 15:53 | |
TimToady | dd wants an argument, so you can't use an infix there | ||
m: dd + dd # same thing | |||
camelia | rakudo-moar 6c6458: OUTPUT«block <unit>Use of Nil in numeric context in block <unit> at /tmp/2N_Vtjg4gT:10» | ||
AlexDaniel | sure, but why can I see whitespace in the error message? | 15:54 | |
m: dd .      dd | |||
camelia | rakudo-moar 6c6458: OUTPUT«5===SORRY!5=== Error while compiling /tmp/gqsMJD0jbBPreceding context expects a term, but found infix .      insteadat /tmp/gqsMJD0jbB:6------> 3dd .7⏏5 » | ||
TimToady | ah, I know why, but I don't know how to fix it offhand :) | 15:55 | |
AlexDaniel | TimToady: which means that I'll just report it, right? | ||
DrForr | m: class Y{method foo(){say "hi"}} my $x=Y.new;my $f="foo";$x.$f(); | ||
camelia | rakudo-moar 6c6458: OUTPUT«5===SORRY!5=== Error while compiling /tmp/NO0GN3Hz0SStrange text after block (missing semicolon or comma?)at /tmp/NO0GN3Hz0S:1------> 3class Y{method foo(){say "hi"}}7⏏5 my $x=Y.new;my $f="foo";$x.$f(); expecting any of: …» | ||
TimToady | it's an LTA, yeah | 15:56 | |
DrForr | m: class Y{method foo(){say "hi"}}; my $x=Y.new;my $f="foo";$x.$f(); | ||
camelia | rakudo-moar 6c6458: OUTPUT«Cannot find method 'postcircumfix:<( )>' in block <unit> at /tmp/8WMrkm24HS:1» | ||
15:58
CQ left
|
|||
TimToady | m: class Y{method foo(){say "hi"}}; my $x=Y.new;my $f="foo";$x."$f"(); | 15:58 | |
camelia | rakudo-moar 6c6458: OUTPUT«hi» | ||
TimToady | DrForr: you can't do symbolic refs with .$f() | ||
15:59
Hor|zon_ joined
|
|||
TimToady | though the message could be improved | 15:59 | |
DrForr | Yeah, was just checking an example from another channel. | ||
TimToady | 'kay | ||
15:59
larion left
|
|||
pmurias | hoelzro: what node.js version does travis use for running nqp-js? | 16:00 | |
16:00
Hor|zon left
|
|||
hoelzro | pmurias: 0.12, iirc | 16:00 | |
AlexDaniel | Wow, #126218! What a nice finding | 16:01 | |
I mean, it is just an interesting error to stumble upon… | 16:03 | ||
lizmat | _itz_++ :-) | ||
16:03
Hor|zon_ left
|
|||
dalek | kudo/nom: 6cfeda6 | lizmat++ | src/ (5 files): $?RAKUDO_MODULE_DEBUG -> $*RAKUDO_MODULE_DEBUG There is little point in having a constant frozen in the settings, when you want to be able to change that between runs. |
16:03 | |
16:04
Hor|zon joined
|
|||
[Coke] | RT: 1,032; xmas: 98; WEIRD: 12; LTA: 83; GLR: 4; testneeded: 9 | 16:04 | |
also: NOM regression: 8 | 16:05 | ||
we should really close out those nom regressions, yikes. | 16:06 | ||
AlexDaniel | [Coke]: by the way, what is "WEIRD"? | ||
[Coke] | NYI: 86' | ||
AlexDaniel: any ticket with weird in the title. | |||
AlexDaniel | Is there any special criteria for weird reports? :$ | ||
[Coke]: which means? The title is wrong or the bug itself is just funny? | 16:07 | ||
[Coke] | the bug is weird. | ||
it's not an exact science. Just trying to keep RT info flowing. :) | 16:08 | ||
16:19
tokuhiro_ joined
|
|||
andreoss | m: sub infix:«\$»(Callable $x, Callable $y) { $x($y()) }; { [+] @_ } $ {({ .grep(*.is-prime) } $ { 1..10 })} | 16:20 | |
camelia | ( no output ) | ||
andreoss | how can i avoid extra parenthesis here? | ||
if i want this infix function applied from right to left | 16:23 | ||
16:24
tokuhiro_ left
|
|||
TimToady | m: sub infix:«\$»(&x, &y) { x y }; { [+] @_ } $ {({ .grep(*.is-prime) } $ { 1..10 })} | 16:25 | |
camelia | ( no output ) | ||
TimToady | is that what you're asing? | ||
*k | |||
andreoss | m: sub infix:«\$»(&x, &y) { x y }; { [+] @_ } $ { .grep(*.is-prime) } $ { 1..10 } | 16:28 | |
camelia | rakudo-moar 6cfeda: OUTPUT«Method 'is-prime' not found for invocant of class 'Any' in block <unit> at /tmp/PmMKhAl1pM:1» | ||
16:28
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
andreoss | can it be parsed like that? | 16:29 | |
TimToady | it's parsing fine; that's a run-time error | 16:31 | |
andreoss | i mean can it evaluate the last block first some how? | 16:32 | |
m: sub infix:«\$»(&x, &y) { x y }; { warn "1st"; [+] @_ } $ { ({ warn "2nd"; .grep(*.is-prime) } $ { warn "3rd"; 1..10 } ) } | 16:33 | ||
camelia | rakudo-moar 6cfeda: OUTPUT«3rd in block at /tmp/nLTS6ip7UA:12nd in block at /tmp/nLTS6ip7UA:11st in block at /tmp/nLTS6ip7UA:1» | ||
TimToady | associativity | 16:35 | |
m: sub infix:«\$»(&x, &y) is assoc('right') { x y }; say { [+] @_ } $ { .grep(*.is-prime) } $ { 1..10 } | 16:36 | ||
camelia | rakudo-moar 6cfeda: OUTPUT«Type check failed in binding &y; expected Callable but got Seq in sub infix:<$> at /tmp/aZQGIfwVRg:1 in block <unit> at /tmp/aZQGIfwVRg:1» | ||
TimToady | now it's just a type problem, cause you can't both compose and eval with the same syntax | 16:38 | |
16:38
aborazmeh left
|
|||
andreoss | m: sub infix:«\$»(Callable $x, $y) is assoc('right') { if $y ~~ Callable { $x($y()) } else { $x($y) } }; { { [+] @_ } $ { .grep(*.is-prime) } } $ { 1..10 } | 16:42 | |
camelia | ( no output ) | ||
TimToady | m: sub infix:«\$»(&x, &y) is assoc('right') { -> |args { x y |args } }; my &comp = { [+] @_ } $ { .grep(*.is-prime) } $ { 1..10 }; say comp | ||
camelia | rakudo-moar 6cfeda: OUTPUT«17» | ||
TimToady | m: sub infix:«\$»(&x, &y) { -> |args { x y |args } }; my &comp = { [+] @_ } $ { .grep(*.is-prime) } $ { 1..10 }; say comp | 16:43 | |
camelia | rakudo-moar 6cfeda: OUTPUT«17» | ||
16:44
Ven left
|
|||
TimToady | I guess it doesn't matter which direction you compose the functions | 16:45 | |
16:46
diana_olhovik joined
|
|||
AlexDaniel | [Coke]: you migh also want to search for segfaults | 16:47 | |
t | |||
16:48
andreoss left
|
|||
TimToady | y'know, it'd make a lot of people happier to just have a function composition operator built in | 16:50 | |
16:51
_thou left
16:52
Ven joined
17:03
dakkar left
17:04
Ven left
17:10
sufrostico joined
17:15
rindolf joined
17:16
MadcapJake joined
17:17
diana_olhovik__ joined
17:18
diana_olhovik left
17:29
MadcapJake left
17:30
FROGGS joined
17:32
domidumont joined
|
|||
colomon whispers function composition operator, ooooo | 17:33 | ||
17:36
diana_olhovik__ left
17:37
diana_olhovik_ joined
17:43
espadrine left
|
|||
dalek | kudo/nom: 25f8469 | TimToady++ | src/ (2 files): add function composition operator |
17:44 | |
TimToady | feel free to write tests | ||
[Coke] | .u ∘ | ||
yoleaux | U+2218 RING OPERATOR [Sm] (∘) | ||
[Coke] | .u o | 17:45 | |
yoleaux | U+006F LATIN SMALL LETTER O [Ll] (o) | ||
17:45
diana_olhovik_ left
|
|||
TimToady | or to bikeshed :) | 17:45 | |
colomon | TimToady++ | ||
[Coke] | or docs. | 17:46 | |
17:50
Peter_R joined
17:53
vendethiel joined
|
|||
moritz | my &composed = *.join('|') o &infix:<xx> | 17:56 | |
Too many positionals passed; expected 1 argument but got 2 | 17:57 | ||
what did I do wrong? | |||
TimToady | it doesn't really handle anything except one argument functions yet | ||
17:58
diana_olhovik joined
|
|||
moritz | f | g |args ? | 17:58 | |
TimToady | tried that, didn't work on the 0-ary case anyway | ||
moritz | :( | 17:59 | |
colomon | m: say (sin o cos)(.5) | ||
camelia | rakudo-moar 6cfeda: OUTPUT«5===SORRY!5=== Error while compiling /tmp/EQjqqGoK1oUnsupported use of bare "cos"; in Perl 6 please use .cos if you meant $_, or use an explicit invocant or argument, or use &cos to refer to the function as a nounat /tmp/EQjqqGoK1o:1------> 3…» | ||
TimToady | needs & there | ||
colomon | m: say (&sin o &cos)(.5) | ||
camelia | rakudo-moar 6cfeda: OUTPUT«5===SORRY!5=== Error while compiling /tmp/jE8hgqAsADTwo terms in a rowat /tmp/jE8hgqAsAD:1------> 3say (&sin7⏏5 o &cos)(.5) expecting any of: infix infix stopper statement end statement modif…» | ||
TimToady | not compiled yet | ||
colomon | doesn’t actually have the patch yet | ||
18:00
telex left
|
|||
dalek | ast: c8dec0b | moritz++ | S03-operators/composition.t: Initial tests for function composition |
18:00 | |
moritz | have to run now; somebody please add it to t/spectest.data? | ||
colomon | moritz++ | 18:01 | |
18:02
telex joined
|
|||
dalek | kudo/nom: 3fb8178 | colomon++ | t/spectest.data: Test new composition operator TimToady++ moritz++ |
18:02 | |
18:03
diana_olhovik__ joined
18:04
diana_olhovik left
|
|||
vendethiel | TimToady++ moritz++ :D | 18:05 | |
masak | geez, I decommute, and you people add a function composition op... :P | 18:06 | |
timotimo | next up is the function commutation op | ||
masak | m: sub f1($x) { $x ~ " one" }; sub f2($x) { $x ~ " two " }; say (&f2 o &f1)("OH HAI") | 18:07 | |
camelia | rakudo-moar 6cfeda: OUTPUT«5===SORRY!5=== Error while compiling /tmp/8wwBHIQO3aTwo terms in a rowat /tmp/8wwBHIQO3a:1------> 3}; sub f2($x) { $x ~ " two " }; say (&f27⏏5 o &f1)("OH HAI") expecting any of: infix infix stopper sta…» | ||
timotimo | still not yet compiled, i guess | ||
colomon | > sub f1($x) { $x ~ " one" }; sub f2($x) { $x ~ " two " }; say (&f2 o &f1)("OH HAI") | ||
OH HAI one two | |||
masak | \o/ | 18:08 | |
mainly wanted to test if you'd gotten the order wrong and I could rakudobug it :P | |||
18:09
diana_olhovik__ left
|
|||
vendethiel | \o/ | 18:11 | |
masak | m: say (1..100).grep(&is-prime) | 18:15 | |
camelia | rakudo-moar 6cfeda: OUTPUT«((3 4) (5 6) (7 8) (11 12) (13 14) (17 18) (19 20) (23 24) (29 30) (31 32) (37 38) (41 42) (43 44) (47 48) (53 54) (59 60) (61 62) (67 68) (71 72) (73 74) (79 80) (83 84) (89 90) (97 98))» | ||
masak | :( | 18:16 | |
timotimo | ugh | ||
what even is this | |||
masak | &is-prime takes a second optional positional | 18:17 | |
TimToady | maybe should be named | ||
masak | so you need to write it as *.&is-prime or { is-prime($_) } | ||
timotimo | oh | ||
masak | TimToady: yes, I think so | ||
timotimo | that's the probability with which you want the prime to be perfect? | ||
masak | timotimo: no, it's the number of tries | ||
I completely agree with TimToady++, it should be named | |||
timotimo | ah | ||
18:18
Ven joined
|
|||
colomon | +1 to named | 18:18 | |
timotimo | aye | ||
18:21
tokuhiro_ joined,
diana_olhovik_ joined,
spider-mario joined
|
|||
moritz think it warrants its own sub/method | 18:24 | ||
masak | we don't seem to be testing the second parameter at all. | ||
moritz: I was just about to change it to a named when you said that ;) | |||
moritz: why do you think it warrants its own sub/method? | |||
moritz | masak: because checking for a prime and checking for a mersenne prime aren't the same operation | 18:25 | |
masak: if there's a named argument to is-prime, I'd expect it to modify its heuristic, or such details | |||
18:25
tokuhiro_ left
|
|||
moritz | masak: not that it suddenly starts to do a totally different test | 18:26 | |
TimToady | that's an argument for a using a named to my mind | ||
and what do mersennes have to do with it? | 18:27 | ||
moritz | isn't perfect prime = mersenne prime? | ||
oh, probably not | |||
TimToady | what do perfect primes have to do with it, then? | ||
18:27
diana_olhovik_ left
|
|||
moritz | wasn't the the question? | 18:28 | |
20:17 < timotimo> that's the probability with which you want the prime to be perfect? | |||
or is this about perfect *testing* of the prime? | |||
TimToady | it's just # of tries to falsify | ||
moritz probably misunderstood the whole discussion, sorry | |||
18:28
Hor|zon left
|
|||
TimToady | and it's a pretty meaningless argument anyway, given libtommath is just gonna do it's own trial divisions first, iirc | 18:30 | |
18:31
yqt joined
|
|||
[Coke] | nuke the option, then? | 18:32 | |
masak | yes, please | ||
I didn't realize it was meaningless | |||
TimToady | it does *some* trial divisions, so it's still probabalistic, so not entirely meaningless | 18:33 | |
I think it only goes up to the first 200 or so primes | 18:34 | ||
again, iirc | |||
timotimo | "more likely to be hit by a meteor than to get a false positive" is quite a good default | ||
Ven | this reminds me of the .map(parseInt) in JS :) | 18:35 | |
masak | indeed | ||
timotimo | oh, JS has map? | ||
fantastic! | |||
i shall improve so much code now! ;) | |||
masak | haha *sob* | ||
timotimo: wait until you hear about .map(parseInt) :) | |||
timotimo | how spectacular does that break? | ||
masak | worse than you think | 18:36 | |
TimToady is glad there are circles of hell he has not yet visited | |||
timotimo | please enlighten me, masak :) | ||
masak | timotimo: JS also has .every .some .forEach .filter | ||
timotimo: stackoverflow.com/questions/262427/...d-parseint | |||
Ven | parseInt takes *more* than an argument (the base). so, since .map also passes the index, well... | 18:37 | |
timotimo | ooooh | ||
so that's how | |||
it passes the value, then the index? | |||
jdv79 | hacking metacpan isn't the most fun thing to do | ||
Ven | yeah. then the array, but that 3rd arg is ignored | ||
timotimo | how is argument passing to functions handled with arity in jS? | 18:38 | |
Ven | just pass it. no arity. | ||
use `arguments` if needed. there's no such thing as an arity error. not enough params passed => fill them with "undefined" | 18:39 | ||
18:39
_itz_ left
|
|||
timotimo | ah, ok | 18:39 | |
18:39
_itz joined
|
|||
masak | which is a great feature for a language that people mostly write one-liners in anyway. | 18:39 | |
not huge web apps or anything. | |||
timotimo | yeah, why would you use javascript for anything except for one-liners on the shell? | ||
javascript is the perl-killer, isn't it? | 18:40 | ||
18:40
Fleurety left
|
|||
Ven | javascript is probably the only scripting language I wouldn't ever write a "one-liner" or a CLI script in. | 18:40 | |
masak | timotimo: I meant one-liners inside HTML onclick attributes, but yeah. | ||
timotimo | fair enough :) | ||
Ven | just because you need to include 1212312 modules to do ANYTHING. even simple stuff like glob... | ||
It's the only argument I have in favor of perl-style "distributions": I love small packages, but they're a nightmare to write simple(small) stuff in.. | |||
TimToady | good thing we have glob built in...oh wait... | ||
masak | JS is only "the perl-killer" in the sense that it (and cockroaches) will survive *every* language... | 18:41 | |
lizmat | FROGGS: if I'm not mistaken, CURLI is not used at all at the moment by panda, right ? | 18:42 | |
timotimo | i've heard people say that, but it confused me | 18:43 | |
18:43
Fleurety joined
|
|||
FROGGS | lizmat: correct | 18:44 | |
lizmat: only by zef | |||
lizmat | so if I take out all inst# out of @*INC, I shouldn't break anything | ||
TimToady | m: say (&log o &abs)(-e * e) | ||
camelia | rakudo-moar 3fb817: OUTPUT«2» | ||
lizmat | ah | ||
hmmm... | |||
18:44
diana_olhovik_ joined
|
|||
FROGGS | lizmat: what are you up to? | 18:45 | |
lizmat | FROGGS: how do you feel about me ripping out all inst# entries from @*INC ? | ||
temporarily | |||
FROGGS | but why? | 18:46 | |
lizmat | to make things faster in the interim? | ||
FROGGS | O.o | ||
and this would make things faster? | |||
lizmat | fewer CUR's to check ? | ||
timotimo | but we have Zef, which would break in that case | 18:47 | |
lizmat | indeed | ||
FROGGS | I don't think that this is a sane approach | ||
ripping things out that are meant to work | |||
timotimo | i wonder how big of a performance penalty we get as soon as parallelism kicks in | ||
FROGGS | just to gain a few millis | ||
lizmat | ok, I'll leave them in | ||
timotimo | if it's negligible, we could be checking CURs in parallel perhaps? | ||
lizmat | it was just a thought | 18:48 | |
jdv79 | panda can support cpan, right? | ||
wonder how that would work | |||
lizmat | FROGGS: starting to implement what I described in gist.github.com/lizmat/f3807956c354c14902a3 | ||
dalek | ast: 43146d9 | usev6++ | S04- (14 files): Replace more eval-dies-ok with throws-like (S04) |
18:49 | |
FROGGS | lizmat: what are you starting with? :api or the USE/REQUIRE subs? | ||
lizmat | first thing is I want CompUnit.load to actually work | 18:50 | |
FROGGS | I wonder if these subs works out... | ||
lizmat: it does already | |||
since the SPW | |||
timotimo | how terrible is the performance impact of having many things installed nowadays? | ||
FROGGS | timotimo: I did not check | ||
lizmat | $ 6 'BEGIN CompUnit.new("lib/Test.pm").load; ok 1' | ||
===SORRY!=== Error while compiling -e | |||
Undeclared routine: | |||
ok used at line 1. Did you mean 'on'? | |||
FROGGS: it loads, but doesn't export | |||
FROGGS | wait | 18:51 | |
lizmat | and a "import Test" doesn't work either | ||
timotimo | FROGGS: but we're already & still using the serialization based database back-end, right? | ||
lizmat | timotimo: only if you're using CURLI | ||
dalek | kudo/nom: 59cb611 | (Carl Masak)++ | src/core/Int.pm: [src/core/Int.pm] remove $tries param from is-prime |
||
18:51
diana_olhovik__ joined
|
|||
jdv79 | i guess i'll look into it then | 18:52 | |
18:52
diana_olhovik_ left
|
|||
jnthn | Ooh, the on sub... | 18:52 | |
PerlJam | masak: but what if we needed to try 101 times? | ||
FROGGS | m: BEGIN CompUnit.new("lib/Test.pm").load(GLOBALish); pass "test?" | ||
camelia | rakudo-moar 3fb817: OUTPUT«5===SORRY!5=== Error while compiling /tmp/asPfnLfbTpUndeclared routine: pass used at line 1» | ||
jnthn | That was an early draft of what became the supply/react/whenever | ||
FROGGS | m: BEGIN CompUnit.new("lib/Test.pm").load(GLOBALish); say Test | ||
camelia | rakudo-moar 3fb817: OUTPUT«5===SORRY!5=== Error while compiling /tmp/7UjCxLnY5TUndeclared name: Test used at line 1» | ||
FROGGS | lizmat: this was working earlier this month | 18:53 | |
lizmat | ok, then I'll look at what broke | ||
FROGGS | lizmat: irclog.perlgeek.de/perl6/2015-09-01#i_11152230 | ||
lizmat | cool! ok, will look at it deeper | 18:54 | |
FROGGS | lizmat: btw, use is already using it, so it is only kinda broken | 18:55 | |
lizmat | eh, no, -use- is still using the loader in World.nqp | ||
as far as I can determine from the RAKUDO_MODULE_DEBUG output | |||
FROGGS | which does the codegen for CompUnitRepo.load_module | 18:56 | |
lizmat | hmmm.... | ||
18:56
diana_olhovik_ joined,
diana_olhovik__ left
|
|||
japhb | Anyone likely to be near Stockholm first weekend in December? | 18:57 | |
jnthn | japhb: I may be in Umeaa | ||
FROGGS | japhb: does Berlin count as "near"? | ||
jnthn | Heh, if so then Prague would too :P | 18:58 | |
japhb | (I am setting up a business trip, and it's looking like I'll be in Stockholm for Dec 7-8, but since I'm flying in from Dublin, might be able to arrange to have the weekend "free" there. | ||
) | |||
lizmat | FROGGS: afaics, it's World.load_module -> CUR.load_module -> CompUnit.load | 18:59 | |
then back at World, it does the imports | |||
jnthn | japhb: I may be teaching 2nd-4th in the north of Sweden, and I can't actually get home on the 4th afterwards, but I could potentially get to Stockholm... | ||
japhb | Well, given I likely won't have a vehicle of my own, I suppose that depends on travel difficulties from there. | ||
FROGGS | lizmat: aye | ||
jnthn | japhb: So being on Stockholm on Sat 5th or so would be "en route" for me | 19:00 | |
japhb | (Err, that wasn't clear: I meant, either for someone else to get to Stockholm, or for me to get somewhere else.) | ||
jnthn | japhb: Though didn't get this thing quite confirmed yet | ||
japhb | jnthn: Oh cool! | ||
Yeah, I haven't ticketed, I'm still in planning stages. It's ~slushy-frozen ATM. | |||
On a tangentially related note, how is DBIish to MySQL doing these days? Working post-GLR? | 19:02 | ||
moritz | japhb: I've had no reports otherwise | ||
japhb | Ah, cool. Thanks, moritz. :-) | ||
moritz | japhb: in fact, everything in Star works fine to the best of my knowledge (and their unit tests) | 19:03 | |
japhb | Hmmm, perhaps I need to start basing my $day-job Perl 6 code on Star, instead of picking builds myself .... | 19:04 | |
jnthn | japhb: Yeah, mine is around the same stage. Pretty much confirmed I'll be teaching, and 2nd-4th Dec were one of the dates offered to me for it | ||
19:04
Hor|zon joined
|
|||
japhb | nodnod | 19:05 | |
19:05
TEttinger left
|
|||
japhb | moritz: Does Star still have a bespoke installer, or is it now using panda or zef or somesuch? | 19:06 | |
moritz | japhb: it uses its own thing | ||
what was the trick for native-calling into the stdlib? | 19:07 | ||
is native(Str) ? | |||
19:08
rindolf left
|
|||
colomon | yup | 19:08 | |
AlexDaniel | m: ......... | ||
camelia | ( no output ) | ||
FROGGS | $ perl6 -e 'BEGIN CompUnit.new("lib/Test.pm").load(GLOBALish); say Test' | ||
(Test) | |||
lizmat: ^^ | |||
colomon | (at least, that’s how Math::Odd-Functions is doing it) | ||
jnthn | I thought just "is native" would do it? | ||
FROGGS | m: say $*EXECUTABLE | ||
camelia | rakudo-moar 3fb817: OUTPUT«"./rakudo-inst/bin/perl6-m".IO» | ||
vendethiel | m: say ......... | ||
camelia | ( no output ) | ||
vendethiel | m: say (.........).perl | 19:09 | |
camelia | ( no output ) | ||
vendethiel | m: say (... ... ...).perl | ||
camelia | ( no output ) | ||
vendethiel | uh. | ||
AlexDaniel | :)) | ||
m: ..................... | |||
camelia | ( no output ) | ||
lizmat | FROGGS: yes, that works, but it doesn't export things like "ok" | ||
FROGGS | lizmat: yes, because we did not import | 19:10 | |
AlexDaniel | m: ....++ | ||
camelia | ( no output ) | ||
lizmat | $ 6 'BEGIN CompUnit.new("lib/Test.pm").load(GLOBALish); import Test; ok 1' | ||
ok 1 - | |||
:-) | |||
FROGGS | lizmat: yeah... and it does not work here because Test.pm is elsewhere | 19:12 | |
19:14
rindolf joined
|
|||
AlexDaniel | m: ++.++ | 19:15 | |
camelia | rakudo-moar 3fb817: OUTPUT«Parameter '$a' expected a writable container, but got Int value in block <unit> at /tmp/q6W3FNXLiU:1» | ||
dalek | ast: 93b33fd | usev6++ | S03- (6 files): Replace more eval-dies-ok with throws-like (S03) |
||
AlexDaniel | what is "$a"? | ||
FROGGS | AlexDaniel: most likely the param of the signature of the ++ postfix op | 19:16 | |
m: say &[++] | |||
camelia | rakudo-moar 3fb817: OUTPUT«5===SORRY!5=== Error while compiling /tmp/h5GBH2uvU_Unable to parse expression in infix noun; couldn't find final ']' at /tmp/h5GBH2uvU_:1------> 3say &[+7⏏5+]» | ||
FROGGS | m: say err | ||
camelia | rakudo-moar 3fb817: OUTPUT«5===SORRY!5=== Error while compiling /tmp/9SCd3yhHskUndeclared routine: err used at line 1» | ||
FROGGS | gah! | ||
m: say &postfix:<++> | |||
camelia | rakudo-moar 3fb817: OUTPUT«sub postfix:<++> (| is raw) { #`(Sub+{Precedence}|50849008) ... }» | ||
19:16
diana_olhovik_ left
|
|||
FROGGS | m: say &postfix:<++>.candidates | 19:17 | |
camelia | rakudo-moar 3fb817: OUTPUT«(sub postfix:<++> (Mu:D $a is rw) { #`(Sub|53516656) ... } sub postfix:<++> (Mu:U $a is rw) { #`(Sub|53516808) ... } sub postfix:<++> (Bool:U $a is rw) { #`(Sub|53516048) ... } sub postfix:<++> (Int:D $a is rw) { #`(Sub|53516200) ... } sub postfix:<++> (in…» | ||
FROGGS | AlexDaniel: see? | ||
AlexDaniel | yeah! | ||
dalek | kudo/nom: ab7d963 | lizmat++ | src/ (3 files): More info, less boilerplate |
||
AlexDaniel | FROGGS: still, isn't it less than awesome? I'm not sure if this thing will ever appear in real code, but still | 19:18 | |
19:18
domidumont left
|
|||
FROGGS | AlexDaniel: it is LTA in so far it mentions $a, when there is no $a in user code | 19:19 | |
AlexDaniel | kk | ||
jnthn | It's somewhat innevitable when a language's built-ins are implemented in the language itself, not just magical things that happen to exist | ||
masak | PerlJam: if we need to try 101 times, that person can show the code they wrote that fails, and we can talk about providing a simple way to change the default 100 to something higher. 101 likely won't be enough ;) | ||
19:19
xfix left
|
|||
FROGGS | AlexDaniel: imagine you have a $a near that bit of code and waste hours :o) | 19:19 | |
jnthn | What is a bit bothersome is that we don't report that we're *in* CORE.setting | 19:20 | |
So the backtrace makes it look like it could be in your own code | |||
AlexDaniel | FROGGS: yeah, that'd be unfortunate | ||
FROGGS | jnthn: don't we hide that information on purpose? | ||
jnthn | FROGGS: Yeah, 'cus in other times it's annoying to do otherwise :P | ||
Can't win! :) | |||
FROGGS | hehe | ||
so it is a loose-loose situation? | 19:21 | ||
moritz | FROGGS: perlpunks.de/paste/show/560ae4a4.20ae.392 any idea what I'm doing wrong here? | ||
AlexDaniel | FROGGS: we can always pretend that the problem is not there! | ||
just like in any other language! | |||
FROGGS | moritz: try 'is native' without the Str | 19:22 | |
AlexDaniel: that's what I see in Perl 5 for example... | |||
moritz | FROGGS: No appropriate parametric role variant available for 'Native' | ||
19:23
diana_olhovik joined
|
|||
AlexDaniel | FROGGS: or change the error message to something more appropriate, like “syntax error.” | 19:23 | |
FROGGS | m: use NativeCall; sub getpwuid(int $uid) returns Pointer is native() {}; say getpwuid(1000) | ||
AlexDaniel | oh no, it's “run-time error” | ||
camelia | rakudo-moar 3fb817: OUTPUT«5===SORRY!5=== Error while compiling /tmp/9ZDQl2A7ATNo appropriate parametric role variant available for 'Native'at /tmp/9ZDQl2A7AT:1» | ||
FROGGS | m: use NativeCall; sub getpwuid(int $uid) returns Pointer is native("") {}; say getpwuid(1000) | ||
camelia | rakudo-moar 3fb817: OUTPUT«Cannot locate native library '.so': .so: cannot open shared object file: No such file or directory in method CALL-ME at lib/NativeCall.pm:226 in block <unit> at /tmp/_CXay4KQ8h:1» | ||
FROGGS | m: use NativeCall; sub getpwuid(int $uid) returns Pointer is native(Str) {}; say getpwuid(1000) | ||
camelia | rakudo-moar 3fb817: OUTPUT«Pointer<0x7f3ae33c1e40>» | ||
FROGGS | huh | ||
ohh | 19:24 | ||
moritz: don't use str attributes, use Str | |||
moritz | m: say $*HOME | ||
camelia | rakudo-moar 59cb61: OUTPUT«"/home/camelia".IO» | ||
19:27
diana_olhovik left
|
|||
TimToady | I'm starting to think we made a mistake with changing push to one-arg, and we should split it into .push with ** semantics vs .push-list with + semantics, for several reasons | 19:27 | |
moritz | FROGGS++ # works with Str | 19:28 | |
TimToady | first, it's been a WAT over and over | ||
vendethiel likes it -- because he has no prior perl experience | 19:29 | ||
TimToady | second, $[] is not actually adequate | ||
vendethiel | (and thus doesn't really like flattening/think it's needed, seeing as most languages get away without out + the fact that | is really not that intrusive..) | ||
19:29
larion joined
|
|||
TimToady | you have to use .push((value,)) to allow value to be a slip, because $ hides a slip | 19:30 | |
jdv79 | moritz: can i run a vagrant vm type thingee on hack? | ||
moritz | jdv79: what do you need for that? | 19:31 | |
TimToady | and third, push @array, [foo] isn't really a single arg function anyway | ||
jdv79 | a few gigs of disk and mem i guess | 19:32 | |
github.com/CPAN-API/metacpan-devel...quirements too i guess | 19:33 | ||
PerlJam | TimToady++ that third thing has been bothering me a little since you introduced +args | ||
19:34
zoosha left
|
|||
jdv79 | and i had to set some hypervisoryish bios bit on my box here | 19:34 | |
lizmat | jnthn: is there a reason why things like prefix:<++> don't use \a rather than $a is rw ? | 19:35 | |
TimToady | and fifth, I want to be able to implement ... in terms of .push(value), not .push((value,)) | 19:36 | |
FROGGS | m: sub foo(\a) { a++ }; my $a = 42; say foo $a | 19:37 | |
camelia | rakudo-moar 59cb61: OUTPUT«42» | ||
FROGGS | m: sub foo(\a) { a++ }; my $a = 42; say foo $a; say $a | ||
camelia | rakudo-moar 59cb61: OUTPUT«4243» | ||
lizmat | and what happens to .push, should also be done for .unshift, I assume, TimToady ? | ||
jdv79 | moritz: no rush. but if its possible it'd be nice. | ||
TimToady | lizmat: yes | ||
lizmat | fwiw, feels good to me | ||
AlexDaniel | m: ~   'test' | 19:39 | |
m | |||
camelia | rakudo-moar 59cb61: OUTPUT«WARNINGS:Useless use of "~ \n \n " in expression "~ \n \n 'test'" in sink context (line 1)» | ||
AlexDaniel |  is escaped, wow! | 19:40 | |
that being said, I don't think that the first part of the message should include whitespace… | |||
FROGGS | TimToady: please don't judge my unresponsiveness as ignorance... I just have trouble understanding the consequences... | 19:41 | |
AlexDaniel | m: $*PERL = 25 | 19:45 | |
camelia | rakudo-moar 59cb61: OUTPUT«Cannot modify an immutable Perl in block <unit> at /tmp/kBRzngGN2O:1» | ||
AlexDaniel | immutable Perl :) | ||
lizmat | .oO( at least it's stable :-) |
19:46 | |
19:46
Ven left
|
|||
moritz | jdv79: I've installed vagrant | 19:47 | |
jdv79: installing virtualbox fails with "E: Package 'virtualbox' has no installation candidate" | 19:48 | ||
jdv79: if you tell me which packages to install, I'll gladly do that for you | |||
19:48
Ven joined
|
|||
AlexDaniel | m: my $a = 25; $a .= ++; | 19:50 | |
camelia | rakudo-moar 59cb61: OUTPUT«Method '&postfix:<++>' not found for invocant of class 'Int' in block <unit> at /tmp/mhLceBtL54:1» | ||
TimToady | FROGGS: eh? were you being unresponsive? | 19:51 | |
dalek | c: e727bfd | moritz++ | lib/Language/nativecall.pod: nativecall: mention "is native(Str)" trick ... complete with an example for getpwuid and getuid |
19:52 | |
FROGGS | TimToady: well, you said things and almost nobody replied... I just wanna say that I did read and try to understand :o) | ||
AlexDaniel | I don't really understand this error message. It sounds like there is no postfix ++ for Int, but eh? | 19:53 | |
FROGGS | m: use NativeCall; my class PwStruct is repr('CStruct') { has Str $.a }; sub getpwuid(int $uid) returns PwStruct is native {}; say getpwuid(1000) # moritz: that also works | 19:54 | |
camelia | rakudo-moar 59cb61: OUTPUT«PwStruct.new(a => "nine")» | ||
lizmat | AlexDaniel: the message is correct, there is no *METHOD* postfix:<++> | ||
FROGGS | AlexDaniel: it is just a sub | ||
lizmat | m: my $a = 42; $a .= Foobar | ||
camelia | rakudo-moar ab7d96: OUTPUT«Method 'Foobar' not found for invocant of class 'Int' in block <unit> at /tmp/G4GbQNpgJY:1» | ||
AlexDaniel | indeed! | 19:55 | |
thanks :) | |||
19:55
darutoko left
|
|||
AlexDaniel | hmmm, there are so many things that you can learn just by shoving some random stuff in… | 19:56 | |
moritz | AlexDaniel: especially if somebody explains the errors :-) | ||
AlexDaniel | moritz: well, I report really bad ones, so why not :) | 19:57 | |
.oO( although some of my reports are probably a bit annoying ) |
20:00 | ||
dalek | ast: a7b77c2 | usev6++ | S (34 files): Test for X::AdHoc (with throws-like) instead of using eval-dies-ok Even when there is no typed exception (yet), it's better to use throws-like instead of eval-dies-ok. With eval-dies-ok there is a greater chance that the code dies for the wrong reason. Testing for X::AdHoc makes it easier to adjust tests after upgrading to typed exceptions. Optionally, all X::AdHoc could be changed to 'Exception' shortly before releasing 6.Christmas (to become more stable wrt throws-like). See irclog.perlgeek.de/perl6/2015-09-22#i_11258578 |
20:02 | |
20:03
rindolf left
|
|||
bartolin | I hope that commit ^^ (and my other recent changes to roast) make sense. | 20:04 | |
there are about 50 tests with 'eval-dies-ok' left. most of them need some review, me thinks | 20:05 | ||
lizmat | bartolin++ | 20:06 | |
FROGGS | now we just need to type the exceptions :o) | ||
but yeah, I like it | 20:07 | ||
bartolin | great *g* | ||
AlexDaniel | A Christmas tree! gist.github.com/AlexDaniel/69ff636ffe4053792120 | 20:12 | |
vendethiel | AlexDaniel++ # it's art! | 20:13 | |
jdv79 | moritz: ok. i foget exactly how i installed it on my fedora box. | ||
*forget | |||
FROGGS | .tell jnthn if you get the chance, can you run its test and give me a hint what went wrong? we need this for CURLI github.com/FROGGS/p6-Ser | 20:14 | |
yoleaux | FROGGS: I'll pass your message to jnthn. | ||
20:19
Ven left
|
|||
pmurias | masak: anytime people hate on javascript it's interesting to imagine an universe where vbscript won the war | 20:20 | |
20:20
Ven joined
|
|||
moritz | pmurias: that's a great line to quote! | 20:21 | |
Option Explicit | |||
Dim x | 20:22 | ||
Set x = ... | |||
pink_mist | I seem to recall that Internet Explorer 3.something supported Javascript and Perl as scripting languages at one time | ||
I am probably mistaken though | |||
20:22
tokuhiro_ joined
|
|||
geekosaur | there was a plugin iirc | 20:22 | |
moritz | ah, the fun, needing a "Set" for object assignment whereas a normal = is enough for non-objects. Or something | ||
FROGGS | I just know that Perl 5 was either on the Windows 95 or Windows NT CD already | ||
geekosaur | was supposed to allow any scripting language as a web language, perl being a supplied example | ||
FROGGS | moritz: aye | ||
pink_mist | geekosaur: neat | 20:23 | |
moritz | pink_mist: there was the "windows scripting host", and you could load all kinds of languages | ||
FROGGS | moritz: there is also some fun about required vs forbidden parenthesis for function calls | ||
moritz | pink_mist: and if you loaded the Perl backend for the Scripting Host, your IE (up to 5 or so) would understand Perl | ||
AlexDaniel | m: reduce ass | ||
camelia | rakudo-moar ab7d96: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Pp9w51fxT2Undeclared routine: ass used at line 1. Did you mean 'abs'?» | ||
FROGGS | hehe | 20:24 | |
moritz | or Lua, or TCL, or whatever you loaded | ||
20:24
z8 joined
|
|||
geekosaur | (aaaand I just flashed back to IE5 for Solaris) | 20:24 | |
20:24
_dolmen_ joined
|
|||
moritz | geekosaur: it still surprises me that such a thing ever existed | 20:25 | |
just like MS Word for the Mac | |||
geekosaur | pretty sure it was for some government contract | 20:26 | |
FROGGS | .tell jnthn and that is about capturing to a lexical var (we talked about), what thinko do I do?: gist.github.com/FROGGS/55945f79a9fefb004a61 | ||
yoleaux | FROGGS: I'll pass your message to jnthn. | ||
20:27
tokuhiro_ left,
iv joined
20:28
Alina-malina left
|
|||
FROGGS | moritz: isnt Word and Excel for Mac like one of the first thing Apple Inc did? like, more than thirty years ago? | 20:28 | |
masak | pmurias: there are people who still hate on JavaScript. the situation has been growing increasingly more untenable since 2004 and Gmail, though. JavaScript can do cool things, if you just know how. | ||
20:28
cosimo left
|
|||
FROGGS | err, s/Apple Inc/MicroSoft/ | 20:28 | |
20:28
espadrine joined
20:29
arnsholt joined,
cosimo joined
20:30
Alina-malina joined
|
|||
masak | s/situation/position/ :) | 20:30 | |
20:30
Ven left
20:31
Ven joined
|
|||
FROGGS | s/o.o/zzz/ | 20:31 | |
gnight #perl6 | |||
20:31
FROGGS left
|
|||
moritz | 'night FRO<tab> | 20:32 | |
dalek | ast: 62e8214 | usev6++ | S04-statements/for.t: Fix test which passed for a wrong reason The declaration for @a was accidentially removed with commit 6228b9fa -- restored now |
20:34 | |
lizmat | FROGGS: gnight | 20:35 | |
dalek | kudo/nom: ab6238e | lizmat++ | src/core/Process.pm: Introduce $?COMPILATION-ID This is a SHA for the current compilation rakudo. jnthn++ for guidance. |
20:40 | |
ilmari | m: $*W.handle | ||
camelia | rakudo-moar ab7d96: OUTPUT«Dynamic variable $*W not found in block <unit> at /tmp/hgG1kW52nx:1Actually thrown at: in any at gen/moar/m-Metamodel.nqp:2869 in block <unit> at /tmp/hgG1kW52nx:1» | ||
ilmari | m: say $*W.handle | 20:41 | |
camelia | rakudo-moar ab7d96: OUTPUT«Dynamic variable $*W not found in block <unit> at /tmp/EYzqJUnILa:1Actually thrown at: in any at gen/moar/m-Metamodel.nqp:2869 in block <unit> at /tmp/EYzqJUnILa:1» | ||
lizmat | m: say BEGIN $*W.handle | ||
camelia | rakudo-moar ab7d96: OUTPUT«4C870AD506898C21851842D48D112FA1BBA5EFB0» | ||
ilmari | m: say BEGIN $*W | 20:43 | |
camelia | rakudo-moar ab7d96: OUTPUT«Method 'gist' not found for invocant of class 'Perl6::World' in block <unit> at /tmp/J6Yhut1oDY:1» | ||
lizmat | it's an NQP object available at compile time :-) | 20:44 | |
jnthn | lizmat: Yes, $a = ... gets way better code-gen than a = ... | 20:47 | |
yoleaux | 20:14Z <FROGGS> jnthn: if you get the chance, can you run its test and give me a hint what went wrong? we need this for CURLI github.com/FROGGS/p6-Ser | ||
20:26Z <FROGGS> jnthn: and that is about capturing to a lexical var (we talked about), what thinko do I do?: gist.github.com/FROGGS/55945f79a9fefb004a61 | |||
20:50
Ven left
20:51
kaare_ left,
hoelzro left
|
|||
jnthn | .tell FROGGS I'm really tired and about to sleep, so I'll look at those two tomorrow | 20:51 | |
yoleaux | jnthn: I'll pass your message to FROGGS. | ||
20:51
hoelzro joined
20:56
_dolmen_ left
|
|||
masak | the "signatures, multi and named arguments" email on p6u, is that a case of the querent forgetting to ! their nameds? | 20:58 | |
TimToady found several places where core assumes [email@hidden.address] val" will not flatten val | 20:59 | ||
[Coke] wonders how hard it would be to make NativeCall do Objective-C | |||
jnthn | masak: link? | ||
TimToady | so I think reverting push to ** semantics is the right thing | ||
hoelzro | [Coke]: That's an interesting idea; I don't think Objective-C's name mangling is as complex as C++'s | 21:00 | |
21:00
[Sno] left
|
|||
jnthn | TimToady: I'm a little sad to lose the consistency... | 21:00 | |
hoelzro | also, Objective-C supports (Ruby|Smalltalk) style send | ||
jnthn | TimToady: Well, I guess, I worry how far "1-arg rule exceptions" will end up spreading | ||
masak | jnthn: www.nntp.perl.org/group/perl.perl6....g2287.html | 21:01 | |
dalek | ast: 5ec65b1 | usev6++ | S05-m (2 files): Replace more eval-dies-ok with throws-like (S05) |
||
ast: e3ff8ce | usev6++ | S12-class/inheritance.t: Do not overwrite namespace used for exceptions ... so that we can test for typed exception |
|||
jnthn | TimToady: That's been the classic problem with listy stuff. You could always come up with a suggestive example to break the rule. And then we ended up with no rules. | 21:02 | |
masak: Sounds like; named args serve as a tie-break but you actually have to demand them be present in methods for that to help, given methods accept all named args. | 21:03 | ||
TimToady | we already have lots of exceptions to +args, so it's always gonna be case-by-case | 21:04 | |
but in this case, people expect push to push one thing, cuz pop pops one thing | |||
masak sends that as a reply to p6u | 21:05 | ||
TimToady | jnthn: and if it's any comfort, I'm trying to move infix:<...> the other direction :) | 21:06 | |
dalek | kudo/nom: 5b3872c | lizmat++ | src/ (2 files): A better $?COMPILATION-ID Again, jnthn++ for pointing the way (and writing the nqp code). |
21:09 | |
masak replied on p6u | |||
lizmat gets some sleep | |||
masak | answer will probably show up sometime next week :P | ||
'night, lizmat++ | |||
21:10
skids left
|
|||
jnthn | TimToady: I'm kinda sad we already have lots of exceptions. That really wasn't where I wanted us to end up :( | 21:12 | |
jnthn heads for sleep...early start tomorrow | |||
o/ | |||
masak | 'night, jnthn | 21:15 | |
'night, #perl6 | |||
21:19
pmurias left
|
|||
timotimo | gnite masak, gnite jnthn | 21:20 | |
carlin | hmm, I was getting a fairly consistent moar crash for a bit but it's stopped now | 21:22 | |
this script: gist.github.com/carbin/4f108547a7c6b5339d18 | |||
was causing "moar(30670) in free(): error: chunk is already free" | |||
gdb bt: gist.github.com/carbin/78ee4e0981748b05df70 | 21:23 | ||
timotimo | that's a rather short backtrace | 21:24 | |
carlin | that's all there is. that's from running "gdb `which moar` moar.core" not running it inside gdb if that makes a difference | 21:26 | |
21:26
pmurias joined
21:27
kid51 joined,
lizmat left
21:30
cognome joined
21:31
cognome left,
co-gnome joined
|
|||
dalek | kudo/nom: 058e713 | timotimo++ | lib/NativeCall.pm: NativeCall: make no-setup-needed case less expensive by moving the setup code into a private method. |
21:31 | |
timotimo | carlin: it kind of looks like something's corrupted, or maybe there's multiple threads, which isn't likely | ||
anyway, we've got a bunch of stability fixes in recently; i thought they would only help if there's parallelism involved | 21:32 | ||
21:36
co-gnome left
|
|||
ilmari | m: my %foo = foo => 42; say %foo<foo> //= die "hopefully not"; | 21:44 | |
camelia | rakudo-moar ab6238: OUTPUT«42» | ||
ilmari | m: my $foo; my %foo = foo => 42; $foo = %foo<foo> //= die "hopefully not"; say $foo | 21:45 | |
camelia | rakudo-moar ab6238: OUTPUT«42» | ||
ilmari | timotimo: why not $!cpp-name-mangler = %lib{$guessed_libname} //= guess-name-mangler($r, $guessed_libname)); ? | ||
21:45
tokuhiro_ joined
|
|||
timotimo | i didn't invent this :) | 21:46 | |
let me have a look | |||
21:47
vendethiel left
21:52
tokuhiro_ left
21:55
travis-ci joined
|
|||
travis-ci | Rakudo build errored. Timo Paulssen 'NativeCall: make no-setup-needed case less expensive | 21:55 | |
travis-ci.org/rakudo/rakudo/builds/82824331 github.com/rakudo/rakudo/compare/5...8e713dc937 | |||
21:55
travis-ci left
21:58
lizmat joined
21:59
pmurias left
22:08
timbunce_ left
22:12
zzzzzzzzz joined
22:25
zzzzzzzzz left
22:29
spider-mario left
22:31
skids joined
|
|||
ShimmerFairy | .tell jnthn I agree with you on the exceptions, I wonder if the introduction of +args would let us roll back some of the exceptions. Needing for @$foo { ... } (or zen slice) for Scalar containers is particularly unfortunate to me :( | 22:45 | |
yoleaux | ShimmerFairy: I'll pass your message to jnthn. | ||
22:52
BenGoldberg joined
22:57
araujo left,
araujo_ joined
23:06
RabidGravy left
23:13
bjz left
|
|||
timotimo | can has help figuring out if that test file hangs for anybody else? :\ | 23:16 | |
the one travis reports? | |||
hoelzro | timotimo: I'll have a look | 23:21 | |
23:21
khw left,
cognominal left
23:22
cognominal joined
|
|||
hoelzro | timotimo: seems legit | 23:29 | |
23:29
jasanj joined
23:30
cognominal_ joined,
maddingu1 joined
23:32
ab5tract_ joined,
eiro left,
cognominal left,
kid51 left,
jordman_ left,
DarthGandalf left,
maddingue left,
eiro joined
23:33
cosimo left,
larion left,
orbus joined,
kid51 joined,
cosimo joined,
bcode left,
BooK joined,
bcode joined
23:34
larion joined,
DarthGandalf joined,
jordman joined,
Peter_R left,
japhb left,
jasanj left
23:35
bjz joined
|
|||
timotimo | legit? | 23:36 | |
as in, it doesn't only b0rk on travis? | |||
hoelzro: is it flappy or constantly broken? | |||
hoelzro | timotimo: it's fine on my machine | 23:37 | |
timotimo | ah | ||
hoelzro | I kicked the travis build; we'll see how it does | ||
timotimo | ok | ||
23:37
travis-ci joined
|
|||
travis-ci | Rakudo build canceled. Timo Paulssen 'NativeCall: make no-setup-needed case less expensive | 23:37 | |
travis-ci.org/rakudo/rakudo/builds/82824331 github.com/rakudo/rakudo/compare/5...8e713dc937 | |||
23:37
travis-ci left
|
|||
hoelzro | travis-ci.org/rakudo/rakudo/jobs/82824335 | 23:37 | |
\o/ | |||
dalek | kudo-star-daily: 412cd90 | coke++ | log/ (9 files): today (automated commit) |
23:39 | |
23:40
bjz left
23:49
tokuhiro_ joined
23:50
yqt left
23:52
aborazmeh joined,
aborazmeh left,
aborazmeh joined
23:54
tokuhiro_ left
|