»ö« 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:01 cpage_ left, ash_gti joined, scottchiefbaker left 00:02 Aaronepower joined 00:03 cpage_ joined 00:06 wamba left 00:07 char_var[buffer] joined
japhb I implemented the first non-trivial Str.Numeric. When true allomorphs became a thing, the bulk of that code was moved into val(Str:D). I claim no responsibility for the non-number-parsing bits of val(). 00:07
That said, at one point long ago I had a crazy Str.Numeric test that I used to like to demo. I wonder if I can find it again ... 00:08
Gah, search history for the irclogs is cut off 00:12
Zoffix :(
japhb I wonder if I can recreate it ...
Zoffix Do it :)
00:20 cdg joined
japhb This is only a partial, but my bus stop is coming up .... 00:22
m: say +'0xf.8*:2[1,0]**0b11/0o200+2.0e2i'
camelia 0.96875+200i
Zoffix ehehe :) neat :)
japhb IT. GETS. WORSE. ;-) 00:23
Zoffix japhb++
raschipi m: say +<0xf.8*:2[1,0]**0b11/0o200+2.0e2i>
camelia 0.96875+200i
raschipi m: say <0xf.8*:2[1,0]**0b11/0o200+2.0e2i> 00:24
camelia 0xf.8*:2[1,0]**0b11/0o200+2.0e2i
Zoffix it's a ComplexStr (which keeps the original string as its stringy representation) 00:25
00:25 cdg left
raschipi yep 00:25
m: say +<0xf.8*:2[1,0]**0b11/0o200+0xf.8*:2[1,0]**0b11/0o200i> 00:26
camelia 0.96875+0.96875i
00:29 aindilis joined 00:35 ash_gti left 00:42 ash_gti joined 00:45 ash_gti left 00:46 ash_gti joined 00:55 committable6 joined, committable6 left, committable6 joined 00:57 snarkyboojum joined
raschipi m: say +<0xf.8*:2[1,0]**0b11/0o200+0xf.8*:2[1,0]**0b11/0o200i > 01:06
camelia 0.96875+0.96875i
raschipi I thought adding a space made it quoting instead of a ComplexStr constructor? 01:07
01:07 ash_gti left 01:09 ChoHag left 01:11 Cabanossi left 01:12 Actualeyes joined 01:13 Cabanossi joined 01:21 cdg joined 01:25 cdg left 01:30 taki joined 01:36 zapwai left 01:42 Cabanossi left 01:43 Cabanossi joined 01:46 BenGoldberg joined, ilbot3 left 01:51 ilbot3 joined, ChanServ sets mode: +v ilbot3 01:54 taki left 02:03 cdg joined 02:09 cdg left 02:12 cuonglm joined
cuonglm Hi, anyone faces the issue with latest rakudo 02:17
m: Buf.new(200).decode('utf8')
camelia Malformed termination of UTF-8 string
in block <unit> at <tmp> line 1
cuonglm m: with '/tmp/test'.IO { .spurt: Buf.new: 200; dd .open.slurp } 02:18
camelia ""
cuonglm I traced the source and found the method which does the decode stream in MoarVM 02:19
MVM_string_utf8_decodestream
but I stuck there 02:20
02:20 noganex_ joined
raschipi It's complaining because 0b11001000 isn't proper utf-8 02:20
cuonglm raschipi: Yes, but decode from a file just return empty string 02:21
instead of malformed utf8 string
raschipi What's in the file? 02:22
teatime ^^ he did a demo
02:23 piojo2 joined, noganex left
raschipi You need to use utf-c8 if it's not proper unicode. It's a pain in the ass, Perl6 doesn't deal with broken Unicode at all. It just complains and refuses to do anything. 02:24
utf8-c8
cuonglm raschipi: it's a different problem 02:27
I mean the behavior is not consistent in this case
teatime cuonglm: I think he's right. by default slurp decodes utf8; you can specify :bin if you don't want that.
cuonglm teatime: but calling .decode('utf8') raise an error 02:28
teatime but, yeah, your two examples have the same fail and inconsistent.
cuonglm why does not .slurp raise one?
02:28 llfourn left
Geth doc: c0bee454cd | (Will "Coke" Coleda)++ | doc/Type/IO/Handle.pod6
use nbsp
02:29
02:35 eliasr left, kyan left
[Coke] .seen Altai-man? 02:38
yoleaux I haven't seen Altai-man? around.
[Coke] .seen Altai-man
yoleaux I haven't seen Altai-man around.
02:40 Cabanossi left 02:41 piojo2 left
jdv79 moritz: around? 02:42
02:43 Cabanossi joined
raschipi Altai-man irc nick is sena-kun 02:44
.seen sena-kun
yoleaux I saw sena-kun 16 Feb 2017 16:43Z in #perl6: <sena-kun> btw, I'll merge github.com/perl6/doc/pull/1192 as, it seems, nobody is against and we planned it for a while. After the merge github.com/perl6/doc/issues/776 will be closed.
[Coke] .tell sena-kun the grep signature added to Any in the docs has an extra --> ; the method sig doesn't compile. you can see the error with "perl6 xt/examples-compilation.t doc/Type/Any.pod6" 02:47
yoleaux [Coke]: I'll pass your message to sena-kun.
02:50 AlexDaniel left
cuonglm jnthn: would you mind helping us resolve this problem 02:52
02:54 pilne left 02:55 zoll left 02:58 zoll joined
teatime I would have expected both of those to return a Failure; neither do. but then, I am a n00b. 03:00
cuonglm teatime: I think it should be a Failure, too. Anyway, either Failure or empty string, it must be consistent 03:05
03:10 Xliff joined
Xliff \o 03:10
03:12 raschipi_ joined
Xliff Is starting a new thread after the current sub exits as simple as: sub a { ... #do someting; start { ... #more something; } } 03:12
Where "a" is also executed via start 03:13
03:14 raschipi left 03:15 raschipi_ is now known as raschipi
jdv79 Zoffix: just backlogged. i think i found the issues with the utf8 logging 03:27
told moritz cause i can't do it
hopefully soon. and yeah, logs are hosed since july 21 or so.
gotta love mysql 03:28
03:29 pierrot_ is now known as pierrot, pierrot left, pierrot joined 03:30 AlexDaniel joined 03:35 Actualeyes left 03:41 xinming joined 03:45 cdg joined
teatime .tell Zoffix re: IRC::Client::Plugin::Factoid and maybe IRC::Client : Curious if you were aware that bots aren't supposed to reply to NOTICE's, and if so how come you chose to do otherwise. Also curious if the Factoid plugin is still something you're actively using/developing; I'm planning some changes, willing to coordinate design changes and pushing them upstream if you'd like. 03:46
yoleaux teatime: I'll pass your message to Zoffix.
03:47 dogbert2 left 03:50 cdg left 03:55 Cabanossi left 03:58 Cabanossi joined 04:00 llfourn joined 04:07 u-ou- joined
u-ou- hi 04:07
sjn hello 04:12
04:13 cuonglm left 04:32 cdg joined 04:36 BenGoldberg left 04:37 cdg left 04:41 u-ou- left 04:43 cpage_ left
Geth doc: 176b25c312 | (Samantha McVey)++ | doc/Type/utf8.pod6
Document utf8 type

Fixes issue #1516
04:48
skids bisect: sub f ($a = 42) { $a.perl.say; }; f(Nil) 04:52
bisectable6 skids, On both starting points (old=2015.12 new=c39db87) the exit code is 0 and the output is identical as well
skids, Output on both points: «Nil»
skids commit: releases sub f ($a = 42) { $a.perl.say; }; f(Nil) 04:53
committable6 skids, ¦releases (22 commits): «Nil» 04:54
05:00 AlexDaniel left 05:07 cdg joined 05:12 cdg left 05:13 khw left 05:14 leah2 joined 05:17 xinming left, xinming joined
moritz \o 05:20
05:20 cdg joined
raschipi \o 05:21
05:22 cpage_ joined
moritz m: say "UTF-8 test: €"; 05:24
05:24 ilbot3 left
camelia UTF-8 test: € 05:24
05:25 cdg left, ilbot3 joined, ChanServ sets mode: +v ilbot3, ilbot3 left
teatime is there an offtopic/social perl6 channel? 05:25
raschipi this one 05:26
05:26 ilbot3 joined, ChanServ sets mode: +v ilbot3 05:27 ilbot3 left 05:28 ilbot3 joined, ChanServ sets mode: +v ilbot3
raschipi is it tea time? 05:28
05:28 ilbot3 left 05:29 ilbot3 joined, ChanServ sets mode: +v ilbot3, ilbot3 left, ilbot3 joined, ChanServ sets mode: +v ilbot3
teatime raschipi: somewhere, no doubt :) 05:30
moritz m: say "UTF-8 test: €"; 05:31
camelia UTF-8 test: €
moritz jdv79++ # that fixed it, thanks!
raschipi YAY! moritz++ jdv79++ jdv79++ jdv79++
␤␤␤␤␤␤␤␤␤␤ 05:32
teatime if both Readline and Linenoise are installed, which does the REPL use? (i.e., which is better)
masak those are two unrelated questions :P
teatime fair enough :) curious about both, then, but most interested in the second. 05:33
moritz rakudo tries to load readline first 05:35
and my experience with linenoise is that it doesn't deal with non-ASCII very well
05:37 wamba joined
teatime ah right. thanks. 05:38
05:42 xtreak joined 05:52 domidumont joined 05:57 cdg joined, domidumont left 05:59 domidumont joined 06:00 nadim joined 06:01 leont joined 06:02 cdg left, lowbro joined, lowbro left, lowbro joined, Actualeyes joined 06:04 espadrine joined 06:05 ufobat joined 06:08 domidumont left 06:11 Cabanossi left 06:13 geekosaur left 06:14 Cabanossi joined 06:17 leont left 06:18 geekosaur joined 06:21 raschipi left 06:23 xtreak left 06:24 sumdoc joined, astj left, astj joined
sumdoc Help from the experts 06:24
Here github.com/bduggan/p6-jupyter-kernel/issues/14 06:25
Reevant question and more details here stackoverflow.com/questions/460574...-in-docker
Xliff Is starting a new thread after the current sub exits as simple as: sub a { ... #do someting; start { ... #more something; } } 06:30
06:33 xtreak joined 06:35 ChoHag joined
moritz Xliff: start { } creates a promise; that might get scheduled on another thread, or it might not 06:35
and you should do something with the promise that start { } returns 06:36
Xliff OK, so how do you insure that something is done on another thread?
Or is that even something worth worrying about (ie, leave it to rakudo)
moritz depends on what you want to achieve
Xliff 'k 06:37
moritz but typically you don't want to worry about it
Xliff I'm trying to develop a flood fill that doesn't take forever.
moritz and let the thread scheduler take care of it
Xliff So I'm toying with threading.
No code, just logically.
06:38 xtreak left
Xliff So can you start a thread, then start another thread and then wait for both to finish? 06:38
I don't know if await {} blocks.
sumdoc "p6: my $string = "The problem is a bit difficult"; say "The input contains " ~ $string.words.elems ~ " elements.";" 06:39
Xliff I have been shying away from start/awake/promise/suppy/tap for a while. They hurt
sumdoc rakudo: my $string = "The problem is a bit difficult"; say "The input contains " ~ $string.words.elems ~ " elements.";
camelia The input contains 6 elements.
sumdoc rakudo: my $string = "The problem is a bit difficult"; say "The input contains " ~ $string.words.elems ~ " elements.";
camelia The input contains 6 elements.
sumdoc camelia p6: my $string = "The problem is a bit difficult"; say "The input contains " ~ $string.words.elems ~ " elements."; 06:40
camelia The input contains 6 elements.
sumdoc camelia p6: my $string = "The problem is a bit difficult"; say "The input contains " ~ $string.words.elems ~ " elements."; 06:41
camelia The input contains 6 elements.
moritz Xliff: await blocks, yes
06:43 lizmat_ joined 06:44 cdg joined, ChoHag left 06:46 lizmat left 06:47 geekosaur left 06:49 cdg left 06:52 u-ou- joined 06:54 u-ou- left, astj left 06:55 astj joined
Xliff moritz: So await blocks are non-blocking? 06:57
06:58 astj left, astj joined
moritz there are no await blocks 06:59
await is a simple statement
Xliff Oh!
await actually takes a list. So I start each task, keep the promises, and pass the list to await.
06:59 geekosaur joined
Xliff Docs are useful. :P 06:59
<- :P 07:00
I guess I'll have to implement this without concurrency, first. 07:01
:/
moritz++
07:11 darutoko joined, skids left, Cabanossi left 07:13 Cabanossi joined 07:18 TEttinger is now known as regnittET, cuonglm joined 07:19 lizmat_ left, espadrine left 07:20 cdg joined 07:21 astj left, xtreak joined 07:22 astj joined 07:24 lizmat joined 07:25 cdg left
Geth doc: 1894585092 | (Samantha McVey)++ | doc/Type/utf8.pod6
Try and improve the search for utf8 class
07:25
07:26 xtreak left, wamba left 07:27 abraxxa joined 07:32 regnittET is now known as TEttinger 07:38 cdg joined 07:43 cdg left 07:57 xtreak joined
nine Is this something worth pursuing? gist.github.com/niner/a75aebd0e91a...33d82aa5af 07:59
One of the examples from this gist: sub ls($dir?, :$l, :$help) is command { * }; like(ls(:help).out.lines[0], /Usage/); 08:00
08:01 xtreak left, jonas1 joined
moritz nine: it looks very nice :-) 08:01
08:02 xtreak joined 08:03 xtreak left, xtreak joined
nine We have so nice command line parsing, but running external commands is still kinda cumbersome and error prone. This could e.g. help catch typos. 08:03
08:06 robertle joined
moritz just have to be careful with things that are both Perl 6 built-ins and command shell commands ("grep" and "sort" come to mind) 08:07
08:08 xtreak left
teatime nine: random thought: if you're assuming GNU conventions, have it pass "--" as the first positional argument so that your positionals can't be interpreted as flags 08:10
nine Good thing, these are lexical. Also an sub grep-cmd(...) is command('grep') { * } can work around that
teatime you could support different conventions (e.g., some commands use single dash for -long-options), but I feel like the ROI is quickly diminishing 08:11
nine teatime: that depends on the command. I fear, support for '--' is not universal enough to have it included by default. But another trait may help. Something short and sweet...
Yeah, this is really a "make simple things easy" thing 08:12
08:12 AlexDaniel joined 08:14 snarkyboojum left
teatime nine: and of course short and long options can take arguments. but that shouldn't be a problem. 08:15
08:15 dakkar joined
teatime nine: it's interesting... my initial reaction was "No, I don't really think so..." but I am coming around maybe. 08:16
nine Arguments are actually already implemented :) Just not tested yet...
teatime oh nice, I thought this was just a hypothetical design spec :) 08:17
08:17 cdg joined
nine Oh, and for really non-standard arugments, one can just write a sub tar(:$c, :$v, :$f) { return Native::Command::Prepared(:name<tar>, :args(...)); } and give it the same interface for running that way 08:18
08:18 AlexDaniel left
moritz note that GNU tar also supports -c -v -f :-) 08:19
nine Values now tested, too: like(ls('lib', :format<verbose>).out.lines[0], /total/); 08:20
moritz but having that flexibility certainly helps
nine moritz: I know, but I can't think of an example for a weird command
08:20 wamba joined 08:22 cdg left
teatime nine: dd? 08:24
also ps kindof; it behaves differently when given "BSD-style" (dashless) flags 08:25
moritz I think I'd map ps as simply ps('el') 08:30
08:30 zakharyas joined
moritz or ps(:a, :u, :x, :f) for option-style passing 08:30
dd is more interesting, yes 08:31
08:31 ufobat left
sumdoc I have written on running Perl 6 notebook. See here: sumdoc.wordpress.com/2017/09/06/ho...-notebook/ 08:33
Feedback?
08:34 lizmat left 08:35 robertle left
moritz tries it 08:35
timotimo neat 08:37
though it sounds like using docker is the only way to run the perl6 notebook from the first lines of the post
is that just me?
moritz probably not 08:38
just look at the dockerfile and see what it does
sloow download, I get less then 1 MBit/s from dockerhub 08:39
08:40 xtreak joined
timotimo no i mean 08:40
jast turns out hosting large blobs for something very popular takes a little bit of bandwidth...
timotimo the article makes it sound like you have to have docker if you want to run a perl6 notebook
jast however, Dockerfile refers to the declarative file defining how the actual image is built
and I guess you knew that, I wasn't paying enough attention :) 08:41
moritz timotimo: not to me
timotimo that's good, then :)
moritz jast: I would have thought that Docker used a beefy CDN for that :) 08:42
jast someone needs to pay for that, too :)
nine To me the article even sounds like perl6 notebook is closely tied to docker 08:44
duckduckgo.com/?q=PERL+6+NOTEBOOK&...a=software gives the same impression 08:45
Of course I have no idea what a Perl 6 notebook actually is :) So there's nothing to distract me from its dockerness 08:47
08:47 xtreak left
moritz wow, works very nicely 08:49
a jupyter notebook is like a web-based REPL
originally known as ipython 08:50
if you're familiar with the graphical execution environment from Mathematica or Maple: it's similar to that
08:50 lizmat joined
sumdoc timotimo moritz Edited the post. Ofcourse docker is not only the way to run the notebook. I have edited the post. 08:51
nine Edited the post.
08:52 rindolf joined
timotimo looks good! 08:53
sumdoc timotimo Thanks
08:54 mtj_ left
nine sumdoc: thanks! 08:55
moritz sumdoc++
wow, rakudo-in-jupyter uses lots of CPU in idle state :( 08:56
no syscalls 08:57
08:57 Skarsnik joined 08:58 pmurias joined
sumdoc moritz CPU ? Could that be problem in the Perl 6 kernel or in rakudo itself? 08:59
08:59 Aaronepower left, Sgeo_ left
moritz sumdoc: I'd guess the Perl 6 kernel 08:59
unless it's some sort of socket bug in rakudo or moar 09:00
09:00 cdg joined 09:03 [particle] left
sumdoc moritz OK 09:03
El_Che Who twits from the Perl 6 news feed?
the guy/gal is fast 09:04
zoffix?
cuonglm Does perl6 -e 'dd $*IN.opened()' 0<&-
returns Bool::True normal?
09:04 [particle] joined 09:05 cdg left
cuonglm most standard unix tools will honor it 09:05
echo 1 | grep 1 0<&-
give you
grep: (standard input): Bad file descriptor
greppable6 cuonglm, Found nothing!
moritz El_Che: me
cuonglm greppable6: what do you mean? 09:06
greppable6 cuonglm, gist.github.com/9c4b7bd93581c2ac71...b79a54687b
El_Che moritz: direct from #perl6 to the tweetsphere :)
09:06 xtreak joined
moritz cuonglm: what does 0<&- even do? 09:06
09:06 Aaronepower joined
moritz El_Che: :-) 09:07
cuonglm moritz: it closes command standard in
that's why grep complains about bad file descriptor
moritz cuonglm: does the shell close the file descriptor before launching the process? 09:08
if yes, that sounds like a bug in rakudo 09:09
jnthn I suspect .opened only tracks if the thing was opened at some point and .close wasn't yet called on it 09:10
cuonglm jnthn: yep, I check the source and see it checks whether $!PIO is true, which only set to null when close fd 09:12
moritz: yes, it does 09:13
sounds like perl5 also doesn't honor it
perl -e 'close(STDIN)' 0<&-
jnthn: But I think the problem is nqp itself 09:14
pmurias what does the 'is onlystar' trait do? 09:16
cuonglm jnthn: nqp -e 'nqp::closefh(nqp::getstdin());' 0<&-
timotimo it is set if a sub's body is { * }
i.e. "only a star"
jnthn cuonglm: What were you expecting that to do? 09:17
09:17 sproctor joined
pmurias how is inlining possible in the existance of .wrap? 09:17
cuonglm jnthn: it should report an error, like something like grep does in echo 1 | grep 1 0<&- 09:18
jnthn cuonglm: Closing something that's already closed is never an error.
cuonglm: I'm betting if you try to read from it you'll get an error though?
09:19 Actualeyes left
cuonglm jnthn: no error at all 09:19
perl6 -e 'dd $*IN.read()' 0<&-
BooK m: my $c = { cos $^a }; say &$c(0); 09:20
camelia 1
BooK m: my $c = { cos * }; say &$c(0)
camelia Cannot resolve caller cos(Whatever); none of these signatures match:
(Numeric \x)
(Cool \x)
(num $x --> num)
in block <unit> at <tmp> line 1
BooK what's the difference? 09:21
jnthn Hm, curious. That goes straight down to github.com/MoarVM/MoarVM/blob/mast...ile.c#L140
moritz BooK: * doesn't unfold its magic in an argument list
because there are cases where we want to be able to pass it to a routine, like in (^10).pick(*)
cuonglm jnthn: also, echo 1 | perl6 -e 'say $*IN.readchars' 0<&- just hang
jnthn Which is checking the return code from read, which implies the read down at *that* level isn't complaining either.
BooK so 1 + * does, but not cos(*) ?
moritz BooK: correct 09:22
use &cos :-)
cuonglm jnthn: sounds like nqp does something with stdin under the hood
BooK aha!
jnthn cuonglm: Well, that'd be consistent with read returning 0
cuonglm: We don't do anything with stdin
moritz BooK: or if you have multiple arguments, you can use .assuming to pre-fill some arguments
BooK oh, I thought you meant &cos(*) :-)
moritz no, just &cos
it's already a reference to the callable 09:23
cuonglm jnthn: is there any case where nqp::closefh raise an error
09:23 AlexDaniel joined
timotimo cuonglm: calling it on something that's not an fh 09:23
m: use nqp; nqp::closefh("hello")
camelia close requires an object with REPR MVMOSHandle (got Str with REPR P6opaque)
in block <unit> at <tmp> line 1
09:24 sumdoc left
cuonglm timotimo: yes, but in case it always get a fh 09:25
jnthn github.com/MoarVM/MoarVM/blob/mast...ile.c#L473 is where the VM-level handle is populated with the fd, and that's called from github.com/MoarVM/MoarVM/blob/df40...ops.c#L327 which is called from github.com/MoarVM/MoarVM/blob/e0ec...oar.c#L341
09:25 Sgeo joined
cuonglm timotimo: because I grep 'TODO' in rakudo source code, and got this line on IO/Handle.pm 09:25
timotimo: nqp::closefh($!PIO), # TODO: catch errors
BooK moritz: my $c = *.cos ; say &$c(0); # worked, but 09:26
m: my $c = { &cos.assuming(*) } ; say &$c(0);
camelia sub __PRIMED_ANON ($) { #`(Sub+{Callable[Mu]}|72360416) ... }
BooK I guess one too many levels of indirection
jnthn It can actually throw: github.com/MoarVM/MoarVM/blob/mast...ile.c#L239
BooK ah $c(0)
moritz m: my $c = &cos; say $c(0)
camelia 1
jnthn But it clearly isn't in this case
moritz m: my $c = *.cos; say $c(0) # method form 09:27
camelia 1
moritz m: my $c = &cos.assuming(); say $c(0)
camelia 1
moritz m: my $c = &cos.assuming(*); say $c(0)
camelia 1
moritz BooK: these are the possibilities I can think of right now 09:28
m: my &a = &atan2.assuming(*, 0.5); say a(1); say atan2(1, 0.5)
camelia 1.10714871779409
1.10714871779409
09:30 Aaronepower left 09:31 Aaronepower joined
cuonglm jnthn: how can I check a nqp op return code 09:31
jnthn: the nqp ops document does not tell anything about return code, just the ops signature 09:32
09:32 TEttinger left
jnthn Then it probably doesn't have one 09:32
09:33 xtreak left, lowbro left
jnthn Though can check the mapping in the compiler docs 09:33
But if there is a return code then the op just evaluates to it
s/compiler docs/compiler/
cuonglm jnthn: thanks
also, I have a question this morning, I think you can help 09:34
m: Buf.new(200).decode('utf8')
camelia Malformed termination of UTF-8 string
in block <unit> at <tmp> line 1
cuonglm m: with '/tmp/test'.IO { .spurt: Buf.new: 200; dd .open.slurp }
camelia ""
09:34 lizmat left
cuonglm decode from a stream return empty string for an invalid utf 8 09:34
jnthn That one's RT'd
cuonglm jnthn: I dig into the source of MoarVM 09:35
jnthn Thanks, any help is welcome, especially if it leads to patches :)
09:35 AlexDaniel left
cuonglm jnthn: I stuck at MVM_string_utf8_decodestream 09:36
jnthn Stuck how?
cuonglm jnth: github.com/MoarVM/MoarVM/blob/mast...tf8.c#L320
jnthn: github.com/MoarVM/MoarVM/blob/mast...tf8.c#L320
09:37 lizmat joined
cuonglm jnthn: I doesn't fully understand how it works, I think the problem comes from this loop github.com/MoarVM/MoarVM/blob/mast...tf8.c#L467 09:37
09:38 lizmat_ joined
cuonglm jnthn: if I increase the number to2000000 09:39
then an error raised
m: with '/tmp/test'.IO { .spurt: Buf.new: 2000000; dd .open.slurp }
camelia Malformed UTF-8
in block <unit> at <tmp> line 1
09:40 lizmat__ joined 09:41 lizmat__ left, Cabanossi left, lizmat left 09:42 lizmat_ left 09:43 lizmat joined, Cabanossi joined 09:44 sumdoc joined
sumdoc How to install perl 6 modules directly from github with zef? 09:44
09:46 cdg joined, cuonglm left
sumdoc How to install perl 6 modules directly from github with zef? 09:49
Skarsnik zef install url doest not work?
sumdoc Which url to use? Is it the same as cloning url like the one with git clone? 09:50
Skarsnik
09:50 cdg left
Skarsnik no idea 09:51
09:58 Aaronepower left 09:59 Aaronepower joined 10:02 xtreak joined 10:06 xtreak left 10:07 sumdoc left 10:08 Aaronepower left 10:10 stux|RC-only left 10:12 astj left, Cabanossi left 10:13 astj joined, Aaronepower joined, Cabanossi joined 10:14 astj left, astj joined 10:15 someuser joined 10:16 stux|RC-only joined
Zoffix . 10:18
yoleaux 03:46Z <teatime> Zoffix: re: IRC::Client::Plugin::Factoid and maybe IRC::Client : Curious if you were aware that bots aren't supposed to reply to NOTICE's, and if so how come you chose to do otherwise. Also curious if the Factoid plugin is still something you're actively using/developing; I'm planning some changes, willing to coordinate design changes and pushing them upstream if you'd like.
teatime \o 10:20
Zoffix teatime, because replies to NOTICE are useful to me and I couldn't care less what the RFC no one is following strictly says. I'm not developing Factoid at the time, though IIRC it does have a DESIGN document that describes functionality it was planned to have
teatime fair enough, I kindof figured that on the NOTICEs 10:21
10:25 Aaronepower left 10:26 Aaronepower joined, ShalokShalom_ joined 10:29 ShalokShalom left 10:31 Aaronepower left, llfourn left, Aaronepower joined 10:37 abraxxa left 10:38 abraxxa joined
stmuk releasable6: next? 10:41
releasable6 stmuk, I cannot recognize this command. See wiki for some examples: github.com/perl6/whateverable/wiki/Releasable
jnthn releasable6: status
stmuk releasable6: status
releasable6 jnthn, Next release in 10 days and ≈8 hours. 1 blocker. Changelog for this release was not started yet
stmuk, Next release in 10 days and ≈8 hours. 1 blocker. Changelog for this release was not started yet
jnthn, Details: gist.github.com/86e9e538e421f9e427...a0ddd99be2
stmuk, Details: gist.github.com/c83291df8738109e92...bf4eb04e45
stmuk snap!
jnthn hah
10:42 Cabanossi left 10:43 Cabanossi joined
pmurias jnthn: did you think about randomizing our hashes (so that the hash lookup can't be O(n)'ed by malicious) data, or is that waiting for a volunteer? ;) 10:45
10:45 Aaronepower left 10:46 Aaronepower joined
jnthn Waiting for a victi^Wvolunteer :) 10:46
I'm fully in agreement with it happening
timotimo re-hash everything every time we major gc 10:47
jnthn :P
It's just a case of picking a random seed (and making sure it really is that) at startup, I think?
Though whoever does this should really talk to the Perl 5 folks that worked on this 10:48
Since there were subtleties
10:52 imcsk8 left, imcsk8 joined 10:53 eliasr joined 10:54 Aaronepower left
Zoffix Spotted this in my grocery store last night and, seeing it's made in Toronto, I'm convinced there's a bunch of people betting each other on which outrageous company name they can get away with: i.imgur.com/qcu4G6V.jpg 10:55
Geth whateverable: daeee06e3e | (Aleks-Daniel Jakimenko-Aleksejev)++ | bin/Releasable.p6
Add “next” as one of the options

Also, stop caring about the case.
Issue #231, test needed.
10:57
10:57 releasable6 left, margeas joined, releasable6 joined 10:58 mtj_ joined 11:00 AlexDaniel joined
AlexDaniel 🍕 11:01
hm, interesting. ␤ is now working in the clog
but not 🍕
11:03 stmuk_ joined
pmurias randomising hashes will also be usable to users (and roast test writers) as they will be no longer able to hard code hash order in tests 11:04
timotimo aye
jnthn Aye
11:05 stmuk left 11:06 cdg joined 11:08 Aaronepower joined
AlexDaniel .tell jdv79 Nice! You're awesome! But what about 🍕? 11:08
yoleaux AlexDaniel: I'll pass your message to jdv79.
AlexDaniel .tell jdv79 ( U+1F355 SLICE OF PIZZA [So] (🍕) ) 11:09
yoleaux AlexDaniel: I'll pass your message to jdv79.
AlexDaniel m: error!
camelia 5===SORRY!5=== Error while compiling <tmp>
Bogus postfix
at <tmp>:1
------> 3error7⏏5!
expecting any of:
infix
infix stopper
statement end
statement modifier
statement modifier loop
11:11 cdg left
AlexDaniel .tell jdv79 and while you're at it… any chance of improving the handling of irc colors? (“5===SORRY!5===” irclog.perlgeek.de/perl6/2017-09-06#i_15124087 ) 11:11
yoleaux AlexDaniel: I'll pass your message to jdv79.
pmurias should 'a' x 1073741824 working be specced? 11:13
the test description is "repeat count equal to the NQP limit works" 11:15
and we die for ones that are bigger then the NQP limit
11:20 AlexDaniel left
pmurias seems like very MoarVM specific behavior 11:20
11:22 zakharyas left 11:24 itaipu joined
Zoffix pmurias: yeah, roast shouldn't mention such implementation details. That test could be moved to rakudo's test suit, unless we wish to spec some limits as mandatory for all implementations to follow 11:25
(by implementation detail I mean writing the spec that says "language must behave like this because NQP behaves like this at this time") 11:29
11:32 wamba left 11:33 jameslenz left
Ulti has anyone other than timo checked out this tweet twitter.com/antonijnb/status/892815456121348097 11:40
perl6 --target=parse spt made my laptop literally meltdown and I had to kill it after 22m53.092s
timotimo oof
Ulti if you do target ast it pops out straight away!
El_Che Ulti: literally? 11:41
timotimo could be we have an infinite loop or infinite recursion somewhere
Ulti and the total "time" for running with empty input is about 650ms but with only 40ms of that being the actual code
El_Che: literally
11:41 Cabanossi left
Ulti there is something lurking in the deep 11:41
and it had 100% CPU residency
it wasnt just sat there
El_Che the laptop is liquified and now in a cup? :)
Ulti hah 11:42
well its now really hot to touch
even on the keyboard side
El_Che I imagine
11:43 ShalokShalom_ is now known as ShalokShalom, Cabanossi joined
cono is there any reason why am I getting Nil instead of any? paste.org.ru/?kxwxig 11:43
Zoffix Ulti: I don't see anyone asking what version the user uses :) For all we know, they're running 2013 version from dist's repos 11:45
cono: that's new behaviour. Nil means lack of value; Any is just the default default default-typed variables have 11:46
And you get that default if you assign a Nil into such a variable
cono m: my $x = Any; $x.say 11:48
camelia (Any)
Zoffix m: my $x = Nil; $x.say
camelia (Any)
Zoffix m: my $x is default(42) = Nil; $x.say
camelia 42
Zoffix m: my Int $x = Nil; $x.say
camelia (Int)
cono totally lost :D 11:49
m: sub qwe() {return Any}; my $x = qwe(); $x.say 11:51
camelia (Any)
Zoffix cono: you can tell the variable what ita default value is. Since Nil means no value, if you assign it to the variable, you get its default value. The default default is a type object of the same type as explicit type constraint on the variable, unless there isn't one, in which case it's Any
11:51 sena_kun joined
cono ok, but I'm getting Nil instead of Any 11:52
timotimo Zoffix: this problem is the other way around
maybe something in the way the regex engine calls action methods
Zoffix cono: In other words, there's nothing special about Any to mandate it beimg returned 11:53
cono: oh sorry, I should've read your code more carefully
cono but why its returned from sub but returns Nil when I'm doing it in Actions.make
yeah :)
timotimo m: "hi" ~~ /../; make Any; say $/.made.perl
camelia Nil
timotimo m: "hi" ~~ /../; make 1; say $/.made.perl
camelia 1 11:54
timotimo m: "hi" ~~ /../; make Nil; say $/.made.perl
camelia Nil
timotimo okay, more likely about the make sub or method
Zoffix I know the answer
Zoffix types
cono: so all the stuff I explained about Nil being more appropriate than Any to return and that being new behaviour..... it's implemented using too broad a stroke and assumes that any type object being made means no match 11:55
cono: and it needa to be fixed in rakudo to return a Nil only when the value it's testing is an NQPMu, right now it's using nqp::isconcrete 11:56
and Any ain't it
timotimo oh, interesting
that's also the bug that hit YAMLish
11:56 cuonglm joined
Zoffix bisect: '' ~~ /^/; say $/.made 11:57
bisectable6 Zoffix, Bisecting by output (old=2015.12 new=c39db87) because on both starting points the exit code is 0
cono yes, i'm trying to use YAMLish and found this in the tests :)
Zoffix Yeah, same commit as what affected YAMLish
bisectable6 Zoffix, bisect log: gist.github.com/8e36dcbd2d11b8a8c7...c24de8b51d
Zoffix, There are 20 candidates for the first “new” revision. See the log for more details
Zoffix c: 2017.06 '' ~~ /^/; say $/.made
committable6 Zoffix, ¦2017.06: «No such method 'gist' for invocant of type 'NQPMu'. Did you mean 'isa'?␤ in block <unit> at /tmp/9iYM9kyYWZ line 1␤ «exit code = 1»»
Zoffix bisect: old=2017.06,new=HEAD '' ~~ /^/; say $/.made 11:58
bisectable6 Zoffix, Bisecting by exit code (old=2017.06 new=c39db87). Old exit code: 1
Zoffix, bisect log: gist.github.com/0dcd9f5ec89096b4f8...26a8cba701
Zoffix, (2017-08-21) github.com/rakudo/rakudo/commit/5d...72387e9f75
Zoffix Chatting on phone while walking ain't fun :)
cuonglm Zoffix: Hi there 11:59
Zoffix: I have a discussion with jnthn about a RT ticket you raise
m: with '/tmp/test'.IO { .spurt: Buf.new: 200; dd .open.slurp };
camelia ""
Zoffix cono, Yeah, it's that commit ^. The isconcrete needs to be changed to something that tests for NQPMu and then your problem will be fixed 12:00
cuonglm but
m: with '/tmp/test'.IO { .spurt: Buf.new: 2000000; dd .open.slurp };
camelia Malformed UTF-8
in block <unit> at <tmp> line 1
cuonglm work as expected
timotimo m: '' ~~ /^/; say $/.made ~~ Mu 12:01
camelia True
timotimo m: '' ~~ /^/; say $/.made ~~ Any
camelia True
cuonglm Zoffix: I trace the source and found the function do the decode stream here github.com/MoarVM/MoarVM/blob/mast...tf8.c#L320
timotimo oh, that's not where nqpmu lives
cuonglm Zoffix: any suggestion how to fix?
cono Zoffix: thanks. Will take a look. But not sure that I get it :) 12:02
12:02 Aaronepower left
Zoffix cuonglm: no, no idea. Perhaps samcv++ would know more 12:08
timotimo: perhaps the fix should be in NQP somewhere? The reason it started giving NQPMu was due to Match + Cursor merge 12:09
cono: the reason you're not getting Any in your program is because of a bug in rakudo :)
cono: you could work around it by `make`ing only objects, not type objects. 12:10
timotimo i assume NQPMu will show up as derived from rakudo's Mu, but we can just accept any value that's not nqp::isconcrete, but derived from rakudo's Any
12:11 Cabanossi left
Zoffix c: 2017.06 '' ~~ /^/; say $/.made.^mro 12:11
committable6 Zoffix, ¦2017.06: «No such method 'gist' for invocant of type 'NQPMu'. Did you mean 'isa'?␤ in block <unit> at /tmp/0iP3SXsXk4 line 1␤ «exit code = 1»»
Zoffix c: 2017.06 '' ~~ /^/; say $/.made.^mro.map: {.^name}
cuonglm Zoffix: How to notice samcv, I'm in Vietnam, a different timezone with all of you :(
committable6 Zoffix, ¦2017.06: «(NQPMu)»
[Coke] you can use ".tell samcv <message>"
Zoffix cuonglm: type .tell samcv your message and the bot will relay the message
.tell cuonglm Tôi có một anh chị em ruột người Việt Nam. 12:12
yoleaux Zoffix: I'll pass your message to cuonglm.
cuonglm .tell Zoffix "Thật ngạc nhiên, bạn có thể nói tiếng Việt" 12:13
yoleaux 12:12Z <Zoffix> cuonglm: Tôi có một anh chị em ruột người Việt Nam.
cuonglm: I'll pass your message to Zoffix.
Zoffix :)
yoleaux 12:13Z <cuonglm> Zoffix: "Thật ngạc nhiên, bạn có thể nói tiếng Việt"
12:13 Cabanossi joined 12:15 wamba joined, piojo2 joined
Zoffix c: 2017.06 use nqp; '' ~~ /^/; dd nqp::istype($/.made, Mu) 12:16
committable6 Zoffix, ¦2017.06: «0»
Zoffix timotimo: that looks like a decent enough test on its own, eh? Since all Rakudo objects are Mus
Zoffix hackety hacks 12:17
timotimo hmm.
we have to type all variables Mu if we want to assign a thing from nqp
which led me to believe that nqp objects would have to typecheck true as Mu
jdv79 moritz: did you alter the table?
yoleaux 11:08Z <AlexDaniel> jdv79: Nice! You're awesome! But what about 🍕?
11:09Z <AlexDaniel> jdv79: ( U+1F355 SLICE OF PIZZA [So] (🍕) )
11:11Z <AlexDaniel> jdv79: and while you're at it… any chance of improving the handling of irc colors? (“5===SORRY!5===” irclog.perlgeek.de/perl6/2017-09-06#i_15124087 )
jdv79 .tell AlexDaniel i'm guessing the 4 byte unicode fix just hasn't been implemented yet 12:18
yoleaux jdv79: I'll pass your message to AlexDaniel.
jdv79 .tell AlexDanial i don't have ddl write type privs on the db so its all moritz 12:19
yoleaux jdv79: I'll pass your message to AlexDanial.
12:19 wamba left 12:29 raschipi joined, MARTIMM joined
[Coke] m: class utf8 does Blob[uint8] {} 12:34
camelia 5===SORRY!5=== Error while compiling <tmp>
P6opaque: missing attribute protocol in compose of utf8
at <tmp>:1
[Coke] .tell samcv the class definition you give for utf8 in the docs doesn't compile.
yoleaux [Coke]: I'll pass your message to samcv.
12:38 wamba joined
Zoffix .tell cono the latest and greatest Rakudo has a fix for your issue. You should be getting your Any again: github.com/rakudo/rakudo/commit/d0d105b8b6 12:43
yoleaux Zoffix: I'll pass your message to cono. 12:44
Zoffix
.oO( make Match's .made Any again! )
Skarsnik hm nobody did a orm yet? 12:47
12:47 zakharyas joined 12:50 wamba left, perlpilot joined
timotimo there's one called "quicky" 12:51
13:01 AlexDaniel joined 13:02 xtreak joined 13:04 xtreak left, cdg joined
moritz jdv79: I added a "CHARSET utf8" to an IN parameter of the stored proc 13:10
13:12 cdg_ joined 13:15 cdg left 13:21 Skarsnik_ joined 13:24 squashable6 left, Skarsnik left 13:25 squashable6 joined, ChanServ sets mode: +v squashable6 13:27 Cabanossi left, MARTIMM left 13:28 Cabanossi joined 13:34 AlexDaniel left, MARTIMM joined
MARTIMM using zef I would like to install from a github branch instead from the master to test installation before merging into master. does anyone know how to do this ? 13:36
Zoffix MARTIMM: I know one way. Switch to the branch on github and use the "Download ZIP" url.. zef install github.com/zoffixznet/perl6-WWW/ar...ete-me.zip 13:38
(or make it manually: github.com/$USERNAME/$REPO/archive/$BRANCH.zip 13:39
)
MARTIMM: or if you got a local checkout of it, run zef install .
MARTIMM zoffix: do I have to prepare an archive after switching to that branch?
Zoffix MARTIMM: no, github makes it automagically 13:40
MARTIMM Zoffix: thanks I'll immediately
13:49 Sound joined
Skarsnik_ I am always confused. I need to use self in Role to acess the object attribute? 13:51
13:51 pmurias left 13:55 pmurias joined 14:00 piojo2 left 14:05 telex left 14:07 telex joined
MARTIMM m: role A { has $!x = 10;};class B does A method x {say $!x;}; A.new.x; 14:10
camelia 5===SORRY!5=== Error while compiling <tmp>
Unable to parse class definition
at <tmp>:1
------> 3role A { has $!x = 10;};class B does A7⏏5 method x {say $!x;}; A.new.x;
moritz MARTIMM: need { before "method x" 14:11
MARTIMM m: role A { has $!x = 10;};class B does A { method x {say $!x;}}; A.new.x;
camelia No such method 'x' for invocant of type 'A'
in block <unit> at <tmp> line 1
jnthn B.new ? 14:12
MARTIMM m: role A { has $!x = 10;};class B does A { method x {say $!x;}}; B.new.x;
camelia 10
Skarsnik_ m: role A { has $!x = 10; method foo{ say $!x}};class B does A { }; my B $b .= new; $b.foo;
camelia 10
14:14 bisectable6 left
Skarsnik_ I get Cannot look up attributes in a StorableStory type object 14:14
on a larger code when trying to access an attribue
14:14 bisectable6 joined
Skarsnik_ SS is B in this case 14:14
moritz then you forgot a .new somewhere 14:15
Skarsnik_ that actually the issue x)
thx
the method is a constructor 14:16
that why x)
14:18 robertle joined 14:19 Skarsnik_ is now known as Skarsnik, zakharyas left
Skarsnik I am not sure to understand how to do stuff after a self.bless? do I need to call self everytime I want to access something in the method? 14:20
14:20 eroux joined
timotimo self.bless is just a call on the type object that self will be at that time 14:21
after that you have an object that you can handle, but self is still just the type object
moritz right, you can call methods on the return value of self.bless 14:24
14:25 llfourn joined
jdv79 moritz: can you alter that table to utf8mb4? i think that would help. 14:25
Skarsnik m: role A { has $!x = 10; method init{$!x = 42}; method new-stuff{ self.bless.init}};class B does A { }; my B $b .= new-stuff;;
camelia Type check failed in assignment to $b; expected B but got Int (42)
in block <unit> at <tmp> line 1
Skarsnik m: role A { has $!x = 10; method init{$!x = 42}; method new-stuff{ my $s = self.bless; $s.init; $s}};class B does A { }; my B $b .= new-stuff;; 14:26
camelia ( no output )
Skarsnik I see
hm 14:29
m: role A { has $.x = 10; method init{$.x = 42}; method new-stuff{ my $s = self.bless; $s.init; $s}};class B does A { }; my B $b .= new-stuff;;
camelia Cannot modify an immutable Int (10)
in method init at <tmp> line 1
in method new-stuff at <tmp> line 1
in block <unit> at <tmp> line 1
Skarsnik m: role A { has $.x = 10; method init{$!x = 42}; method new-stuff{ my $s = self.bless; $s.init; $s}};class B does A { }; my B $b .= new-stuff;; 14:30
camelia ( no output )
jdv79 whoa, that table is 1.5GB?!
APic lol 14:31
Nice
moritz jdv79: this will come with quite a downtime
jdv79: and ideally I'd like to test it first somehow
jdv79 yeah. probably a a dump and load or a copy and transform
i don't rmember exactly what would work - been a while since i've done that sort of thing 14:32
Skarsnik m: class C {has $.c}; role A { has $.x = 10; method init{$!x = 42}; method new-stuff{ my $s = self.bless; $s.init; $s}};class B is C does A { }; my B $b .= new-stuff;;
camelia ( no output )
jdv79 that box doesn't seem too fast either:(
moritz well, it's a VM with non-local storage 14:33
Skarsnik I am not sure how to reproduce the error I get :(
moritz and 2GB RAM 14:34
Skarsnik Type check failed in binding to parameter '<anon>'; expected QDORM::QDBStorable but got StorableStory (StorableStory.new(_qd...)
in method at /home/skarsnik/perl6/qdorm/lib/QDORM.pm (QDORM) line 93
. This point to an attribute definition x)
rah I hate when it cp new line x)
jdv79 moritz: well, let me know if i can help anymore. basically its s/utf8/utf8mb4/ in a few places... 14:36
moritz jdv79: I'm creating a new copy of the ilbot_lines, called ilbot_lines_mb4, and I'm copying over the data
jdv79 probably including the one you just added:)
cool
14:36 zakharyas joined
Skarsnik gist.github.com/Skarsnik/214745ebb...a1cb908e9d 14:37
14:38 Kyo91 joined, Sound left
moritz jdv79: maybe we should continue this discussion in #ilbot to not interrupt the other discussions 14:39
14:41 xinming left 14:42 xinming joined, ilbot3 left, ilbot3 joined, ChanServ sets mode: +v ilbot3
moritz another Unicode test: 💩 14:43
14:43 rindolf left 14:44 wamba joined
moritz nope :( 14:45
seems I also need "set names utf8mb"; 14:47
14:48 ilbot3 left, ilbot3 joined, ChanServ sets mode: +v ilbot3
moritz 💩 - U+1F4A9 - PILE OF POO 14:50
14:50 ChoHag joined 14:51 MARTIMM left 14:52 rindolf joined
moritz m: say 42 14:53
camelia 42
14:55 Actualeyes joined 14:57 Cabanossi left 14:58 Cabanossi joined 15:05 gregf_ joined 15:08 wamba left 15:10 Ptolemarch joined 15:14 cpage joined 15:15 cpage__ joined 15:16 cpage_ left, cpage__ is now known as cpage_ 15:21 Aaronepower joined
sena_kun m: m: sub int_32() {}; 15:22
camelia ( no output )
sena_kun m: sub int-32() {};
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3sub int7⏏5-32() {};
expecting any of:
new name to be defined
sena_kun is it by-design in such cases?
ah. 15:23
m: sub foo-13() {};
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> 3sub foo7⏏5-13() {};
expecting any of:
new name to be defined
sena_kun understood~
15:28 khw joined
Zoffix foo-13 is not a valid identifier so - gets interpreted as a - and it complains you didn't give it a block for the sub 15:35
15:37 Ptolemarch left 15:43 Ptolemarch joined, jonas1 left 15:45 Ptolemarch left, Ptolemarch joined 15:47 cuonglm left 15:51 elenha joined 15:53 elenha left 15:55 smls joined
smls What is the recommended way to deal with duplicate tickets in rt.perl.org? 15:57
jnthn Merge them
(Somehwere on the jumbo tab, iirc) 15:58
smls Even if it makes the resulting comment chain confusing?
15:58 mcmillhj joined
moritz smls: that's one reason I always quote an article I'm replying to 15:59
15:59 abraxxa left
smls Ok, I'll remember to do that. 16:01
Geth doc: 85741773a9 | (Samantha McVey)++ | doc/Type/utf8.pod6
Make sure the utf8 class definition isn't tested
16:09
16:09 eroux left 16:11 Cabanossi left 16:13 dogbert2 joined, Cabanossi joined 16:14 skids joined 16:21 dakkar left 16:26 vike left
Geth doc/molecules-patch-2: d15be280c7 | (Christopher Bottoms)++ (committed using GitHub Web editor) | doc/Type/IO/Socket/Async.pod6
Does this resolve #1538?

Does simply removing the `if` statement resolve #1538?
16:26
doc: molecules++ created pull request #1540:
Does this resolve #1538?
16:28 sproctor left 16:29 AlexDaniel joined
skids Could someone close RT#124572 ? ... the test was wrong post-GLR and now fixed via roast 346f05833. I can't close those subject-line-only tickets. 16:30
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=124572
16:30 zakharyas left
AlexDaniel skids: done 16:33
skids Thanxo
AlexDaniel skids: thanks for working on these tickets. They're really annoying :) 16:34
skids Only umpteen hundred to go :-)
pmurias every closed one counts :) 16:52
16:57 Sound joined 17:00 vike joined 17:01 weabot joined
Geth doc: 4a008cc20c | (Jan-Olof Hendig)++ | type-graph.txt
Add atomicint to type-graph.txt
17:01
weabot How would I go about opening a FIFO in perl6? 17:02
for writing
Geth doc: 761ee2dceb | (Jan-Olof Hendig)++ | doc/Type/atomicint.pod6
Fix indentation
17:06
doc: 99cd781c71 | (Jan-Olof Hendig)++ | doc/Type/atomicint.pod6
Make atomic subs searchable
teatime if you mean a unix named pipe, don't you just open/use it *exactly* like a file
weabot that's what I would think
> my $inf = open("in", :w);
Failed to tell in filehandle: 29
teatime hmm 17:08
17:08 cognominal left 17:09 cognominal joined
teatime weabot: works here, I'm on a dev version though newer than newest rakudo star 17:12
weabot hmm
this is on a tiny debian 9 VPS
teatime hehe, same here precisely.
weabot yeah it's on 2016.12 17:13
I'll see if I can find a more recent packaged version
Skarsnik should work probably? 17:14
teatime check out the installation instructions, they were newly revamped. there's a link to some packages, however they install everything in /opt, so I didn't bother with them.
weabot would be worth it I think
Zoffix huggable: deb 17:15
huggable Zoffix, CentOS, Debian, Fedora and Ubuntu Rakudo packages: github.com/nxadm/rakudo-pkg/releases
Zoffix weabot: ^ you can grab latest packages there. There've been lots of changes to IO since 2016.12
weabot thanks
17:18 AlexDaniel left
weabot it works now! :D thank you 17:21
APic 😎
marcusramberg gist.github.com/marcusramberg/47d5...d0401fa0a6 had to force some tests to install Cro (am at Oslo.pm talk)
Zoffix \o/ 17:22
timotimo Unhandled exception: const_iX NYI - that looks like a version discrepancy between rakudo and moarvm 17:23
but that usually explodes violently every single thing you run and not just in some test or other
hm, or maybe it's bytecode corruption 17:24
marcusramberg this is after downloading and building rakudo-star according to the instructions on rakudo.org/how-to-get-rakudo/#Insta...tar-Source 17:28
17:29 Sound left
marcusramberg I tried using rakudo from arch first, but seems it's horribly broken. 17:29
timotimo strange, we should investigate 17:31
geekosaur weabot, teatime, rakudo was recently changed to enable buffering based on seekability. sounds like either the check is wrong or you have version skew causing it to misbehave 17:35
Zoffix Sounds like upgrade to latest release worked. The previous version was 2016.12 17:36
marcusramberg gist.github.com/marcusramberg/fcbf...92940c0f8a seems the tests were complaining for a reason.
Zoffix Fun tip: do not create a directory named "aux" in your repo or you'll waste 15 minutes trying to figure out why Windows git refuses to checkout 17:37
weabot geekosaur it was an older version, but yeah, the latest worked
moritz Zoffix: same with "con", "prn" and a few others
17:37 DerAlex joined
moritz CON PRN AUX NUL COM{1..9} LPT{1..9} 17:38
Zoffix yeah :) 17:39
APic :)
geekosaur sometimes really wishes AVAILDEV=NO had caught on
timotimo marcusramberg: yes, you need a newer rakudo to have these methods 17:42
(i should know, i implemented them! :) )
Zoffix So Cro doesn't work on latest Star? 17:44
17:45 espadrine joined
rindolf Hi all 17:45
geekosaur Zoffix, I think that was expected and even announced (indirectly)
as in "needs most recent development rakudo"
rindolf marcusramberg: which version of rakudo does arch have? 17:46
Zoffix Ah
marcusramberg rindolf: 2017.07
Zoffix marcusramberg: to get latest and greatest, you could build latest development commit with github.com/zoffixznet/r#linux
rindolf marcusramberg: rakudo seems fine on my fedora 26 x86-64 system
marcusramberg ok, so I need rakudo head. gonna give it a try
rindolf marcusramberg: ah, recent enough 17:47
marcusramberg rindolf: apparently not recent enough for Cro.
rindolf marcusramberg: ah 17:49
:(
geekosaur cro requires rakudo at least as new as the commit from just before Cro's announcement
rindolf geekosaur: heh
timotimo given how easy it was i kind of wish i had done it like a year ago 17:50
(give the async sockets methods to ask for ports and hostnames of both ends) 17:51
17:54 Rawriful joined
timotimo no use beating myself up about it. lotsa stuff i could have put in earlier 17:54
marcusramberg hopefully Cro will work for a while with the next release of Rakudo. 17:59
Zoffix huggable: star 18:01
huggable Zoffix, Estimated Rakudo Star releases for 2017: .01, .04, .07 & .10
Zoffix Prolly.
I mean… we don't change stuff willy nilly and break everything every month. It just happened the author of Cro depended on bleeding-edge features. 18:02
Zoffix is afraid of getting quoted in places :} 18:04
timotimo i wonder how badly cro would break if it didn't have these methods. like, what is it used for, exactly?
like, if it's just for debug output or something ... that'd be easy to stub
yup, it's for logging 18:05
annoying if it's gone, but not a reason to not work at all; wonder what the next problem would be if we just stubbed it in 18:06
raschipi Zoffix, I'm gathering quotes... 18:09
Zoffix raschipi: I'm charging $10 per quote now. Let me know where to send the invoice ;) 18:10
timotimo marcusramberg: git clone [email@hidden.address] as well as cro-ssl and patch lib/Cro/SSL.pm6 and lib/Cro/TCP.pm6 respectively to return some random value from the four methods {peer,socket}-{host,port} 18:11
raschipi You own me one, already then?
I accept your offer.
18:12 DerAlex left 18:18 leont joined 18:19 eliasr left
moritz Zoffix: "' # there you go, two quotes already 18:19
Zoffix sends moritz an invoice for $20 18:22
raschipi I got dibs on one of those quotes. 18:25
jnthn Yeah, Cro depends on 2017.08 at least. In part for the feature mentioned, but far more so because working on it uncovered a nasty memory leak that was also fixed in 2017.08, and you'd really not want to run it with that leak.
(Where by "at least" I mean it should work on that release, and anything more recent would be fine too) 18:26
18:26 andrzejku joined 18:27 wamba joined, cdg joined 18:30 cdg_ left 18:31 devmikey joined, zakharyas joined, cdg left 18:33 TEttinger joined
El_Che I have 2017.08 Rakudo pkgs for linux users that want to try Cro: github.com/nxadm/rakudo-pkg/releases/ (marcusramberg) 18:33
18:34 vike left
smls Zoffix: Regarding zoffixznet/r: Wouldn't it make sense to use && instead of semicolons in the 'update-perl6' alias? 18:34
So it'll stop at the first error.
Aaronepower Are there any good resources for making classing based on Grammars? I can't seem to use `say` in any of the methods? 18:39
nine Of course users of openSUSE Tumbleweed only need to upgrade their rakudo package to the latest and users of openSUSE leap can find the package in the devel:languages:perl6 repository.
Aaronepower Action Objects specifically.
Zoffix smls: yeah, I good point 18:40
18:41 vike joined
moritz Aaronepower: I'm kinda writing a book about the whole topic (grammars, action classes) right now 18:45
on perl6book.com/ you can sign up for a mailing list, so you'll be informed once it comes out 18:46
El_Che moritz: you've got a apress deal for that book too? 18:49
moritz El_Che: yes 18:51
El_Che nice
18:51 smls left
Geth doc: fe7a5e3bdd | (Jan-Olof Hendig)++ | doc/Type/atomicint.pod6
Fix typo
18:54
18:59 tak_ joined
Zoffix is reminded to get cracking on The White Book 19:00
I think Along with The White Book, The Gray Book, and The Black Book, there's bee The Green Book, which is half-a-book sided intro to absolute programming beginners who'd read it before going to The White Book 19:01
s/bee/be/; s/sided/sized/; 19:03
geekosaur best read while listening to the white album?
19:04 Aaronepower left
Zoffix Hehe. 19:04
19:04 Skarsnik left 19:07 bisectable6 left 19:09 Aaronepower joined 19:22 darutoko left, zakharyas left 19:26 Cabanossi left, nadim left 19:27 nadim joined 19:28 Cabanossi joined 19:29 lancew joined 19:32 raschipi left
Aaronepower Can anyone help explain why this says Nil? paste.rs/zH1 19:32
leont I guess nothing in it allows for the space between the hours and the minutes 19:37
19:39 smls joined
geekosaur Grammar::Tracer shows it matching the 1 and then failing afterward, so more likely the space between the digits and the time unit 19:41
19:41 tak_ left
Aaronepower leont: Oh my god. 19:43
geekosaur oh wait, no such. hm
Aaronepower leont: But wait. minutes and hours are both rule I thought that allowed whitespace? 19:44
geekosaur still, it's the minutes rule and then the hours rule failing, both apparently after matching <digit?
19:44 Sound joined
geekosaur oh, I think I know. bet ltm doesn't work over multiple productions... 19:45
Aaronepower geekosaur: ltm?
geekosaur longest token matching
but that didn't work either, so hm.
basically I was ondering if it matched 'hr' and succeeded (but trace doesn't show that, so that was wrong anyway) and then failed on the next part and didn't backtrack to retry with 'hrs' 19:46
leont I think .make should be .made (second last line) 19:51
Geth doc: a912956225 | skids++ | 2 files
Give Seq.skip its own documentation
geekosaur leont, actually removing that to check directly was first thing I tried, but still Nil
Zoffix Aaronepower: you're calling .make at the end, it should be .made 19:56
19:58 cdg joined
Zoffix :/ how does that code even compile? It should complain about .make having too few arguments 19:58
Aaronepower Zoffix: One time it did. 19:59
Zoffix Ah, k, nevermind
It goes to Nil.make
20:00 cdg_ joined 20:03 cdg left
smls committable6: releases say "a" ~ "\c[TELUGU VOWEL SIGN AA]".perl.EVAL; 20:04
Zoffix Aaronepower: backtracking is why you get Nil 20:05
rules/tokens don't backtrack
Aaronepower Zoffix: Is there no way to do that with Grammars? 20:06
Zoffix Aaronepower: you could use `regex` instead of token/rule
leont fg
Zoffix Aaronepower: if I change hours and minutes tokens to regex it starts to match, though dies telling me invalid digit
leont: bash: fg: current: no such job 20:07
smls Looks like bisectable6 isn't in the channel, and committable6 doesn't respond...
20:07 bisectable6 joined, committable6 left, committable6 joined, ChanServ sets mode: +v committable6
Zoffix smls: try again 20:07
smls bisectable6: say "a" ~ "\c[TELUGU VOWEL SIGN AA]".perl.EVAL; 20:08
bisectable6 smls, On both starting points (old=2015.12 new=bfee5a1) the exit code is 1 and the output is identical as well
AlexDaniel, MasterDuke: I'm acting stupid on #perl6. Help me.
smls, No! It wasn't me! It was the one-armed man! Backtrace: gist.github.com/e9da7b646e88ea74ef...d846eb746f
Aaronepower Zoffix: Can you show that code? I did the same thing and it still is Nil
smls committable6: releases say "a" ~ "\c[TELUGU VOWEL SIGN AA]".perl.EVAL;
20:09 raschipi joined
Zoffix Aaronepower: gist.github.com/zoffixznet/dd2252f...3bbb2986ad 20:11
20:11 committable6 left
raschipi 💩 20:13
20:13 committable6 joined, ChanServ sets mode: +v committable6
Zoffix mc: say "a" ~ "\c[TELUGU VOWEL SIGN AA]".perl.EVAL; 20:13
committable6 AlexDaniel, MasterDuke: I'm acting stupid on #perl6. Help me.
Zoffix, No! It wasn't me! It was the one-armed man! Backtrace: gist.github.com/6286db6b3844931a45...3647160786
Zoffix smls: I guess there's some sort of a bug in Pastebin::Gist that makes it turn up bad request when the bot tries to paste 20:14
m: say "a" ~ "\c[TELUGU VOWEL SIGN AA]".perl.EVAL;
camelia 5===SORRY!5=== Error while compiling /home/camelia/EVAL_0
Bogus statement
at /home/camelia/EVAL_0:1
------> 3<BOL>7⏏5"ా"
expecting any of:
prefix
term
Zoffix mc: die "meow" 20:15
committable6 Zoffix, ¦2015.12: «meow␤ in block <unit> at /tmp/HhfBpxjm7x line 1␤ «exit code = 1»»
Zoffix mc: warn "meow" for ^10
committable6 Zoffix, gist.github.com/ea603c951fd0712007...f13b53e02a
20:15 devmikey left
Zoffix committable6: releases say "a" ~ "\c[TELUGU VOWEL SIGN AA]".perl.EVAL; 20:16
committable6 AlexDaniel, MasterDuke: I'm acting stupid on #perl6. Help me.
Zoffix, No! It wasn't me! It was the one-armed man! Backtrace: gist.github.com/332ecce36bad6569ec...5a1b9b1004
Zoffix at least it doesn't hang now :)
timotimo did someone post the nuclear option again? :( 20:17
or was it the telugu vowel sign aa?
Zoffix
.oO( is one-armed man more dangerous than un-armed man? )
timotimo in any case, my terminal is busted yet again %)
Zoffix timotimo: the telugu I'm guessing 20:18
20:18 grondilu joined, Ptolemarch left
timotimo looks just like 20:18
grondilu m: class Real {}
camelia ( no output )
grondilu m: class Rat {}
camelia ( no output )
grondilu m: class Int {}
camelia ===SORRY!===
This type cannot box a native integer: P6opaque, Int
20:19 andrzejku left
grondilu what is the policy regarding redefining core types? 20:19
timotimo grondilu: it basically immediately uses an Int for something
Zoffix grondilu: "it still needs polish"
timotimo if you replace Int it better have a box target for ints
leont You just voided your warranty!
Aaronepower Zoffix: Are you running v6.c?
Zoffix: Because that code gives me Nil. 20:20
Zoffix grondilu: related ticket: rt.perl.org/Ticket/Display.html?id...et-history
smls Zoffix, timotimo: The bug relating to the TELUGU VOWEL SIGN AA that I meant to bisect: rt.perl.org/Ticket/Display.html?id=132041
Zoffix Aaronepower: running 2017.05-389-g326faed and I get this: gist.github.com/zoffixznet/95dedcf...46673cb065 20:21
smls Maybe Whateverable itself is affected by the same bug, or a variation of it.
Aaronepower Zoffix: I'm running 2017.07
Zoffix Aaronepower: though strangely, if I add <.ws> tokens between digit and hr/min, I get Nil and I'd thought that'd not affect it that much :/
Aaronepower It really shouldn't be this difficult to parse out numbers from strings. 20:22
Zoffix Aaronepower: heh, it isn't :)
grondilu goes for 'Integer' as a name 20:23
Zoffix grondilu: oh, I guess the ticket I linked to isn't 100% related, sorry 20:24
raschipi grondilu: P6 has your back
Zoffix But it's in the same vein of "user trying to mess with core" type of stuff.
m: class Int {} 20:25
camelia ===SORRY!===
This type cannot box a native integer: P6opaque, Int
Zoffix m: my class Int {}
camelia ===SORRY!===
This type cannot box a native integer: P6opaque, Int
Zoffix timotimo: isn't the replacement lexical? Why is it trying to unbox anything in the first place?
perlpilot m: constant Int = Int; 20:26
camelia ( no output )
perlpilot m: constant Int = Str;
camelia ===SORRY!===
This type cannot box a native integer: P6opaque, Str
perlpilot cute
grondilu sometimes wishes there was a --no-core option 20:27
raschipi grondilu: write a .txt file
Zoffix Aaronepower: basically, you're trying to parse the number and then looking for the postfix modifier (min/hr) if you fail to find it you need to backtrack to match the number again for the other token. And I'm guessing the failure to match I'm seeing is because after failing to match one token, it goes for <digit> again and fails to match that. Just rewrite your grammar to not require backtracking. As one Tim 20:28
said: backtracking in grammars is a smell
leont wrote a YAML parser that's about 95% backtracking free :-) 20:29
smls bisectable6: say so try "a" ~ "\c[TELUGU VOWEL SIGN AA]".perl.EVAL; 20:31
bisectable6 smls, On both starting points (old=2015.12 new=bfee5a1) the exit code is 0 and the output is identical as well
smls, Output on both points: «False»
leont Apparently 77 tokens, 3 rules and 1 regex
Juerd What does "P6opaque: no such attribute '$!reified' in type List when trying to get a value" mean? 20:33
Zoffix Juerd: internal bug that shouldn't be visible to end users 20:36
Juerd: are you running latest-enough version?
Juerd Zoffix: Few days ago
grondilu how do I enforce method return type on child classes?
Zoffix Hm
Juerd m: my %h = <a 1 b 2>; "a" ~~ /%h/
camelia P6opaque: no such attribute '$!reified' in type List when trying to get a value
in block <unit> at <tmp> line 1
Zoffix m: say "foobar" ~~ /foo <.ws> bar/
camelia Nil
Zoffix I thought <ws> matched zerospaces. 20:37
m: my %h = <a 1 b 2>; "a" ~~ /@%h/
camelia ( no output )
grondilu m: class Foo { method f(--> Int) {...} }; class :: is Foo { method f { "foo!" } }.new.f
camelia ( no output )
grondilu m: class Foo { method f(--> Int) {...} }; class :: is Foo { method f { "foo!" } }.new.f.say
camelia foo!
grondilu ^see what I meaN
?
Zoffix Juerd: vaguelly recall reporting that issue but don't see the ticket 20:38
grondilu or do I have to repeat the --> type for all children? That'd be dull.
Zoffix grondilu: have to repeat 20:39
Though, I would've expected this to carp:L
m: class { proto method f(--> Int) {*}; multi method f { "foo!" } }.new.f.say
camelia foo!
Juerd m: my %unit2sec = <day 86400 hr 3600 min 60>; my @units = %unit2sec.keys; my $sec = [+] gather { for "1hr 30 min" ~~ m:g/$<num> = (\d+) \s* $<unit> = @units s? \s*:/ { take .<num> * %unit2sec{.<unit>} } }; say $sec; 20:40
camelia 5400
Juerd TIMTOWTDI and I like simple regexes for simple strings :)
Zoffix m: class Foo { proto method f() { given {*} -> Int $_ { $_ } } }; class :: is Foo { proto method f(--> Int) {*}; multi method f { "foo!" } }.new.f.say
camelia foo!
Zoffix stares 20:41
Oh, I left in other proto
m: class Foo { proto method f() { given {*} -> Int $_ { $_ } } }; class :: is Foo { multi method f { "foo!" } }.new.f.say
camelia Type check failed in binding to parameter '$_'; expected Int but got Str ("foo!")
in method f at <tmp> line 1
in block <unit> at <tmp> line 1
Zoffix At least that works (not to be used in real code tho, I think, too dirty)
Juerd Aaronepower: See ^ for a grammerless alternative. Doesn't check for wellformedness, though. 20:42
Zoffix .ask jnthn are return type checks in protos simply NYI or are they not meant to work? This doesn't die: class { proto method f(--> Int) {*}; multi method f { "foo!" } }.new.f.say
yoleaux Zoffix: I'll pass your message to jnthn.
Aaronepower Juerd: The point of doing this is to learn grammars. As this is just a precursor to a much more complex struture. 20:43
structure*
Juerd Am I misremembering that a %hash in a regex matches any of its keys? The simplest attempt borks and I can't find documentation for it.
Aaronepower: The completely ignore my suggestion :)
Zoffix Aaronepower: my take on that grammar that uses proto regex for units. Though I'm a grammar noob: gist.github.com/zoffixznet/8c3e1a8...09c83bc444
Aaronepower Zoffix: Okay, why use sym? 20:44
perlpilot m: my %h = a => 1, b => 3; say "a" ~~ %h; say "x" ~~ %h;
camelia True
False
perlpilot Juerd: ^^^ 20:45
Zoffix Juerd: found the ticket: rt.perl.org/Ticket/Display.html?id...et-history
Juerd perlpilot: /%h/ though
Aaronepower Zoffix: Also I thought the point of rule was to do exactly what token time-op is doing?
Zoffix Aaronepower: dunno, you had it in your original example, so I left it in (it sums up all the differn time tokens)
Aaronepower Zoffix: No I didn't? 20:46
Zoffix Aaronepower: " method TOP($/) { make $<time-op>>>.made.sum }"
Aaronepower Zoffix: I said sym. Like why use unit:sym<mins> over just token mins? 20:47
Juerd Meh, rt :(
20:47 smls left
Juerd When I click reply, I get an almost empty page. 20:47
Zoffix Aaronepower: yeah, me too (re `rule`), but looks like <ws> token doesn't match empty space. You could override it and make it match tho: gist.github.com/zoffixznet/c82217a...35c8da5893 20:48
perlpilot Juerd: according to S05, "The use of a hash variable in patterns is reserved."
Juerd perlpilot: Too bad :|
Zoffix Or maybe it matches it only some times, I've no idea. Waiting for moritz++'s book to learn all the things :)
grondilu m: class Number { has Real $.value }; class Fraction is Number { has Rat $.value; }; class Integer is Number { has Int $.value; }; say Integer.new(:value(1))
camelia Integer.new(value => 1, value => 1)
grondilu hum, sorry, I failed to reproduce an error I had locally. 20:49
Zoffix :)
Aaronepower: oh sym.. Sorry, I'm blind :) Less repetition and easier to extend. Now, you can even mix in a role that adds more time units and the grammar will still work. 20:50
Juerd Zoffix: Why not just use <ws>? instead? 20:51
Zoffix Aaronepower: there's an example here: docs.perl6.org/language/grammars#Protoregexes
Juerd: I did use it in the first example
Zoffix relocates
Juerd Zoffix: Phrased differently: why override?
Aaronepower Zoffix: Yes, I've read those examples a lot of times. I haven't found them very helpful tbh.
grondilu m: class Number { has Real $.value }; class Fraction is Number { has Rat $.value; }; class Integer is Fraction { has Int $.value; }; say Integer.new(:value(1)) 20:52
camelia Type check failed in assignment to $!value; expected Rat but got Int (1)
in block <unit> at <tmp> line 1
Zoffix Aaronepower: modularity basically. Why add another method into the class when you can add a bunch of if/else statements and provide all functionallity from a single method?
Aaronepower: but TIMTOADY 20:53
Zoffix &
Juerd To me, it makes sense that <ws> would match whitespace, and not a lack thereof. A modifier can be used to match something or nothing, but because a modifier cannot turn a token that's \s* into \s+, it makes sense to have the token be \s+ and allow a ? to effectively turn it into \s*
Zoffix Juerd: we were matching with a `rule` tho, which has implict <ws> that you can't `?` hence the override 20:54
Zoffix &
grondilu m: class Foo { has Rat $.value }; class :: is Foo { has Int $.value }.new(:value(0)).say
camelia Type check failed in assignment to $!value; expected Rat but got Int (0)
in block <unit> at <tmp> line 1
20:54 leont left
grondilu ^not quite sure this is ok 20:54
Juerd Zoffix: implicit <.ws> iirc, but if you don't need that, you probably shouldn't use rules :D
(I personally don't use sigspace (and thus rule { ... }) because I don't fully understand when exactly <.ws> is implied. 20:55
)
lancew Hi all, has anyone tried building rakudobrew on a DigitalOcean droplet before? I'm close but the build fails: gist.github.com/lancew/1bba0d35d4c...d8e82513a0 20:59
sena_kun lancew, just a wild guess, but it seems there's not enough RAM. 21:00
lancew, how much does your droplet have?
lancew ahhh... yeah smallest RAM 21:01
sena_kun "Killed" looks like OOM.
Zoffix You need ~1.4GB ram+swap
lancew: what OS is this on?
sena_kun lancew, you can try with a swap.
lancew 512mb ram
sena_kun www.digitalocean.com/community/tut...untu-16-04 - but consider red square text *very* good. I'd rather build it locally and then deployed the results. 21:02
perlpilot Juerd: I've had that problem with :sigspace in the past too. It takes some getting used to. 21:03
Zoffix You don't have to build. There are packages for many systems
ruoso___ m: my ($e) = grep { $_ eq 1 }, (1, 2, 3); say $e.WHAT 21:04
camelia (Int)
Zoffix Juerd: it gets applied if there's whitespace after token
Juerd: err.. after "atom"
(what's an atom; dunno)
lancew sena_kun, ok trying the swapfile route, thanks 21:06
21:06 Kyo91 left, zakharyas joined
grondilu m: class Foo { has $.x }; class :: is Foo { submethod BUILD(:$y) { $!x = $y } }.new(:y) 21:07
camelia 5===SORRY!5=== Error while compiling <tmp>
Attribute $!x not declared in class <anon|78696080>
at <tmp>:1
------> 3oo { submethod BUILD(:$y) { $!x = $y } }7⏏5.new(:y)
expecting any of:
horizontal whitespace
postf…
grondilu isn't $!x inherited from Foo?
lancew Zoffix, the version on there is Ubuntu so pretty old. :-(
sena_kun, wyou think maybe I build locally then scp up the .rakudobrew dir? 21:08
Zoffix huggable: deb 21:09
huggable Zoffix, CentOS, Debian, Fedora and Ubuntu Rakudo packages: github.com/nxadm/rakudo-pkg/releases
perlpilot Zoffix, Juerd: My way of thinking about it now is "It gets applied after a matching thing." so, for / ( foo ) /, if :sigspace were in effect it would be equivalent to /(foo<.ws>)<.ws>/ (I think :)
Zoffix lancew: ^ use those debs. Freshly squeezed :)
perlpilot: ah. Thanks
lancew Zoffix++
21:09 ash_gti joined
sena_kun lancew, well, it's up to you in the end. But I'd do so. Consider I am not an expert, I just have the smallest droplet too and did some things with it. :) 21:09
Zoffix grondilu: it's private. You can't access it directly from subclass 21:10
sena_kun lancew, and yes, package is >>>>>> better than buliding.
*building/transferring
even.
grondilu Zoffix I did write has $.x
m: class Foo { has $.x }; class :: is Foo { submethod BUILD(:$y) { $.x = $y } }.new(:y) 21:11
camelia 5===SORRY!5=== Error while compiling <tmp>
Virtual method call $.x may not be used on partially constructed object (maybe you mean $!x for direct attribute access here?)
at <tmp>:1
------> 3s :: is Foo { submethod BUILD(:$y) { $.x7⏏5 = $y …
grondilu so it's public
oh wait that error message is better
hum not that much actually 21:12
Zoffix grondilu: ah, missed it. $.x means "autogenerate public acceasor for private attribute $!x". You can access it in subclass, but only through that accessor
Aaronepower Are there any good examples of a multi file cli project with tests? 21:13
Zoffix buggable: eco zef 21:16
buggable Zoffix, zef 'It's like [cpanm] wearing high heels with a tracksuit': github.com/ugexe/zef 1 other matching results: modules.perl6.org/s/zef
Zoffix Aaronepower: that comes to mind ^
ruoso___ m: my $a = (1,2,3); my $e; ($e) = grep { $_ }, @$a; say $e.WHAT
camelia (Seq)
ruoso___ m: my $a = (1,2,3); my ($e) = grep { $_ }, @$a; say $e.WHAT\
camelia 5===SORRY!5=== Error while compiling <tmp>
Confused
at <tmp>:1
------> 3my ($e) = grep { $_ }, @$a; say $e.WHAT\7⏏5<EOL>
expecting any of:
postfix
ruoso___ m: my $a = (1,2,3); my ($e) = grep { $_ }, @$a; say $e.WHAT
camelia (Int)
ruoso___ why would the first get me a Seq and the second an Int? 21:17
Zoffix ruoso___: my with () does special things
21:17 raschipi left
ruoso___ hmm... I really wasn't expecting those not to be equivalent 21:17
Zoffix :)
ruoso___ so what is the correct syntax for the case where I'm not declaring the variable at the same time? 21:18
Zoffix ruoso___: to do what? Unpack a list?
lancew :-) # perl6 -v 21:19
This is Rakudo version 2017.08 built on MoarVM version 2017.08.1
ruoso___ do a simple list assignment from grep
ugexe bind will work
lancew # install_zef_as_root
Cloning into 'zef_root'...
remote: Counting objects: 8914, done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 8914 (delta 1), reused 5 (delta 1), pack-reused 8906
Receiving objects: 100% (8914/8914), 1.59 MiB | 2.48 MiB/s, done.
Zoffix ruoso___: well, that's what you get. You get the Seq in it
lancew Resolving deltas: 100% (5476/5476), done.
Checking connectivity... done.
===SORRY!===
not enough memory
:-(
Zoffix 0.o
timotimo oops 21:20
Zoffix ruoso___: what are you trying to do with the list assignment? Unpack the list so the first item is stored in $X?
ruoso___ yes 21:21
Aaronepower Zoffix: To use multiple files do I have to have a META6.json?
Zoffix m: my $a = (1,2,3); my $e; $e = $a.first: *.so; say $e.WHAT
camelia (Int)
ugexe m: my $a = (1,2,3); my $e := grep { $_ }, @$a; say $e.WHAT
camelia (Seq)
Zoffix m: my $a = (1,2,3); my $e; $e = $a.grep({ $_ })>$a; say $e.WHAT 21:22
camelia (Bool)
Zoffix bah, my keyboard is glitching again
m: my $a = (1,2,3); my $e; $e = $a.grep({ $_ }).head; say $e.WHAT
camelia (Int)
Zoffix That's two ways
ruoso___ I guess $a.first: is the most idiomatic 21:23
Zoffix ruoso___: basically, the mistake you're making is assuming Perl's (I'm guessing) automatic flattening semantics. We just do it differently.
ruoso___ well, not quite
since I'm creating a left-value with the same dimensions
I was expecting it to do (a, b, c) = (d, e, f) 21:24
lizmat and it doesn't ?
ruoso___ not with grep
it doesn't interpolate the Seq as a list
Zoffix ruoso___: but (a) is not a list, it's jsut a 21:25
m: my $a = (1,2,3); my $e; ($e,) = grep { $_ }, @$a; say $e.WHAT
camelia (Int)
ruoso___ aha!
Zoffix Guess I should've showed this example :)
Sorry. I had my own brain fart
ruoso___ That was what I was missing
Zoffix Yeah, comma is significant in this case to make a list thingy 21:26
perlpilot I guess it is strange that my ($e) = ... acts different from my $e; ($e) = ...
But Perl 6 is strange ;)
Zoffix There might be a ticket for that actually
Zoffix calls it a day
\o
ruoso___ yeah, I'd consider that to be a bug
but the important bit was actually me missing that it's the comma that create lists, not the parenthesis 21:28
which interestingly enough is the same semantics python has
Aaronepower What is Perl6's cargo or npm? zef seems to only handle external projects. What is the correct way to create a new perl6 project? 21:31
sena_kun Aaronepower, Ddt module?
Aaronepower sena_kun: I don't know what that is.
sena_kun github.com/kalkin/Ddt/ 21:32
Or github.com/skaji/mi6
perlpilot Does ddt talk to CPAN yet? 21:33
sena_kun Dunno. 21:34
lizmat mi6 does
perlpilot yeah, some amalgam of ddt and mi6 would be perfect. :)
Aaronepower sena_kun: The problem I have is I can't seem to get those to work, zef doesn't add them to the PATH. 21:35
sena_kun Aaronepower, can't help with that with such an information amount, unfortunately. Is filling a github's issue an option? 21:36
ugexe zef is not going to set users PATH 21:37
it tells you where it installed bin scripts to, which you can then add to your PATH
Aaronepower ugexe: I've added `~/.perl6/bin` to the PATH but that isn't even a folder that exists. 21:38
ugexe did zef tell you it installed anything there?
Aaronepower ugexe: Nope
ugexe so why did you add that path?
21:39 sena_kun left
Aaronepower ugexe: Because someone here said that was the problem. 21:39
ugexe when you install something with zef it will tell you where at the end. see: travis-ci.org/ugexe/zef/jobs/271885999#L1627 21:40
21:42 lizmat left 21:43 ash_gti left, lizmat joined
Aaronepower ugexe: Hmm, apparently homebrew rakudo places bin scripts in a different place than elsewhere. Thanks. 21:46
21:48 ash_gti joined, pmurias left 21:53 dogbert2 left 21:57 itaipu left 21:58 zakharyas left 22:01 Khisanth left 22:02 dogbert2 joined 22:14 jameslenz joined 22:15 Khisanth joined, jameslenz left, rindolf left, espadrine left 22:16 cdg_ left
[Coke] samcv: is RT #129878 closable? 22:20
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=129878
samcv yeah that's closable [Coke]. it was fixed with another rt 22:30
that was the same issue
22:47 konsolebox left, Sound left 22:49 ChoHag left 22:52 konsolebox joined
ash_gti hmm, I'm seeing something odd with `IO::Notification.watch-path`, when it detects a change its appending the filename to itself: IO::Notification::Change $file = IO::Notification::Change.new(path => "foo.p6/foo.p6", event => FileChangeEvent::FileChanged) 22:54
I passed in 'foo.p6' as the path to watch
does that need to be a relative path? './foo.p6'? 22:55
22:57 Cabanossi left 22:58 Cabanossi joined, lancew left 22:59 wamba left 23:01 wamba joined
Zoffix ash_gti: you could try. I was under the impression IO::Notification was for watching directories and you'd just look for changes to the file you're interested in. 23:01
(IO::Notification wants some lovin'; it didn't get any during IO Grant work)
23:02 BenGoldberg joined
ash_gti yea, just doing: 'foo.p6'.IO.watch.act { dd $^file; }; is having the filename repeated 23:04
jnthn I suspect it's somewhere assuming it's watching a directory 23:06
Zoffix ash_gti: thanks for reporting. I filed a bug ticket for this: rt.perl.org/Ticket/Display.html?id=132043 23:08
ash_gti thanks for filing the bug 23:12
23:19 raschipi joined 23:26 Rawriful left 23:27 Cabanossi left 23:28 Cabanossi joined 23:40 AlexDaniel joined 23:48 pompomcrab joined
pompomcrab question: is there a way to have "normal" module file names instead of i.e. /usr/local/perl6/share/perl6/site/sources/550EDE9A5964CAD65D8DE06101C62DC9A1145D0A 23:51
i want to edit some lines in an installed module to debug a thing and it would be easier to find which file if the file name wasn't a hash 23:52
teatime sigh, I wish I knew of a terminal emulator that both 1) can be resized in single-pixel increments, and 2) wasn't generally lame or dog-slow 23:53
geekosaur pompomcrab, that's not even the actual installed module that perl 6 will use; *that* is bytecode 23:55
so no, you can;t usefully edit an installed module, name or no name 23:56
ash_gti github.com/perl6/nqp/blob/d93277be...#watchfile seems to be a bit inconsistent with other docs, that only mentions files, not directories
23:57 Cabanossi left 23:58 Cabanossi joined