»ö« 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 Zoffix on 25 May 2018. |
|||
00:08
kybr joined
00:24
x[LGWs4x4i]uG2N0 left,
reppie joined
00:26
Xliff joined
|
|||
Xliff | \o | 00:27 | |
Will Grammar.subparse set $/? | |||
00:30
lizmat left
00:33
spycrab0 left,
fake_space_whale joined
00:35
[particle]1 joined
00:36
[particle] left
00:37
[particle]1 is now known as [particle]
00:40
[particle]1 joined
00:41
[particle] left
|
|||
Xliff | Nevermind. Answered my own question. | 00:43 | |
lookatme | :) | 00:44 | |
00:46
aborazmeh joined,
aborazmeh left,
aborazmeh joined
|
|||
Geth | doc: 3f37b23447 | Coke++ | writing-docs/CREATING-NEW-DOCS.md whitespace |
00:46 | |
00:48
[particle]1 is now known as [particle]
|
|||
TimToady | m: "aa" ~~ /a a/ | 00:53 | |
camelia | Potential difficulties: Space is not significant here; please use quotes or :s (:sigspace) modifier (or, to suppress this warning, omit the space, or otherwise change the spacing) at <tmp>:1 ------> 3"aa" ~~ /a7⏏5 a/ |
||
TimToady | m: "aa" ~~ /a a/ | ||
camelia | ( no output ) | ||
TimToady | hmm, looks like adding space works here... | ||
00:54
kybr left
|
|||
Juerd | The irony | 00:56 | |
TimToady | .oO(two spaces is twice as insignificant) |
01:00 | |
timotimo | insignificant insignificance | 01:01 | |
well, since it's signed, minus times minus gives plus | |||
benjikun | why doesn't it just ignore the space in the first place | ||
timotimo | benjikun: because you'll at some point write /hello world/ and be confused why it doesn't match "hello world" | ||
lookatme | m: "hello world" ~~ /hello world/; | 01:02 | |
camelia | Potential difficulties: Space is not significant here; please use quotes or :s (:sigspace) modifier (or, to suppress this warning, omit the space, or otherwise change the spacing) at <tmp>:1 ------> 3"hello world" ~~ /hello7⏏5 w… |
||
lookatme | m: "hello world" ~~ /hello world/; | ||
camelia | ( no output ) | ||
timotimo | i assume the logic behind "or otherwise change the spacing" is "if there's two or more spaces, or a tab, or a newline, the reader will more easily realize it won't match literally" | ||
benjikun | hmmm | ||
01:03
[particle] left
01:07
molaf left
01:11
Zoffix joined
|
|||
Zoffix | m: gist.githubusercontent.com/zoffixz...dc4e/p6.p6 | 01:11 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Confused at <tmp>:1 ------> 3https:7⏏5//gist.githubusercontent.com/zoffixznet/ expecting any of: colon pair |
||
Zoffix | e: gist.githubusercontent.com/zoffixz...dc4e/p6.p6 | ||
evalable6 | Zoffix, Successfully fetched the code from the provided URL | ||
##########################################################################################… | |||
Zoffix, Full output: gist.github.com/aacd1788ee007ad712...d1c99e8351 | |||
Zoffix | Why do values have whitespace at the end? I got "\n" in the <-[]> for `value` token | ||
Xliff: so what's the answer? Why not tell the channel so everyone would know for the next time someone asks. | 01:13 | ||
Xliff | Yes, Grammar.subparse sets $/ | 01:14 | |
:p | |||
Zoffix | Xliff++ | 01:15 | |
Xliff | Might help if the docs say that, explicitly. | 01:16 | |
Zoffix | You know what to do :) | ||
Xliff | LOL | 01:17 | |
01:20
molaf joined,
aborazmeh left
|
|||
Zoffix | ok, changing `key` and `value` rules to tokens fixed my thing. I didn't realize <.ws> were included in the match | 01:20 | |
Geth | doc: Xliff self-assigned The Grammar pages do not mention the implicit setting of $/. github.com/perl6/doc/issues/2210 bbb615bc21 | (JJ Merelo)++ | util/travis-test.sh |
||
01:20
warriors left
|
|||
Xliff | And now... I need to take a break and fix my self-assigned issues. | 01:21 | |
Probably later tonight, if not tomorrow. | |||
01:23
Zoffix left
01:28
Xliff left
01:34
Zoffix joined
|
|||
Zoffix | What's the default <ws> token, I can't figure out? | 01:34 | |
Zoffix checks moritz's book :) | 01:36 | ||
says regex ws { <!ww> \s* } | 01:38 | ||
But where is it defined in the code? | |||
Oh, OK, looks like it's like a bunch of NQP ops in src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:1499: method ws($node) { self.subrule($node) } | 01:40 | ||
Ah nq/src/QRegex/Cursor.nqp:958 | 01:41 | ||
*nqp | |||
01:46
[particle] joined
01:49
Zoffix left
01:50
[particle] left
01:59
[particle] joined
02:14
epony left
02:17
epony joined
02:18
molaf left
02:21
reppie is now known as x[LGWs4x4i]uG2N0
02:29
konsolebox left
02:30
konsolebox joined
02:53
benjikun left
03:16
benjikun joined
|
|||
benjikun | hmm | 03:23 | |
IO::Socket::Async::SSL is failing to install with Zef, returning `Cannot locate symbol 'sk_num' in native library 'libssl.so'` | 03:24 | ||
Never had this happen before | |||
Just installed a fresh libssl-dev, too | 03:25 | ||
`dpkg -s libssl-dev | grep Version` returns "1.1.0f-3+deb9u2" | 03:27 | ||
Will try with libssl1.0-dev | |||
zostay | i think joff was mentioning something about it not using library version correctly somewhere | 03:28 | |
i was having trouble with it a few weeks ago because it wasn't using the correct fallback for when tls1 was disabled, which everyone did this month for PCI compliance | 03:29 | ||
but i think that's been fixed | |||
benjikun | github.com/jnthn/p6-io-socket-asyn.../issues/34 | 03:30 | |
Here's where someone got to it before me | |||
It works fine with libssl1.0-dev | |||
They're waiting on OpenSSL to release a fix, it seems | 03:31 | ||
zostay | .tell AlexDaniel Something weird is going on in Test::Path::Router... it has a `use Test` at the top, but if I insert a `dd Test::output()` inside a sub, e.g., `sub mapping-is`, I get `Could not find symbol '&output'`... that makes no sense to me | 03:58 | |
yoleaux | zostay: I'll pass your message to AlexDaniel. | ||
zostay | .tell AlexDaniel that test package does some unusual things to cope with the fact that there's no good Test2::API/Test::Builder/thing to build tests that cooperate with each other yet (something I'm looking into along with a bajillion other things) | 04:00 | |
yoleaux | zostay: I'll pass your message to AlexDaniel. | ||
zostay | (that is to say, someone will probably get to it before I do--and I will buy `$favorite-beverage` for the one who does it) | 04:01 | |
lookatme | andrzejku, oh, I just found we have PDL in Perl 5 which have similar function with Numpy in Python | 04:06 | |
04:09
undersightable6 joined
|
|||
benjikun | lookatme: Seems like PDL is pretty wanted in Perl6 | 04:16 | |
maybe in the future there could be something like it in P6 | 04:18 | ||
would be cool in native perl6 when some of the requirements are faster | 04:20 | ||
04:22
Zoffix joined
|
|||
benjikun | hi Zoffix | 04:28 | |
Zoffix | Hi. | 04:32 | |
Bye. | 04:33 | ||
04:33
Zoffix left
|
|||
benjikun | Cya | 04:34 | |
04:45
Kaiepi left
04:46
noganex_ joined
04:49
curan joined,
noganex left
05:09
Woodi joined
05:14
wamba joined
05:29
kerframil left
05:31
sauvin joined
05:34
CurtisPoe joined
|
|||
CurtisPoe | Morning all! Where’s the appropriate place to paste/share my error output from perl Configure.pl --gen-moar --prefix /opt/rakudo-star-2018.04 ? | 05:35 | |
Voldenet | CurtisPoe: I have no idea, but I'd try issue on github | 05:36 | |
CurtisPoe | Voldanet: I guess that makes sense :) | 05:37 | |
Voldenet | oh, after creating a snippet on github, you can also ask here (obviously) | 05:38 | |
it might be something already known | |||
CurtisPoe | Voldenet: issue created as github.com/rakudo/rakudo/issues/2125 | 05:47 | |
05:47
xtreak joined
|
|||
moritz | \o | 05:47 | |
CurtisPoe | Hola moritz. | 05:48 | |
moritz | CurtisPoe: answered on github | 05:50 | |
buggable | New CPAN upload: IP-Random-0.0.9.tar.gz by JMASLAK modules.perl6.org/dist/IP::Random:cpan:JMASLAK | ||
lookatme | you should add sudo before your command ? or using root compile it | 05:51 | |
Voldenet | lookatme: sudo is not needed for it | ||
it works as long as user has the access the build dir | |||
I'm using /opt/rakudo with the user that only has access to that dir and its home, where the sources are fetched | 05:52 | ||
moritz | the problem is that people don't expect a configure/build step to write to the installation directory | 05:54 | |
because, in other projects, those tend to be distinct steps | |||
05:57
rouking joined,
jmerelo joined
|
|||
rouking | Hey folks. I'm looking at implementing the Sieve of Eratosthenes, and I was wondering if a big ol' list of bools will be packed at all (I suspect not), and if not, is there any sort of binary blob built-in which might be suitable? | 05:58 | |
jmerelo | rouking: there's Blob | 05:59 | |
rouking | aptly named | ||
jmerelo | rouking: it's a Role. You might want to use Buf (although Bolb can be "pun"ned to an object too) docs.perl6.org/type/Blob | ||
CurtisPoe | moritz: thanks, fixed. I feel silly (as usual) :) | 06:01 | |
rouking | hmm | 06:03 | |
06:09
psychoslave joined
06:14
rouking left
06:15
fake_space_whale left,
psychoslave left
06:18
robertle joined
|
|||
El_Che | CurtisPoe: rakudo star is also in homebrew (in case it's relevant for your use case) | 06:21 | |
CurtisPoe | El_Che Thanks! I keep forgetting to try homebrew. | 06:22 | |
06:25
ufobat joined
06:42
spycrab0 joined
06:54
xtreak left
06:58
wamba left
07:03
[Sno] left
07:04
sno joined
07:19
psychoslave joined
07:21
domidumont joined
07:23
xtreak joined
|
|||
masak | good morning, #perl6 | 07:24 | |
in Perl 6 land, "punning" seems to have come to refer to the narrow practice of creating an anonymous class out of a role. | |||
in programming in general, it includes many implicit type conversions, for example the thing that happens when you use a non-boolean in an `if` statement | 07:25 | ||
as far as I know, "type punning" is really just a synonym for "implicit type conversion" :) | |||
moritz | CurtisPoe: not silly at all; happens to many folks, because the compilation procedure violates expectations | 07:26 | |
07:27
domidumont left
07:28
dakkar joined,
domidumont joined
|
|||
masak | moritz: wait, what was the actual problem here? that the directory specified in --prefix was not writable? | 07:28 | |
maybe we could have an early check for that, before the compilation digs into trying to put things there...? | 07:29 | ||
07:31
abraxxa joined
07:35
wamba joined
07:38
parv joined
07:41
aindilis joined,
sena_kun joined
|
|||
El_Che | masak: the root problem is that the configure script write to external directories against the users expectations | 07:49 | |
07:49
scimon joined
|
|||
masak | I don't understand. if I'm a user and I specify a --prefix directory, I think I expect that directory to be written to... | 07:50 | |
I feel like I'm missing something :/ | |||
Voldenet | masak: but the configure operation is not "make install" | ||
masak | oh, right | ||
ISTR mst was complaining about this being very idiosyncratic, too | |||
I wonder what it would take for us to "fix" that, and conform to a lot of people's (reasonable) expectations | 07:51 | ||
like, there's clearly some best practice here that we're not following. likely too, we have our own reasons not to do that, or we'd have fixed it ages ago | |||
I agree that it's weird that Configure installs things | 07:52 | ||
07:53
w_richard_w joined
07:55
irco joined
07:56
sarna joined
|
|||
sarna | o/ | 07:56 | |
masak | \o | ||
07:56
w_richard_w left,
w_richard_w joined
07:58
xtreak left
08:02
xtreak joined
|
|||
Voldenet | Well, I'd move gen-moar and get-nqp from Configure.pl and make it an expectation | 08:03 | |
and move the "easy mode" into some script named Install.pl | 08:04 | ||
so the new users would have to just "perl Install.pl --moar --prefix=/some/prefix" instead of "perl Configure.pl --gen-moar --gen-nqp --backends=moar --prefix=/some/prefix && make && make install" | 08:05 | ||
masak | Voldenet: I like that thinking. | 08:07 | |
right now it feels like we're breaking some "reasonable Unix expectation" :/ | 08:08 | ||
Voldenet | I'm not sure if configure scripts are described somewhere in RFC | 08:14 | |
masak | would be interesting to find a source or a quote, yes | ||
but you can also just look at the names of the steps: `Configure` finds out important pre-build configurations, `make` builds the thing, and `make --install` installs | 08:15 | ||
08:15
rindolf joined
|
|||
masak | if `Configure` installs something, then an expectation is broken | 08:15 | |
parv | could configure not just temporarily install under some subdir & make install step would move to $prefix? | ||
masak | parv: probably could, but it doesn't fix the core issue of Configure installing things | ||
parv personally like the --gen-* options. | |||
masak, in case I was not clear I meant the subdir under which Configure* resides. | 08:17 | ||
masak | yes, got it. my counterpoint stands regardless of that, "Configure shouldn't install things" :) the location is not relevant. | 08:18 | |
parv | ok. | ||
masak | I like the --gen options too | ||
Voldenet | for the record, I'm using a trivial bash script to fetch, patch and build everything and never use the --gen options | 08:19 | |
masak | I just fear we're losing opportunities in the shape of seamlessly integrating with a lot of other Unixy stuff because we're breaking a common expectation | ||
Voldenet | mostly because it's easier to add some "replace this line here" between the operations | ||
08:22
scimon left
08:25
psychoslave left
|
|||
parv | AFAIAC, perl 6 would be the only user of moar & npq. So I don't care where, when those are installed as long as eveything goes under $prefix w/o the need to adjust/specify anything later besides just calling perl6 command. | 08:26 | |
I understand that others are not as laid back. | |||
08:26
Some-body_ joined
08:27
xtreak left
|
|||
Voldenet | hence Install.pl | 08:27 | |
08:27
Some-body_ is now known as DarthGandalf
|
|||
masak | yes, again, I'm certainly not against making things comfortable for ourselves :) | 08:28 | |
Voldenet | and I think Install.pl could even set the default backend to moar | ||
masak | I just believe it can be done while also keeping to (sane) conventions | ||
Geth | doc: 627371b8b2 | (JJ Merelo)++ | util/travis-test.sh Adds comment, closes #2198 |
08:30 | |
Voldenet | some people want to start fiddling with the language and are even willing to ignore security concerns of running one script under root | 08:31 | |
masak | I... I understand what you mean, but I also hope that line doesn't end up being quoted in a Weekly :P | 08:32 | |
Voldenet | ;-) | 08:33 | |
08:35
lizmat joined
|
|||
lizmat clickbaits p6weekly.wordpress.com/2018/07/23/...cate-guts/ | 08:45 | ||
masak | lizmat++ | ||
masak .oO( please submit your guts, signed, in triplicate ) | 08:46 | ||
08:46
wamba left
|
|||
buggable | New CPAN upload: Time-gmtime-0.0.3.tar.gz by ELIZABETH modules.perl6.org/dist/Time::gmtime...:ELIZABETH | 08:50 | |
lizmat | afk& | 08:51 | |
08:51
[particle]1 joined,
diakopter left
08:52
[particle] left
08:53
xtreak joined
08:54
w_richard_w left
08:59
psychoslave joined
09:09
wamba joined
09:21
[particle] joined
09:22
[particle]1 left
09:39
robertle left
09:44
kerframil joined
09:47
lizmat left
09:48
camelia joined
09:49
zakharyas joined
09:50
ChanServ sets mode: +v camelia
09:54
abraxxa left
09:55
abraxxa joined
10:03
Kaiepi joined
10:05
squashable6 left,
squashable6 joined
10:08
psychoslave left
10:09
pmurias joined
10:15
[particle]1 joined,
[particle] left
10:22
[particle] joined,
parv left
10:24
[particle]1 left
10:30
squashable6 left,
[particle]1 joined
10:31
[particle] left
|
|||
masak liked jeffreykegler.github.io/Ocean-of-Aw..._1956.html | 10:44 | ||
but I have some objections to the conclusion, which I'm still mulling over | 10:45 | ||
the two languages presented, SENSE and STRING, differ only in the AST they produce -- they are otherwise equivalent in the sets of strings they parse | 10:46 | ||
Kegler makes the case that SENSE is right and STRING is wrong -- true -- when you look at the intended "meaning" of the AST | 10:47 | ||
what I don't immediately buy is that it must be the job of the parser to assemble the right AST | |||
if STRING is simpler, why not have a simpler parser? the correct AST can be assembled from the stupid one in a post-processing step | 10:48 | ||
very similar arguments are made in jeffreykegler.github.io/personal/timeline_v3 -- "post-processing" is mentioned a few times, and implicitly written off as a negative | 10:49 | ||
this is not just idle ranting, by the way. I'm arriving at a point in 007 where I think I will *have* to handle operator precedence/associativity in a separate, later processing step | 10:51 | ||
(why? becuase when you're parsing an expression in a quasi and one of the operators comes in through an unquote, you simply don't have enough information yet to build the tree. you will have later, once you've interpolated the quasi with actual Qtree values.) | 10:53 | ||
Perl 6 will have this challenge too, if we want to be able to interpolate operators into quasis :) | |||
Geth | perl6.org: f70e8ea19a | (Zoffix Znet)++ (committed using GitHub Web editor) | source/downloads/index.html Simplify install instructions to not require root - Users who got root can figure out on their own how to change --prefix And even experienced users can miss that the current instructions require root: github.com/rakudo/rakudo/issues/2125 - Also added lines to add path to bash file (used two echos 'cause one made the command too long to fit on one line on the site and it was partially cut off, which is LTA; Feel free to tweak it to fix that in some other way) |
10:59 | |
timotimo | oooh, the instructions actually told people to use /opt/rakudo-star-2018.04 in combination with --gen-moar | 11:02 | |
that's bad :) | |||
was bad* | |||
masak | :/ | 11:05 | |
Geth | doc: c75036e67e | (Tom Browder)++ (committed using GitHub Web editor) | writing-docs/CREATING-NEW-DOCS.md fix typos |
11:11 | |
11:12
[particle] joined
11:14
psychoslave joined,
[particle]1 left
11:15
[particle]1 joined
11:17
[particle] left
11:18
psychoslave left
11:20
benjikun left
11:21
benjikun joined
11:22
araraloren joined
11:25
sarna left
|
|||
Geth | doc: e48d49d123 | (Tom Browder)++ (committed using GitHub Web editor) | htmlify.p6 whitespace |
11:33 | |
jkramer | I have a thing here where p6 just stops and I don't know why: bpaste.net/raw/db7c83cec848 | 11:34 | |
Here's the file I use as input: bpaste.net/raw/ea51be01be72 | |||
The upper version with @w works just fine, but changing @w to \w makes the script just stop at a seemingly random point and hang forever. | 11:35 | ||
AlexDaniel | c: 2018.05,2018.06,HEAD gist.github.com/AlexDaniel/bd295b5...04f3a90304 | 11:39 | |
committable6 | AlexDaniel, Using file “runner.p6” as a main file, other files are placed in “sandbox/” | ||
AlexDaniel, gist.github.com/9e484696426a45a6d3...09a752cfec | |||
AlexDaniel | that looks fine to me? | ||
or should I run it multiple times to see the issue? | 11:40 | ||
what's your rakudo version? | |||
11:49
scimon joined
|
|||
jkramer | AlexDaniel: It hangs for me every time, but at different points in the code, see the comments inside. "This is Rakudo version 2018.06-239-g8607f6823 built on MoarVM version 2018.06-304-g4d22fb9e7" | 11:51 | |
(Built from master yesterday, I'll update in minute and see if that changes anything) | |||
11:58
rindolf left
|
|||
jkramer | Removing all .hypers and .races now gives me "The iterator of this Seq is already in use/consumed by another Seq" for the very last line, even with .cache added to every single occurance of .value | 11:59 | |
Oh I think it's because in the first line of the block the words are not assigned to an array so \w is Seq? | 12:00 | ||
Yup that was it. | |||
That also fixed the initial problem where it just stopped. Just hanging still seems wrong to me though, it should either fail or finish | 12:02 | ||
In this case it should fail with the iterator error message above I guess. | 12:04 | ||
araraloren | let me have a look :) | 12:06 | |
AlexDaniel | zostay: I see. I created this ticket so that we definitely figure it out before the release: GH#2126 | 12:14 | |
synopsebot | GH#2126 [open]: github.com/rakudo/rakudo/issues/2126 [regression][⚠ blocker ⚠] Weird failure in Path::Router module | ||
jkramer | I just rebuilt everything with fresh pulls from master (rakudo, nqp, moar) and I can still reproduce the stalling with the hypers/races in and without .cache. | 12:17 | |
12:17
HaraldJoerg joined
12:20
rindolf joined
|
|||
Geth | doc: 65b9adb84d | (Tom Browder)++ | 17 files move i18n files to newsubdir |
12:34 | |
doc: 09595137c8 | (Tom Browder)++ | 17 files make a common i18n subdir, correct links |
|||
doc: 619dfade20 | (Tom Browder)++ (committed using GitHub Web editor) | 17 files Merge pull request #2209 from tbrowder/reorg-readme move i18n files to new subdir |
|||
[Coke] | aw, did I miss CurtisPoe? | 12:40 | |
CurtisPoe | Nope :) | 12:41 | |
I’m writing a keynote about the future of Perl 5/6 in 10 years. Anyone want to hit me up with what “dream” features they’d love to see in the next 10 years? | |||
araraloren | jkramer add .list at the line 17 end will solve the problem | ||
jnthn | CurtisPoe: There was a Perl 6 users survey recently that had that as a question | ||
[Coke] waves. | |||
CurtisPoe | Ah! Link? :) | 12:42 | |
12:42
wamba left
|
|||
CurtisPoe waves at Coke. | 12:42 | ||
jnthn | huggable: survey | ||
huggable | jnthn, nothing found | ||
jnthn | heh, no idea then :P | ||
12:42
wamba joined
|
|||
masak | CurtisPoe: dream feature: macros ;) | 12:43 | |
CurtisPoe | Does Perl 6 have any way of marking subs as “pure” and doing something intelligent with that? | ||
jnthn | CurtisPoe: docs.google.com/forms/d/e/1FAIpQLS...wanalytics | ||
araraloren | m: gist.github.com/araraloren/bfd6bb1...0fd93c1320 | ||
camelia | 2 (<tmp> line 5) my &h = *.hyper: :degree(Kernel.cpu-cores), :batch(1024) 7 (<tmp> line 6) my &r = *.race: :degree(Kernel.cpu-cores), :batch(1024) 12 (<tmp> line 17) my \w = lines.race.map(*.words.cache).sort...p(|*.skip: 2).l… |
||
[Coke] | (configure) the fix is to either more tightly couple the three projects (rakudo builds moar/nqp and rakudo and then installs them all) or more loosely couples them (we always install things separately). the current middle ground is fine if you're doing development. :| | ||
jnthn | CurtisPoe: `is PURE` and yes, we constant fold them at compile time | ||
masak | [Coke]: agreed. | ||
araraloren | m: gist.github.com/araraloren/bfd6bb1...0fd93c1320 | 12:44 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Confused at <tmp>:2 ------> 037517⏏5 # demount dengue's impure worded fascin expecting any of: infix infix stopper statement end statement modifie… |
||
CurtisPoe | jnthn: thanks! | ||
masak | [Coke]: but "fine if you're doing development" is a small comfort for a user who just wants to install it, if it impacts them in a negative way | ||
[Coke] | Of course. | ||
maybe anything that uses "-gen" can put out a ################################################ THIS WILL INSTALL... use --force if you really want this" | 12:45 | ||
(but then half the directions will include --force) | |||
araraloren | c: 2018.05,2018.06,HEAD gist.github.com/araraloren/bfd6bb1...0fd93c1320 | ||
committable6 | araraloren, Using file “runner.p6” as a main file, other files are placed in “sandbox/” | ||
araraloren, ¦2018.05,2018.06,HEAD(9e75271): «» | |||
araraloren | :/ | 12:46 | |
masak | [Coke]: I'm partial to treating the projects as more loosely coupled. at least if there are also *other* arguments that can be made for their being more loosely coupled. (package managers etc. might find it easier to bundle them) | 12:47 | |
CurtisPoe | So “is pure” is more or less advisory and the compiler doesn’t check for things like opened files, accessing non-lexical variables or anything like that? | ||
And there’s constant folding, but no code inlining? | |||
(The latter would need a call graph check for recursion, I would imagine) | 12:48 | ||
[Coke] | IME, very few people who want to use rakudo care to have separate versions of nqp & moar with them, and we in fact tie them together by version very regularly. | ||
but yes, getting from as-is to to-be, separate packaging is easiest. (it's what was done for macports, e.g.) | |||
and then whenever you release a new rakudo package, it almost always depends on a new nqp package, e.g. | 12:49 | ||
12:49
Zoffix joined
|
|||
masak | hm. | 12:49 | |
jnthn | CurtisPoe: The compiler currently doesn't try to do any kind of proof that the thing really is pure. It will constant fold such things at compile time if the inputs are also constant (or constant folded) | ||
CurtisPoe: A lot of inlining happens, but at runtime | |||
CurtisPoe | Thanks. | 12:50 | |
masak | [Coke]: you're right that there is a fairly strong dependency relation going on between rakudo->nqp->moarvm | ||
Zoffix | jkramer: report it: github.com/rakudo/rakudo/issues/new It's very unlikely an issue would get fixed by merely mentioning in on IRC (and without anyone saying they're looking into it) | ||
masak | and that largely explains the current setup. | ||
Zoffix | jkramer: can you also include the input you're using in your report? I couldn't reproduce with a few things I tried as input | ||
jkramer | Zoffix: Sure, I just wanted to get some feedback first to figure out if it's just my fault :) | 12:53 | |
Zoffix | zostay: there is a Test::Builder tho: modules.perl6.org/repo/Test::Builder | ||
12:55
sno left
|
|||
Zoffix | CurtisPoe: note that (at least currently) if you have multies, you have to stick `is pure` on the proto, otherwise it won't get picked up by the static optimizer. And that means you can't use auto-generated protos for is pure subs | 12:56 | |
12:57
jmerelo left
|
|||
Zoffix | m: multi foo is pure { say "calling" }; $ = foo for ^3 | 12:57 | |
camelia | calling calling calling |
||
12:57
sno joined
|
|||
Zoffix | m: proto foo(|) is pure {*}; multi foo { say "calling" }; $ = foo for ^3 | 12:57 | |
camelia | calling | ||
CurtisPoe | Oh. That’s not obscure in the least :) | 12:58 | |
Zoffix | :P | 12:59 | |
[Coke] | seems like we could add a warning if someone tried to pure a multi | ||
Zoffix | or just make it work | 13:00 | |
13:03
mcmillhj joined
13:05
MasterDuke left
|
|||
Zoffix | gah | 13:07 | |
Zoffix gives up | |||
m: sub trait_mod:<is> (Routine:D \r, :$real-pure!) { dd r.candidates.head.dispatcher.^mixin: role { method is-pure (--> True) { } }; multi foo is real-pure { say "calling" }; $ = foo for ^3; | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Can't use unknown trait 'is real-pure' in a sub declaration. at <tmp>:1 expecting any of: rw raw hidden-from-backtrace hidden-from-USAGE pure default DEPRECATED inlinable nod… |
||
13:09
wamba left
|
|||
Zoffix | Ah, missing brace :P | 13:09 | |
'cause trait is applied at compile time it notices missing trait before the brace :) | |||
m: multi trait_mod:<is> (Routine:D $r, :$real-pure!) { $r.candidates.head.dispatcher.^mixin: role { method is-pure (--> True) { } } }; multi foo is real-pure { say "calling" }; $ = foo for ^3; | |||
camelia | calling | ||
13:13
kerframil left
13:14
xtreak left
|
|||
Zoffix | Filed R#2127 and D#2215 | 13:14 | |
synopsebot | R#2127 [open]: github.com/rakudo/rakudo/issues/2127 Easy to mess up `is pure` on multies | ||
D#2215 [open]: github.com/perl6/doc/issues/2215 [docs] `is pure` currently won't work on multies unless applied to proto | |||
SmokeMachine | Zoffix: but if 1 candidate is pure but the others aren’t? | 13:15 | |
Zoffix points to the content of R#2127 | |||
last paragraph | |||
Zoffix & | |||
13:15
Zoffix left
13:26
raschipi joined
13:44
[particle]1 is now known as [particle]
13:47
skids joined
13:48
robertle joined
13:55
gabiruh joined
13:59
diakopter joined
14:03
zakharyas left
|
|||
jkramer | I made this: github.com/rakudo/rakudo/issues/2128 | 14:03 | |
14:03
zakharyas joined
14:06
obfusk_ left,
obfusk joined
14:07
psychoslave joined
14:08
zakharyas left
14:12
dakkar left,
dakkar joined
14:13
TreyHarris left
14:21
raschipi left
14:22
Possum left
14:24
itaipu joined
14:26
TreyHarris joined,
wamba joined
14:28
curan left
14:31
Possum joined
14:32
w_richard_w joined
14:37
fake_space_whale joined
|
|||
xinming_ | my @a = 'a'..'z'; @a[1]:delete; @a | 14:45 | |
m:my @a = 'a'..'z'; @a[1]:delete; @a | |||
evalable6 | WARNINGS for /tmp/02_da8uoZT: Useless use of @a in sink context (line 1) |
||
xinming_ | m:my @a = 'a'..'z'; @a[1]:delete; @a.perl.say | 14:46 | |
evalable6 | ["a", Any, "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"] | ||
xinming_ | SO, the 2nd element of @array is ':delete'd, The slot is still there. If we want to really delete that "slot" in perl6, We have to use splice. Is there otherway? | ||
14:47
xtreak joined,
wamba left
|
|||
timotimo | you can grep + assign, like .= grep | 14:51 | |
14:52
wamba joined
|
|||
tbrowder_ | hi #perl6 | 14:54 | |
jkramer | m: my \w = lines.hyper; @ = w; say w.head; | ||
tbrowder_ | i notice syntax in pod2onepage like this: | ||
jkramer | Yup, seems like I isolated the problem :) | ||
camelia | (timeout) | ||
tbrowder_ | .&somesub($1, $2) | 14:55 | |
for | |||
14:56
wamba left
|
|||
tbrowder_ | decl sub somesub($0,$1,$2) {} | 14:56 | |
timotimo | yup, .foo is short for $_.foo and $_.&foo(...) is short for foo($_, ...) | ||
jkramer | m: my \w = lines.hyper; say w.head; | 14:57 | |
camelia | »Wann treffen wir drei wieder zusamm?« | ||
jkramer | m: my \w = lines; @ = w; say w.head; | ||
camelia | The iterator of this Seq is already in use/consumed by another Seq (you might solve this by adding .cache on usages of the Seq, or by assigning the Seq into an array) in block <unit> at <tmp> line 1 |
||
14:58
wamba joined
15:00
jmerelo joined
|
|||
xinming_ | timotimo: Is there any loop counter in for the loop? | 15:02 | |
15:02
wamba left
|
|||
xinming_ | with grep, we can't easily do something like @a[1,2,4,5,7,14,18,22]:delete | 15:03 | |
or maybe I still don't have enough knowledge to use perl. | 15:05 | ||
El_Che | a loop with a counter sounds like a for | ||
(or a while) | |||
timotimo | there's many ways to do this | 15:06 | |
how about this: | |||
m: my @a = <a b c d e f g h i j k l m>; @a .= grep({ $++ == any(1, 2, 4, 8, 16)}); say @a | |||
camelia | [b c e i] | ||
timotimo | oh, wrong way around | ||
m: my @a = <a b c d e f g h i j k l m>; @a .= grep({ $++ == none(1, 2, 4, 8, 16)}); say @a | |||
camelia | [a d f g h j k l m] | ||
15:07
warriors joined
|
|||
xinming_ | I forgot the $ var. | 15:07 | |
timotimo | though that won't know that after the 16 there won't ever be another element that doesn't match | ||
so it'll really run the code for every entry in the list | 15:08 | ||
splice will be the best you can get, i think | |||
xinming_ | yes, thanks. I didn't realize that we can use $ that way. :-) | ||
thanks | |||
15:09
sarna joined
|
|||
tbrowder_ | timotimo: thanks, don’t rememg | 15:11 | |
remember seeing that in docs. | |||
seems very weird like it’s an auto-generated method on the first arg, cool but unexpected to a noob | 15:14 | ||
15:17
Zoffix joined
|
|||
Zoffix | m: my @a = <a b c d e f g>; @a.splice: <1 4 5 6>.all, 1 | 15:19 | |
camelia | Type check failed in binding to parameter '&call'; expected Callable but got Method+{is-nodal} (Method+{is-nodal}.new) in block <unit> at <tmp> line 1 |
||
Zoffix | man that bug's really annoying | ||
m: @a = <a b c d e f g h i j>; -> Any \i { @a.splice: i, 1 }(<1 4 5 6>.all); dd @a | 15:20 | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '@a' is not declared at <tmp>:1 ------> 3<BOL>7⏏5@a = <a b c d e f g h i j>; -> Any \i { |
||
Zoffix | m: my @a = <a b c d e f g h i j>; -> Any \i { @a.splice: i, 1 }(<1 4 5 6>.all); dd @a | ||
camelia | Array @a = ["a", "c", "d", "e", "g", "i"] | ||
Zoffix | Oh, right the indices change after deletion :P | 15:21 | |
m: my @a = <a b c d e f g>; .[1,3,5]:delete,.=grep: ?* with @a; dd @a | 15:22 | ||
camelia | Array @a = ["a", "c", "e", "g"] | ||
jkramer | m: <a z>.minmax.pairs.grep(*.key != <1 2 4 5 7 14 18 22>.any)>>.value.say | 15:24 | |
camelia | (a d g i j k l m n p q r t u v x y z) | ||
Zoffix | m: my @a = <a b c d e f g>; @a=@a.[^@a .grep: none 1,3,5]:delete; dd @a | 15:25 | |
camelia | Array @a = ["a", "c", "e", "g"] | ||
15:29
psychoslave left
15:33
Zoffix left
|
|||
Geth | doc: 5a4f0589fa | (Tom Browder)++ (committed using GitHub Web editor) | doc/Language/functions.pod6 tweak info on function return |
15:33 | |
synopsebot | Link: doc.perl6.org/language/functions | ||
15:34
samcv joined
|
|||
El_Che | CurtisPoe: is your latest tweet describing Perl6 OO? | 15:35 | |
15:35
w_richard_w left
15:42
xtreak left
|
|||
CurtisPoe | Heh. No, just imagining a minimalist Perl 5 OO that might not be impossible. blogs.perl.org/users/ovid/2018/07/t...erl-5.html | 15:43 | |
15:43
araraloren left
15:44
lizmat joined
|
|||
CurtisPoe | I also like it because it shows how easy a simple LRU cache can be. | 15:45 | |
El_Che | ping/stalk stevan :) | ||
timotimo | have you seen damian's object system thingie? | 15:46 | |
i forgot what it was called :| | |||
El_Che | I saw his talk last year | ||
timotimo | dios? | ||
El_Che | yes | ||
whatever is picked it must be something in core. The zillion OO systems is to confusing for new people | 15:47 | ||
tbrowder_ | timotimo: the .& syntax is clearly documented in the Language/operators doc. but its usage with a real sub is not shown that i can find so far... | ||
El_Che | glad perl6 took care of that aspect | ||
CurtisPoe | timotimo: yes, I have, but I’ve never liked inside-out objects. | 15:49 | |
It’s lovely, though. | |||
15:50
molaf joined
|
|||
tbrowder_ | timotimo: duh, the def shows a clear example | 15:50 | |
El_Che | I used inside-out object it for some time because of PBP | ||
timotimo | my unfamiliarity with perl5 has prevented me from getting an intuitive understanding of what IO objects are | ||
El_Che | I still fear when I open old code it will be one of those :) | ||
timotimo | oh? i thought i-o objects is How You Do It | 15:51 | |
CurtisPoe | For regular Perl 5 objects (blessed references), you can see the internals with “use Data::Dumper; say Dumper($object)”. That’s very useful for debugging, but doesn’t work with inside-out objects. Looking to see if Dios provides support. | 15:52 | |
Juerd | In P5 I usually use the classic hash-as-object model. I really don't like the amount of typing and number of lines that comes with Moose, inside-out is complicated, etc. I'd love class and has, like CurtisPoe suggested. But I'm afraid it'll end in a major bikeshedding event with ugly syntax. | ||
CurtisPoe | I love Moose+signatures because it really makes my classes so much smaller than in core Perl 5. | 15:53 | |
El_Che | I picked Moo and moved on | ||
CurtisPoe | Moo is nice, but I’m so used to Moose that Moo trips me up at times. Still, it’s much faster. | 15:54 | |
15:55
xtreak joined
|
|||
El_Che | yes, maybe for bigger stuff like your game universe, Moose makes more sense | 15:55 | |
the big win of Moo for me is that it's fatpackable | |||
that's gold | |||
CurtisPoe | True! | 15:56 | |
15:56
ufobat left
|
|||
CurtisPoe | El_Che: I wish we had started with Moo and only switched to Moose for the heavy-lifting. | 15:56 | |
For those who don’t know the reference, it’s a free-to-play sci-fi universe: taustation.space/ | 15:57 | ||
El_Che | Won't you end with Moose anyway once you load it? | ||
15:59
psychoslave joined
|
|||
CurtisPoe | El_Che: yes, but since we started with Moose, it turns out that we can’t downgrade to Moo without a lot of rewriting. Moo -> Moose is a one-way street. | 16:01 | |
It hurts our startup times, but fortunately, on the prod servers, Perl + Moose is not a bottleneck in the slightest. | |||
16:03
kent\n joined
16:05
wamba joined
16:07
domidumont left
|
|||
xinming_ | ~~~~~~~~~~~~~~ | 16:07 | |
ownTheLibs | CurtisPoe: wow that game | 16:10 | |
CurtisPoe | Thanks :) | ||
Have you been skimming or have you played it for a while? | 16:11 | ||
Geth | doc: 2d25f3f83f | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/grammars.pod6 Fix def of default <ws> Closes github.com/perl6/doc/issues/2211 D#2211 |
||
synopsebot | Link: doc.perl6.org/language/grammars | ||
D#2211 [closed]: github.com/perl6/doc/issues/2211 [docs] Default `<ws>` value is incorrect | |||
ownTheLibs | CurtisPoe: just joined to see what it is | ||
CurtisPoe | Hope you enjoy it! We’re about to release the first version of syndicates (guilds) and have a lot more planned. | 16:12 | |
ownTheLibs | looks nice | ||
16:12
Ven`` joined
|
|||
ownTheLibs | sort of MUD-like, except that you use your browser | 16:12 | |
16:16
sarna left
|
|||
Geth | doc: 4ab5073297 | (Zoffix Znet)++ | 3 files Fix/add .perl Closes github.com/perl6/doc/issues/2212 D#2212 - Remove exact descriptions of produced .perls of Complex/Rat, since those are implementation specific - Clarify the values are simply something you can .EVAL back to an equivalent object - Document FatRat.perl |
16:18 | |
synopsebot | D#2212 [closed]: github.com/perl6/doc/issues/2212 [docs][easy to resolve] Some docs for .perl state exact string values, but shouldn't | ||
16:23
Zoffix joined
|
|||
Zoffix | .ask moritz would you be able to lend your expertise and answer the question on D#2208 github.com/perl6/doc/issues/2208 | 16:24 | |
yoleaux | Zoffix: I'll pass your message to moritz. | ||
synopsebot | D#2208 [open]: github.com/perl6/doc/issues/2208 [docs] What is an 'atom'? | ||
Geth | doc: 394215dd84 | (JJ Merelo)++ | 2 files Logs moved out of the repo → logs/build-log refs #2214 |
16:25 | |
16:25
robertle left,
psychoslave left
16:26
itaipu left
16:27
itaipu joined,
fake_space_whale left
16:29
scimon left
|
|||
Geth | doc: 3254d026aa | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/Attribute.pod6 Document `is required`'s value is a 6.d thing Closes github.com/perl6/doc/issues/2184 D#2184 |
16:30 | |
synopsebot | Link: doc.perl6.org/type/Attribute | ||
D#2184 [closed]: github.com/perl6/doc/issues/2184 [bug] attribute example dies | |||
16:31
itaipu left
16:32
itaipu joined
|
|||
Zoffix | .ask samcv would you verify if the claim in D#2182 actually apply to Perl 6? is calling .keys and then calling .values give you the same order? Prolly should have an explicit spectest if that's the behaviour github.com/perl6/doc/issues/2182 | 16:33 | |
yoleaux | Zoffix: I'll pass your message to samcv. | ||
synopsebot | D#2182 [open]: github.com/perl6/doc/issues/2182 [docs][update] No docs on the ordering of .keys and .values methods of a Hash | ||
Zoffix | Some doc links are broken, like docs.perl6.org/type/Any is that known? | 16:34 | |
16:34
vrurg left
|
|||
jmerelo | Zoffix: uh-oh | 16:35 | |
Zoffix | s/some/all/ | ||
jmerelo | I'm testing #2214 | ||
Zoffix | D#2214 | ||
synopsebot | D#2214 [open]: github.com/perl6/doc/issues/2214 [site] Move logs out of the repo directory | ||
jmerelo | Zoffix: right there in the server | ||
Zoffix: so bumpy road ahead | |||
16:36
itaipu left
|
|||
Zoffix | Would be nicer to test it on a test server. | 16:36 | |
man, the whole site is down | 16:37 | ||
jmerelo | Zoffix: I think the automatic sync has caught the place in a state where I was running the update by hand | ||
16:37
dakkar left,
itaipu joined
16:38
samcv left
|
|||
jmerelo | Zoffix: um | 16:38 | |
Zoffix: sorry about that. I don't think we have such a thing as a test server... | |||
Zoffix | Make a local one | 16:39 | |
CurtisPoe | Is there a Perl 6 version of Perl 5’s Hash::Ordered? metacpan.org/pod/Hash::Ordered | 16:40 | |
16:40
samcv joined
|
|||
Zoffix | eco: Ordered | 16:40 | |
buggable | Zoffix, Found 2 results: OrderedHash, Text::BorderedBlock. See modules.perl6.org/s/Ordered | ||
CurtisPoe | Thanks. I’ll look. | 16:41 | |
Zoffix | CurtisPoe: I think the first one might be it ^ | ||
jmerelo: did you figure out what the problem was or does something still needs to be done to fix it? | 16:44 | ||
some type docs are there, like Rat one | |||
jmerelo | Zoffix: yep, the problem is that sync happened in the middle of a manual running of the page generation thing | ||
tbrowder_ | jmerelo: is the docker stuff for the site build fixed yet? is there anything i can make better travis, docker, etc., so doc builds are more robust and resistent to doc repo changes? | ||
Zoffix | jmerelo: and it'll fix itself? | ||
jmerelo | Zoffix: probably, but I'm running it again just in case. | 16:45 | |
16:45
itaipu left
|
|||
Zoffix | ok | 16:45 | |
16:45
itaipu joined
|
|||
jmerelo | Zoffix: it's back. | 16:46 | |
Zoffix: sorry for the problems. | 16:47 | ||
tbrowder_: yep, fixed it this morning. | |||
tbrowder_: not sure. The only thing is that travis has to reflect what is actually done to build the docs, so it had to include the new order. | 16:48 | ||
Zoffix | jmerelo++ | ||
tbrowder_ | ok, but travis didn’t seem to be the problem, just the docker env | 16:49 | |
jmerelo | Zoffix: thanks for noticing it... | ||
16:51
[Sno] joined
16:53
sno left
|
|||
Geth | doc: d7abc10d78 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/Any.pod6 Clarify Any.list Even though Any.list returns a List, clarify that subclasses can return any Positional for this method. |
16:55 | |
synopsebot | Link: doc.perl6.org/type/Any | ||
16:55
Zoffix left,
itaipu left
16:56
itaipu joined
17:00
itaipu left
|
|||
jmerelo | tbrowder_: there are two different tests in Travis, one of them uses Docker, the other a binary. I fixed the latter straight away, but I needed a bit of more time for the former | 17:00 | |
17:01
itaipu joined
17:02
daxim joined
17:06
vrurg joined
|
|||
Geth | doc: 5c3123f21a | (JJ Merelo)++ | util/sync-build-log Uses the same env var for both scripts So that it's clear that they are using the same directory. Maybe it would be better to have that info read from somewhere else. This closes #2214. |
17:07 | |
17:10
kaare_ left
17:12
xtreak left
17:15
kaare_ joined
17:16
itaipu left
17:17
itaipu joined
|
|||
xinming_ | What is the best way to auto coerce the type to target type? Eg, my XX $obj = %parsed-json-as-hash | 17:17 | |
I know I can implement sub or class method something like XX.from-hash(%hash) or to-XX(%hash) | 17:18 | ||
IIRC, we can have multi to do that. bbl | 17:19 | ||
17:19
mcmillhj left
17:21
itaipu left
17:22
aindilis left,
itaipu joined
17:23
aindilis joined
|
|||
Geth | doc: 2e99de6456 | (JJ Merelo)++ | util/update-and-sync Uses a better cleaning command, closes #2203 |
17:23 | |
timotimo | xinming_: there's methods like .hash for that purpose | ||
17:23
Zoffix joined
|
|||
jmerelo | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ That is going to start working in the next update. I'm not testing it by hand to avoid problems. | 17:23 | |
I don't foresee anything bad happening, since I've done a dry run before, but, well, you never know. | 17:24 | ||
Zoffix | m: class Foo { proto method new(|) { *}; multi new (%h) { say "making from has" }; multi new (@h) { say "making from list" } }; Foo.new: {:42foo, :7bar}; Foo.new: [:42foo, :100bar] | ||
camelia | Cannot resolve caller new(Foo, Hash); Routine does not have any candidates. Is only the proto defined? in block <unit> at <tmp> line 1 |
||
Zoffix | m: class Foo { proto method new(|) { *}; multi method new (%h) { say "making from has" }; multi method new (@h) { say "making from list" } }; Foo.new: {:42foo, :7bar}; Foo.new: [:42foo, :100bar] | ||
camelia | making from has making from list |
||
Zoffix | xinming_: ^ yeah, typically you'd just add multies of the constructors instaed of .from- methods | 17:25 | |
jmerelo | I'm going to go AFK in a minute, please use Telegram (@jjmerelo) if you notice something weird on the server, like pages not updated or something like that. | ||
lizmat | timotimo: are you interested in errors like "MoarVM oops: Spesh: failed to fix up handler 1 in <unit> (1314, -1, -1)" ? | ||
timotimo | oh? that doesn't look good. | ||
gimme. | |||
Zoffix | xinming_: and for .to-* methods, you can define the types you're coercing to, so class { method List { ... } }; and then call it as Foo.List. In parameters, you can also use the coercer feature for that: sub (List(Your::Class) \list) {...} | 17:26 | |
xinming_: and for constructor you can then just do my MyObject .= new: %teh-hash | |||
lizmat | timotimo: perl6 --profile -e 'my @a = ^10; my $i = 5; @a[$i] for ^324' | ||
timotimo | does it occur with or without my recent moarvm patch? | 17:27 | |
lizmat | with ^323 it works ok | ||
ah, I'm at HEAD of rakudo | |||
if that's not part of it, no | |||
17:27
Ven`` left
|
|||
timotimo | that has my patch | 17:28 | |
17:28
Zoffix left
17:29
xtreak joined
|
|||
lizmat | :-( | 17:29 | |
17:30
mcmillhj joined
|
|||
timotimo | the patch has a little defect that i'll be fixing | 17:33 | |
lizmat | cool :-) | 17:34 | |
17:40
itaipu left,
itaipu joined
|
|||
timotimo | it's not necessarily the cause | 17:55 | |
17:55
xtreak left
|
|||
buggable | New CPAN upload: Perl6-Tidy-0.0.4.tar.gz by JGOFF modules.perl6.org/dist/Perl6::Tidy:cpan:JGOFF | 18:00 | |
timotimo | hm, my fix don't fix it | 18:02 | |
lizmat | well, maybe it fixes another thing ? | ||
timotimo | luckily it already segfaulted before my patch | 18:06 | |
18:08
mcmillhj_ joined,
mcmillhj left
18:09
dogbert17 left
|
|||
xinming_ | m:class A { method test () { "Good".say; } } my %h = (); my A $obj; $obj = %h; $obj.test; | 18:10 | |
evalable6 | (exit code 1) 04===SORRY!04=== Error while compiling /tmp/jOwTo55HES Strange… |
||
xinming_, Full output: gist.github.com/8fe7ee5d922e4e0a85...b20bbded3e | |||
18:10
zakharyas joined
|
|||
buggable | New CPAN upload: Perl6-Tidy-0.0.5.tar.gz by JGOFF modules.perl6.org/dist/Perl6::Tidy:cpan:JGOFF | 18:10 | |
xinming_ | What I mean is something like that. We assign the %h to an obj with type, It doesn't auto coerce. | 18:11 | |
El_Che | CurtisPoe: glad to hear perl is not the bottleneck | 18:12 | |
xinming_ | any ideas wether it's possible to do that? :-) | 18:13 | |
m: my $str = "12"; my Int $int = $str; | 18:14 | ||
camelia | Type check failed in assignment to $int; expected Int but got Str ("12") in block <unit> at <tmp> line 1 |
||
xinming_ | Something like this, but automatic, implicit | ||
though I know that it's not a good practise. | |||
lizmat | m: my Int() $a = "42" # is the syntax I would think would allow this | 18:15 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Coercion Int(Any) is insufficiently type-like to qualify a variable at <tmp>:1 ------> 3my Int() $a7⏏5 = "42" # is the syntax I would think expecting any of: constraint |
||
lizmat | I'm not sure that's a bug, a NYI or something else | ||
CurtisPoe | El_Che: it’s something that confuses a lot of programmers about many web sites: if you have heavy database work, app server CPU usually isn’t the main issue. | ||
18:15
MilkmanDan left
|
|||
timotimo | that's why rails has been so popular? | 18:15 | |
xinming_ | hmm, If that's not possible, I'll try to write a multi to conerce | ||
18:16
MilkmanDan joined
|
|||
lizmat | xinming_: perhaps you could check if there is already a ticket for it | 18:16 | |
if not, maybe create one | |||
xinming_ | Ok | ||
lizmat | xinming_++ | 18:17 | |
El_Che | timotimo: plenty of post of people moving off rails, fwiw | ||
timotimo | *shrug*, it was popular for almost a full hundred years now | 18:18 | |
El_Che | CurtisPoe: what kind of infra do you run for the game? Cloud + docker? Inhouse? State secret? | ||
CurtisPoe | Don’t work as much on that side, but it’s mostly Google cloud. Admin side was never my forté. | 18:19 | |
benjikun | state secret lol | ||
international spy ring? :P | |||
El_Che | benjikun: interplanetary, even | 18:20 | |
benjikun | :o | ||
CurtisPoe | Hey, can anyone help? Trying to write a simple LRU cache in Perl 6, but it seems I’m sometimes losing cache values (I also suspect the code isn’t very idiomatic): gist.github.com/Ovid/dd9743e81192f...763290fac8 | 18:21 | |
El_Che: That would be interstellar, actually :) | |||
El_Che | true dat | 18:22 | |
lizmat looks | 18:23 | ||
18:23
Zoffix joined
|
|||
Zoffix | CurtisPoe: in your article you mentioned `my` would be a private attribute. Is that what %cache meant to be? `my %cache` makes it a class attribute, shared among instances. Private attributes still use `has`, they just use `%!` twigil instead of `%.` | 18:24 | |
18:24
jmerelo left
|
|||
Zoffix | (probably not why you lose values; just mentioning) | 18:24 | |
CurtisPoe | Zoffix: That’s what I get from writing this using Perl 5 as my example :) | 18:25 | |
Will fix. | |||
moritz | CurtisPoe: the problem is (I think) that if %cache.pairs.elems >= $.max_size, you *always* delete an element from the cache | ||
yoleaux | 16:24Z <Zoffix> moritz: would you be able to lend your expertise and answer the question on D#2208 github.com/perl6/doc/issues/2208 | ||
synopsebot | D#2208 [open]: github.com/perl6/doc/issues/2208 [docs] What is an 'atom'? | ||
CurtisPoe | Er, “has %cache does OrderedHash;” throws an error with “Cannot resolve caller trait_mod:<does>(Attribute, OrderedHash); none of these signatures match” | 18:26 | |
moritz | CurtisPoe: but if the cash key to be added is already in the hash, you delete one element and replace another, reducing the total cache size | ||
Zoffix | CurtisPoe: looks like the module author didn't implement that trait | ||
eco: OrderedHash | |||
buggable | Zoffix, OrderedHash 'blah blah blah': modules.perl6.org/dist/OrderedHash:...20Oliveira | ||
moritz | CurtisPoe: the proper order is to first delete the element that you set anew, *then* count (and possibly delete), and then set the value | 18:27 | |
18:27
sauvin left
|
|||
Zoffix | oh, it's not a custom trait | 18:27 | |
m: role Foo {}; my %h does Foo | |||
camelia | ( no output ) | ||
Zoffix | CurtisPoe: oh, also I made a mistake `my %.foo` is a class attribute, `my %foo` is just a variable inside the class, but it is shared among instances | 18:28 | |
m: role Foo {}; my %h does Foo; class { has %.foo does foo } | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Invalid typename 'foo'. Did you mean 'Foo'? at <tmp>:1 ------> 3 %h does Foo; class { has %.foo does foo7⏏5 } |
||
Zoffix | m: role Foo {}; my %h does Foo; class { has %.foo does Foo } | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Cannot resolve caller trait_mod:<does>(Attribute, Foo); none of these signatures match: (Mu:U $doee, Mu:U $role) (Variable:D $v, Mu:U $role) at <tmp>:1 |
||
Zoffix | m: role Foo {}; my %h does Foo; class { has %.foo = {} does Foo } | ||
camelia | ( no output ) | ||
18:29
dct joined
|
|||
CurtisPoe | Thanks, Zoffix. | 18:29 | |
Zoffix | Filed as R#2130 | 18:30 | |
synopsebot | R#2130 [open]: github.com/rakudo/rakudo/issues/2130 [LTA] Can't `does` an Attribute even tho you can `does` a variable | ||
CurtisPoe | moritz: that seems to have helped, too. Thanks :) | ||
moritz | CurtisPoe: \o/ | 18:32 | |
CurtisPoe | Still having ordering issues, though. | ||
18:33
zakharyas left
|
|||
Zoffix | What is it? Like what's the order meant to be? | 18:35 | |
CurtisPoe | Updated gist.github.com/Ovid/dd9743e81192f...763290fac8 The comment in the for loop explains the issue. | ||
Zoffix: it’s supposed to be a LRU cache, so it tries to kick off the least recently used cache members, but I can’t quite figure out what’s going on. | 18:36 | ||
Zoffix | Running program multiple times gives different order each time. OrderedHash bug? | 18:37 | |
moritz never used OrderedHash | |||
CurtisPoe | Except that reading the code seems to suggest that it’s not ordered :/ | 18:38 | |
The docs almos seem to suggest that it’s sorted … | |||
moritz | uhm | 18:39 | |
CurtisPoe | (But I don’t see that in the code). | ||
I feel stupid. | |||
moritz | maybe the assignment is the problem | ||
timotimo | could be you're putting a regular hash in there | ||
moritz | has %.cache = anything coerces the RHS to a hash | ||
moritz tries something, hold on | 18:40 | ||
Zoffix | oh shit right. My bad | ||
CurtisPoe | OK | ||
18:40
pecastro joined
|
|||
CurtisPoe | So in “has %.cache = {} does OrderedHash;”, the “does OrderedHash” is a silent no-op? | 18:40 | |
timotimo | shouldn't be. but are you giving .new a cache => something? | 18:41 | |
Zoffix | CurtisPoe: the RHS makes an OrderedHash, but then it's being picked and stored in %.cache | 18:42 | |
timotimo | oh, that's what you mean | ||
so you'll just want a $.cache instead? | |||
Zoffix | weird. "submethod TWEAK { $!cache := ({} does OrderedHash); } " => submethod TWEAK { $!cache := ({} does OrderedHash); } | ||
I mean | |||
weird. "submethod TWEAK { $!cache := ({} does OrderedHash); } " => Attribute $!cache not declared in class Cache::LRU | |||
moritz | Zoffix: %!cache | ||
CurtisPoe | Why is this so difficult? | ||
Zoffix | moritz: thanks :) | 18:43 | |
moritz | and the syntax that the OrderedHash documentation uses only works for "my", not for "has" | ||
Zoffix | CurtisPoe: too many cooks? :) | ||
18:43
damaxi joined
|
|||
CurtisPoe | :) | 18:43 | |
moritz | CurtisPoe: in this case I blame OrderedHash | ||
CurtisPoe | Zoffix: can you kill some? You like doing that. | ||
moritz | lol | ||
CurtisPoe | Is there another ordered hash module for Perl 6? | ||
Zoffix | # Setting 2 to 7 | 18:44 | |
# ("1" => 0, "2" => 7, "3" => 6).Seq | |||
Is that what the results meant to look like? | |||
lizmat | CurtisPoe: why would you need an ordered hash module for what you're trying to achieve ? | 18:45 | |
Zoffix | That's after adding `submethod TWEAK { %!cache does OrderedHash }` to the code | ||
CurtisPoe | lizmat: It seemed the easiest way to implement an LRU. | ||
I had it in Perl 5, so I was trying to show an equivalent example in Perl 6. | 18:46 | ||
moritz | CurtisPoe: it seems that OrderedHash implements a *Sorted* hash, not one that preserves order | ||
18:46
itaipu left
18:47
itaipu joined
18:49
itaipu left
|
|||
Geth | doc: 9e3ec583a1 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/grammars.pod6 Clarify where <.ws> are inserted in :sigspace Per: github.com/perl6/doc/issues/2208#i...-407507687 Closes github.com/perl6/doc/issues/2208 D#2208 |
18:50 | |
synopsebot | Link: doc.perl6.org/language/grammars | ||
18:50
Zoffix left
|
|||
synopsebot | D#2208 [closed]: github.com/perl6/doc/issues/2208 [docs] What is an 'atom'? | ||
18:52
itaipu joined
18:56
itaipu left
18:57
itaipu joined
19:01
itaipu left
19:02
itaipu joined
19:12
ufobat joined
19:13
itaipu left
19:14
itaipu joined
19:16
itaipu left
19:17
hami joined
19:19
itaipu joined
19:21
itaipu left
|
|||
xinming | Is there a book introducing the advanced topics for perl6? | 19:23 | |
19:24
itaipu joined
|
|||
xinming | something like how to use advanced features in perl6 | 19:24 | |
19:26
itaipu left
|
|||
lizmat | xinming: perl6book.com contains an overview of the current Perl 6 books | 19:29 | |
19:29
itaipu joined
19:31
hami left,
itaipu left
|
|||
moritz | the regex book dives into some pretty advanced topics, if you ask em | 19:31 | |
*me | |||
though I'm biased :-) | |||
19:34
itaipu joined,
mcmillhj_ left
|
|||
xinming | moritz: because you wrote it. | 19:36 | |
19:40
Stofpad joined
|
|||
moritz | yes, that's the source of my bias | 19:44 | |
19:45
itaipu left,
itaipu joined
19:46
mcmillhj joined
19:50
Stofpad left,
Stofpad joined
19:51
itaipu left,
mcmillhj left
19:52
itaipu joined
19:58
mcmillhj joined
20:04
Stofpad left
20:06
mcmillhj left
20:07
mcmillhj joined
20:09
itaipu left,
itaipu joined
|
|||
buggable | New CPAN upload: Adverb-Eject-0.0.1.tar.gz by ELIZABETH cpan.metacpan.org/authors/id/E/EL/...0.1.tar.gz | 20:10 | |
20:12
itaipu left,
Stofpad joined
20:14
itaipu joined
20:16
damaxi left
20:18
damaxi joined
20:21
itaipu left
20:22
mcmillhj left,
itaipu joined
20:26
zakharyas joined
20:28
stee joined
20:29
mcmillhj joined
20:32
kerframil joined
20:34
mcmillhj left
20:35
itaipu left
20:36
itaipu joined
20:39
itaipu left
20:41
itaipu joined
20:44
itaipu left
20:45
mcmillhj joined
20:46
itaipu joined
20:47
itaipu left
20:51
itaipu joined
20:54
itaipu left
20:56
dct left,
domidumont joined
21:03
domidumont left
21:06
damaxi left,
pmurias left
21:07
zakharyas left
21:19
skids left
21:21
mcmillhj left
21:27
stee3 joined
21:30
stee left
21:39
psychoslave joined
21:41
mcmillhj joined
21:43
stee joined
21:46
stee3 left,
mcmillhj left
21:52
lucasb joined
21:54
Stofpad left,
mcmillhj joined
|
|||
lizmat | hmmm... the search box on docs.perl6.org seems to be no longer functioning? | 22:02 | |
timotimo | app.js doesn't seem to exist, it 404s | 22:04 | |
lizmat wonders who could fix that | 22:07 | ||
or figure out how it broke | 22:08 | ||
lucasb | is it util/update-and-sync that builds it? | 22:10 | |
recent commit inserted a "git clean" in there, instead of deleting only specific *.html files | 22:11 | ||
but I dunno if it's related :) | |||
timotimo | i don't see app.js in the doc.perl6.org's user folder | 22:12 | |
on hack, that is | |||
perhaps moritz can restore from backup | 22:13 | ||
tbrowder_ | jmerelo: help! | 22:14 | |
benjikun | isn't app.js supposed to be in html/js? | 22:32 | |
`html/js/app.js` is in .gitignore | |||
I'm guessing that's supposed to be there | 22:37 | ||
22:42
Zoffix joined
|
|||
Zoffix | app.js is the file generated by the build process | 22:42 | |
tbrowder_ | grep app.js html*6 | 22:43 | |
Geth | doc: f2742b8d8e | (Zoffix Znet)++ | util/update-and-sync Revert "Uses a better cleaning command, closes #2203" This reverts commit 2e99de64569ceee97ed1cfbd575f70025f53004a. It appears it removes the files generated by the build, such as app.js |
22:44 | |
Zoffix | man, the default logo looks really gross after you've been looking at the better alternatives for long | 22:51 | |
the blue really burns your retinas | |||
.oO( swap for a new logo during 6.d release ) |
22:52 | ||
This one's my favourite so far: github.com/perl6/marketing/blob/ma...-Black.png | |||
22:52
MasterDuke joined,
psychoslave left
|
|||
Zoffix | And this is the coloured one we use on some brochures, but it's not perfect yet: github.com/perl6/marketing/blob/ma...-Black.png | 22:53 | |
22:56
rindolf left,
lucasb left
|
|||
Geth | doc: 4e7d40e236 | (Zoffix Znet)++ | util/update-and-sync Revert "Revert "Uses a better cleaning command, closes #2203"" This reverts commit f2742b8d8eeee2e3e44d45e71b1ab2d8c349d391. That's not the JS breaker |
22:58 | |
Zoffix | I knew it was suspicious that the genned CSS file wasn't busted as well | ||
22:59
subroot joined
23:03
obra_ joined,
obra_ left,
mcmillhj left
|
|||
Geth | doc: d42ff11cd9 | (Zoffix Znet)++ (committed using GitHub Web editor) | util/trigger-rebuild.txt Update trigger-rebuild.txt |
23:05 | |
23:06
pecastro left
|
|||
ingy | I just did a `zef install --to=$PWD/foo` and now I want to `PERL6LIB=$PWD/foo perl6 ...` | 23:10 | |
Zoffix | You need to use special stuff tho | 23:11 | |
I think | 23:12 | ||
The inst# stuff | |||
ingy | ? | 23:13 | |
Zoffix | "-to=<id> # inst#/home/some/path/custom" | ||
Zoffix tries | 23:14 | ||
23:14
dct joined
|
|||
ingy | rm -fr /tmp/foo && mkdir /tmp/foo && zef install --to=/tmp/foo JSON::Tiny && PERL6LIB=/tmp/foo perl6 -MJSON::Tiny -e 'say "OK"' | 23:15 | |
something like that | |||
Zoffix | it works? | 23:16 | |
ingy | no | ||
Zoffix | Well, you're missing inst# | ||
ingy | Could not find JSON::Tiny at line 1 in: | ||
/tmp/foo | |||
Zoffix | hm | ||
don't work with inst# either | |||
ingy | what is inst#? | ||
Zoffix | Something to do with comp unit stuff I think | 23:17 | |
ingy | I don't know anything about inst# | ||
Zoffix neither | |||
I just remember ugexe mentioning it when someone was tring to install into a special path | |||
And it's also listed in the docs | |||
23:18
wamba left
|
|||
ingy | url? | 23:18 | |
Zoffix | I see it does install into that dir. Wonder how to use lib it | ||
ingy: github.com/ugexe/zef#more-cli | |||
The "options" header in the middle of the page | |||
23:18
HaraldJoerg left
|
|||
Zoffix | Also $*REPO.say prints "inst#/home/zoffix/.perl6" so I think it's "installation" comp unit repository or something | 23:22 | |
CompUnit::Repository::Installation | |||
benjikun | Zoffix: I agree about the logo | 23:23 | |
ingy | I'm totally lost | 23:24 | |
benjikun | the coloring annoys me, too | ||
Zoffix | ingy: my rudimentary understanding is in Perl 6 it's not just a bunch of files like in Perl 5. There are a bunch of "comp unit repositories" and when you install a module it precompiles the things and I believe the `--to` thing creates a new CompUnit::Repository::Installations. The -I / PERL6LIB is a way to add a CUR::FileSystem, but you need to add CUR::Installation to get to the installed modules | 23:25 | |
ingy: and I think the way to add it is by calling some methods on $*REPO, but that stuff ain't documented | 23:26 | ||
23:26
vrurg left
|
|||
ingy | Zoffix: what do you mean by "you need to add CUR::Installation"? | 23:27 | |
23:27
mcmillhj joined
|
|||
Zoffix | ingy: found a talk by the designer of this stuff: niner.name/talks/A%20look%20behind%...rl%206.pdf | 23:27 | |
m: say $*REPO.^name | |||
camelia | CompUnit::Repository::Installation | ||
Zoffix | m: say $*REPO | 23:28 | |
camelia | inst#/home/camelia/.perl6 | ||
Zoffix | ingy: ^ you need to add one of those but one that points to the path you're installing yopur module to | ||
ingy | nine: :P | ||
Zoffix | It's really fucking annoying that users have to struggle this much to find basic things like interface for stuff that existed for 3 years | ||
Document the stuff you implement, people. | 23:29 | ||
23:29
Zoffix left
|
|||
ingy | ZofBot: this worked: rm -fr /tmp/foo && mkdir /tmp/foo && zef install -to=/tmp/foo JSON::Tiny && PERL6LIB='inst#/tmp/foo' perl6 -MJSON::Tiny -e 'say "OK"' | 23:31 | |
Geth | doc: dfb04ec1ee | (Zoffix Znet)++ | util/update-and-sync Revert "Revert "Revert "Uses a better cleaning command, closes #2203""" This reverts commit 4e7d40e236c7c1babaa5daf2a6106e81c6a88280. Actually it is the cause of JS removal |
23:32 | |
23:32
mcmillhj left
|
|||
Geth | doc: 515f940f17 | (Zoffix Znet)++ (committed using GitHub Web editor) | util/trigger-rebuild.txt Update trigger-rebuild.txt |
23:33 | |
ingy | is precomp stuff portable across platforms? | 23:39 | |
23:43
mcmillhj joined
|
|||
timotimo | something precomped on one moarvm will run on a different system provided the moar versions are close enough | 23:43 | |
however, compile-time evaluated things will not make too much sense if they are system-dependent | |||
so you can have a moar file that, when run, believes $*OS to be windows when it is in fact a linux system | 23:44 | ||
TimToady | it's supposed to be portable on the level of not caring if your filesystem screws up unicode or case distinctions | 23:45 | |
23:45
[particle] left
23:46
vrurg joined
23:47
[particle] joined,
mcmillhj left
|
|||
tbrowder_ | looks like website search is working again... | 23:49 | |
whew%! | |||
23:50
wamba joined
|
|||
benjikun | Would it be a good idea to document CompUnit:: stuff on docs.perl6.org? | 23:54 | |
or would we put it somewhere else since it's more inner-workings than typical user | |||
Currently the links just lead to the classes on github | 23:55 | ||
23:59
mcmillhj joined
|