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