»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
00:07
athenot joined
00:12
espadrine left
00:24
fascinum left
|
|||
ZeonPeon | Hi, I'm experiencing a bit of a problem. When using the perl6 repl with Linenoise and trying to tab-complete after a @ sigil the repl segfaults | 00:36 | |
I'm guessing the source of the problem is Linenoise as the repl does not segfault when it is not installed | 00:37 | ||
What would be the best method of collecting information to submit a bug? | 00:38 | ||
00:40
athenot left
|
|||
timotimo | ZeonPeon: have you used gdb before? | 00:52 | |
ZeonPeon | not really... at all | 00:53 | |
timotimo | OK, that's not too bad | 00:54 | |
we install a shortcut for you called perl6-gdb-m which launches the script (or REPL) in gdb | |||
oh, huh, that's fun | |||
ah, no, it should work | 00:55 | ||
ZeonPeon | So would I lanch the repl and replicate the process? | ||
timotimo | yup, when it segfaults, it should drop you into gdb's own shell | ||
ZeonPeon | Is it just plain jane gdb? | 00:56 | |
timotimo | should be | 00:57 | |
ZeonPeon | Alright, I'll go and look at some gdb guides then | ||
00:57
markong left
|
|||
timotimo | well, all you'll really need to do to get some info to get started is: | 00:57 | |
"up" a few times, until the function names look like they are from moarvm (they usually start with MVM) | |||
"call MVM_dump_backtrace(tc)" to get a stack trace to figure out how we got where we are | 00:58 | ||
MasterDuke | if you start with "bt" that'll give you a MoarVM level backtrace, with that you can see how many times (if any) you need to "up" | 01:00 | |
timotimo | i'd personally call that a "C-level backtrace" | ||
because since it's probably crashing inside of Linenoise, you'll also have linenoise-related frames in there | |||
MasterDuke | heh, that's what i wrote first, but then i changed it | 01:01 | |
ZeonPeon | So I'm getting: | ||
MasterDuke | oh good point, i should have left it | ||
timotimo | oh, hold on | ||
ZeonPeon | 0x00007ffff7817d5f in MVM_dump_backtrace () from //usr/lib/moar/libmoar.so | ||
timotimo | please upload text to some pasting service, rather than putting it directly into IRC | ||
ZeonPeon | Sorry, one moment | ||
timotimo | thank you | ||
irc is terrible for multi-line text | 01:02 | ||
ZeonPeon | pastebin.com/cqBwMFvH | 01:04 | |
timotimo | hm, i wonder why dump_backtrace also crashed | 01:05 | |
does "print tc" give something vaguely sensible, or something vaguely error-like? | |||
ZeonPeon | it prints one line: | 01:06 | |
$1 = 1.46163213 | |||
do you want the output of 'bt'? | 01:07 | ||
timotimo | hm, it's not entirely unlikely that it's just barfing there because it lacks debug symbols | 01:08 | |
did you compile your rakudo yourself? | |||
ZeonPeon | no, out of the apt repo of kubuntu 17.10 | 01:09 | |
timotimo | oh, what version does it give you? | ||
ZeonPeon | One moment | 01:10 | |
pastebin.com/pVridP0i | 01:11 | ||
MasterDuke | huggable: debs | ||
huggable | MasterDuke, CentOS, Debian, Fedora and Ubuntu Rakudo packages: github.com/nxadm/rakudo-pkg/releases | ||
timotimo | i can imagine you're running into a bug that has already been fixed | ||
yes, what MasterDuke linked to ought to help you out | 01:12 | ||
ZeonPeon | I've been looking for closed issues relating to it | ||
I'm guessing I'll either have to update my distro or compile myself | |||
timotimo | it's also possible that a change to Linenoise has made old versions run into the bug, but nobody has tested older rakudo with up-to-date linenoise and so it wasn't found? | ||
you don't have to, did you see the link huggable sent? | 01:13 | ||
ZeonPeon | Man... software b'y | ||
Oh, awesome, thanks MasterDuke | |||
MasterDuke | El_Che++, he's done the actual work | 01:14 | |
ZeonPeon | What does the apk cover? should I uninstall just rakudo or anything perl6? | 01:17 | |
timotimo | i didn't check, but i believe it also contains nqp and moarvm, if those are separate packages | ||
and it can install zef for you, too, right? | |||
github.com/nxadm/rakudo-pkg - the readme has a lot of text | 01:18 | ||
ZeonPeon | Yup, so the docs say | ||
timotimo | oh, right, there's also an apt repository | ||
ZeonPeon | I'll just flatten anything perl6 related and then go from there | ||
Thank you very much for the help, I appreciate it | 01:19 | ||
timotimo | the perl6 ircers are happy to help :) | ||
ZeonPeon | it seems odd that the rakudo-pkg installs to opt, I'm guessing the maintainer uses mac | 01:24 | |
timotimo | according to the readme, it's built so it doesn't interfere with distro packages | 01:25 | |
BBL | 01:28 | ||
01:28
fascinum joined
01:30
comborico1611 left
|
|||
ZeonPeon | Awesome, got it installing | 01:31 | |
Almost broke my install tho | |||
accidently put "export PATH=$(PATH):/opt/rakudo-pkg/bin" in my bashrc | |||
oops | 01:32 | ||
It seems that Linenoise has run into a different problem now | 01:35 | ||
c'est la vie | 01:38 | ||
01:47
ilbot3 left
01:52
molaf left
01:54
Sgeo joined
01:55
Sgeo_ left
01:56
ilbot3 joined,
ChanServ sets mode: +v ilbot3
02:04
zachk left,
haxmeister joined
02:05
molaf joined
|
|||
haxmeister | since when does perl6 sleep on the weekend? | 02:06 | |
wake up you fine folks! | |||
timotimo | hello haxmeister | 02:23 | |
ZeonPeon | What is the perl 6 terminology for a lambda (if it exists)? | 02:28 | |
haxmeister | anonymous sub? | 02:29 | |
timotimo | we have pointy blocks which are probably the closest to lambda | ||
right, anonymous subs also exist. WhateverCode is another thing | |||
ZeonPeon | Thanks | 02:32 | |
02:38
eliasr left,
athenot joined
03:03
Sgeo_ joined
03:04
Sgeo left
03:11
athenot left
|
|||
ktown | m: $,=" ";say 1,2 | 03:33 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Unsupported use of $, variable; in Perl 6 please use $*OUT.output_field_separator() at <tmp>:1 ------> 3$,7⏏5=" ";say 1,2 |
||
ktown | how do I do that? | 03:35 | |
MasterDuke | bisect: $*OUT.output_field_separator() | 03:39 | |
bisectable6 | MasterDuke, Bisecting by output (old=2015.12 new=776ff35) because on both starting points the exit code is 1 | ||
MasterDuke, bisect log: gist.github.com/bed5d0a2ae7ecbf65b...0df4c3abbd | |||
MasterDuke, (2016-09-27) github.com/rakudo/rakudo/commit/22...0f14b9c05c | |||
MasterDuke | bisect: old=222d16b0b94911fdedb06ee6ad817d0f14b9c05c $*OUT.output_field_separator() | 03:40 | |
bisectable6 | MasterDuke, On both starting points (old=222d16b new=776ff35) the exit code is 1 and the output is identical as well | ||
MasterDuke, Output on both points: «No such method 'output_field_separator' for invocant of type 'IO::Handle' in block <unit> at /tmp/E3t652d9h0 line 1» | |||
MasterDuke | committable6: all $*OUT.output_field_separator() | ||
committable6 | MasterDuke, gist.github.com/d843e88ff53d606322...f4b844e195 | 03:41 | |
AlexDani` | MasterDuke: hm… the system looks fine | 03:42 | |
03:42
AlexDani` is now known as AlexDaniel
|
|||
AlexDaniel | (re: “the bots seem slower than usual”) | 03:43 | |
MasterDuke | ktown: well, apparently not with $*OUT.output_field_separator() anytime recently | ||
AlexDaniel | nothing in swap, cpu not busy | ||
MasterDuke: maybe it's because we have so many releases now? :) | |||
MasterDuke | maybe i was just imagining it | ||
03:43
rindolf joined
|
|||
AlexDaniel | no the bot was definitely much faster two years ago… :) | 03:44 | |
MasterDuke: also, it's probably time to parallelize it | |||
MasterDuke | that message was introduced 5 years ago and hasn't been changed since. github.com/rakudo/rakudo/commit/bd...6f069c4e01 | 03:45 | |
ktown | MasterDuke: i googled, so $, is not implemented? | 03:46 | |
AlexDaniel | m: say join '--', 1,2 | 03:47 | |
camelia | 1--2 | ||
AlexDaniel | m: sub kebab(*@a) { put join '--', @a }; kebab 1,2,3 | 03:48 | |
camelia | 1--2--3 | ||
AlexDaniel | ktown: correct, not implemented and given how easy it is to do something like this it probably won't be implemented any time soon | 03:49 | |
ktown: but line separators are there, if that matters | 03:51 | ||
m: $*OUT.nl-out = ‘--’; say 42; say 50 | |||
camelia | 42--50-- | ||
MasterDuke | anyway, it's really time to go to bed. later... | 03:52 | |
AlexDaniel | MasterDuke: perhaps that's another good point for github.com/rakudo/rakudo/issues/1356 :) | ||
MasterDuke | at the very least that bunch of messages should be validated | 03:53 | |
AlexDaniel | I'll probably do that tomorrow if nobody beats me to it | 03:57 | |
04:01
Ben_Goldberg joined,
BenGoldberg left,
Ben_Goldberg is now known as BenGoldberg
04:05
AlexDaniel left
04:16
pilne left
04:19
fascinum left
04:21
xinming_ left
04:22
xinming joined
04:24
parv left
04:25
wamba joined
04:30
ZeonPeon left
04:45
kaare_ joined
04:55
BenGoldberg left
05:03
wamba left
05:15
psychoslave joined
05:16
athenot joined
05:21
khw left
05:40
espadrine joined
05:47
ufobat___ joined
05:49
athenot left
05:55
entonian joined
05:57
entonian left
06:05
fascinum joined
06:13
Herby_ left
06:24
jmerelo joined
06:38
troys joined
06:44
troys left
06:52
speedChicken_ joined,
raynold joined,
raynold left
06:53
raynold joined
06:57
fascinum left
|
|||
Geth | doc: JJ self-assigned Make example match output in Proc::Async github.com/perl6/doc/issues/2024 ba17e5973c | (JJ Merelo)++ | doc/Type/Proc/Async.pod6 |
07:04 | |
synopsebot | Link: doc.perl6.org/type/Proc::Async | ||
doc: 006fbf34b0 | (JJ Merelo)++ | doc/Language/concurrency.pod6 Eliminates accidental markdown refs #2022 |
07:09 | ||
synopsebot | Link: doc.perl6.org/language/concurrency | ||
doc: 1bb3d100eb | (JJ Merelo)++ | doc/Language/concurrency.pod6 Adds more precise definition of concurrency closes #1427 |
|||
07:17
lizmat left
07:23
fascinum joined
07:26
darutoko joined
07:30
fascinum left
|
|||
jmerelo | Another question in SO aimed at improving the documentation stackoverflow.com/questions/503137...-procasync | 07:31 | |
07:55
speedChi- joined
07:59
fascinum joined
08:02
athenot joined
08:06
fascinum left
08:15
psychoslave left
08:18
speedChi- left,
speedChicken_ left
08:19
speedChicken_ joined
08:20
speedChi- joined,
ufobat___ left
08:24
ufobat___ joined,
ufobat___ is now known as ufobat
|
|||
ufobat | good morning :) | 08:24 | |
08:35
fascinum joined,
athenot left
08:44
HaraldJoerg joined
|
|||
jmerelo | hi! | 08:48 | |
09:01
fascinum left,
wamba joined
09:19
molaf left
09:20
kurahaupo_ joined
09:22
kurahaupo left
09:24
Xliff joined
|
|||
jmerelo | greppable6: «=» | 09:29 | |
greppable6 | jmerelo, 4 lines, 1 modules: gist.github.com/359aeedcd2ec1e76f8...280c6563ef | ||
Xliff | \o | 09:30 | |
jmerelo | p6: my @flat = 1, 2, (3, 4), 5; say @flat | 09:33 | |
camelia | [1 2 (3 4) 5] | ||
jmerelo | p6: my @flat = 1, 2, (3, 4), 5; my @another = @flat; say @another | ||
camelia | [1 2 (3 4) 5] | ||
09:34
athenot joined
|
|||
jmerelo | m: my ($a, $b, $c); (($a, $b), $c) »=« ((1, 2), 3); say $a, $c; (($a, $b), $c) = ((1, 2), 3); say $a, $c | 09:35 | |
camelia | 13 (1 2)(Any) |
||
09:35
molaf joined
|
|||
jmerelo | m: my ($a, $b, $c); (($a, $b), $c) «=» ((1, 2), 3); say $a, $c; (($a, $b), $c) = ((1, 2), 3); say $a, $c | 09:37 | |
camelia | 13 (1 2)(Any) |
||
Xliff | p6: my @flat = 1, 2, (3, 4), 5; say |@flat | ||
camelia | 12(3 4)5 | ||
Xliff | p6: my @flat = 1, 2, (3, 4), 5; say @flat.flat() | 09:38 | |
camelia | (1 2 (3 4) 5) | ||
Xliff | :/ | ||
p6: my @flat = 1, 2, (3, 4), 5; say @flat.flat | |||
camelia | (1 2 (3 4) 5) | ||
Xliff | p6: my @flat = 1, 2, (3, 4), 5; say @flat.map(|*) | 09:39 | |
camelia | (1 2 3 4 5) | ||
Xliff | Although both the "|" prefix op and .flat should do the same thing... Hmm..... | ||
p6: my @flat = 1, 2, (3, 4), 5; say @flat.flatmap(*) | 09:41 | ||
camelia | Cannot resolve caller flatmap(Array: Whatever); none of these signatures match: ($: &block, :$label, *%_) in block <unit> at <tmp> line 1 |
||
Xliff | ^^ That's what I get for reading a 2 year old post. | 09:42 | |
Geth | doc: 5564d256b2 | (JJ Merelo)++ | doc/Language/concurrency.pod6 Minor changes |
09:43 | |
synopsebot | Link: doc.perl6.org/language/concurrency | ||
doc: 4b9853279e | (JJ Merelo)++ | doc/Language/operators.pod6 Adds example with «=» Also adds it to the index, along with its alternate form. It's simply the *hyper* version of the assignment operator. Closes #2010. |
|||
synopsebot | Link: doc.perl6.org/language/operators | ||
jmerelo | Xliff: which one? Can it be corrected? | ||
Is this documentation OK? docs.perl6.org/routine/flatmap | 09:45 | ||
m: my @list = ('first1', ('second2', ('third3', 'third4'), 'second5'), 'first6'); say @list.flatmap({.reverse}).perl; | |||
camelia | ("first1", "second5", "third3", "third4", "second2", "first6").Seq | ||
jmerelo | p6: my @flat = 1, 2, (3, 4), 5; say @flat.flatmap( {*} ) | 09:46 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> {*} may only appear in proto at <tmp>:1 ------> 3 1, 2, (3, 4), 5; say @flat.flatmap( {*}7⏏5 ) expecting any of: argument list horizontal whitespace term |
||
jmerelo | p6: my @flat = 1, 2, (3, 4), 5; say @flat.flatmap( { $^þ } ) | ||
camelia | (1 2 (3 4) 5) | ||
jmerelo | p6: my @flat = 1, 2, (3, 4), 5; say @flat.flatmap: * | 09:47 | |
camelia | Cannot resolve caller flatmap(Array: Whatever); none of these signatures match: ($: &block, :$label, *%_) in block <unit> at <tmp> line 1 |
||
09:47
tomaw left
|
|||
jmerelo | p6: my @flat = (1, 2, (3, 4), 5); say @flat.flatmap( {.reverse} ).perl | 09:48 | |
camelia | (1, 2, 4, 3, 5).Seq | ||
jmerelo | p6: my @flat = 1, 2, (3, 4), 5; say @flat.flatmap( {.reverse} ).perl | ||
camelia | (1, 2, 4, 3, 5).Seq | ||
jmerelo | p6: my @flat = 1, 2, (3, 4), 5; say @flat.flatmap( {.Str} ).perl | 09:49 | |
camelia | ("1", "2", "3 4", "5").Seq | ||
09:54
ufobat left
|
|||
El_Che | timotimo: would the readme better be split? | 09:55 | |
09:55
domidumont joined
09:57
kurahaupo_ left
|
|||
jmerelo | m: my $a = 2; say $a, ++$a; | 10:00 | |
camelia | 33 | ||
jmerelo | m: my $a = 2; say "$a, {++$a}"; | ||
camelia | 2, 3 | ||
10:02
athenot left
|
|||
jmerelo | m: my @arr; my ($a, $b) = (1,1); for ^5 { ($a,$b) = ($b, $a+$b); @arr.push: ($a, $b); say @arr }; | 10:07 | |
camelia | [(1 2)] [(2 3) (2 3)] [(3 5) (3 5) (3 5)] [(5 8) (5 8) (5 8) (5 8)] [(8 13) (8 13) (8 13) (8 13) (8 13)] |
||
10:11
robertle left
10:12
robertle joined
10:13
domidumont left
10:14
domidumont joined
|
|||
jmerelo | m: my @arr; my ($a, $b) = (1,1); for ^5 { ($a,$b) = ($b, $a+$b); @arr.push: ($a.item, $b.item); say @arr }; | 10:18 | |
camelia | [(1 2)] [(2 3) (2 3)] [(3 5) (3 5) (3 5)] [(5 8) (5 8) (5 8) (5 8)] [(8 13) (8 13) (8 13) (8 13) (8 13)] |
||
Geth | doc: 5ffcfc1c99 | (JJ Merelo)++ | doc/Language/traps.pod6 Less accidental MD, refs #2022 |
10:21 | |
synopsebot | Link: doc.perl6.org/language/traps | ||
doc: b33402c5cb | (JJ Merelo)++ | doc/Language/traps.pod6 Expands "containers vs values" trap With reference to the example in the IRC conversation. Avoids referencing decontainerization because it's not documented, created issue #2025. Closes #1216. |
|||
El_Che | jmerelo: answered in SO instead of here because that's what you like :) | ||
El_Che | I am pretty sure that people like jnthn and lizmat will come with something cooler :) | ||
jmerelo | El_Che: it's good enough. Thanks! | 10:23 | |
10:27
Khisanth left
10:28
domidumont left
|
|||
El_Che | good enough | 10:29 | |
Is that something you write when reviewing papers? :) | |||
jmerelo | El_Che: Never. I'm all for "Revise grammar and spelling" and "make fonts in chart 1 smaller and fonts in chart 2 larger" | 10:30 | |
El_Che | hehe | ||
10:39
Khisanth joined
10:44
rindolf left
|
|||
Geth | doc: e0f8edcbec | (JJ Merelo)++ | doc/Language/concurrency.pod6 Rephrases for good, thanks @nxadm, closes #1427 |
10:48 | |
synopsebot | Link: doc.perl6.org/language/concurrency | ||
10:55
ExtraCrispy joined
11:03
rindolf joined,
psychoslave joined
11:09
vivus-ignis joined
11:16
pilne joined
11:24
jmerelo left
11:30
psychoslave left,
vivus-ignis is now known as ignis__away
11:33
markong joined
11:40
ignis__away is now known as vivus-ignis
|
|||
Xliff | p6: my @flat = 1, 2, (3, 4), 5; say @flat.flatmap( {.self} ).perl | 11:43 | |
camelia | (1, 2, 3, 4, 5).Seq | ||
Xliff | p6: my @flat = 1, 2, (3, 4), 5; say @flat.flatmap.perl | ||
camelia | Cannot resolve caller flatmap(Array: ); none of these signatures match: ($: &block, :$label, *%_) in block <unit> at <tmp> line 1 |
||
Xliff | p6: my @flat = 1, 2, (3, 4), 5; say @flat.flatmap().perl | ||
camelia | Cannot resolve caller flatmap(Array: ); none of these signatures match: ($: &block, :$label, *%_) in block <unit> at <tmp> line 1 |
||
Xliff | Ideally, @flat.flatmap should default to @flat.flatmap({.self}) | 11:44 | |
AND @flat.flatmap(*) should functionally be the same as ^^ | |||
Ideally, @flat.flatmap should default to @flat.flatmap({.reverse}) | |||
OOPS ^^ Scratch that. Was me being lazy | 11:45 | ||
The first comment still stands. | |||
Ideally, @flat.flatmap should default to @flat.flatmap({.reverse}) | |||
?!? | |||
p6: my @flat = 1, 2, (3, 4), 5; say @flat.flatmap(*.reverse).perl | |||
camelia | (1, 2, 4, 3, 5).Seq | ||
Xliff | p6: my @flat = 1, 2, (3, 4), 5; say @flat.flatmap(*).perl | ||
camelia | Cannot resolve caller flatmap(Array: Whatever); none of these signatures match: ($: &block, :$label, *%_) in block <unit> at <tmp> line 1 |
||
Xliff | p6: my @flat = 1, 2, (3, 4), 5; say @flat.flatmap(*.self).perl | ||
camelia | (1, 2, 3, 4, 5).Seq | ||
Xliff | So.... I'm tired. I am going to take a nap, now' | 11:46 | |
11:53
Zoffix joined
|
|||
Zoffix | .tell Xliff flatmap is slated for removal in 6.e, with deprecation in 6.d, so what it should do is moot. But with other routines, we generally don't add a Whatever or argless candidate unless the default is very clear. We aren't Perl 5. | 11:55 | |
yoleaux | Zoffix: I'll pass your message to Xliff. | ||
Geth | doc/car-grant-midrat: ca141dd73a | (Zoffix Znet)++ | doc/Type/MidRat.pod6 [CaR Grant] Document MidRat.Numeric - It collapses the MidRat into its Rat component, potentially degrading it to a Num |
11:57 | |
Zoffix | Wondering if that ^ is going slightly too far with collapsing a MidRat and .Numeric should just return self (i.e. MidRat) | ||
But then you have `0 + $mr` => Num; `+$mr` => MidRat | 11:58 | ||
And with RatStr `prefix:<+>` does collapse to Numeric component, but with MidRat we got two of them.... | |||
`with < 1/22222222222222222222> { .^name.say; .Numeric.^name.say; .Numeric.^name.say }` OUTPUT: «MidRatStrMidRatNum» | 12:01 | ||
`with < 1/11111111111111111111> { .^name.say; .Numeric.^name.say; .Numeric.^name.say }` OUTPUT: «MidRatStrMidRatRat» | |||
err… s:2nd/'.Numeric.^name.say'/.Numeric.Numeric.^name.say/ | 12:02 | ||
12:03
vivus-ignis is now known as ignis__away
12:08
thaarv joined
12:10
athenot joined
12:12
psychoslave joined
12:13
mcmillhj joined
12:22
mcmillhj left
12:24
ZeonPeon joined
|
|||
timotimo | El_Che: i'm not sure; you mean into "users of the packages" and "users of the repository to make their own packages"? | 12:26 | |
Geth | doc/car-grant-midrat: 0b6301d4b6 | (Zoffix Znet)++ | doc/Type/MidRat.pod6 [CaR Grant] Document MidRat.Real Same degradation behaviour as .Numeric |
12:29 | |
doc/car-grant-midrat: feaca486ec | (Zoffix Znet)++ | doc/Type/MidRat.pod6 Break up overly long lines |
|||
12:30
tomaw joined
12:32
psychoslave left
12:33
psychoslave joined
12:34
thaarv left
|
|||
El_Che | timotimo: yes, keep the readme very basic and have other linked file for more specific uses | 12:38 | |
12:41
lasse_ joined
|
|||
Zoffix | .tell Xliff P.S.: the no-op map would be `{$_}`, not `*.self`, as the latter will blow up any unhandled Failures. | 12:41 | |
yoleaux | Zoffix: I'll pass your message to Xliff. | ||
12:42
athenot left
12:45
zakharyas joined
|
|||
lasse_ | Zoffix: I tried to install star on opensuse 42.3 no success either with source or precompiled | 12:46 | |
Zoffix | lasse_: what were the problems? | ||
lasse_ | source looped as on tumbleweed. | 12:48 | |
Zoffix | lasse_: and prebuilt packages? | ||
El_Che | lasse_: my 42.3 pkg is installerd on 42.3 before it's released | ||
lasse_ | for the precompiled an error occured while initializing the sotware repository | 12:49 | |
El_Che | I don't know if those packages work on tumbleweed | ||
ah the repo? | |||
lasse_ | i was using 42.3 | ||
Zoffix | lasse_: do you have git installed? | ||
12:50
ZeonPeon left
|
|||
lasse_ | if not I can install its a basic opensuse | 12:50 | |
El_Che | lasse_: let me spin an opensuse container | ||
docker hub is slow today :( | 12:51 | ||
Zoffix | lasse_: see of El_Che can fix the problem. If not, I'd suggest removing everything you installed so far, including any paths or env vars you set up. Then just run these commands (you'll need git): gist.github.com/zoffixznet/57178a9...e40859b1ab That will install the compiler and module manager (zef) and set up `update-perl6` bash alias that you can run later to update to latest release of | 12:52 | |
the compiler. And then you'd just install any modules you need with zef. | |||
thundergnat | Zoffix If you have a moment, I would appreciate you taking a look at my pull request github.com/rakudo/rakudo/pull/1822. I think it is worthwhile, but I don't know if it will interfere with you CaR grant work. | 12:56 | |
El_Che | lasse_: zypper ar -f dl.bintray.com/nxadm/rakudo-pkg-rp...2.3/x86_64 rakudo-pkg | ||
lasse_: rust the key | |||
lasse_: zypper install rakudo-pkg | |||
Zoffix | lasse_: in fact, maybe the precompiled packages are failing because you set something up for rakudo star? Like paths or env vars or something? Or you ran something with root and it got bad perms on it now. Could run this to nuke any of the previous dirs rm -fr ~/.zef ~/.perl6 | ||
El_Che | lasse_: /opt/rakudo-pkg/bin/perl6 -v : This is Rakudo version 2018.04.1 built on MoarVM version 2018.04.1\nimplementing Perl 6.c. | ||
I'll update the opensuse instructions | 12:57 | ||
Zoffix | \o/ | ||
El_Che | I wrongly assumed the yum instrcutions would work as is, but they also have a native way | ||
lasse_ | I rebooted and now it worked | 12:59 | |
This is Rakudo version 2018.04.1 built on MoarVM version 2018.04.1 | |||
Zoffix | yey | ||
lasse_ | I probably screwed up. I often do. | 13:00 | |
13:11
speedChi- left,
speedChicken_ left
13:13
zakharyas left
13:16
ignis__away is now known as vivus-ignis
|
|||
Zoffix | .tell thundergnat I thought someone was already reviewing your original PR. Have them merge. It won't interfere with my grant work. | 13:19 | |
yoleaux | Zoffix: I'll pass your message to thundergnat. | ||
thundergnat | .tell Zoffix MasterDuke++ and tbrowder++ reviewed and critiqued, but they don't have commit bits. | 13:26 | |
yoleaux | thundergnat: I'll pass your message to Zoffix. | ||
13:19Z <Zoffix> thundergnat: I thought someone was already reviewing your original PR. Have them merge. It won't interfere with my grant work. | |||
Zoffix | thundergnat: tbrowder_ does | 13:27 | |
yoleaux | 13:26Z <thundergnat> Zoffix: MasterDuke++ and tbrowder++ reviewed and critiqued, but they don't have commit bits. | ||
Zoffix | And MasterDuke should've signed a CLA ages ago :) | ||
thundergnat | Zoffix Ah. Nevermind then. I'll bother someone else. Cheers. | 13:28 | |
13:31
sacomo joined,
bartolin_ left
|
|||
El_Che | lasse_: updated the instructions, just for you (jk): github.com/nxadm/rakudo-pkg#opensuse | 13:33 | |
MasterDuke | i keep forgetting to print that CLA out... | 13:35 | |
Zoffix | huggable: cla | ||
huggable | Zoffix, nothing found | ||
Zoffix | huggable: CLA | ||
huggable | Zoffix, www.perlfoundation.org/contributor_..._agreement print it out, sign it, scan it in (resize your scan to 250KB or less). Email to trademark -at- perlfoundation.org (please scan and email if you can, it's so much more efficient) | ||
Zoffix | MasterDuke: do it now. | 13:36 | |
13:39
domidumont joined
13:41
athenot joined
13:44
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
Zoffix | my FatRat \a := <1/22222222222222222222>; my FatRat \b := <3/22222222222222222222>; say (a + b).^name; # => 'Num' | 13:46 | |
13:46
domidumont left
13:47
domidumont joined
|
|||
Zoffix | Damn. Maybe an operation with two MidRats should produce a MidRat, not degrade into a Rat | 13:47 | |
13:47
bartolin joined
|
|||
Zoffix | Well, actually the above code would be a Rat, because after reduction result's denominator fits, but it's still not a FatRat and would still be a Num if denom. cannot be reduced. | 13:47 | |
And maybe a MidRat should not be a FatRat. | 13:48 | ||
Actually, just the latter. Don't make it an allomorph of the two, but just a subclass of Rat. | 13:49 | ||
Zoffix achieves higher level of clarity | 13:51 | ||
13:52
kurahaupo joined
|
|||
Zoffix | MidRat = just a Rat that supports arbitrary denominators. | 13:52 | |
And I haven't wrote a single line of actual code :) | 13:53 | ||
13:53
wamba left
|
|||
MasterDuke | Zoffix: what do you mean by arbitrary? how is that different from a FatRat | 13:53 | |
timotimo | it's not infectious | ||
i.e. combine a rat with it and you'll get a rat again, not a FatRat | 13:54 | ||
MasterDuke | ah | ||
timotimo | Zoffix: if you call .Rat on a MidRat, will you get a Rat or just "self"? | ||
Zoffix | + degradation to Num, just like a Rat. `<0/1> + <1/22222222222222222222>` => Num; `<0/1> + FatRat.new(1, 22222222222222222222)` => FatRat | ||
timotimo: a Rat | 13:55 | ||
timotimo | i mean if MidRat ~~ Rat, then returning MidRat from a MidRat's .Rat should be fine? | ||
Zoffix | So far I plan to make even .Numeric/.Real return a Rat (or degrade to a Num), but don't know if that's going a bit far. | 13:56 | |
13:56
lucasb joined,
eliasr joined
|
|||
Zoffix | timotimo: then it's inconsistent with, say, <42>.Int returning an Int and not an IntStr. | 13:56 | |
timotimo | that's fair | 13:58 | |
Zoffix | The goal behind a MidRat is to hold on to higher precision given when we don't know whether we're going to be using high-precision math, but as soon as it's used in some context that lets us know, it goes away. So if I write a Rational literal `my \mr := <1/22222222222222222222>` it's not known whether I'm gonna do high-precision math, but as soon as I write `42 +_mr` we know we aren't dealing with FatRat-type | 13:59 | |
operations, so we degrade it to a Rat/Num | |||
Well, we do a infix:<+>(Int, Rational) and then reduce, and if the result fits into a Rat, then the answer is a Rat, otherwise, it's a Num. | |||
Geth | doc/car-grant-midrat: c0d35c14a8 | (Zoffix Znet)++ | 2 files [CaR Grant] MidRat no longer inherits from FatRat Reasoning: irclog.perlgeek.de/perl6/2018-05-13#i_16160055 |
14:02 | |
14:10
aborazmeh left
14:14
athenot left
|
|||
lucasb | $ perl6 <<< get | 14:15 | |
Failed to stat file descriptor: Bad file descriptor | |||
Tried this code with perl5, python3 and ruby, and they all successfully return an eof value | 14:16 | ||
Zoffix | What does '<<<' mean? | ||
lucasb | echo get | perl6 - | ||
Zoffix | ah | ||
$ echo get | perl6 - | |||
MVMArray: Index out of bounds | |||
lucasb | lol, I didn't tried that myself :) | 14:17 | |
was expecting both shell idioms to evaluate to the same behaviour | |||
"<<<" is bash syntax (and maybe other shells) | |||
Zoffix | Well, I see the bug. The file descriptor is -1 | 14:18 | |
and it's trying to bind it into forget close array at that index | |||
Zoffix hackety hacks | 14:19 | ||
By which I mean not trying to do the auto-close magic if file descriptor is -1. That sounds sane, right? | 14:20 | ||
lucasb | Dunno :) | ||
I was more intrigued by the fact that "<<<" and "echo | ..." differs | 14:21 | ||
Voldenet | but does it really? | 14:23 | |
Zoffix | lucasb: how did you measure that perl5/python3/ruby returned an eof value? | ||
lucasb | 3 lines pasting, sorry: | 14:24 | |
perl <<< 'print "undef\n" if !defined <STDIN>' | |||
python3 <<< 'import sys; print(repr(sys.stdin.readline()))' | |||
ruby <<< 'p gets' | |||
Voldenet | in perl you could probably do "if eof STDIN" instead | 14:25 | |
Zoffix | $ echo 'print fileno STDIN' | perl - | 14:26 | |
0 | |||
Looks like the real bug is that our native descriptor is -1 in this case. | |||
lucasb | Voldenet: right, that's shorter. thanks | ||
Voldenet | huh, now I wonder why | 14:33 | |
printf '' | perl -le 'print eof STDIN' -> 1 | |||
printf '' | perl6 -e '$*IN.eof.say' -> False | |||
Zoffix | Voldenet: docs.perl6.org/routine/eof "On non-seekable handles and handles opened to zero-size files (including special files in /proc/), EOF won't be set until a read operation fails to read any bytes." | 14:34 | |
Voldenet | Ah, it works differently. | ||
14:36
vivus-ignis left
14:43
AlexDaniel joined
|
|||
Voldenet | btw, it's interesting how 'echo "get" | perl6 -' fails | 14:43 | |
but 'echo "get" | perl6 /dev/stdin' works | 14:44 | ||
Zoffix | lucasb: yo, submit a fix for that bug. | 14:45 | |
lucasb: need to stick ` unless $filename eq '-'` for this .close line: github.com/perl6/nqp/blob/master/s...r.nqp#L415 | 14:46 | ||
lucasb | Voldenet: indeed, well noticed | 14:52 | |
AlexDaniel | MasterDuke: (do it now)++ | ||
lucasb | Zoffix: just that, really? ok, I can test and PR that later, if nobody gets to it first. Thanks! | 14:53 | |
Zoffix | Filed as R#1824 | ||
synopsebot | R#1824 [open]: github.com/rakudo/rakudo/issues/1824 [IO][LHF] non-interactive REPL mode breaks STDIN | ||
15:01
comborico1611 joined
15:05
ufobat joined
15:13
athenot joined
15:28
psychoslave left
15:34
khw joined
15:41
espadrine left
15:45
skids joined,
athenot left
15:48
jmerelo joined
15:54
HaraldJoerg left
|
|||
Geth | doc: 16e9d9d9df | (JJ Merelo)++ | doc/Type/Proc/Async.pod6 Clarifies methods closes #1901 again |
15:59 | |
synopsebot | Link: doc.perl6.org/type/Proc::Async | ||
jmerelo | m: say "[ hey ]" ~~ /<-[ \] \s ]>+/ | 16:06 | |
camelia | 「[」 | ||
jmerelo | m: say "[ hey ]" ~~ /<-[ \] \[ \- \s ]>+/ | ||
camelia | 「hey」 | ||
jmerelo | m: say "[- hey -]" ~~ /<-[ \- \] \[ \- \s ]>+/ | 16:07 | |
camelia | 「hey」 | ||
jmerelo | m: say "[- hey -]" ~~ /<-[ \- \] \[ - \s ]>+/ | 16:09 | |
camelia | 「hey」 | ||
jmerelo | m: say "[- hey -]" ~~ /<-[ \] \[ - \s ]>+/ | ||
camelia | 「hey」 | ||
jmerelo | m: say "[- hey -]" ~~ /<-[ \] [ - \s ]>+/ | 16:10 | |
camelia | 「hey」 | ||
jmerelo | m: say "[- hey -]" ~~ /<-[ ] [ - \s ]>+/ | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Missing + or - between character class elements at <tmp>:1 ------> 3say "[- hey -]" ~~ /<-[ ]7⏏5 [ - \s ]>+/ |
||
Zoffix | FWIW camelia also takes a /msg | ||
jmerelo | Zoffix: yep, and there's the #Whateverable channel. But by doing it here sometimes I get helpful hints from however is in the channel :-) | 16:11 | |
Zoffix: thanks anyway | |||
Geth | doc: 09b23106b9 | (JJ Merelo)++ | doc/Language/regexes.pod6 Eliminates accidental MD refs #2022 |
16:12 | |
synopsebot | Link: doc.perl6.org/language/regexes | ||
doc: 3206fec2a1 | (JJ Merelo)++ | doc/Language/regexes.pod6 Adds info on escaping characters closes #1146 |
|||
Zoffix | You'd get more hints if you asked an actual question. | ||
16:15
Zoffix left
|
|||
Geth | doc/car-grant-midrat: 15 commits pushed by (JJ Merelo)++, (Zoffix Znet)++ review: github.com/perl6/doc/compare/c0d35...76583dd87f |
16:15 | |
16:17
vivus-ignis joined
16:18
bstahlman joined
|
|||
bstahlman | Wondering whether there's any sort of readline support for perl 6. The interactive shell feels a bit painful because I'm used to having readline support everywhere in linux - if nothing else, there's rlwrap, but even that doesn't appear to work with perl6. | 16:20 | |
timotimo | you can install Readline or Linenoise | ||
the repl is supposed to tell you that when you start it | |||
moritz | rlwrap works fine for me with rakudo | 16:21 | |
bstahlman | Ah. I just noticed that some of the emacs-style binding seem to work by default. Perhaps it's just not taking my .inputrc into account? | ||
moritz | that might be possible | 16:22 | |
timotimo | could be, yeah | ||
bstahlman | You're referring to a p6-specific Readline package, not the normal readline lib? | ||
timotimo | maybe we'd have to call some readline function to have it look at that | ||
yes, "zef install Readline" or so | |||
bstahlman | Ah. Ok. Thanks. I'll look into those... | ||
rlwrap isn't working for me with rakudo, but I have the rakudo that comes with Ubuntu 16.04, I think, which appears to be several years old (~2015), so perhaps it's that... | 16:23 | ||
Geth | doc: 1310d51d78 | (JJ Merelo)++ | doc/Language/phasers.pod6 Explains success closes #905 |
16:24 | |
synopsebot | Link: doc.perl6.org/language/phasers | ||
timotimo | haha, yeah, that won't work very well | ||
comparatively, i mean | |||
especially with the up-to-date readline package | |||
and it's probably not able to run zef at all | |||
bstahlman | Rt. Is the best way to build from source, or do people usually add a p6 repo? | ||
16:24
itaipu joined
|
|||
timotimo | huggable: deb | 16:25 | |
huggable | timotimo, Alpine, CentOS, Debian, Fedora, OpenSUSE and Ubuntu Rakudo packages: github.com/nxadm/rakudo-pkg#rakudo-pkg | ||
jmerelo | bstahlman: depends on what you call "best", but it's a pretty good way :-) El_Che has prepared repos for Ubuntu and other distros | ||
timotimo | that link should help you out | 16:26 | |
oh | |||
on the main page of that repo there's also an apt repository that you can feed into your apt | |||
huggable: help | |||
huggable | timotimo, nothing found | ||
timotimo | huggable: factoid | ||
huggable | timotimo, nothing found | ||
timotimo | huggable: usage | ||
huggable | timotimo, nothing found | ||
timotimo | ... | ||
oh, that link is already the right one | 16:27 | ||
i thought it was a link to the releases page of that repo | 16:28 | ||
bstahlman | Great. Thanks. I'll check that out. Incidentally, on the subject of support framework... Has anyone in the p6 community given any thought to what it would take to get p6 support in online tools like HackerRank? Employers use it a lot now, and it's great for developing practical skills in a language. Being able to practice p6 in it would be huge, in my opinion. | ||
timotimo | don't know how they do things, but we have, for example, a jupyter kernel for perl6 that you can use with jupyter notebook for example | 16:30 | |
jmerelo | May I draw your attention to this issue? github.com/perl6/doc/issues/711 It's about bots, such as the huggable huggable above. The list is not up to date. Can someone pick up one, or a few, and update it? | ||
timotimo | if all they need is an evaluation server? | ||
bstahlman | I'm not sure what interface they require, but I could ask around on their site. | 16:31 | |
16:31
vivus-ignis left
|
|||
jmerelo | bstahlman: I didn't know about hackerrank. Generally we deal with those issues, like adding support in GitHub or Travis, either in the marketing or some other common repo. | 16:31 | |
bstahlman: please do. Maybe all it requires is some pull request in some repository. We can do that. | |||
bstahlman | Just thinking it could really help with p6 adoption. For instance, the ability to practice in HackerRank is something I consider when looking for a language to teach my kids. | 16:32 | |
Great. Thanks. I'll post a question on it and get back with you when I have an answer... | |||
jmerelo | bstahlman: Thanks! | 16:33 | |
timotimo | www.hackerrank.com/environment | ||
don't see any link for "where can i request more languages/libraries" | |||
they spell Perl "PERL" on that last example page | 16:34 | ||
www.hackerrank.com/support/feature - this is perhaps where you'd ask a question like that | 16:35 | ||
aha! | 16:36 | ||
github.com/interviewstreet/languag.../README.md | |||
16:36
kaare_ left
|
|||
timotimo | see the "new language request for codechecker" at the bottom | 16:36 | |
16:37
bstahlman left
16:38
vivus-ignis joined
16:44
athenot joined
|
|||
timotimo | github.com/perl6/user-experience/issues/22 | 16:45 | |
16:46
tomaw left
16:47
tomaw joined,
tomaw left
16:48
espadrine joined
16:50
wamba joined
16:54
cog_ joined
16:56
tomaw joined
|
|||
El_Che | (I just saw that the telemetry basic test is a flopper, fails once in a while) | 17:11 | |
17:12
espadrine left
17:15
athenot left,
psychoslave joined
17:24
vivus-ignis is now known as ignis__away
17:31
comborico1611 left
17:33
ignis__away is now known as vivus-ignis
17:41
espadrine joined
17:45
itaipu left
17:46
margeas joined
17:47
markong left
17:48
margeas is now known as markong
17:49
vivus-ignis is now known as ignis__away
17:56
comborico1611 joined
18:02
ignis__away is now known as vivus-ignis
|
|||
Geth | doc: 0ab8abbd2e | (JJ Merelo)++ | t/02-pod-valid.t Adds a comment for understanding it better |
18:06 | |
doc: 350386a909 | (JJ Merelo)++ | t/02-pod-valid.t Clarifies error message |
|||
doc: 014c7e6795 | (JJ Merelo)++ | 2 files Tests for tests spun off and included Now it checks not only valid Pod6, but also valid syntax. This is actually a workaround for #1951. It was a Rakudo error having to do with the setting up of a compunit, which is created when the file is interpreted. It happened, when it did, by the end of the ... (8 more lines) |
|||
18:10
raynold left
18:12
lucasb left
18:13
comborico1611_ joined,
comborico1611 left
18:14
psychoslave left
18:17
athenot joined
18:19
vivus-ignis is now known as ignis__away
18:23
cog_ left
18:34
comborico1611_ left
18:35
comborico1611_ joined
18:36
darutoko left
18:38
ignis__away is now known as vivus-ignis
18:46
psychoslave joined
18:48
athenot left
18:51
kaare_ joined
|
|||
Geth | doc: 99cb566e76 | (Will "Coke" Coleda)++ | doc/Language/temporal.pod6 whitespace |
18:54 | |
synopsebot | Link: doc.perl6.org/language/temporal | ||
18:57
domidumont left
19:02
jmerelo left
19:30
markong left,
margeas joined
19:38
markong joined
|
|||
MasterDuke | rindolf: ping | 19:38 | |
19:38
margeas left
|
|||
rindolf | MasterDuke: hi | 19:39 | |
MasterDuke | hey. does this code look familiar to you? 'my $N = 2; my @x = FatRat.new(1, 1), -> $x { $x - ($x ** 2 - $N) / (2 * $x) } ... *; my $a = @x[13]; say $a.chars' | ||
19:40
comborico1611 joined,
comborico1611_ left
|
|||
MasterDuke | back around february someone had some numerical code that was much slower in Perl 6 than Perl 5, Python, etc. the main part that was slow wasn't the number crunching, but the stringification of FatRats | 19:41 | |
i did a minor optimization to FatRat shortly after, but thundergnat++ just made it many orders of magnitude faster | 19:42 | ||
c: 2018.04.1,HEAD my $N = 2; my @x = FatRat.new(1, 1), -> $x { $x - ($x ** 2 - $N) / (2 * $x) } ... *; my $a = @x[13]; say $a.chars; say now - INIT now | 19:43 | ||
committable6 | MasterDuke, ¦2018.04.1: «31393.139767» ¦HEAD(9b915f0): «31400.0545834» | ||
El_Che | wow | 19:44 | |
MasterDuke | but i can't remember who it was | 19:46 | |
19:46
athenot joined
19:49
comborico1611_ joined,
comborico1611 left,
comborico1611_ is now known as comborico1611
|
|||
rindolf | MasterDuke: it doesnt look familiar | 19:52 | |
19:52
comborico1611 left
19:53
psychoslave left
|
|||
MasterDuke | hm, let me look back at the chat log for feb... | 19:54 | |
Voldenet | MasterDuke: it looks faster, but why it's 3139 in the first result and 3140 in the second? | 19:56 | |
timotimo | c: 2018.04.1,HEAD my $N = 2; my @x = FatRat.new(1, 1), -> $x { $x - ($x ** 2 - $N) / (2 * $x) }... *; my $a = @x[13]; say $a.chars; say $a.substr(*-16); say now - INIT now | ||
committable6 | timotimo, ¦2018.04.1: «313917983398108378836.4405407» ¦HEAD(9b915f0): «314079833981083788280.0876808» | ||
MasterDuke | i think there were some bugs fixed as well | ||
timotimo | it looks like it has one additional digit of accuracy | 19:57 | |
Voldenet | ah, makes sense | ||
thundergnat | Voldenet: the new optimization returns 1 more decimal place of precision than it use to | ||
El_Che | for free? or would be 1 decimal place less precision be faster? | 19:58 | |
thundergnat | I could have chopped it off, but it would have slowed it (marginally) for less precision... | ||
Voldenet | losing performance and precision doesn't sound like a good tradeoff | ||
thundergnat | At least, it would have complicated the algorithm. | 19:59 | |
El_Che | more precision it is, then :) | 20:00 | |
is it arch dependant? e.g. less in i386? | |||
(if so, it should be marked in the doc) | 20:01 | ||
thundergnat | El_Che It _shouldn't_ be dependent. At least, not unless the underlying VM is. | ||
It's all pretty high level. | |||
timotimo | that would be very weird | 20:02 | |
El_Che | cool | ||
timotimo | it just uses the integers we provide, i.e. mp_int for big integer and 64bit ints otherwise | ||
MasterDuke | thundergnat: btw, how did you come up with your change? i actually google around looking for faster algorithms and couldn't find anything | ||
thundergnat | Dumb luck? | 20:03 | |
I was working with large FatRats and the stringification was killing me. | |||
MasterDuke | heh. well, you write a blog post or something, get the info searchable | ||
thundergnat | I really wanted to return more decimal places of precision for FatRats in general but roast tests them a 6. | 20:04 | |
m: say FatRat.new(2/3) | |||
camelia | Type check failed in binding to parameter 'nu'; expected Int but got Rat (<2/3>) in block <unit> at <tmp> line 1 |
||
thundergnat | oops | ||
m: say FatRat.new(2,3) | |||
camelia | 0.666667 | ||
thundergnat | I wanted that to return .6666666666666667 | 20:05 | |
MasterDuke | have you checked the 6.c-errata branch of roast? if the tests you're talking about aren't there then we're way more free to change things | ||
otherwise, i'd suggest proposing it for 6.d | |||
thundergnat | If you are paying the performance penalty for FatRat calculations why not get the benefit? | 20:06 | |
20:19
athenot left
20:23
lasse_ left
20:33
cog_ joined,
vivus-ignis left
20:42
molaf left
20:44
sunnavy joined
20:46
mscha joined
20:50
margeas joined
20:51
markong left
20:52
comborico1611 joined
20:58
mscha left
21:06
raynold joined
21:14
fascinum joined
21:15
mikejw joined
|
|||
mikejw | hey guys | 21:15 | |
21:16
margeas is now known as markong,
cog_ left
|
|||
mikejw | I'm not sure how much luck I'm going to have but I've been playing around with Terminal::Print and getting confused by $*TERMINAL | 21:16 | |
it doesn't seem to be used/set in any of the examples | 21:18 | ||
AlexDaniel | grep: \$\*TERMINAL | 21:19 | |
greppable6 | AlexDaniel, 7 lines, 1 modules: gist.github.com/7eb4e350fee6a2d9a1...726f19ea03 | ||
mikejw | yeah it's the Widget module I was hoping to grok | 21:20 | |
geekosaur | looks like something not yet implemented | 21:21 | |
mikejw | hmm | ||
21:21
cog_ joined
|
|||
geekosaur | there was some early consideration for working with terminals other than the one currently connected to stdin/stdout, for testing purposes, later set aside | 21:23 | |
so $*TERMINAL presumably is intended to be whatever the current terminal device is | |||
21:23
vivus-ignis joined
|
|||
geekosaur | (curses has a similar mechanism, very rarely used) | 21:24 | |
mikejw | I'm stuck because I can't see how the examples attacks.p6 and rpg-ui.p6 seem to get around it | ||
21:24
robertle left
|
|||
mikejw | because they are using the Widget module | 21:25 | |
geekosaur | if I am reading this correctly, the only thing useful in $*TERMINAL is its grid, which is an in-memory representation of the widget's/window's/screen's contents | 21:27 | |
or intended contents; there will somewhere be a refresh/update handler that rebuilds the screen grid from what's visible on it and then outputs terminal commands to make it match the screen grid | 21:28 | ||
21:29
vivus-ignis left
|
|||
mikejw | ah ok so maybe the issue is I'm trying to basically animate something that doesn't exist yet | 21:35 | |
21:52
fascinum left
21:54
fascinum joined
|
|||
Ulti | 0.885s for my tests yay | 22:04 | |
22:04
vike1 left
22:05
vike joined
|
|||
Ulti | was 0.96s for the advent calendar | 22:07 | |
thundergnat | Ulti: Out of curiosity, what do your tests test? | 22:15 | |
22:16
zpc joined
22:17
athenot joined,
cog_ left
22:18
fascinum left
|
|||
Ulti | github.com/MattOates/BioInfo/blob/...equences.t | 22:23 | |
some basic manipulation and translation of DNA sequences | 22:24 | ||
but there is a grammar in there too along with a bunch of bag/hash manipulations | |||
basically its a good representative of the sorts of things you do in bioinformatics with sequence data | 22:25 | ||
thundergnat | Heh. I did a double take at first. I actually work with a Matt Oates... but you're not him. | ||
Ulti | just `perl6 -e 'say ""'` takes 0.258s | 22:26 | |
thundergnat: hah oh really?? | |||
are you sure :P | |||
also way to dox me in the logs jeees | |||
thundergnat | Unless you've snuck over to New Jersey, USA | 22:27 | |
Ulti | does your friend work as a tattoo artist? | ||
thats the main guy ruining my inbox at the moment | |||
thundergnat | Github link doxed you more effectively than I did. ;P | ||
Ulti | Im quite scared what anatomy Im going to get next from some of his female clients | ||
thundergnat: true | 22:28 | ||
22:31
lizmat joined
22:46
mikejw left
22:50
athenot left
|
|||
timotimo | Ulti: i imagine you don't want to change the code to make stuff faster, but | 22:50 | |
map *~*~*, $.sequence.uc.comb is better written as $.sequence.uc.comb(3), IMO | 22:51 | ||
hm, though | |||
m: say map *~*~*, "hello there".uc.comb(3) | |||
camelia | Too few positionals passed; expected 3 arguments but got 1 in block <unit> at <tmp> line 1 |
||
timotimo | right, so it has already been multiple of 3 letters | ||
goes from 0.66s to 0.50s on my machine for this change | 22:52 | ||
i can even get it a tiny bit faster by replacing .comb(/<-[\*]>+/) with .split("*", :skip-empty), but that part of the code is only responsible for about 1 or 2 percent of total run time anyway | 23:00 | ||
oh, fun, 41k deoptimizations in Any-iterable-methods.pm6's line 357 | |||
347* | |||
that's from IterateOneWithoutPhasers | 23:01 | ||
which is the routine that takes 24% exclusive time in total, and only has 44.7k entries anyway | |||
MasterDuke | how does that happen? the first 3k entries were all the same so it made an optimized version then the next 41k entries were all different? | 23:11 | |
timotimo | not necessarily, but possible i guess? | 23:12 | |
MasterDuke | any way to do better? | 23:13 | |
timotimo | let me first find out what exactly is deopting here | 23:17 | |
OK, it's guarding for a staticframe that it had inlined | 23:20 | ||
it had inlined the pull-one from Str's comb method | 23:21 | ||
MasterDuke | why is it de-opting? | ||
timotimo | because it's no longer encountering that code | 23:22 | |
MasterDuke | what is it getting instead? | ||
timotimo | the pull-one from Str's *other* comb method :) | 23:23 | |
MasterDuke | sibling rivalry rears its ugly head! | 23:24 | |
timotimo | line 360 is what was inlined, line 401 is the other | ||
at least the code already behaved like that before my changes :) | 23:26 | ||
23:30
wamba left
23:31
MasterDuke left
23:32
MasterDuke joined
|
|||
MasterDuke | Ulti: fwiw, .comb would be faster here github.com/MattOates/BioInfo/blob/...eq.pm6#L11 | 23:37 | |
m: my $s = ("a".."z").pick(*).join x 5; my @a; my $t = now; for ^100_000 { @a = $s.split("") }; say @a; say now - $t; | 23:38 | ||
camelia | [ m e v g z b h w a p q i u d x k j r l n t f o s c y m e v g z b h w a p q i u d x k j r l n t f o s c y m e v g z b h w a p q i u d x k j r l n t f o s c y m e v g z b h w a p q i u d x k j r l n t ...] 4.5703216 |
||
MasterDuke | m: my $s = ("a".."z").pick(*).join x 5; my @a; my $t = now; for ^100_000 { @a = $s.comb }; say @a; say now - $t; | ||
camelia | [e i x g s n t r y h b d m j o l v u k q c z w f a p e i x g s n t r y h b d m j o l v u k q c z w f a p e i x g s n t r y h b d m j o l v u k q c z w f a p e i x g s n t r y h b d m j o l v u k q c z ...] 4.103915 |
||
MasterDuke | also, you might be able to replace $.attribute with $!attribute in a bunch of places, that should be faster also | 23:40 | |
23:42
ufobat left
|
|||
timotimo | we can hopefully inline the accessor just fine in those cases, and that allows subclasses to work with these methods, too | 23:46 | |
really it's a question of API design | |||
23:47
athenot joined
23:57
markong left
23:59
w_richard_w joined,
espadrine left
|