»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend! Set by moritz on 22 December 2015. |
|||
timotimo | what you can do to be absolutely sure is open the file, seek to an address, read a single byte, and output that | 00:00 | |
Guest89780 | in perl? | ||
timotimo | for example, yeah | ||
i mean, xxd will give you that, too | |||
and hexdump with the right flag | |||
it's just the default mode of operation for hexdump is not what you'd expect | 00:01 | ||
00:01
pharv left,
pharv joined
|
|||
Guest89780 | xxd is better than hexdump? | 00:01 | |
00:01
mcmillhj left
|
|||
timotimo | not better, just different | 00:02 | |
Guest89780 | xxd is more unix-like because three letters is the unix way | ||
timotimo | if that's so, why is unix four letters? :D :D | ||
Guest89780 | one letter is silent | ||
00:03
pharv left
|
|||
Guest89780 | or maybe it must be vanity for unix to be more than the parts that make unix | 00:03 | |
00:03
pharv joined
|
|||
timotimo | that's deep | 00:03 | |
Guest89780 | i know right | ||
00:03
mcmillhj joined
|
|||
Guest89780 | wc is two letters | 00:03 | |
so there can be less than two | 00:04 | ||
00:04
epony joined
|
|||
Guest89780 | but less and more are four | 00:04 | |
timotimo | there's also just w | ||
Guest89780 | today I learned | ||
much | |||
timotimo | also, there is [ which you might call "not one letter" in some interpretation of the word | 00:05 | |
Guest89780 | one character | ||
timotimo | yeah | ||
but i don't know a unix command that's less than one character :( | |||
Guest89780 | are there binary and hex and oct and other base operations? | 00:06 | |
00:06
epony left
|
|||
Guest89780 | the search box for the docs is unhelpful | 00:06 | |
00:06
epony joined
|
|||
timotimo | docs.perl6.org/language/5to6-perlfunc#hex | 00:06 | |
oct also exists on that page | |||
Guest89780 | I mean like bitshifting | 00:07 | |
timotimo | oh! | ||
Guest89780 | en.wikipedia.org/wiki/Bitwise_operation | ||
en.wikipedia.org/wiki/Bit_manipulation | |||
timotimo | well, bin/hex/oct really are not really relevant for bitwise operations; the name "bitwise" implies that you operate in base 2 | 00:08 | |
of course, you can use bitwise operations to do "hex-wise" operations by doing multiple bits at a time | |||
Guest89780 | there must be equivalents for other bases though | ||
yeah | |||
timotimo | yes, shifting is equivalent to multiplying or dividing by the base | ||
Guest89780 | where would one find such documentation? | 00:09 | |
timotimo | perl6 has bitwise operations with a + at the front, +< and +> are left and right shift, +& and +| are bitwise and and or | ||
00:09
mcmillhj left
|
|||
timotimo | yeah, the search box is unhelpful here | 00:09 | |
Guest89780 | are they undocumented? | ||
timotimo | that is actually possible, but i suspect they're just not added to the index | 00:10 | |
Guest89780 | how do you do bit masking? | ||
so +! is not but what about xor? | 00:11 | ||
timotimo | should be +^ | ||
00:12
w_richard_w joined
|
|||
timotimo | bit masking is done with +& like you're probably used to | 00:12 | |
m: say (0b10101010 +& 0b11110000).base(2) | 00:13 | ||
camelia | 10100000 | ||
Guest89780 | docs.perl6.org/language/operators | 00:14 | |
it would help if there were examples for all of them | |||
timotimo | that's true | 00:15 | |
Guest89780 | so from binary hacking how do you self host? | ||
timotimo | you want to write a perl6 compiler and/or runtime starting from x86 machine code? | 00:16 | |
Guest89780 | by runtime do you mean repl? | ||
or interpreter? | 00:17 | ||
timotimo | think more like what libc is to C | ||
like, the collection of subs and classes you have as a user, and much more | |||
00:17
xi- left,
mcmillhj joined,
xi- joined
|
|||
Guest89780 | that is already implemented in perl6 | 00:17 | |
timotimo | that's true | 00:18 | |
i don't know where to start answering this question :D | 00:19 | ||
rakudo sits on top of NQP, which is the part that is self-hosted | |||
Guest89780 | what about grammar? | ||
timotimo | grammar stuff is implemented in NQP, too | ||
NQP uses a grammar to parse NQP code, rakudo uses a grammar to parse perl6 code | 00:20 | ||
docs.perl6.org/type/Int - this page also has more information about bases and conversions btw | 00:21 | ||
Guest89780 | so rakudo uses nqp grammars to parse perl6 code? | ||
timotimo | that's true, but nqp grammars and perl6 grammars are almost the same | ||
00:22
mcmillhj left
|
|||
timotimo | github.com/rakudo/rakudo/blob/mast...r.nqp#L466 - here you can see that the perl6 grammar literally derives from HLL::Grammar, which lives in NQP | 00:23 | |
github.com/perl6/nqp/blob/master/s...rammar.nqp | |||
Guest89780 | where do they go from grammars to binary? | 00:24 | |
timotimo | there's multiple stages | 00:25 | |
Guest89780 | are there flowchart diagrams? | ||
uml? | |||
timotimo | not uml | ||
if you're interested in the nitty-gritty, there's the internals workshop | |||
Guest89780 | dot? | ||
timotimo | github.com/edumentab/rakudo-and-nq...s-workshop | ||
00:26
noganex_ left
|
|||
timotimo | the gist of it is, text goes into the grammar, every successfully parsed regex/rule/token causes a method of the same name to be called in the corresponding Actions class, which - together with World - creates an AST + a bunch of objects | 00:26 | |
the AST format is called QAST and is made up of nodes like QAST::Op or QAST::Stmts or QAST::Var | 00:27 | ||
there's the QASTCompiler pieces which are the first bits that are fully backend-specific | |||
so for moarvm you have QASTCompilerMAST (MAST stands for MoarVM AST) and for JVM you have QASTCompilerJAST (Java AST in this case) | 00:28 | ||
the next step for those is moarvm bytecode on one side and jvm bytecode (.class files inside a .jar file) on the other side | |||
Guest89780 | why is there java and c and c++ and perl5 in rakudo? when perl6 can handle binay | 00:30 | |
binary* | |||
timotimo | multiple reasons | 00:31 | |
some low-level ops live in rakudo, for the jvm they are implemented in java, for moarvm they are implemented in C | |||
the tests folder includes C and C++ code to test our foreign-function interface | |||
and we have some perl5 code for our build system, i.e. Configure.pl and code to run the spec test suite (with a perl6 version also available, but only about a year or two old) | 00:32 | ||
00:37
mcmillhj joined
|
|||
timotimo | i gotta go to bed now, feel free to come back or stick around for more questions. have fun with perl6! o/ | 00:37 | |
herby_ | o/ | 00:38 | |
Guest89780 | 🦋 | 00:40 | |
timotimo | i put a message into the moderator mail for /r/perl6, herby_ | 00:42 | |
herby_ | timotimo: thanks! | ||
00:42
mcmillhj left
|
|||
timotimo | no, thank *you* | 00:43 | |
github.com/perl6/doc/issues/1922 - Guest89780 this one is for your issue with bitwise operators not being findable and not having examples | 00:47 | ||
bye! | |||
Guest89780 | timotimo: thanks! | 00:48 | |
00:51
pharv left
00:55
mcmillhj joined
01:00
mcmillhj left
01:01
pharv joined
01:05
simpleseeker left
01:06
pharv left
01:10
mcmillhj joined
01:11
Guest89780 left
01:13
comborico1611 left
|
|||
Geth | perl6.org: ccworld1000++ created pull request #105: Multilingual translation |
01:14 | |
01:16
mcmillhj left
01:21
Ayylmao joined
01:23
Ayylmao is now known as ayy,
ayy left
01:30
mcmillhj joined
01:35
Xliff joined
|
|||
Xliff | \o | 01:35 | |
Been a few weeks. | |||
How are you #perl6? | |||
01:36
mcmillhj left
|
|||
Xliff | I've been trying to rakudobrew but it is giving me build errors. Should I nuke moar and start over? | 01:36 | |
Aand... that seems to have worked. | 01:37 | ||
geekosaur | Xliff, the faster fix is to remove the contents of the directory it complains about early (3rdparty/libatomic_ops) | 01:41 | |
git doesn't handle moving things to submodules well | 01:42 | ||
you have to help it along or it gets tangled up in its boxers | |||
01:43
giraffe joined
|
|||
Xliff | Yes. It's why I nuked. | 01:43 | |
JIC. | |||
BRB | |||
01:43
Xliff left
01:44
Xliff joined
01:45
ilbot3 left,
mcmillhj joined
|
|||
Xliff | Ahh. New version of HC | 01:47 | |
¯\_(ツ)_/¯ | |||
01:50
mcmillhj left
01:53
epony left
01:55
epony joined
01:56
ilbot3 joined,
ChanServ sets mode: +v ilbot3
|
|||
herby_ | Xliff: o/ | 01:57 | |
02:00
mcmillhj joined
02:05
mcmillhj left
02:06
zachk left
02:17
mcmillhj joined
02:22
mcmillhj left
02:35
mcmillhj joined
02:40
mcmillhj left
02:52
mcmillhj joined
02:54
escherlat left
02:56
ufobat_ joined
|
|||
herby_ | spontaneous poll: what does everyone use for your development environment? | 02:56 | |
I'm bouncing between vscode and vim | |||
lookatme | I am using QtCreator/vscode/atom/emacs :) | 02:57 | |
herby_ | hmmm. I've never heard of QtCreator | ||
02:57
mcmillhj left
|
|||
lookatme | it's for c/c++ | 02:58 | |
herby_ | ahh, that could be why then :) | ||
lookatme | also, it's for QT | ||
02:59
ufobat left
|
|||
MasterDuke | vim | 03:04 | |
herby_ | for p6 development, what are your big vim plugins? | 03:05 | |
right now i just have the vim-perl6 one | |||
MasterDuke | pretty much the only other one i actually use lets you put a colon and line number after the filename and vim will open the file directly to that line | 03:07 | |
03:07
eliasr left
|
|||
MasterDuke | e.g., `vim src/core/Str.pm6:123` | 03:07 | |
03:08
mcmillhj joined
|
|||
MasterDuke | which is useful for copy/pasting from backtraces and greps | 03:08 | |
herby_ | hmmm. what's that plugin name? | ||
MasterDuke | it's just file_line.vim in my ~/.vim/plugins | 03:09 | |
SmokeMachine | jnthn: hi, I just wrote an "extension" (github.com/FCO/test-time) to your Test::Scheduler and I'd like to know if you have any plan to make anything like what I did natively on Test::Scheduler. | 03:10 | |
MasterDuke: Why do you use that? I'd use something like `vim src/core/Str.pm6 +123` | 03:11 | ||
03:12
mcmillhj left
|
|||
herby_ | i learn something new every day :) | 03:13 | |
MasterDuke | it makes it really easy to just double click to highlight a grep/backtrace result, middle click to past, and enter to open | ||
without having to go and change the ':' to ' +' | |||
SmokeMachine | MasterDuke: yes... that makes sense... | 03:14 | |
MasterDuke | github.com/bogado/file-line | 03:18 | |
SmokeMachine | .tell jnthn hi, I just wrote a small "extension" (github.com/FCO/test-time) to your Test::Scheduler and I'd like to know: are planning to make anything like that natively on Test::Scheduler? | 03:20 | |
yoleaux | SmokeMachine: I'll pass your message to jnthn. | ||
03:25
mcmillhj joined
03:26
pharv joined
03:31
mcmillhj left,
pharv left
03:39
mcmillhj joined
03:41
athenot left
03:44
mcmillhj left
03:51
mcmillhj joined
|
|||
Geth | perl6.org: 7a5203362a | CC++ (committed using GitHub Web editor) | README.md Multilingual translation |
03:56 | |
perl6.org: 928a36dfdd | (Zoffix Znet)++ (committed using GitHub Web editor) | README.md Merge pull request #105 from ccworld1000/patch-4 Multilingual translation |
|||
03:56
mcmillhj left
04:11
mcmillhj joined
04:12
kybr left
04:16
khw left
04:17
mcmillhj left
04:23
mcmillhj joined
04:28
mcmillhj left
04:40
mcmillhj joined
04:44
mcmillhj left
04:56
wamba joined
05:00
nige joined
05:03
jmerelo joined
05:04
HaraldJoerg joined
|
|||
moritz | mr_ron: Perl 5's (?>....) corresponds to Perl 6's backtrack suppression, not (*PRUNE) | 05:07 | |
05:26
AlexDaniel joined
05:27
pharv joined
05:28
sauvin joined
05:32
pharv left
05:34
mcmillhj joined
05:37
wamba left
05:39
mcmillhj left
05:45
Zoffix joined
05:46
lookatme left,
robertle_ left
05:47
mcmillhj joined
|
|||
AlexDaniel looks at RedMonk *Programming Language* rankings | 05:47 | ||
AlexDaniel sees “KiCad” | |||
jmerelo | AlexDaniel: probably not Turing-complete :-) | 05:48 | |
05:51
mcmillhj left
|
|||
Geth | doc/master: 4 commits pushed by (JJ Merelo)++ | 05:52 | |
05:52
dct joined
05:54
brrt joined
05:55
nige left
05:59
mcmillhj joined,
wamba joined
06:00
dct left
|
|||
Zoffix | Thinking of doing an event quarterly: "Rakudo Star Unboxing". Timed right after Rakudo Star releases but people can organize on their own whenever they want (e.g. Mongers meetings). The goal: get another human to install and "try out" Perl 6 (part of the event could include some theme for the programs to write or whatever). The underlying goal: shake out all the issues newcomers to the language experience: | 06:01 | |
e.g. trouble finding what to install; trouble installing ( github.com/perl6/user-experience/issues/20 ); trouble finding appropriate resources for learning/docs; and logging any negatives into github.com/perl6/user-experience/ ... Those who are not new to the language or don't have access to humans for the purpose of the event would be taking care of all the filed issues, as well as trying to | |||
identify any possible issues without the help of a newbie-in-training; basically similar to a SQUASHathon | |||
Geth | doc: 8ab2d19c88 | (JJ Merelo)++ | CONTRIBUTING.md Minor changes. Mainly reviews and closes #1909 |
||
06:04
mcmillhj left
06:07
domidumont joined
|
|||
jmerelo | Zoffix: probably a good idea. But we might have to test-drive it to see how many actual meetings are really organized and what are the results. | 06:07 | |
06:07
espadrine_ left
06:08
mcmillhj joined
06:11
nige joined,
nige left
|
|||
Zoffix | Well, there'd only be one digital one, same as how SQUASHathon is done. | 06:11 | |
06:13
domidumont left
|
|||
jmerelo | Zoffix: you mentioned Mongers meetings, so I thought you were talking about F2F events. Same thing, anyway. Test-drive and evaluate. | 06:13 | |
06:13
domidumont joined
06:15
mcmillhj left
06:17
nige joined
06:18
travis-ci joined
|
|||
travis-ci | Doc build failed. JJ Merelo 'Minor changes. Mainly reviews and closes #1909' | 06:18 | |
travis-ci.org/perl6/doc/builds/365959190 github.com/perl6/doc/compare/f4171...b2d19c8843 | |||
06:18
travis-ci left
|
|||
AlexDaniel | interesting idea | 06:18 | |
buggable | [travis build above] ☠ Did not recognize some failures. Check results manually. | ||
06:18
mcmillhj joined
06:20
rindolf joined
06:21
noganex joined
|
|||
Zoffix | On second thought, might be hard to gather enough newcomers during the event (and I don't want people spamming it in inappropriate places). Rather make a "Perl 6 Starter Kit" that lists installation instructions and pointers to key resources and stresses that all encountered issues should be reported on github.com/perl6/user-experience Then people can hand those out at events like whatever was | 06:22 | |
happening that caused github.com/perl6/user-experience/issues/20 to be filed. | |||
06:24
mcmillhj left
|
|||
Zoffix | "But without timotimo's support I probably would have postponed Perl 6 for a (another) year or so..." | 06:25 | |
Fairly concerning, especially because the user is referencing our primary download page (e.g it isn't like they tried to build compiler-only from source and had problems). | |||
El_Che | yes | 06:26 | |
Zoffix | Also, I've seen multiple times people saying they're waiting for LP6 to come out before trying P6. That's in a 2-4 months and I expect a user influx when it comes out. We should fix up all the thorns affecting the initial impressions. And also make stresstest pass on Windows ( S#320 ) [without fudging anything] | 06:27 | |
synopsebot | S#320 [open]: github.com/perl6/roast/issues/320 Windows roast failures just before 2017.09 release | ||
El_Che | LP6? | ||
donpdonp | whats lp6 | ||
donpdonp high-fives El_Che | 06:28 | ||
Zoffix | "Learning Perl 6": www.learningperl6.com/ | ||
the book | |||
donpdonp nods | |||
El_Che | maybe it'd be good to have an idea what he proposes for installation, so we don't change everything before it releases | 06:29 | |
Geth | doc: c98d635b58 | (JJ Merelo)++ | CONTRIBUTING.md Eliminates tab |
||
El_Che low-fives donpdonp | |||
06:29
jmerelo left
|
|||
donpdonp laughs | 06:29 | ||
Zoffix | Let's see | 06:30 | |
El_Che | I would love to get linux repos up before then | 06:31 | |
and maybe some repo's will have a decent rakudo version as well | |||
Zoffix | First thing mentioned is docker with rakudo star, and on Windows rakudo star via choco package manager | 06:32 | |
El_Che | ubuntu 18.04 will have 2018.03 | ||
06:32
mcmillhj joined
|
|||
donpdonp | wow! | 06:33 | |
El_Che | I though chocolatey was an appveyor thing, but it seems it's a package maanger | 06:34 | |
06:34
nige left
|
|||
Zoffix | Glob.io mentioned for "try without installing" and that's about it. Installing perl6 is listed as Excercise 0.1 | 06:34 | |
El_Che | no brew for mac? weird | 06:35 | |
donpdonp | it looks right now anyways that its 2015.12 packages.ubuntu.com/bionic/perl6 (bionic = 18.04) | ||
Zoffix | No mentions of brew | ||
donpdonp | oh the req is >=2015.12, and the rakudo package is 2018.03-1 | 06:36 | |
thats fantastic. | |||
18.04 will put perl6 on a lot of boxes. | 06:37 | ||
Zoffix | Oh, the prose after choco examples does mention rakudo.org: "You can also download source or binaries some from rakudo.org. That’s how I get my macOS packages." | ||
06:37
mcmillhj left
|
|||
El_Che | Zoffix: there was mention of brew in the old rakudo download pages. It it by far the easiest way to install and kee it updated | 06:38 | |
Zoffix | El_Che: install what rakudo star or just rakudo? | 06:39 | |
El_Che: new page: perl6.org:4242/files/star/macos that's after clicking the "macOS" panel in the middle: perl6.org:4242/files | 06:40 | ||
And also mentioned if the user goes to 3rd-party packages option: perl6.org:4242/files/star/third-party | |||
El_Che | that sucks | 06:41 | |
brew install rakudo-star | |||
braw update | |||
\o/ | |||
Zoffix | "sucks"? What do you mean? | ||
El_Che | download a file, dubble click it, drag an icon to an other icon, repeat every x weeks/months | 06:42 | |
compared to installing star with brew install rakudo-star (and doing updates of all your brew packages with brew update) | 06:43 | ||
Zoffix | I meant the "Other variants: Rakudo Star is available from Homebrew. To install, run brew install rakudo-star" shown on that page | ||
El_Che | osx packaging admin is pure horror | ||
Zoffix: I wonder if it should be the default as it's just rakudo-star. It's it ok depend on a third party package manager? stmuk_ are you a mainly osx user? stmuk_, any thought? | 06:45 | ||
06:46
mcmillhj joined
|
|||
El_Che | Zoffix: news from pmichaud_ ? | 06:46 | |
Zoffix | None since irclog.perlgeek.de/perl6/2018-04-11#i_16034438 | 06:47 | |
El_Che | good! | ||
he's aware | |||
06:49
troys left
06:51
mcmillhj left
|
|||
Zoffix | BTW what happened to "Web Development with Perl 6" book or something along those lines? Based on Bailador. I thought it was meant to be come out in December or something. | 06:51 | |
December 2017 | |||
ufobat_ | i have no clue | ||
gabor is quiet for a while | 06:52 | ||
but i just released Bailador 0.0.15 ; | |||
isn't usually a bot anoucing new cpan uploads? | 06:53 | ||
Zoffix | buggable: uptime | 06:54 | |
buggable: help | |||
buggable | Zoffix, tags | tag SOMETAG | eco | eco Some search term | author github username | speed | testers CPANTesters report ID | ||
Zoffix | Yeah, it should | ||
buggable | New CPAN upload: Bailador-0.0.15.tar.gz by UFOBAT cpan.metacpan.org/authors/id/U/UF/....15.tar.gz | ||
ufobat_ | lol! | 06:55 | |
Zoffix | .ask moritz the perl6book.com site shows a chart with a couple of books and it's easy to miss the full book list at the bottom: i.imgur.com/bpIYyWR.png Site should be re-styled. If there's a repo, I can submit a PR. | ||
yoleaux | Zoffix: I'll pass your message to moritz. | ||
ufobat_ | guilty conscience, buggable? | ||
Zoffix | eco: Bailador:from<cpan>:author<UFOBAT> | 06:58 | |
buggable | Zoffix, Nothing found | ||
06:58
mcmillhj joined
|
|||
Zoffix | eco: Bailador from<cpan> author<UFOBAT> | 06:58 | |
buggable | Zoffix, Nothing found | ||
Zoffix | eco: Bailador from:cpan author:UFOBAT | ||
buggable | Zoffix, Bailador 'A light-weight route-based web application framework for Perl 6': www.cpan.org/authors/id/U/UF/UFOBAT....14.tar.gz | ||
Zoffix | hm | ||
Can prolly use that to make the bot paste links to modules.perl6.org instead | 06:59 | ||
ufobat_ | thats still 0.0.14 | ||
moritz | Zoffix: it's a repo, github.com/moritz/perl6book-web | 07:00 | |
yoleaux | 06:55Z <Zoffix> moritz: the perl6book.com site shows a chart with a couple of books and it's easy to miss the full book list at the bottom: i.imgur.com/bpIYyWR.png Site should be re-styled. If there's a repo, I can submit a PR. | ||
moritz | Zoffix: and yes, better style is always appreciated :-) | 07:01 | |
Zoffix | ok | ||
07:03
mcmillhj left,
darutoko joined
07:10
lookatme joined
|
|||
Geth | modules.perl6.org: 00d0a6fd82 | (Zoffix Znet)++ | lib/ModulesPerl6/Controller/Root.pm [REAPP] Add URL to dist on the site in JSON api search results |
07:11 | |
moritz | Zoffix: I've invited you as a collaborator, in case that makes it easier for you in any way | 07:14 | |
Zoffix | moritz: is the site updated from the repo automatically? | ||
moritz | Zoffix: I don't think so | 07:15 | |
Zoffix | OK | ||
07:16
Tison joined
07:17
mcmillhj joined,
cognominal left
07:21
mcmillhj left
07:28
pharv joined
07:33
mcmillhj joined,
pharv left
|
|||
perlawhirl | bug? | 07:35 | |
m: say (.minmax => (.min, .max)) for (0..10), (^10) | |||
camelia | (0 10) => (0 10) (0 9) => (0 10) |
||
perlawhirl | ie, why is .max on ^10 == 10 | 07:36 | |
Zoffix | Nah, not a bug. .minmax gives largest/smallest elements of the range, while .min/.max are the endpoints you need to combine them with .excludes-min/.excludes-max endpoints to get the actual value that includes exclusion point | 07:37 | |
s:2nd/endpoints/attributes/; | 07:38 | ||
07:38
mcmillhj left
|
|||
Zoffix | uhh | 07:38 | |
m: dd ^10 .minmax | 07:39 | ||
camelia | (0, 9) | ||
Zoffix | m: dd ^10.1 .minmax | ||
camelia | Failure.new(exception => X::AdHoc.new(payload => "Cannot return minmax on Range with excluded ends"), backtrace => Backtrace.new) | ||
Zoffix | s: ^1, 'minmax', \() | ||
SourceBaby | Zoffix, Sauce is at github.com/rakudo/rakudo/blob/08b9...e.pm6#L708 | 07:40 | |
Zoffix | Filed as R#1729 | 07:43 | |
synopsebot | R#1729 [open]: github.com/rakudo/rakudo/issues/1729 [LTA][consistency] Range.minmax inconsistency / LTA error | ||
Zoffix | m: dd (1, 2, 3).minmax; dd (1, 2, ^3).minmax; # dafuq :/ | 07:44 | |
camelia | 1..3 ^3 |
||
07:46
domidumont1 joined
|
|||
Zoffix | ah, it flattens it; nevermind | 07:46 | |
Tison | m: dd (|^10).max | 07:47 | |
camelia | 9 | ||
Tison | m: dd (^10).max | 07:48 | |
camelia | 10 | ||
Zoffix | weekly: there's some effort to translate perl6.org to Chinese that could use more humans helping out: github.com/ccworld1000/perl6.org github.com/perl6/perl6.org/pull/10...-381053036 | 07:49 | |
notable6 | Zoffix, Noted! | ||
07:49
domidumont left
|
|||
Tison | m: dd (^10).^name; dd (0..10).^name; dd (|^10).^name; dd (0..9).max; | 07:50 | |
camelia | "Range" "Range" "Slip" 9 |
||
Zoffix | The (|^10).max version calls .max method on a List. The (^10).max version accesses the .max attribute on the Range. | ||
07:51
mcmillhj joined
|
|||
Tison | m: dd (0..9) ~~ (^10); dd (^10) ~~ (0..9); | 07:54 | |
camelia | Bool::True Bool::False |
||
07:54
brrt left,
brrt joined
|
|||
Tison | Interesting, so (0..9) and (^10) both Range and they contain same data but not same thing | 07:55 | |
Zoffix | s: (0..9), 'ACCEPTS', \(^10) | ||
SourceBaby | Zoffix, Sauce is at github.com/rakudo/rakudo/blob/08b9...e.pm6#L438 | ||
Zoffix | That sounds like a bug | 07:56 | |
07:56
mcmillhj left,
andrzejku joined
|
|||
Tison | cause by .max, looks like | 07:57 | |
lookatme | m: say &infix:<<"~~">>; | ||
camelia | sub infix:<~~> (Mu \topic, Mu \matcher) { #`(Sub+{Precedence}|35612560) ... } | ||
07:58
scimon joined
07:59
abraxxa left
|
|||
Zoffix | looks like just failing to check the opposite of `!topic.excludes-max && $!excludes-max` | 08:02 | |
m: use nqp; dd nqp::iseq_i(nqp::add_i(nqp::istrue(1), nqp::istrue(1)),1) | 08:03 | ||
camelia | 0 | ||
Zoffix | m: use nqp; dd nqp::iseq_i(nqp::add_i(nqp::istrue(1), nqp::istrue(0)),1) | ||
camelia | 1 | ||
Zoffix | m: use nqp; dd nqp::iseq_i(nqp::add_i(nqp::istrue(0), nqp::istrue(1)),1) | 08:04 | |
camelia | 1 | ||
Zoffix | prolly that would fix the bug | ||
Zoffix is too sick to fix anything ATM -_- | |||
08:04
abraxxa joined
|
|||
Zoffix | Filed as R#1730 | 08:05 | |
synopsebot | R#1730 [open]: github.com/rakudo/rakudo/issues/1730 [LHF] Range.ACCEPTS fails to accept one of two equivalent Ranges | ||
Tison | github.com/rakudo/rakudo/blob/08b9...#L708-L714 | 08:07 | |
So (0..^10).minmax returns (0, 10) because it returns ($!min, $!max) | 08:08 | ||
where $!max = 10 and $!excludes-max = True | |||
08:08
abraxxa left
|
|||
Zoffix | yeah | 08:08 | |
Tison | I don't have an idea how we think of it, should [0, 10)'s max be 10? | ||
s/how/what/ | 08:09 | ||
Zoffix | wait, no, it returns (0, 9) | ||
08:09
mcmillhj joined
|
|||
Tison | oops | 08:09 | |
Zoffix | because it returns computed minmax; whereas separate .min/.max calls return the values of attributes | 08:10 | |
08:10
cognominal joined
|
|||
Tison | yes, is-int be true so it returns int-bound | 08:10 | |
lizmat | m: dd 9.9 ~~ 0.0..^10.0 # can also have non-int in ranges | 08:11 | |
camelia | Bool::True | ||
lookatme | m: say (0..^10).minmax; | ||
camelia | (0 9) | ||
08:12
dakkar joined
08:15
mcmillhj left
08:23
mcmillhj joined
08:26
Zoffix left
08:27
eliasr joined
08:28
mcmillhj left
08:29
abraxxa joined
08:32
zakharyas joined
08:38
Tison left,
HaraldJoerg left
08:39
HaraldJoerg joined
08:42
mcmillhj joined
08:44
Aaronepower joined
|
|||
llfourn | does anyone else get weird emails from an housing lender via RT? | 08:46 | |
08:47
mcmillhj left
|
|||
lizmat | [email@hidden.address] ? | 08:52 | |
llfourn ^^^ | |||
llfourn | lizmat: yeah :) | ||
lizmat | yeah, me2 | ||
I guess someone / thing got subscribed to it somehow? | 08:53 | ||
at least the issue numbers are nicely predictable :-) | |||
08:54
w_richard_w left
|
|||
llfourn | haha yeah | 08:54 | |
08:54
Zoffix joined
|
|||
llfourn | and at least they're fedeerally insured | 08:54 | |
oh cool a whole bunch more just came through | |||
Zoffix | .tell [Coke] FYI, there's this spammer on RT spamming all the ticket *replies*. I've no idea how to mark that as spam. Need to block the address somehow: rt.perl.org/Ticket/Display.html?id...xn-1546669 | 08:55 | |
yoleaux | Zoffix: I'll pass your message to [Coke]. | ||
llfourn | I think someone just subscribed their support ticket system to RT | 08:56 | |
or that's just the default response from [email@hidden.address] probs just need to remove that account. | 08:57 | ||
08:57
mcmillhj joined
|
|||
ufobat_ | lizmat, i think you're maybe wrong about your comment on my ticket, because we're exiting this sub with True, not With False: github.com/rakudo/rakudo/blob/08b9....pm6#L2972 | 09:01 | |
Zoffix | I have a fix for that bug, if anyone's interested... | 09:03 | |
09:03
mcmillhj left
09:08
lookatme left
09:12
mcmillhj joined
|
|||
Zoffix | ufobat_: BTW, we also accept tickets on GitHub: github.com/rakudo/rakudo/issues/new | 09:13 | |
ufobat_ | oh that's cool! :) | 09:14 | |
didnt know that, thanks | |||
09:14
brrt left
09:18
mcmillhj left
09:19
tt joined
09:26
mcmillhj joined
09:29
pharv joined
09:31
mcmillhj left
09:33
pharv left
09:35
wamba left
09:37
mcmillhj joined
|
|||
ufobat_ | Zoffix, if the require failes the installed package that should be replaced will never be deleted, is this a bug or could that cause any troubles? | 09:41 | |
09:42
mcmillhj left
|
|||
Zoffix | ufobat_: "is this a bug" as far as I know, nope. "could that cause any troubles" dunno, maybe if you require tons and tons of packages | 09:44 | |
ufobat_ | Zoffix, thanks for your fix :D | 09:47 | |
Zoffix | No problem. | 09:48 | |
09:51
tt left
09:52
sena_kun joined,
mcmillhj joined
09:55
ChoHag left
09:57
mcmillhj left
10:01
brrt joined
10:02
ChoHag joined
10:08
brrt left
10:10
brrt joined
|
|||
Zoffix | This is no longer a problem (samcv++): alerts.perl6.org/alert/7 | 10:15 | |
(the build failure requiring nukage of 3rdparty/libatomic_ops) | |||
10:19
mcmillhj joined
10:24
mcmillhj left,
ChoHag left
10:29
john_parr left
10:32
mcmillhj joined
10:33
ChoHag joined
10:35
roguelazer joined
10:38
mcmillhj left
10:49
mcmillhj joined
10:55
mcmillhj left
10:57
Zoffix left
10:58
cog_ joined
11:00
cognominal left
11:07
mcmillhj joined
11:12
mcmillhj left
11:15
tt joined
11:16
obfusk joined
11:18
zakharyas left
11:21
mcmillhj joined
11:25
markong joined
11:26
mcmillhj left
11:35
mcmillhj joined
11:40
mcmillhj left
11:41
tt left
11:46
|oLa| left
|
|||
jkramer | m: my Str $s; $s.?trim | 11:49 | |
yoleaux | 12 Apr 2018 16:08Z <jmerelo> jkramer: to take a look at this and help however possible stackoverflow.com/questions/498007...3_49800790 | ||
camelia | Invocant of method 'trim' must be an object instance of type 'Str', not a type object of type 'Str'. Did you forget a '.new'? in block <unit> at <tmp> line 1 |
||
jkramer | Shouldn't this call .trim only of $s is defined? | 11:50 | |
So return Any or whatever? | |||
timotimo | i think that only calls a method if the method exists | ||
m: my Str $s; $s.?lolwat | |||
camelia | ( no output ) | ||
timotimo | m: my Str $s; $s.lolwat | 11:51 | |
camelia | No such method 'lolwat' for invocant of type 'Str' in block <unit> at <tmp> line 1 |
||
ufobat_ | and you cant find .? in the dokumentation because 404 | ||
docs.perl6.org/routine/.%3F | 11:52 | ||
jkramer | Ah right I remember. But is there a dot-op that calls the method only if the object is defined? | ||
ufobat_ | there is with | 11:54 | |
11:55
roguelazer left
|
|||
ufobat_ | m: my Str $s; .trim with $s | 11:55 | |
camelia | ( no output ) | ||
ufobat_ | m: my Str $s = " ab "; .trim with $s | ||
camelia | ( no output ) | ||
ufobat_ | m: my Str $s = " ab "; say .trim with $s | ||
camelia | ab | ||
ufobat_ | m: my Str $s; say .trim with $s | 11:56 | |
camelia | ( no output ) | ||
11:58
roguelazer joined
|
|||
jkramer | m: my $x; my %h = :foo(123), :bar($x.trim with $x); dd %h | 11:58 | |
camelia | Hash %h = {:bar(Empty), :foo(123)} | ||
jkramer | Sweet :) | 11:59 | |
11:59
raynold left
|
|||
jkramer | m: my $x; my Str %h = :foo(123), :bar($x.trim with $x); dd %h | 11:59 | |
camelia | Type check failed in assignment to %h; expected Str but got Int (123) in block <unit> at <tmp> line 1 |
||
jkramer | m: my $x; my Str %h = :foo('lol'), :bar($x.trim with $x); dd %h | ||
camelia | Type check failed in assignment to %h; expected Str but got Slip (Empty) in block <unit> at <tmp> line 1 |
||
jkramer | Hmm | ||
11:59
araraloren joined
|
|||
jkramer | m: class LOL { method lol(LOL:D: Str $s) { say "lol $s" } }; say LOL.?lol("test") | 12:01 | |
camelia | Invocant of method 'lol' must be an object instance of type 'LOL', not a type object of type 'LOL'. Did you forget a '.new'? in method lol at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
araraloren | m: class W { }; say W.?xx("foo"); | 12:02 | |
camelia | Nil | ||
jkramer | Couldn't one argue that since I specifically defined the lol method for defined objects, the method LOL:U.lol doesn't exist so .?lol should do nothing? | 12:03 | |
12:03
roguelazer left
|
|||
araraloren | I think they just check method name | 12:03 | |
jkramer | Ah | ||
araraloren | if method named `lol` exists, then call it | 12:04 | |
jkramer | Hmm | ||
m: class LOL { method lol(Str $s) { say "lol $s" } }; say LOL.?lol('too', 'many', 'args') | |||
camelia | Too many positionals passed; expected 2 arguments but got 4 in method lol at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
jkramer | Yeah seems so | ||
araraloren | hmm | ||
ufobat_ | jkramer, i'd say that the method exists! it is just that its signature doesnt match, which is not checked by .? | 12:06 | |
12:06
roguelazer joined
|
|||
scimon | Yeah .? see's there is a matching method name and then passes it of to normal dispatch. Which then fails. | 12:08 | |
m: class LOL { multi method lol(LOL:D: Str $s) { say "lol $s" } }; say LOL.?lol("test") | |||
camelia | Cannot resolve caller lol(LOL: Str); none of these signatures match: (LOL:D $: Str $s, *%_) in block <unit> at <tmp> line 1 |
||
12:11
roguelazer left
|
|||
jkramer | Anyway, a method call op that checks of the object is defined first would be a nice addition :) | 12:12 | |
araraloren | m: class W { }; say W.?xx.?yy | 12:13 | |
camelia | Nil | ||
12:14
mcmillhj joined
12:15
roguelazer joined,
jmerelo joined
|
|||
jkramer | The docs of all the dot operators say "Technically, not a real operator; it's syntax special-cased in the compiler." - does this mean I can't defined my own postfix call operator in my code? | 12:16 | |
12:17
mr_ron left
|
|||
jmerelo | jkramer: probably not. You can use any other postfix, though | 12:18 | |
12:19
mcmillhj left
|
|||
araraloren | Maybe you can handle it in Slang :) | 12:19 | |
12:19
amalia___ left
|
|||
nine | jkramer: I think it just means that '.' is not implemented in high level Perl 6 but it shouldn't keep you from defining your own call operator. Having the special case is probably needed for bootstrapping and maybe efficiency. | 12:20 | |
Because....how do you implement a call operator when you can't call anything :) | |||
jkramer | m: sub postfix:<./> ($object, $method) { $object.$method if defined $object }; my Str $s; $s./trim | 12:21 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Two terms in a row at <tmp>:1 ------> 3od if defined $object }; my Str $s; $s./7⏏5trim expecting any of: infix infix stopper statement end stateme… |
||
jkramer | No idea if this makes any sense o_O | ||
I guess the method name would need to be a string or variable to make this work, not just a bareword | 12:22 | ||
nine | Also shouldn't that be an infix? | ||
oh, that's certainly true | |||
jkramer | Yeah I thought so too, but in the docs all the .* ops are called postfix ops so not sure | ||
nine | Ah, they're dispatchers: method dispatch:<.?>(Mu \SELF: Str() $name, |c) is raw | 12:24 | |
jkramer | Hmm so I'd have to patch Mu to make the operator work universally? | 12:27 | |
m: augment class Str { method dispatch:<./>(Str $name, |c) { self."$name"(|c) if self.defined }; say Str./trim | 12:30 | ||
camelia | MoarVM panic: Could not spawn thread: errorcode -11 | ||
jkramer | huh | ||
timotimo | i don't think you can have the dispatch called unless you also register it in the grammar | ||
jkramer | Oh | ||
So where can I officially propose a new operator for core? :) | 12:31 | ||
timotimo | i guess send an rfc ticket on rakudo's github repo? | 12:32 | |
jkramer | Isn't rakudo just the implementation? | ||
timotimo | i suppose it was the most fitting candidate when we started the move away from RT | 12:33 | |
12:33
vcv joined
|
|||
jkramer | Hmm I just assumed the language specification and changes to it would be discussed somewhere else | 12:35 | |
timotimo | do we track these tickets in roast perhaps? | ||
jkramer | I'll just try rakudo and see where that goes :) | 12:48 | |
timotimo | someone who knows better than me will probably notice and move it to the right place | 12:49 | |
12:50
zakharyas joined
12:53
roguelazer left,
pharv joined
12:54
mcmillhj joined
12:57
mcmillhj left,
mcmillhj joined,
pharv left
13:01
domidumont joined
13:02
brabo joined
13:03
jmerelo left
|
|||
jkramer | github.com/rakudo/rakudo/issues/1732 | 13:03 | |
13:04
domidumont1 left
|
|||
jkramer | I kept it really short and abandoned the suggested ticket format because it really doesn't fit in the bug report template, hope that's ok. | 13:04 | |
13:06
obfusk left
13:07
obfusk joined
13:08
brabo left
|
|||
ufobat_ | m: my $var = "B"; say "wow" if $var.fc eq fc("a"|"b"|"c") | 13:10 | |
camelia | wow | ||
jkramer | I guess assigning labels works for core members only or am I missing something? | ||
ufobat_ | is this doing what i am expecting? | ||
i am unsoure because of fc of a junction | 13:11 | ||
unsure | |||
jkramer | m: say 'B'.fc eq fc('a' | 'b' | 'c') | 13:13 | |
camelia | any(False, True, False) | ||
jkramer | Seems correct to me | ||
ufobat_ | but the documentation says fc(Str:D ---> Str:D) docs.perl6.org/type/Str#routine_fc | 13:14 | |
m: Junction ~~ Str | 13:15 | ||
camelia | ( no output ) | ||
ufobat_ | m: say Junction ~~ Str | ||
camelia | False | ||
13:16
wamba joined
|
|||
jkramer | m: sub lol(Str $x) { "lol $x" }; say lol('foo' | 'bar' | 'baz') | 13:16 | |
camelia | any(lol foo, lol bar, lol baz) | ||
ufobat_ | *shrug* | ||
jkramer | I think the sub isn't actually called with a junction but the junction magically calls the sub for each option | 13:17 | |
m: sub lol(Str $x, Int $y) { "$x $y" }; say lol('foo' | 'bar' | 'baz', 1 | 2 | 3) | 13:18 | ||
camelia | any(any(foo 1, foo 2, foo 3), any(bar 1, bar 2, bar 3), any(baz 1, baz 2, baz 3)) | ||
jkramer | Interesting :) | ||
[Coke] | (quarterly unboxing) I'd be happy to use that as an excuse to get some Albany.pm meetings going again | 13:21 | |
yoleaux | 08:55Z <Zoffix> [Coke]: FYI, there's this spammer on RT spamming all the ticket *replies*. I've no idea how to mark that as spam. Need to block the address somehow: rt.perl.org/Ticket/Display.html?id...xn-1546669 | ||
[Coke] | (brew on mac) there's also macports | ||
13:22
scimon left
13:24
john_parr joined
|
|||
[Coke] | zoffix, I pinged the perlbug admins on that spam issue | 13:24 | |
13:28
abraxxa left
|
|||
timotimo | i can explain the way junction autothreading works | 13:32 | |
13:32
scimon joined
|
|||
timotimo | jkramer, ufobat_, if the dispatch fails to find a matching candidate, but there's junctions involved, we call the junction fallback, which finds the appropriate junction object to thread and calls the function/method again once for each value in that junction, if there's multiple junctions in the argument list, it recurses | 13:33 | |
if you define a multi candidate that takes Mu rather than Any, you will receive the junction object itself in the call | 13:34 | ||
13:39
tt joined
|
|||
ufobat_ | ty! | 13:40 | |
13:40
p6lert left,
dalek left,
tt left
13:41
Aaronepower left
13:46
Aaronepower joined
13:47
Geth left
|
|||
jkramer | Nice | 13:47 | |
timotimo | github.com/rakudo/rakudo/blob/mast....nqp#L3336 - here you can see how rakudo reacts to a bind error, a few lines down (if the $bind_res is 2) it calls Junction.AUTOTHREAD | 13:51 | |
DrForr | o/ | ||
timotimo | github.com/rakudo/rakudo/blob/mast...P.nqp#L650 - this is the implementation of the bind method, btw | 13:55 | |
github.com/rakudo/rakudo/blob/mast...P.nqp#L321 - this is where bind_one_param retruns $BIND_RESULT_JUNCTION, which should be the 2 from that comparison, if there's a junction involved that needs to be autothreaded | 13:57 | ||
13:57
Aaronepower left
13:59
Aaronepower joined
|
|||
herby_ | o/ | 13:59 | |
14:02
domidumont1 joined
|
|||
herby_ | \o | 14:02 | |
DrForr | If I had my /maarena macro around.... | ||
donpdonp | now the Cuban Pete melody is stuck in my head (from Jim Carrey's The Mask) | 14:03 | |
herby_ | catchy song :) | ||
14:04
domidumont left
14:10
Aaronepower left
14:11
roguelazer joined
14:15
Aaronepower joined
|
|||
DrForr | Could be worse. Could be 'seasons in the sun' :) | 14:16 | |
14:18
Aaronepower left
|
|||
jkramer | After thinking about the postfix call ops a little I'm curious about what would a use-case for .+ and .* be. I can't think of a situation where it would make sense to call all methods of a certain name. | 14:22 | |
Any ideas? | |||
I mean even if that's what I wanted and there are multiple methods of the same name, since I can only give one set of arguments most likely all methods but one that matches the signature would fail | 14:23 | ||
DrForr | CLOS lets you create those method combiners, I might look there for inspiratio... | 14:24 | |
And you might be able to use that to your advantage. | 14:25 | ||
My head isn't in that space right now otherwise I'd look for possible examples... | |||
14:25
ufobat_ left
14:26
tt joined
14:28
obfusk left
14:29
kybr joined
14:34
obfusk joined
14:38
robertle left
14:44
khw joined
14:45
herby_ left
14:49
Herby_ joined
14:51
Bowlslaw joined,
athenot joined
14:55
obfusk left
14:56
obfusk joined
14:57
abraxxa joined,
abraxxa left
15:01
Aaronepower joined
15:02
Sgeo__ joined,
wamba left
15:04
Sgeo_ left,
obfusk left,
brrt left,
cosimo left
15:05
Aaronepower left,
obfusk joined
15:06
Aaronepower joined
15:09
scimon left
15:10
scimon joined,
FROGGS joined
15:20
darutoko left
15:22
domidumont1 left
15:26
darutoko joined,
Aaronepower left
15:28
Aaronepower joined,
jmerelo joined
15:29
troys joined,
Altreus joined
15:30
darutoko left
15:31
cog_ left
15:32
Aaronepower left
15:33
zakharyas left
15:34
Aaronepower joined
15:36
Aaronepower left
15:39
Xliff left
15:45
Aaronepower joined
15:46
vcv left
15:53
pharv joined
15:54
Zoffix joined
|
|||
Zoffix | jkramer: don't know about usecases, but note the consistency we currently have between methodops and regex: `.` => "one thing"; `.?` => "maybe one thing"; `.+` => "one or more things"; `.*` => "zero or more things" | 15:55 | |
And the .// cuts into that (and IMO looks gross) | |||
15:58
raynold joined
|
|||
Zoffix | From S12:909 I gether these variants fall into the same niche as nextsame/callwith and the like | 15:59 | |
synopsebot | Link: design.perl6.org/S12.html#909_I_ge...s_nextsame | ||
Zoffix | stupid robot | ||
S12:909 | |||
synopsebot | Link: design.perl6.org/S12.html#line_909 | ||
16:03
Aaronepower left,
Aaronepower joined
|
|||
jkramer | Zoffix: .// indeed looks gross and ./ was really just randomly chosen when I tried to implement it myself. :) | 16:05 | |
Zoffix | :) | ||
16:08
scimon left
16:15
Aaronepower left
16:18
Aaronepower joined
|
|||
Zoffix | hack is ded again... I was able to ssh but running any command just freezes | 16:19 | |
(well, I ran just one, htop) | |||
moritz | I'll reboot it | 16:20 | |
Zoffix | Way ahead of you | 16:21 | |
16:21
Util left,
synopsebot left,
SourceBaby left,
dalek joined,
ChanServ sets mode: +v dalek,
Geth joined,
ChanServ sets mode: +v Geth,
p6lert joined,
synopsebot joined,
ChanServ sets mode: +v synopsebot,
SourceBaby joined,
ChanServ sets mode: +v SourceBaby
16:22
Xliff joined,
dogbert17 joined
|
|||
Zoffix | .tell Util FWIW, there's irc.p6c.org for IRC users if you don't to be dropped any time hack hangs | 16:22 | |
yoleaux | Zoffix: I'll pass your message to Util. | ||
AlexDaniel | Zoffix: do you know why it hangs? Could it be bots making it run out of memory? | 16:25 | |
Zoffix | Not much, last time I looked at the hypervisor there was plenty of memory still remaining, but I don't know if it's accurate or not | ||
16:26
wamba joined
|
|||
Zoffix | Also, if it is some app, it might be alerts.perl6.org. I think the frequent hangs started around the same time it got launched | 16:26 | |
16:27
dakkar left
|
|||
Geth | doc: a9e3ebee83 | (Will "Coke" Coleda)++ | doc/Language/faq.pod6 remove duplicate word |
16:29 | |
synopsebot | Link: doc.perl6.org/language/faq | ||
16:29
mcmillhj left
16:30
domidumont joined
16:31
dct joined
16:33
wamba left
16:35
Xliff_ joined
16:36
mcmillhj joined
16:38
Xliff left
16:40
llfourn left
16:41
llfourn joined,
mcmillhj left
|
|||
El_Che | Zoffix: Task in /system.slice/p6lert-web.service killed as a result of limit of /system.slice/p6lert-web.service | 16:42 | |
Zoffix | El_Che: no idea what that means. Is that the indicators that it *is* alerts.perl6.org that's causing trouble? | 16:43 | |
El_Che | it's an indication it uses more resources than allowed | ||
checking the details | 16:44 | ||
it does not mean it's the cultpit | |||
just that the system killed it | |||
stmuk_ | El_Che: I'm a linux user 95% and only use os x and windows to build star | ||
El_Che | Zoffix: memory: usage 1740800kB, limit 1740800kB | 16:45 | |
stmuk_ | El_Che: I don't think the "official" os x should have non standard deps like brew | ||
El_Che | so it uses more ram than allowed | ||
Zoffix | almost 2gb :o yeah, it ain't meant to be that big | 16:46 | |
El_Che | stmuk_: it the easiest option, but indeed, it would be weird | ||
Zoffix | Wonder if it's DBIish... | ||
stmuk_ | even although I'd probably use brew myself if I used os x :) | ||
16:48
mcmillhj joined
|
|||
El_Che | Zoffix: the problem is that the max ram for the app is pretty close to the ram of the vm | 16:48 | |
it should be way lower | 16:49 | ||
Zoffix | El_Che: can you change it to be lower? | ||
El_Che | so the app would be killed, but the VM wouldn't be in trouble | ||
stmuk_: we're in the same boat. I only use osx on the train | 16:50 | ||
Zoffix: I am looking if it's set or if it's a failsafe default | |||
Zoffix: it's set in the systemd service file for the webapp | 16:51 | ||
MemoryLimit=1700M | |||
16:51
sergot joined
|
|||
El_Che | moritz: are you ok with me changing it? | 16:51 | |
jmerelo | El_Che: cultpit. Interesting concept. | 16:52 | |
16:53
Aaronepower left
|
|||
moritz | El_Che: what would you like to change it to? | 16:53 | |
16:53
dct left
16:54
mcmillhj left
|
|||
El_Che | jmerelo: cul (representing Latin culpābilis guilty) + prit (representing Anglo-French prest ready), marking the prosecution as ready to prove the defendant's guilt. | 16:54 | |
16:54
adu joined
|
|||
El_Che | moritz: certainly lower, how low depends on what zoffix thinks his app needs | 16:54 | |
moritz | El_Che: how much does it need after a fresh start? | ||
El_Che | Zoffix: if you're in Java ram territory, you have a leak :) | 16:55 | |
Zoffix: how much does it need after a fresh start? | |||
Zoffix | Uses 230MB | 16:57 | |
16:57
mcmillhj joined
|
|||
Zoffix | (with empty db) | 16:58 | |
Is there a way for it to *restart* it if it gets too high instead of just killing it? | |||
AlexDaniel | that's what systemd will do | 16:59 | |
El_Che | not that I know of. Maybe a small monitor daemon that checks the usage and restarts it if needed | ||
AlexDaniel: no, it killed it | |||
oom | |||
moritz | does it have a Restart: always in the unit file? | ||
AlexDaniel | El_Che: add this then? github.com/perl6/whateverable/blob...ervice#L38 | ||
what moritz said | |||
moritz | s/': '/=/ | 17:00 | |
El_Che | it soes | ||
does | |||
17:01
athenot left
|
|||
AlexDaniel | Zoffix: so maybe it's this same issue: github.com/rakudo/rakudo/issues/1686 | 17:01 | |
shareable6: uptime | |||
shareable6 | AlexDaniel, 4 days, 9 hours, 29 minutes, and 21 seconds, 658.328125MiB maxrss. This is Rakudo version 2018.03-134-g20495f097 built on MoarVM version 2018.03-56-g85fc758ce implementing Perl 6.c. | ||
El_Che | train arrived | 17:02 | |
bbl | |||
Zoffix | AlexDaniel: well maybe, but in nearly the same up, I had huge memory leak over a year ago and I'm 80% sure it's DBIish | 17:03 | |
17:04
athenot joined
|
|||
AlexDaniel | I wonder why I have this limit for *ables MemoryMax=1.5G | 17:04 | |
was it quotable that peaked that high when processing something… | |||
Zoffix | grr, looks like there's a problem with WWW module (or rather HTTP::UserAgent). After 992 `get`s dies with `Could not create socket: Too many open files` | ||
What was the op to force gc? | |||
m: use nqp; nqp::forcegc | |||
camelia | ===SORRY!=== No registered operation handler for 'forcegc' |
||
dogbert17 | a dash I think | 17:05 | |
17:05
cog_ joined
|
|||
AlexDaniel | m: use nqp; nqp::force_gc | 17:05 | |
camelia | ( no output ) | ||
Zoffix | thanks | ||
dogbert17 | AlexDaniel: github.com/rakudo/rakudo/issues/1733 | ||
AlexDaniel | .tell timotimo github.com/MoarVM/MoarVM/commit/95...05a3412877 | ||
yoleaux | AlexDaniel: I'll pass your message to timotimo. | ||
Zoffix | s/in nearly the same up/in nearly the same app/ | 17:06 | |
That .tell doesn't tell why you're pointing to that commit | |||
AlexDaniel | he made that commit | 17:07 | |
ah | |||
crap | |||
Zoffix | heh | ||
AlexDaniel | .tell timotimo github.com/rakudo/rakudo/issues/1733 | 17:08 | |
thanks | |||
yoleaux | AlexDaniel: I'll pass your message to timotimo. | ||
17:09
adu left
17:10
Aaronepower joined
17:11
jmerelo left
17:12
pharv left
17:13
Aaronepower left
17:14
Xliff joined,
pharv joined,
adu joined
|
|||
tony-o | Crypt::Libcrypt has a PR to make it work on OSX | 17:16 | |
17:16
Xliff_ left
17:17
Xliff_ joined
|
|||
Zoffix | well, after about 10K-30K requests, alerts.perl6.org is up to 531MB :( | 17:17 | |
17:18
Xliff left
|
|||
AlexDaniel | Zoffix: OK that's very good, can you reproduce that locally? | 17:19 | |
and if so, can you please try on 2018.03 ? | |||
and see if it's any better | |||
El_Che | AlexDaniel: f memory usage cannot be contained under the limit, out-of-memory killer is invoked inside the unit. | 17:20 | |
what restart does is just restarting after the killing | |||
not prevent the killing | |||
17:20
espadrine_ joined
|
|||
AlexDaniel | so? | 17:21 | |
17:21
simpleseeker joined
|
|||
AlexDaniel | I mean, there's no other solution… | 17:21 | |
if it keeps doing that | |||
El_Che | if it important to let it down gracefullt, a process can monitor it and restart it before it hits the max | 17:22 | |
depends on the app | |||
Zoffix | AlexDaniel: yeah, it was local. | 17:23 | |
gonna check on 2018.03 later | 17:24 | ||
|6h check alerts app on earlier kudos | |||
ZofBot | Zoffix, Will remind you on 2018-04-13T19:24:51.817467-04:00 about check alerts app on earlier kudos | ||
Zoffix goes back to being deathly sick | |||
AlexDaniel | btw I'm asking about 2018.03 specifically because that's the only release I know of that didn't leak for whateverable | ||
17:25
vcv joined
|
|||
Zoffix | noted | 17:25 | |
17:25
Zoffix left
|
|||
AlexDaniel | maybe 2018.02 also didn't, but no guarantees from me | 17:25 | |
17:25
Aaronepower joined
|
|||
AlexDaniel | get well! | 17:25 | |
17:27
vcv left
17:30
Aaronepower left
17:38
simpleseeker left
17:39
dct joined,
Aaronepower joined
17:41
Aaronepower left
17:46
mcmillhj left,
simpleseeker joined
17:50
cog_ left
17:53
mcmillhj joined,
adu left,
lucasb joined
17:55
lizmat left
17:59
mcmillhj left
|
|||
lucasb | re DCU spam: I think they are just subscribed to the perl6-compiler mailing list, and replying to the RT emails that arrive there. If anyone have admin powers over that mailing list, I think it would be easier to just unsubscribe them. | 17:59 | |
AlexDaniel | how did they get subscribed in the first place? | 18:01 | |
18:01
mcmillhj joined
|
|||
lucasb | No idea :) | 18:02 | |
I may be wrong. The sender only replied to RT emails, but not to normal ones. So yeah, maybe it's RT-related, not mailing list issue | 18:05 | ||
18:06
lucasb left
18:07
simpleseeker left
18:12
dct left
|
|||
FROGGS | ahh, so it is not just me who gets these mails... | 18:15 | |
18:15
dct joined
18:18
simpleseeker joined
18:19
sauvin left
18:20
pierrot left
|
|||
buggable | New CPAN upload: DBIx-NamedQueries-0.0.1.tar.gz by MZIESCHA cpan.metacpan.org/authors/id/M/MZ/...0.1.tar.gz | 18:24 | |
18:26
pierrot joined
18:27
cj left,
zostay joined
18:29
pharv left
18:30
pharv joined
18:32
pharv left,
pharv joined
18:34
pierrot left
18:35
pierrot joined
18:38
cog_ joined
18:39
domidumont left
18:45
Kaiepi left
18:46
Util joined
18:49
Kaiepi joined
18:50
dct left
18:51
Kaiepi left
18:52
Herby_ left,
lizmat joined
18:54
araraloren left
18:55
Kaiepi joined
19:06
aindilis left
19:15
ufobat_ joined
19:21
pharv left
19:24
pharv joined,
Aaronepower joined
19:32
pharv left,
simpleseeker left,
pharv joined
19:34
zachk joined,
athenot left,
zachk left,
zachk joined
19:38
Aaronepower left
19:48
dct joined
19:54
Aaronepower joined
19:56
pharv left,
john_parr left,
CoderPuppy left
19:58
cpup joined
20:03
john_parr joined
20:06
dct left,
pharv joined
20:14
mcmillhj left
20:18
pharv left
20:26
mcmillhj joined
20:27
ufobat_ left
20:29
simpleseeker joined
20:30
escherlat joined
20:31
mcmillhj left
20:34
pharv joined
20:36
pharv left,
pharv joined
20:37
mcmillhj joined
20:40
Aaronepower left
20:42
dct joined
20:43
mcmillhj left
20:45
Herby_ joined
21:04
comborico1611 joined
21:19
dct left
21:21
dct joined
21:26
dct left
21:28
Herby__ joined
21:38
dct joined,
FROGGS left
21:41
Kaiepi left,
Kaiepi joined
21:43
dct left
|
|||
Herby__ | hmm. "perl6 main.p6 --profile" seems to fail to generate a html file containing the profile, and it fails silently | 21:49 | |
"perl6 --profile main.p6" successfully generates the html file | |||
is that silent failure expected? | |||
jnthn | It's not even a failure. Arguments after the script name are arguments to the script, so just show up in @*ARGS | 21:51 | |
yoleaux | 9 Apr 2018 08:45Z <jmerelo> jnthn: if there's some posted slides of his talk act.yapc.eu/gpw2018/talk/7326 | ||
03:20Z <SmokeMachine> jnthn: hi, I just wrote a small "extension" (github.com/FCO/test-time) to your Test::Scheduler and I'd like to know: are planning to make anything like that natively on Test::Scheduler? | |||
HaraldJoerg | Isn't --profile "perl6 main.p6 --profile" just an argument to main.p6? | ||
Herby__ | the more i know :) | 21:52 | |
21:52
dct joined
|
|||
Herby__ | is there any guide to reading the generated profile? using HTTP::UserAgent, it's taking up to 6 seconds to request a simple webpage | 21:53 | |
21:58
dct left
|
|||
jnthn | .tell SmokeMachine Well, the `sleep` part of it changes the semantics of `sleep` in a subtle but perhaps troublesome way once the code runs under 6.d. The time-wrapping bits overall OK, though I'd not planned them so far. | 21:58 | |
yoleaux | jnthn: I'll pass your message to SmokeMachine. | ||
jnthn | Herby__: The first thing I'd do is `time curl ...that page...` to see if it's anything to do with Perl 6 at all | 22:00 | |
And then try another module if the reuslt is a lot different | 22:01 | ||
The Routines tab is the one that will probably be most informative in the profile, since it shows which routines spend time | 22:02 | ||
22:02
athenot joined
|
|||
Herby__ | jnthn: thanks. I'm completely foreign to profiling and optimizing. just curious what the process looks like | 22:05 | |
22:06
dogbert17 left
|
|||
Herby__ | looking at the "Routines", it's telling me that 69% of the time in spent on "recv" at SETTING::src/core/IO/Socket.pm6:19 | 22:06 | |
22:06
athenot_ joined
|
|||
jnthn | Then that almost certainly means 69% of the time is spent on the remote server to actually send stuff | 22:07 | |
*on waiting for the | |||
22:07
athenot left
|
|||
Herby__ | ah ok | 22:08 | |
22:09
Kaiepi left,
redhands joined,
Kaiepi joined
|
|||
Herby__ | are you able to tell me (at an extremely high level) what the column for "Interp / Spesh / JIT" means? | 22:10 | |
I'm assuming green=good? | |||
22:10
athenot joined
22:11
athenot_ left
|
|||
Herby__ | or where i could go to read more on it? | 22:12 | |
22:12
rindolf left
|
|||
SmokeMachine | jnthn: is there any suggestion of a better way to "simulate" the `sleep`? I'm wandering a better way but I can't find it... I think Ill publish that code as a module... (Im needing something like that to test another module...) | 22:15 | |
yoleaux | 21:58Z <jnthn> SmokeMachine: Well, the `sleep` part of it changes the semantics of `sleep` in a subtle but perhaps troublesome way once the code runs under 6.d. The time-wrapping bits overall OK, though I'd not planned them so far. | ||
22:15
eliasr left
|
|||
jnthn | Herby__: Interp means it was executed using the slow-path interpreter. Spesh means the code was specialized but not compiled into machine code for some reason. JIT means it was optimized and compiled into machine code, which is the best. | 22:16 | |
SmokeMachine: I don't like the action-at-a-distance of wrapping; I'm far move inclined to do a `:&sleep = CORE::<&sleep>` for functional APIs for a `has &.sleep = CORE::<&sleep>` for OO ones, and then have the test case pass in its chosen sleep mock | 22:18 | ||
22:19
Zoffix joined
|
|||
Herby__ | jnthn: thanks for the explanation | 22:19 | |
Zoffix: o/ | |||
Zoffix | .tell AlexDaniel yeah still leaks on 2018.03. Though starts differently, with 340MB in use (instead of 230MB), which then goes down for a bit. But after 70K requests it grew it 1.3GB | 22:20 | |
yoleaux | Zoffix: I'll pass your message to AlexDaniel. | ||
AlexDaniel | . | ||
yoleaux | 22:20Z <Zoffix> AlexDaniel: yeah still leaks on 2018.03. Though starts differently, with 340MB in use (instead of 230MB), which then goes down for a bit. But after 70K requests it grew it 1.3GB | ||
timotimo | AlexDaniel: what does the spesh log look like for that? | ||
yoleaux | 17:05Z <AlexDaniel> timotimo: github.com/MoarVM/MoarVM/commit/95...05a3412877 | ||
17:08Z <AlexDaniel> timotimo: github.com/rakudo/rakudo/issues/1733 | |||
Zoffix | I bet on DBIish | ||
Herby__ | Do any of the army of bots in this channel alert when there is a newly tagged perl6 question on stackoverflow? | 22:21 | |
timotimo | nope | ||
Herby__ | is that something that you think would be worthwhile? I could try my hand at it. seems relatively low hanging fruit :) | 22:22 | |
but I don't want to clutter | |||
timotimo | one more bot wouldn't stand out :P | ||
Herby__ | would it be better to add on to the functionality of an existing one? | 22:23 | |
AlexDaniel | Geth: source | ||
Geth | AlexDaniel, Source at github.com/perl6/geth To add repo, add an 'application/json' webhook on GitHub pointing it to hack.p6c.org:8888/?chan=#perl6 and choose 'Send me everything' for events to send | use `ver URL to commit` to fetch version bump changes | ||
AlexDaniel | ↑ look at that one maybe | ||
Herby__ | will do. | 22:24 | |
22:25
dogbert17 joined
|
|||
Zoffix | So turns out not even pmichaud controls the rakudo.org domain. It's entirely in petdance's hands... | 22:25 | |
AlexDaniel | timotimo: no idea | ||
SmokeMachine | jnthn: I mean to not "changes the semantics of `sleep` in a subtle but perhaps troublesome way" | 22:26 | |
AlexDaniel | :) | ||
22:26
pharv left
|
|||
timotimo | i can't test stuff right now, could you? | 22:26 | |
AlexDaniel | sure | 22:28 | |
22:34
sena_kun left
22:36
escherlat left,
pharv joined,
pharv left,
pharv joined
22:37
HaraldJoerg left
|
|||
Zoffix | .tell El_Che how did you figure p6lert-web service had its mem limit set near the VM limit? It's got 19GB of RAM and currently uses 1.8GB | 22:37 | |
yoleaux | Zoffix: I'll pass your message to El_Che. | ||
Zoffix | I reduced it to 1GB now, but now I doubt it'd help anything with the hack hangs | ||
I guess I can pop open an htop session and wait for the next hang to happen... | 22:38 | ||
22:38
redhands left
|
|||
AlexDaniel | timotimo: uh-huh, well github won't take a 23.7M gist :) What are we looking for exactly? | 22:38 | |
before that change went in the spesh log was much smaller, by the way | 22:39 | ||
8M, not sure if that's related | 22:40 | ||
22:48
wamba joined
22:50
herby_bot joined
|
|||
Herby__ | herby_bot: testing zoffix's tutorial :) | 22:50 | |
herby_bot | Herby__, TESTING ZOFFIX'S TUTORIAL :) | ||
22:52
herby_bot left
22:53
cog_ left
22:57
comborico1611 left
23:03
comborico1611 joined,
comborico1611 left
23:04
comborico1611 joined
23:08
wamba left
23:20
MasterDuke left
23:22
cog_ joined
23:53
comborico1611 left,
StackOverFlow_Qs joined
|
|||
Herby__ | StackOverFlow_Qs: latest p6 question | 23:53 | |
StackOverFlow_Qs | Herby__, [2018-04-13@09:56:54] Does pattern match in Perl 6 have guard clause?: stackoverflow.com/questions/49814220/ | ||
tyil | neat | 23:54 | |
Herby__ | thanks. first thing I've created in p6 that may be useful | 23:55 | |
Zoffix: your irc::client module and tutorial makes creating an irc bot extremely easy, even for a beginner | |||
tyil | bonus points for having a shortcut to inform people to ask their questions on SO and notifying on IRC when a new perl6 related SO question gets opened | 23:56 | |
Herby__ | tyil: that is what I'm aiming for. to alert whenever a new "perl6" tagged question is opened on SO | ||
tyil | sounds cool | ||
Herby__ | I thought I read somewhere recently that there is 1 p6 question asked per day on SO, so I don't think the bot would generate too much noise | 23:57 | |
tyil | yeah | ||
we get more new CPAN uploads each day I think | |||
if it gets too noisy people will kindly ask you to move it out | 23:58 | ||
we could always drop it in its own #perl6- channel if we reach a point where it spams away actual conversation |