»ö« 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
|