»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:, or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
Set by moritz on 22 December 2015.
00:02 girafe left, grondilu left 00:03 pmurias left, pyrimidine joined 00:04 grondilu joined 00:08 pyrimidine left 00:10 grondilu_ joined 00:11 grondilu left 00:15 raiph left, lucasb left, Guest78216 left 00:20 pyrimidine joined 00:30 giraffe joined 00:31 giraffe is now known as Guest38837 00:32 Actualeyes joined 00:39 cdg left 00:40 cdg joined 00:44 BenGoldberg joined 00:50 nowan left 00:53 nowan joined 00:57 labster left 01:05 grondilu_ left 01:06 grondilu joined 01:23 BenGoldberg left 01:26 BenGoldberg joined, cdg_ joined 01:27 cdg left 01:34 cdg_ left 01:38 aborazmeh joined, aborazmeh left, aborazmeh joined 01:45 dataf3l joined 01:53 labster joined 02:16 dataf3l left 02:18 cfa left 02:25 cdg joined 02:26 cdg left, cdg joined 02:27 cdg left, cdg joined 02:36 _Vasyl joined 02:39 Vasyl left 02:46 ilbot3 left 02:48 ilbot3 joined 02:50 AlexDaniel left 02:55 kalkin-_ joined, kalkin- left 02:59 Possum left 03:01 Possum joined 03:04 noganex_ joined 03:07 noganex left 04:03 flaviusb left 04:33 rburkholder left 04:35 vendethiel- left 04:37 cdg left 04:38 khw left 04:51 cdg joined 04:56 aborazmeh left, cdg left 05:05 pyrimidine left 05:07 aborazmeh joined, aborazmeh left, aborazmeh joined 05:12 skids joined 05:13 aborazmeh left 05:16 Ben_Goldberg joined 05:17 BenGoldberg left, Ben_Goldberg is now known as BenGoldberg 05:18 BenGoldberg left 05:20 BenGoldberg joined 05:22 bjz left, bjz_ joined 05:25 BenGoldberg left 05:28 BenGoldberg joined 05:33 pyrimidine joined 05:37 pyrimidine left 05:42 Cabanossi left 05:44 Cabanossi joined 05:46 nebuchadnezzar left, nebuchadnezzar joined 05:48 BenGoldberg left 06:35 pyrimidine joined 06:39 pyrimidine left 06:53 darutoko joined 07:20 domidumont joined 07:25 domidumont left, domidumont joined 07:35 pyrimidine joined 07:37 Tonik joined 07:39 bjz_ left 07:40 domidumont left, bjz joined, pyrimidine left 07:41 protium left 07:44 protium joined 07:48 fSDASDAS joined 07:49 fSDASDAS left 07:50 wamba joined 07:56 pierre_ joined 07:57 pierre_ left, pierre_ joined
samcv anybody awake? need some help with this regex that's running the length of the string regex101.com/r/ttVtWo/3 (this is for the syntax highlighter) 08:07
only want to match up to the () at the end of the method, but it just keeps going 08:08
08:09 CIAvash joined 08:12 DANtheBEASTman left
CIAvash samcv: maybe 「( \S+? ) # method name」? 08:24
08:29 RabidGravy joined, domidumont joined
RabidGravy morning! 08:29
samcv hmm let me see something. i am using character properties, so not actually \S+ but hold on
08:33 andrzeju_ left
samcv ok yeah i think that's it. i feel silly now, but that was it 08:34
the entire regex is pretty big…
a.uguu.se/t7fxhnqCLFgK_Screenshot_...003452.png 08:35
gonna change the \S to do the properties… methods can have any name that subs can use right? 08:36
08:36 pyrimidine joined 08:41 pyrimidine left 08:44 pierre_ left 08:45 pyrimidine joined 08:52 pyrimidine left 08:54 pyrimidine joined
samcv wow ok i think i finally got it… this is some of the most frustrating things to syntax highlight hah 09:05
having method calls inside interpolated strings
now i have to add some tests so this won't even break again 09:06
09:09 skids left 09:12 pyrimidine left
RabidGravy as a complete aside, I'm thinking that a quite nice Graphviz generator wouldn't be all that hard 09:19
I actually wanted it yesterday for the advent post but assiduously ignored the yak 09:20
09:23 pyrimidine joined, bjz left, bjz_ joined
samcv as a perl 6 module? 09:25
09:27 pyrimidine left
RabidGravy yeah 09:29
09:35 pyrimidine joined 09:40 pyrimidine left 09:42 pyrimidine joined 09:44 rindolf joined 09:46 pyrimidine left 09:59 labster left 10:00 telex left, pyrimidine joined 10:02 telex joined 10:04 cibs left 10:05 pyrimidine left 10:06 CIAvash left, cibs joined 10:10 pyrimidine joined 10:13 rindolf left, rindolf joined 10:14 pyrimidine left
RabidGravy starts the Tinky cookbook which he alluded to in the advent post 10:21
lots of little patterns that I tried while I was writing it 10:22
10:28 pyrimidine joined 10:33 pyrimidine left
lizmat RabidGravy++ # cool post 10:37
10:38 pyrimidine joined
Xliff Thought: What's the advantage of class-based state variables over lexical variables isolated to the module where the class is defined? 10:41
10:41 andrzejku joined
Xliff Oh, nevermind. 10:42
10:42 pyrimidine left
Xliff I just re-read docs and lightbulb went off. 10:43
10:43 TEttinger left
lizmat
.oO( I hope it LED you somewhere )
10:46
10:47 pyrimidine joined, rindolf left 10:52 pyrimidine left 10:53 seatek joined 10:54 rindolf joined
Xliff lizmat: *groan* 10:55
lizmat yeah, a case in punt :-)
Xliff lol
RabidGravy++: I have to agree with lizzy. Nice post. 10:56
BTW - I'm in the infancy of converting Math::Units to p6.
It
is not quite a direct port.
I was getting to the conversions part when I realized I have enough to test before working on that bit.
Especially since I am not supporting basic math ops between Math::Units objects. 10:58
11:01 lukaramu joined 11:05 pyrimidine joined, AlexDaniel joined 11:08 wamba left 11:10 pyrimidine left
jnthn is happy to see people starting to explore using supplies to express business processes in a reactive way; RabidGravy++ :) 11:10
11:14 andrzejku left
lizmat finishes proofreading Laurent's book 11:15
11:15 pyrimidine joined 11:18 bjz_ left 11:20 pyrimidine left 11:22 bjz joined 11:25 aindilis` joined, aindilis left
AlexDaniel hello 11:26
m: say 2⁻⁴ 11:27
camelia rakudo-moar 5ec6b3: OUTPUT«0.0625␤»
AlexDaniel m: say 2**(-4)
camelia rakudo-moar 5ec6b3: OUTPUT«0.0625␤»
AlexDaniel m: say 2²⁻²
camelia rakudo-moar 5ec6b3: OUTPUT«0.0625␤»
AlexDaniel ?
m: say (2**2)**-2 11:28
camelia rakudo-moar 5ec6b3: OUTPUT«0.0625␤»
AlexDaniel is it supposed to be this way? 11:30
geekosaur I think that's a known shortcoming of the notation 11:32
and not particularly easy to fix
11:33 pyrimidine joined
AlexDaniel m: say 2**-999999 11:37
camelia rakudo-moar 5ec6b3: OUTPUT«0␤»
11:37 wamba joined
AlexDaniel commit: 2016.11 say 2**-999999 11:37
committable6 AlexDaniel, ¦«2016.11»: Numeric overflow␤ in block <unit> at /tmp/VJkjxjLOQD line 1␤␤Actually thrown at:␤ in block <unit> at /tmp/VJkjxjLOQD line 1␤ «exit code = 1»
AlexDaniel bisect: old=2016.11 say 2**-999999
bisectable6 AlexDaniel, Bisecting by exit code (old=2016.11 new=5ec6b32). Old exit code: 1
AlexDaniel, bisect log: gist.github.com/c28a52c2bf6cc73528...cc85fa44d5 11:38
AlexDaniel, (2016-12-07) github.com/rakudo/rakudo/commit/cf...2eaf095ded
AlexDaniel so, uh, is it a regression or what? 11:39
what's the expected behavior?
kalkin-_ So i setup an addition own zef Ecosystem location kalkin. I forked App::Mi6. How do i properly declare the App::Mi6 package as App::Mi6:auth<kalkin>? 11:40
Just adding :auth<kalkin> to all elements in "provides" META6.json?
s/addition/additional/
tbrowder hi #perl6 11:41
kalkin-_ or do I also need to add :auth to each unit in forked package?
AlexDaniel .tell mst so, how is it going?
yoleaux AlexDaniel: I'll pass your message to mst.
11:41 pyrimidine left
kalkin-_ Which is the correct/best practice way? 11:41
11:41 pyrimidine joined
kalkin-_ ugexe: btw it would be nice if zef GitFetch would check %*ENV<GIT_ALLOW_PROTOCOL> for allowed protocols (this allows the usage of git-remote-helpers) and fallback to ( http | ssh) if no allowed protocol is set 11:43
11:43 pyrimidi_ joined, pyrimidine left
kalkin-_ !sum 11:44
ups
tbrowder ref travis: is there a way to minimize the rakudo build time in travis? i.e., are there pre-built versions? 11:45
lizmat afk& 11:46
11:47 committable6 left, benchable6 left, statisfiable6 left, unicodable6 left, evalable6 left, bisectable6 left, pyrimidi_ left 11:48 bisectable6 joined, ChanServ sets mode: +v bisectable6, evalable6 joined, committable6 joined, ChanServ sets mode: +v committable6, benchable6 joined, unicodable6 joined, statisfiable6 joined 11:49 k-man_ joined 11:50 k-man left 11:53 Vynce left 11:54 Vynce joined
kalkin-_ ok i figured it out. to use Foo::Bar:auth<kalkin> you have to setup author = kalkin (not _authors_!) in META6.json 11:54
btw this is not documented in S22! 11:56
geekosaur those are not particularly good references any more :/ 11:58
they're more historical snapshots at this point 11:59
11:59 pyrimidine joined
kalkin-_ geekosaur: where should this be documented at all? 12:00
12:00 rburkholder joined 12:02 bjz left 12:03 FROGGS joined, bjz joined
geekosaur huh. found the current doc but it has the same bug 12:03
docs.perl6.org/language/modules#Di...ng_Modules
...and it links to S22. sigh
I think you have, one way or another, a docs bug 12:04
kalkin-_ lol again? ☺
12:05 espadrine joined
kalkin-_ btw also author might be very confusing, it would be better to call it _owner_ 12:05
geekosaur huggable, doc bugs
huggable geekosaur, nothing found
geekosaur bah
12:06 pyrimidine left
geekosaur huggable, doc bugs :is: github.com/perl6/doc/issues 12:07
huggable geekosaur, Added doc bugs as github.com/perl6/doc/issues
geekosaur the META6 spec is not finalized so feel free to suggest that in your bug report 12:08
(in fact I think this authors -> author is a fairly recent change, which would explain why the docs are out of sync with it)
kalkin-_ geekosaur: i thought perl6 went author → authors or am I mixing things up? 12:09
geekosaur does not actually recall... 12:10
kalkin-_ btw will perl6 have an assembly at 33C3?
geekosaur also I wasn't intending to be awake now but I woke to a coughing fit (bloody Arctic fronts...) so brain not exactly fully booted yet :/
12:11 pyrimidine joined 12:16 pyrimidine left 12:18 pyrimidine joined
kalkin-_ .tell ugexe it would be nice if zef GitFetch would check %*ENV<GIT_ALLOW_PROTOCOL> for allowed protocols (this allows the usage of git-remote-helpers) and fallback to ( http | ssh) if no allowed protocol is set 12:24
yoleaux kalkin-_: I'll pass your message to ugexe.
12:25 pyrimidine left 12:30 Vynce left 12:38 pyrimidine joined 12:43 pyrimidine left 12:48 pyrimidine joined 12:53 pyrimidine left 12:57 pyrimidine joined 13:02 pyrimidine left 13:16 pyrimidine joined 13:17 pierre_ joined 13:20 pyrimidine left, _28_ria left 13:21 _28_ria joined
SmokeMachine RabidGravy: on the README.md example, is it possible pass arguments to the methods created by the role? For example: $ticket-a.take(:by($user))? 13:25
13:26 pyrimidine joined 13:30 pyrimidine left
moritz lol I blug: perlgeek.de/blog-en/perl-6/2016-bo...tamps.html 13:34
13:35 pyrimidine joined 13:43 pyrimidi_ joined, pyrimidine left 13:52 andrzejku joined
kalkin-_ DrForr: is there a reason for Readline depending on panda? 13:55
13:55 nebuchadnezzar left
moritz $ perl6 -e '(run "echo", "foo", :out, :merge).out.slurp-rest' 13:56
Aborted (core dumped)
that's a rakudo 2016.11 13:57
is that known, and possibly fixed later on?
timotimo hm, i think :merge has been kind of borked for some time?
moritz :(
timotimo i think i tried to improve it at some point, but it was really a verschlimmbesserung
13:58 kalkin-_ left, kalkin-_ joined
kalkin-_ moritz: I can reproduce it in 2016.12 13:58
moritz that kinda inhibits my attempts to write a certain example for my Perl 6 book :(
13:58 pyrimidi_ left
AlexDaniel but that's an old issue, isn't it? RT #128594 14:00
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128594
moritz does that make it any better?
AlexDaniel moritz: here's how we do :merge in whateverables: github.com/perl6/whateverable/blob...#L100-L102 14:01
timotimo that's not the same as :merge, though ;(
AlexDaniel timotimo: well, what's different?
it's not perfect, but…
timotimo with :merge the invoked program actually gets just a single underlying file for both fds 14:02
so when they write to out, then err, then out, then err, you'll definitely get it serialized ... (at least i think so?)
AlexDaniel eval: say ‘hello’; note ‘world’; say 42; note 60 14:03
evalable6 AlexDaniel, rakudo-moar 5ec6b32: OUTPUT«hello␤world␤42␤60»
timotimo hm
moritz I don't know how close it is, but it's close enough for me :-)
should I patch rakudo to give a better error about a known bug, rather than dying with a memory-related error? 14:04
timotimo we could potentially implement :merge in terms of the code whateverable has for the time being
AlexDaniel I know only one issue with it 14:05
which is this: gist.github.com/AlexDaniel/44e5cde...6fe04b9c1d
moritz AlexDaniel: well, it seems not even the simplest use cases of :merge survive 14:06
AlexDaniel if there's a lot of stuff in stdout/stderr, whatever other stuff async stuff you have will just hang… 14:07
moritz: what do you mean by that?
timotimo hm. so it basically completely fills up the work queue? but we do have a concurrent queue
uh
a blocking concurrent queue
moritz AlexDaniel: irclog.perlgeek.de/perl6/2016-12-18#i_13760943
erm 14:08
AlexDaniel moritz: oh, I was referring to my workaround
moritz s/survive/bomb/
gfldex m: say &return
camelia rakudo-moar 5ec6b3: OUTPUT«sub return (| is raw) { #`(Sub|62122040) ... }␤»
moritz I know see your confusion :-)
gfldex m: say &return.WHAT
camelia rakudo-moar 5ec6b3: OUTPUT«(Sub)␤»
gfldex one more ENODOC
AlexDaniel timotimo: I have not submitted a ticket for this yet. Feel free to do it 14:09
timotimo hmm
i wonder how best to debug what the cause behind it is 14:10
like, is the intense amount of output from the child process filling up the queue and tasks to send to the channel get put at the end and starve?
worst would be if the queue gets filled up and starts blocking 14:13
14:18 pyrimidine joined
gfldex m: my &block = { say 'returning from &block'; return }; sub returned-from(&code) { say 'enter returned-from'; code; say 'leave returned-from' }; sub forcing-a-return { returned-from &block }; forcing-a-return; 14:21
camelia rakudo-moar 5ec6b3: OUTPUT«enter returned-from␤returning from &block␤Attempt to return outside of any Routine␤ in block <unit> at <tmp> line 1␤␤»
gfldex is this a bug?
(I'm undecided)
timotimo blocks don't have the ability to be returned from 14:22
gfldex it does work for .map
timotimo right, map is a method
gfldex what is a routine
so it's at least LTA
timotimo actually reads the snippet
14:23 pyrimidine left
timotimo oh yeah, it should totally return from returned-from when it invokes the code 14:23
bisectable6: my &block = { say 'returning from &block'; return }; sub returned-from(&code) { say 'enter returned-from'; code; say 'leave returned-from' }; sub forcing-a-return { returned-from &block }; forcing-a-return;
bisectable6 timotimo, On both starting points (old=2015.12 new=fb38190) the exit code is 1 and the output is identical as well
timotimo, Output on both points: enter returned-from␤returning from &block␤Attempt to return outside of any Routine␤ in block <unit> at /tmp/lKPXlf23Nr line 1␤
timotimo hmm.
AlexDaniel timotimo: ok, RT #130370 14:24
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130370
gfldex my guess would be that Rakudo takes a shortcut and doesn't install a control exception handler because it didn't spot a return statement. 14:25
timotimo hum. but exception handlers on moarvm are really, really cheap 14:26
14:27 dj_goku left
AlexDaniel bisect: old=2015.11 my &block = { say 'returning from &block'; return }; sub returned-from(&code) { say 'enter returned-from'; code; say 'leave returned-from' }; sub forcing-a-return { returned-from &block }; forcing-a-return; 14:27
bisectable6 AlexDaniel, Bisecting by exit code (old=2015.11 new=fb38190). Old exit code: 0
AlexDaniel, bisect log: gist.github.com/34a9fd70b4e72ef900...83c4ce29af
AlexDaniel, (2015-12-01) github.com/rakudo/rakudo/commit/a4...63d069ffa5
AlexDaniel not sure if this is relevant
timotimo huh, interesting 14:28
gfldex i blame jnthn :) 14:29
moritz uhm, does proc.exitcode work?
gfldex anyway, I will rakudobug and doc the correct behavoir.
timotimo it's supposed to work, of course you have to wait for the process to exit properly 14:30
gfldex do we have a RT tag for regressions?
timotimo i've seen [REGRESSION] be used
gfldex monkey see monkey do
AlexDaniel moritz: yes, but you have to close stdout if you are reading it 14:31
oh wait
ah yes, right
timotimo AlexDaniel: could i perhaps get you to figure out the exact number you have to put into the child process to make things b0rk?
AlexDaniel moritz: see RT #125757 14:32
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=125757
AlexDaniel timotimo: exact number of what?
moritz perlpunks.de/paste/show/58569dee.1e4a.27b
14:32 labster joined
timotimo AlexDaniel: for ^0x1FFFF <- this number 14:32
moritz so I thought that .out.slurp-rest necessarily waits for the end of the program
timotimo ah, slurp-rest also has a .close implicit in its operation 14:33
so that should be okay
moritz AlexDaniel: thanks for the link to the bug report
timotimo may have to also close .err, depending on how you invoked the thing
moritz in perlpunks.de/paste/show/58569dee.1e4a.27b I call .slurp-rest on both .err and .out 14:34
moritz throws up hands in frustration
timotimo oh
you might be deadlocking there
moritz no
it's exiting fine
timotimo oh, OK!
moritz it just reports the wrong exit code
timotimo in what way is it wrong? 14:35
is it -1?
moritz it's 0, when it should be 42
timotimo ah, ok 14:36
yeah, that's probably wrong
AlexDaniel moritz: sure, but if you .close both .out and .err, it's fine, right?
moritz AlexDaniel: but doesn't .slurp-rest do that for me?
did anybody actually *look* at perlpunks.de/paste/show/58569dee.1e4a.27b ? 14:37
AlexDaniel well, for that reason we have a bug report that is still open… :)
timotimo sorry, i did look at it a bit too late ;(
AlexDaniel moritz: I looked, it has no .close. There's a bug report saying that it doesn't work without .close, so that's why I asked the question…
moritz can I get the exit code from Proc::Async somehow? 14:38
is it the result of the promise?
AlexDaniel sure: github.com/perl6/whateverable/blob...e.pm6#L119
timotimo well, slurp-rest is supposed to close things, too
gfldex filed as #130371 14:39
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130371
AlexDaniel so it is $promise.result.exitcode
MasterDuke moritz: it looks like slurp-rest only closes if you explicitly pass :close
timotimo oh, huh!
moritz MasterDuke: oh, thanks
AlexDaniel: does that mean that the .result of the Proc::Async promise is a Proc?
MasterDuke but ISTR some discussion about that somewhat recently 14:40
Xliff m: $_ = "square meters"; s[ « sq[uare]?\s+ ] = 'sq,'; .say
camelia rakudo-moar fb3819: OUTPUT«sq,meters␤»
moritz ah right, the docs for .start say as much
Xliff m: my $a = -> $_ is copy { s[ « sq[uare]?\s+ ] = 'sq,' }; $_ = "square meters"; $a($_); .say
camelia rakudo-moar fb3819: OUTPUT«square meters␤»
dalek c: 0afdeea | gfldex++ | doc/Language/control.pod6:
we are talking about sub return, method return is handled in /type/Mu
14:41
synopsebot6 Link: doc.perl6.org/language/control
Xliff m: my $a = -> $_ is copy { s[ « sq[uare]?\s+ ] = 'sq,' }; $_ = "square meters"; $_ = $a($_); .say
camelia rakudo-moar fb3819: OUTPUT«「square 」␤»
Xliff m: my $a = -> $_ is copy { s[ « sq[uare]?\s+ ] = 'sq,' }; $_ = "square meters"; a($_); .say
camelia rakudo-moar fb3819: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤ a used at line 1␤␤»
timotimo yeah, forgot the $ before a
Xliff Why doesn't $_ change.
MasterDuke ahh, the :close was added recently github.com/rakudo/rakudo/commit/4e...1f3c653bfb
Xliff m: my $a = -> $_ is copy { s[ « sq[uare]?\s+ ] = 'sq,' }; $_ = "square meters"; $a($_); .say
camelia rakudo-moar fb3819: OUTPUT«square meters␤»
Xliff m: my $a = -> $_ is copy { s[ « sq[uare]?\s+ ] = 'sq,' }; $_ = "square meters"; &( $a ); .say 14:42
camelia rakudo-moar fb3819: OUTPUT«square meters␤»
AlexDaniel MasterDuke: that's interesting
Xliff m: $_ = "square meters"; s[ « sq[uare]?\s+ ] = 'sq,'; .say
camelia rakudo-moar fb3819: OUTPUT«sq,meters␤»
Xliff ¯\_(ツ)_/¯ 14:43
AlexDaniel why would it change though? 14:44
Xliff m: my $a = -> $_ is rw { s[ « sq[uare]?\s+ ] = 'sq,' }; $_ = "square meters"; &( $a ); .say
camelia rakudo-moar fb3819: OUTPUT«square meters␤»
AlexDaniel m: my $a = -> $_ is rw { s[ « sq[uare]?\s+ ] = "sq," }; $_ = "square meters"; $a($_); .say
camelia rakudo-moar fb3819: OUTPUT«sq,meters␤»
Xliff Ah. I need to change that, then.
OK. But here's where it gets weird. 14:45
timotimo with &($a), do you even call $a at all? i don't think so.
14:45 pyrimidine joined
moritz you need $a() 14:45
Xliff m: my @a - (-> $_ is rw { s[ « per » ] = '/' }, 14:46
-> $_ is rw { s[ « sq[uare]?\s+ ] = 'sq,' }, )
camelia rakudo-moar fb3819: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in parenthesized expression; couldn't find final ')' ␤at <tmp>:1␤------> 3_ is rw { s[ « per » ] = '/' },7⏏5<EOL>␤ expecting any of:␤ prefix␤ …»
Xliff m: my @a - (-> $_ is rw { s[ « per » ] = '/' },-> $_ is rw { s[ « sq[uare]?\s+ ] = 'sq,' }, );
camelia rakudo-moar fb3819: OUTPUT«WARNINGS for <tmp>:␤Useless use of "-" in expression "my @a - (-> $_ is rw { s[ « per » ] = '/' },-> $_ is rw { s[ « sq[uare]?\\s+ ] = 'sq,' }, )" in sink context (line 1)␤»
MasterDuke btw, moritz or timotimo, mind taking a look at github.com/rakudo/rakudo/pull/960 ?
14:46 mrbrklyn joined
mrbrklyn wow 14:47
Xliff m: my @a = (-> $_ is rw { s[ « per » ] = '/' },-> $_ is rw { s[ « sq[uare]?\s+ ] = 'sq,' }, );
camelia ( no output )
mrbrklyn a whole new culture
Xliff m: my @a = (-> $_ is rw { s[ « per » ] = '/' },-> $_ is rw { s[ « sq[uare]?\s+ ] = 'sq,' }, );
camelia ( no output )
Xliff Huh! camelia doesn't error out, yet when I do this from a script, I get the following:
Unrecognized backslash sequence: '\s' 14:48
moritz Xliff: probably a missing or extra quote somwhere? 14:49
AlexDaniel mrbrklyn: you think so? :)
Xliff Could the « » be getting mistaken for quotes?
14:49 cdg joined
Xliff I thought they were word boundary inside subst regexp 14:49
14:50 pyrimidine left
timotimo remove the \s and see if it complains about reaching EOF while searching for stringy stuff 14:50
Xliff No. Now complains about: Missing infix inside hyper 14:53
timotimo oh yikes!
ah yeah
Xliff From this: "-> $_ is rw { s[ \s+squared » ] = '^2' },"
timotimo you forgot a ) there i believe
sorry, i mis-looked
can you try to get the exact same code into irc that you're using locally? 14:54
moritz Xliff: if the same code in a file fails to parse, it stands to reason it's not exactly the same code
timotimo or if you're using -e, you're probably getting shell stuff to interfere
Xliff So my version of rakudo is mistaking «» for quotations inside the s[p] = r form.
moritz unless you are using a very different rakudo version
Xliff But I can get it to work in camelia just fine. 14:55
geekosaur note that "" allows shell interpretation, specifically $_
Xliff Not doing this through -e
File and camelia only
moritz camelia writes its code to a temp file too 14:56
Xliff Huh
So why the differing outcomes?
timotimo well, let's start with: what's your --version?
moritz presumably because there are difference between IRC and the file
Xliff I would expect camelia to bail with the same errors.
timotimo we do have commitable which allows us to get the exact same version you have
Xliff Just rakodobrewed so 2016.12-8-g5ec6b32fa 14:57
timotimo ah, it's actually camelia who's out of date here
Xliff \o/
timotimo um, sorry
moritz camelia reports its own version as fb38190 14:58
timotimo i just hadn't pulled yet. camelia is up to date as of 41 minutes ago
Xliff Actually, that is less cheer... more scream
moritz which is just one commit different than 5ec6b32fa
Xliff I was getting this last night, so that's just weird.
timotimo yeah, so, can you share the exact file with us? like via a file sharing platform?
moritz Xliff: can you please put the exact file you're running into a gist?
Xliff Well, time for it to go into git, anyways.
BRB
moritz or that, yes 14:59
ok, next weirdness: perlpunks.de/paste/show/5856a49c.6e7.323 15:00
it dies on line 9, which is this one: .close for $proc.out, $proc.err; 15:01
reading the src/core/Proc source code, I think it's supposed to only die this when when in sink context
but this shouldn't put $proc in sink context
15:02 pierre_ left, pierre_ joined
moritz does .close on .out return the original Proc? 15:02
that would be kinda weird
timotimo oh, is something getting sinked that's weird? or something? 15:03
15:03 sunnavy left
timotimo er, yeah 15:03
moritz oh it does, indeed
timotimo i missed a few lines in the middle
moritz IO::Pipe.close returns the $.proc
timotimo that's ... strange 15:04
it's probably by accident, eh?
Xliff github.com/Xliff/p6-math-units/blo...Parser.pm6 15:05
moritz well, that's *a lot* more code than you pasted on IRC :-) 15:06
Xliff rakudo doesn't get past line 9
moritz now I'm much less surprised there's a difference
Xliff moritz: Everyone tells me I need to learn to golf!!!!
Can't blame me for trying to condense! 15:07
:P
moritz Xliff: sure, but then don't tell us you run *the same* code in a file, and getting an error
Xliff Hrm.
moritz Xliff: the art of golfing is to reduce while keeping the same error 15:08
geekosaur a golfed example is a minimal complete piece of runnable code that exhibits the same failure mode
Xliff Error happens at the top of the file. It was.... sameish!
moritz Unrecognized regex metacharacter - (must be quoted to match literally)
at /home/moritz/p6/rakudo/Parser.pm6:12
------> -> $_ is copy { s[ « decinano⏏-? ] = 'dn,' },
so, it complains about the - 15:09
Xliff Actually that should have already been done.
timotimo right
moritz - doesn't match \w, so it must be, as the error message says, quoted (or escaped) to match literally
Xliff Ah. Uncommitted changes before push.
Look now.
moritz somtimes reading the error message is easier than golfing :-) 15:10
it still contains unquoted -
Xliff Line 17?
moritz line 12, as before 15:11
Xliff Not the latest version.
moritz I'm talking about raw.githubusercontent.com/Xliff/p6...Parser.pm6
as github shows it now
15:11 andrzejku left
moritz that still contains unquoted - in regexes 15:11
does it not?
Xliff Not my version
Nor that page.
Cache?
15:12 pyrimidine joined
moritz I reloaded the browser window 15:12
maybe github does some weird caching
AlexDaniel eval: my @a = (-> $_ is rw { s[ « per » ] = '/' },-> $_ is rw { s[ « sq[uare]?\s+ ] = 'sq,' }, );
evalable6 AlexDaniel, rakudo-moar fb38190: OUTPUT«»
AlexDaniel if camelia is out of date, evalable can help :) 15:13
geekosaur rev showing here is fc840de
15:13 nebuchadnezzar joined
geekosaur (and as moritz said, no quotes around the -) 15:14
Xliff :-O
I could have sworn I fixed that earlier this morning!!!
moritz wonders if Xliff lives in a parallel universe, and only touches our universe through IRC
15:14 andrzeju_ joined
Xliff Um. Isn't "\-" the same as '-'? 15:15
AlexDaniel where?
Xliff -> $_ is rw { s[ « decinano\- ] = 'dn,' },
moritz ah, changed now
Xliff HAH!
timotimo i see 2077701
Xliff Parallel THAT!
moritz now I get 15:16
Quantifier quantifies nothing
at /home/moritz/p6/rakudo/Parser.pm6.1:8
------> -> $_ is rw { s[ « sq[uare]?+⏏ ] = 'sq,' },
Xliff Well that's different than what I'm getting.
AlexDaniel yea, wtf is ?+
15:16 pyrimidine left
moritz ftr, I did remove a "use" line 15:17
timotimo squareuareuareuare
moritz so that I could compile that file on its own
Xliff Looking
15:17 pierre_ left
Xliff ACtually, it was supposed to be "square?\s+" 15:17
Someone told me to remove the "\s" earlier.
timotimo hehe. 15:18
Xliff :)
AlexDaniel squar|square ? :o
Xliff There's a comment right above it with the original.
15:18 thalunil joined
AlexDaniel m: say ‘squar’ ~~ /square?\s+/ 15:19
camelia rakudo-moar fb3819: OUTPUT«Nil␤»
AlexDaniel m: say ‘squar ’ ~~ /square?\s+/
camelia rakudo-moar fb3819: OUTPUT«「squar 」␤»
Xliff m: say "square" ~~ s/sq[uare]?\s+/;
camelia rakudo-moar fb3819: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed replacement part; couldn't find final /␤at <tmp>:1␤------> 3say "square" ~~ s/sq[uare]?\s+/;7⏏5<EOL>␤ expecting any of:␤ infix stopper␤»
15:19 AlexDaniel left
Xliff m: say "square" ~~ s/sq[uare]?\s+/sq,/; 15:19
camelia rakudo-moar fb3819: OUTPUT«False␤»
Xliff m: say "square " ~~ s/sq[uare]?\s+/sq,/; 15:20
camelia rakudo-moar fb3819: OUTPUT«Cannot modify an immutable Str␤ in block <unit> at <tmp> line 1␤␤»
Xliff D'oh
m: $a = "square " say $a ~~ s/sq[uare]?\s+/sq,/;
camelia rakudo-moar fb3819: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Variable '$a' is not declared␤at <tmp>:1␤------> 3<BOL>7⏏5$a = "square " say $a ~~ s/sq[uare]?\s+/␤»
Xliff m: my $a = "square " say $a ~~ s/sq[uare]?\s+/sq,/;
camelia rakudo-moar fb3819: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3my $a = "square "7⏏5 say $a ~~ s/sq[uare]?\s+/sq,/;␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end…»
Xliff m: my $a = "square "; say $a ~~ s/sq[uare]?\s+/sq,/;
camelia rakudo-moar fb3819: OUTPUT«「square 」␤»
15:20 AlexDaniel joined
Xliff God I need some beer, now. 15:20
I woke up at 3am. It's now 10. I think I'm entitled!!!
AlexDaniel \o/ emacs crashed!!! 15:21
Xliff Not my fault!!!!
moritz AlexDaniel: fun times!
AlexDaniel: last week, my thunderbird segfaulted a couple of times
15:21 andrzejku joined
moritz vey trust-inspiring when your MUA does that 15:21
Xliff moritz: A segfault a day keeps the blue screen away?
moritz *very
timotimo now we can all be glad our mail user agents don't run in kernel space 15:22
Xliff timotimo++ # werd
moritz yes, but when they segfault, I still can't help but think there's a remote-exploitable vuln in there somewhere
15:22 pierre_ joined
timotimo riht 15:23
15:23 pierre_ left
AlexDaniel I had about 5 workspaces, each had some kind of work going. I am using emacs as a daemon, so everything is just a client 15:23
Xliff Not all segfaults are buffer-[over|under]runs
AlexDaniel sooo… if it goes down, I have to open all that stuff again! :)
Xliff :(
moritz AlexDaniel: you need emacs-systemd :-) 15:24
15:24 pyrimidine joined, sena_kun joined
moritz Xliff: right, but no segfault is a good sign 15:24
Xliff But of course! 15:25
timotimo no segfault means you're already exploited :P
AlexDaniel moritz: how would that prevent it from crashing? x)
moritz AlexDaniel: it wouldn't, but it would restart your daemons on startup :-)
15:25 thayne joined, thalunil left
Xliff OK. Sooo... 15:26
Looks like there is something in Math::Units::Defs that is causing the issue.
15:27 sunnavy joined
Xliff Removing the "use Math::Units::Defs" from Parser.pm stops those errors. 15:27
Returns a sensible one. 15:28
15:28 pyrimidine left
Xliff So I will pick at this more. Thanks everyone!! 15:28
15:32 domidumont left
RabidGravy SmokeMachine, maybe that might fit into a category of doing weird stuff with multis that I am working up for the cookbook 15:33
15:35 cdg left, cdg joined 15:43 pyrimidine joined 15:44 seatek left 15:46 labster left
RabidGravy and on the other hand you can always use a grep on the supply 15:46
which is why supplies are actually the greatest thing known to computer science
Xliff instantFilter? 15:47
Xliff decides to take a break.
15:47 pyrimidine left
Xliff Now adding an "our %var is export;" to a module, makes a dependent module emit this error: 15:48
Expression needs parens to avoid gobbling block
at /home/cbwood/projects/p6-math-units/lib/Math/Units.pm6 (Math::Units):278
------> }⏏<EOL>
Missing block (apparently claimed by expression)
at /home/cbwood/projects/p6-math-units/lib/Math/Units.pm6 (Math::Units):278
------> }⏏<EOL>
timotimo you usually get that error when you have something that's supposed to be a type, but it isn't found
m: if 10 ~~ Bool { say "hi" }
camelia ( no output )
timotimo m: if 10 ~~ Boop { say "hi" }
camelia rakudo-moar fb3819: OUTPUT«5===SORRY!5===␤Function 'Boop' needs parens to avoid gobbling block (or perhaps it's a class that's not declared or available in this scope?)␤at <tmp>:1␤------> 3if 10 ~~ Boop { say "hi" }7⏏5<EOL>␤Missing block (apparently claimed by 'Boo…»
RabidGravy timotimo++ has faster typing than me 15:49
Xliff Oh damn. Found it. Dangling comma in a for loop.
timotimo gradual typing
15:49 pyrimidine joined 15:51 holli left 15:52 ufobat joined, Lucas_One left 15:54 pyrimidine left
timotimo oh, i actually put the text in the parens into that error 15:55
RabidGravy If anyone actually has some "how do I do <Foo> using Tinky" issues to github.com/jonathanstowe/Tinky-Cookbook would be appreciated 16:01
timotimo why isn't there a quick link directly to Tinky from there? :)
RabidGravy other wise I'm just going to haul out the "Enterprise Integration Patterns" book and work through it ;-) 16:02
timotimo i actually have no clue what parts of projects such a workflow system would fit in
RabidGravy we went to Hieronymous Bosch version of XMas shopping earlier ;-) 16:03
timotimo, that's a different question of course ;-p
timotimo :) 16:04
indeed.
16:05 ugjka joined 16:08 cdg left 16:09 cdg joined 16:10 cibs left 16:12 cibs joined, pierrot left 16:14 pierrot joined, cdg left 16:15 pyrimidine joined, pierre_ joined 16:19 pierre_ left, pyrimidine left 16:25 khw joined, pyrimidine joined 16:30 pyrimidine left 16:33 dj_goku joined 16:40 Actualeyes left 16:41 andrzejku left 16:43 dataf3l joined
moritz does anybody agree with me that rt.perl.org/Public/Bug/Display.html?id=130371 is not, in fact, a bug? 16:44
it looks like desired behavior to me, since &return should return from an lexically outer Routine 16:45
16:45 pyrimidine joined
timotimo i don't actually know 16:46
16:49 pyrimidine left
jnthn Yes, current behavior is correct. 16:49
Return is lexical
So, not a bug 16:50
16:51 pierre_ joined
AlexDaniel m: leave 16:52
camelia rakudo-moar fb3819: OUTPUT«leave not yet implemented. Sorry. ␤ in block <unit> at <tmp> line 1␤␤»
AlexDaniel :(
RT #124960 16:53
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=124960
16:55 pyrimidine joined 16:56 raiph joined
gfldex m: my &block = { say 'returning from &block'; return }; say (1..3).map: &block; 16:57
camelia rakudo-moar fb3819: OUTPUT«returning from &block␤Attempt to return outside of any Routine␤ in block <unit> at <tmp> line 1␤␤»
timotimo leave can't be so hard, can it? 16:58
moritz it needs codegen, and codegen is hard for me
gfldex m: my &block = { say 'returning from &block'; last }; say (1..3).map: &block; 16:59
camelia rakudo-moar fb3819: OUTPUT«returning from &block␤()␤»
gfldex last works and does the same
17:00 pyrimidine left
gfldex or does leave fire a control exception? 17:00
17:03 grondilu left 17:04 pyrimidine joined
moritz nope 17:06
last isn't tied to an outer lexical scope
gfldex m: sub s { my &loop-block = { return 'premature' }; say 'hi'; (1..3).map: &loop-block; say 'oi‽' }; say s 17:07
camelia rakudo-moar fb3819: OUTPUT«hi␤premature␤»
gfldex m: sub s { my &loop-block = { return 'premature' }; say 'hi'; (1..3).map: &loop-block; }; say s
camelia rakudo-moar fb3819: OUTPUT«hi␤Attempt to return outside of any Routine␤ in block <unit> at <tmp> line 1␤␤»
gfldex there is a bug somewhere
m: sub s { my &loop-block = { return 'premature' }; say 'hi'; (1..3).map(&loop-block); }; say s
camelia rakudo-moar fb3819: OUTPUT«hi␤Attempt to return outside of any Routine␤ in block <unit> at <tmp> line 1␤␤»
gfldex m: sub s { my &loop-block = { return 'premature' }; say 'hi'; (1..3).map(&loop-block); 1 }; say s
camelia rakudo-moar fb3819: OUTPUT«hi␤premature␤»
gfldex m: sub s { my &loop-block = { return }; (1..3).map(&loop-block); 1 }; say s 17:09
camelia rakudo-moar fb3819: OUTPUT«Nil␤»
gfldex m: sub s { my &loop-block = { return }; (1..3).map(&loop-block); }; say s
camelia rakudo-moar fb3819: OUTPUT«Attempt to return outside of any Routine␤ in block <unit> at <tmp> line 1␤␤»
gfldex m: sub s { my &loop-block = { return }; (1..3).map(&loop-block); }; s
camelia rakudo-moar fb3819: OUTPUT«Attempt to return outside of any Routine␤ in block <unit> at <tmp> line 1␤␤»
moritz gfldex: are you trying to achieve something in particular? if yes, what?
17:09 pyrimidine left
gfldex i'm trying to golf in the wrong window, sorry 17:09
i would take pointers how to golf this further, tho 17:10
17:10 cdg joined
timotimo um 17:11
you have the return inside the sub s
so returning ought to return from s
is that what we are expecting?
gfldex yes
timotimo OK
i'm not concentrating well today
gfldex i'm very confused that a no-op is required
timotimo oh 17:12
you do realize that map is lazy?
so the moment &loop-block gets invoked, s isn't on the stack any more
gfldex m: sub s { my &loop-block = { return }; (1..3).map(&loop-block); }; say s 17:13
camelia rakudo-moar fb3819: OUTPUT«Attempt to return outside of any Routine␤ in block <unit> at <tmp> line 1␤␤»
timotimo m: sub s { my &loop-block = { return }; (1..3).map(&loop-block).eager; }; say s
camelia rakudo-moar fb3819: OUTPUT«Nil␤»
moritz gfldex: in your last example, &s returns a lazy list 17:14
this is then evaluated in sink context
which makes it eager
so by the time that the return has run, there's no instance of &s running anymore
17:15 cdg left
moritz we used to have a more awesome error message for that, something like "you've already returned from &s", dunno where that's gone 17:15
17:16 cdg joined
gfldex time travel makes things complicated 17:18
moritz indeed
raiph .tell nine Fwiw, Q on PM about "wxWidgets application in Perl 6" (using IP5): www.perlmonks.org/?node_id=1177946 17:19
yoleaux raiph: I'll pass your message to nine.
17:20 pierre_ left, domidumont joined
dalek c: a335953 | gfldex++ | doc/Language/control.pod6:
tell how return relates to outer scopes
17:20
synopsebot6 Link: doc.perl6.org/language/control
gfldex i hope to have found a wording that says what I meant
17:22 pierre_ joined, skids joined 17:23 pyrimidine joined
timotimo instead of "the outer lexical scope of that block", i'd maybe have it say something like "the routine it's lexically enclosed by" 17:25
that also covers having blocks inside blocks inside blocks inside routines, etc
gfldex i would not have understood that but the nestedness should be pointed at 17:26
timotimo OK 17:27
moritz gfldex: I'll try to reword it, and then ask you if that's understandable, OK?
17:28 pyrimidine left, andrzejku joined
gfldex i think i got it 17:29
dalek c: 4ee29e7 | gfldex++ | doc/Language/control.pod6:
scope of a block can be nested
synopsebot6 Link: doc.perl6.org/language/control
moritz gfldex: perlpunks.de/paste/show/5856c778.1e4a.172
dalek c: 57e28ee | gfldex++ | doc/Language/control.pod6:
fix typo
17:31
synopsebot6 Link: doc.perl6.org/language/control
gfldex i like the more wordy form better
moritz "is tied to the first C<Routine> the outer lexical scope" 17:32
isn't there a preposition missing or something?
dalek c: acddece | gfldex++ | doc/Language/control.pod6:
fix typo
17:33
synopsebot6 Link: doc.perl6.org/language/control
gfldex yes, maybe I should read what I wrote before I commit
17:33 pyrimidine joined
gfldex as an excuse I can state that it's nearly 3 hours after nightfall :-> 17:34
timotimo so like 7pm?
17:40 lichtkind joined
gfldex yes :) 17:41
17:46 setty1 left 17:47 cdg left, cdg joined 17:50 pyrimidi_ joined, pyrimidine left
Xliff I would I define enums with a Num base type? 18:23
s/^I/How/
AlexDaniel Xliff: what does it mean? 18:24
Xliff ? 18:25
I don't understand your question, AlexDaniel
AlexDaniel alright, well, the answer is probably “you just can't” :) 18:26
lizmat m: enum Foo (A => 0e0, "B", "C"); dd Foo.^enum_values # AlexDaniel
camelia rakudo-moar fb3819: OUTPUT«{:A(0e0), :B(1e0), :C(2e0)}␤»
AlexDaniel :O
lizmat seems to work ?
m: enum Foo (A => "a", "B", "C"); dd Foo.^enum_values # also works for strings 18:27
camelia rakudo-moar fb3819: OUTPUT«{:A("a"), :B("b"), :C("c")}␤»
Xliff Wow.
AlexDaniel m: enum Animal (Cat => 1, Dog => 42e0, Monkey => 69)
camelia rakudo-moar fb3819: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Type error in enum. Got 'Num' Expected: 'Int'␤at <tmp>:1␤------> 3al (Cat => 1, Dog => 42e0, Monkey => 69)7⏏5<EOL>␤»
Xliff OK. Gisting.
lizmat hmmm.. I guess they need to be all of the same type, because the Enum type is a parent ? 18:28
AlexDaniel right, it depends on the first one 18:29
:O
what kind of an enumeration is it if you can create it with Strs /o\
m: enum Animal (Cat => NaN, ‘Dog’, ‘Monkey’); .value.say for Animal::.values 18:30
camelia rakudo-moar fb3819: OUTPUT«NaN␤NaN␤NaN␤»
AlexDaniel /o\
18:32 rburkholder left
ugexe tbrowder: you don't have to install zef, so just use it like you would when its not installed (like when you install zef itself) github.com/ugexe/Perl6-Distributio...is.yml#L33 18:33
yoleaux 12:24Z <kalkin-_> ugexe: it would be nice if zef GitFetch would check %*ENV<GIT_ALLOW_PROTOCOL> for allowed protocols (this allows the usage of git-remote-helpers) and fallback to ( http | ssh) if no allowed protocol is set
ugexe kalkin-_: you can set the protocol to use in resources/config.json under the git fetcher as option "scheme" 18:34
Xliff gist.github.com/Xliff/bbe5b1d12a69...bb8bfed2c1 18:35
18:35 pierre_ left
ugexe also use the meta6 field 'auth' to set your auth. The fact 'author' and 'authority' are fallbacks to auth is something that will probably be removed at one point 18:36
Xliff AlexDaniel: aaaieee!
18:37 pmurias joined
AlexDaniel Xliff: okay, that makes sense 18:37
tbrowder ugexe: is that the default travis file and we only have to override as necessary? 18:38
AlexDaniel basically you were trying to create an enum with more than one type…
and 1000 is an Int, while 1e12 is a Num
so that's why it complains, alright
Xliff: so why are you using enums for this? 18:39
don't you just want constants?
and why are you using Nums when Rats are probably less surprising?
18:39 ufobat left 18:47 skids left
samcv Morning Perl 6 o/ 18:47
18:47 domidumont left
tbrowder ugexe: i'm a dummy here: do you mean that travis is now set up so line 33 is the only thing i need in my "install" section of the travis file? i've been away a lot--which of my questions are you answering? 18:48
gfldex m: enum Foo (A => 1/2, B, C); dd Foo; 18:50
camelia rakudo-moar fb3819: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Undeclared names:␤ B used at line 1␤ C used at line 1␤␤»
18:50 labster joined
gfldex m: enum Foo (A => 1/2, "B", "C"); dd Foo::.values; 18:50
camelia rakudo-moar fb3819: OUTPUT«(Foo::B, Foo::A, Foo::C).Seq␤»
gfldex m: enum Foo (A => 1/2, "B", "C"); say Foo::.values; 18:51
camelia rakudo-moar 7a642f: OUTPUT«(B A C)␤»
gfldex m: enum Foo (A => 1/2, "B", "C"); put Foo::.values;
camelia rakudo-moar 7a642f: OUTPUT«B A C␤»
gfldex m: enum Foo (A => 1/2, "B", "C"); Foo::.values».WHAT.say;
camelia rakudo-moar 7a642f: OUTPUT«(Seq)␤»
18:52 pierre_ joined
gfldex m: enum Foo (A => 1/2, "B", "C"); put A.value; 18:52
camelia rakudo-moar 7a642f: OUTPUT«0.5␤»
gfldex m: enum Foo (A => 1/2, "B", "C"); put A.value.^name;
camelia rakudo-moar 7a642f: OUTPUT«Rat␤»
gfldex Rat seams to work too 18:53
Xliff AlexDaniel: I may end up using Rats, then.
Ihave a plan, it's a little difficult to explain. 18:54
AlexDaniel by why enums? Whyyyy :)
Xliff Constants won't work because I won't know the names ahead of time.
dalek c: 9dae3c7 | gfldex++ | doc/Language/typesystem.pod6:
name value enum key types
synopsebot6 Link: doc.perl6.org/language/typesystem
Xliff For orders of magnitude, I can do what I did and can write things like; "k * k" and have it make sense.
I guess I could have used constants for orders of magnitude. 18:55
But my sense of
AlexDaniel gfldex: but these are not keys?
Xliff Er... scratch that last bit.
AlexDaniel m: enum Animal (Cat => 1e-9, ‘Dog’, ‘Monkey’); dd Animal::.keys
camelia rakudo-moar 7a642f: OUTPUT«("Dog", "Cat", "Monkey").Seq␤»
Xliff At any rate, it is working now.
AlexDaniel m: enum Animal (Cat => 1e-9, ‘Dog’, ‘Monkey’); dd Animal::.values
camelia rakudo-moar 7a642f: OUTPUT«(Animal::Dog, Animal::Cat, Animal::Monkey).Seq␤»
AlexDaniel m: enum Animal (Cat => 1e-9, ‘Dog’, ‘Monkey’); dd Animal::.values».value
camelia rakudo-moar 7a642f: OUTPUT«(1.000000001e0, 1e-09, 2.000000001e0)␤»
gfldex there are actually enum key values 18:56
I do agree the wording isn't brilliant but enums are not just enumerations like in C 18:57
18:57 pyrimidi_ left, xinming left 18:59 _28_ria left, ufobat joined
labster m: :16(*).say for <31 68 b3>; 19:00
camelia rakudo-moar 7a642f: OUTPUT«This call only converts base-16 strings to numbers; value * is of type Whatever, so cannot be converted!␤ in block <unit> at <tmp> line 1␤␤»
19:00 lucasb joined 19:01 _28_ria joined
AlexDaniel m: .parse-base(16).say for <31 68 b3> 19:03
camelia rakudo-moar 7a642f: OUTPUT«49␤104␤179␤»
AlexDaniel or 19:04
m: :16($_).say for <31 68 b3>
camelia rakudo-moar 7a642f: OUTPUT«49␤104␤179␤»
19:04 pyrimidine joined
lucasb I noticed this section in NQP code: github.com/perl6/nqp/blob/master/s...#L117-L120 19:06
is it correct to say that for every integer parsed, method string_to_int is getting called?
I also noticed these tokens: github.com/perl6/nqp/blob/master/s...p#L94-L104 19:07
tokens decint and hexint are exact matches
the only need I see for string_to_int is to validate the tokens octint and binint 19:08
but then, the tokens octint and binint could be rewritten using a narrow range of values
token octint { [<[ 0 .. 7 ]>+]+ % '_' } # <--- idk, maybe something like this 19:09
19:09 dataf3l left 19:10 itcharlie_linux joined
AlexDaniel lucasb: what about unicode digits? 19:11
19:11 pyrimidine left
lucasb AlexDaniel: ahh, \d matche unicode also, right? :) 19:11
ufobat BTW this bug seems to be fixed: rt.perl.org/Public/Bug/Display.html?id=127869 you might want to close it
labster Right AlexDaniel, but I just don't know why the Whatever do its normal thing. Maybe something with the way the language is parsed. 19:12
AlexDaniel lucasb: right 19:13
lucasb labster: you wanted ':16(*).say' to create a block?
AlexDaniel m: say 0o22
camelia rakudo-moar 7a642f: OUTPUT«18␤»
labster yup.
lucasb but... func(*) doens't create blocks :) 19:14
ugexe tbrowder: its the travis file for Distribution::Common::Remote as the url implies
19:14 xinming joined
lucasb the boundary is a single expression, I think 19:14
ugexe that travis file clones zef and runs the bin/zef script directly to install the dependencies for distribution::common::remote. no installing zef
ufobat bisectable6 help 19:16
19:16 pyrimidine joined
AlexDaniel bisectable6: help 19:16
bisectable6 AlexDaniel, Like this: bisectable6: old=2015.12 new=HEAD exit 1 if (^∞).grep({ last })[5] // 0 == 4 # RT128181
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128181
ufobat ty!
19:16 rindolf left
ufobat bisectable6: old=2016.01 new=HEAD sub match ($str, $flip) { return False if $flip eq "no"; return $str ~~ rx/foo/;}; for 0..104 { for "no", "yes" -> $flip { if my $match = match("something",$flip) { die "What?!" unless $match } }} 19:17
bisectable6 ufobat, Bisecting by exit code (old=2016.01 new=7a642f8). Old exit code: 1
ufobat, bisect log: gist.github.com/173bedafc09c58458e...f3483c96ff
19:17 rindolf joined
bisectable6 ufobat, (2016-08-19) github.com/rakudo/rakudo/commit/25...b0673f26e2 19:17
labster lucasb: riiiiight. It's not like I've been using this langauge for 6 years. geez.
Perl 6, where all of the rules (and we do mean "all") are consistent (except where we tell you they're not). 19:18
ufobat is there a way to figure out the change in moarvm that fixed that issue with a bot?
jdv79 is it possible that Inline::Perl5 doesn't like to hand back big data? 19:19
timotimo ufobat: hopefully we'd get a test to check if that regresses
19:20 darutoko left
AlexDaniel m: say ‘256890’ ~~ / [ (\d) <?{ $0[*-1].Str.uniprop(‘Numeric_Value’) < 8 }> ]+ / 19:20
camelia rakudo-moar 7a642f: OUTPUT«「256」␤ 0 => 「2」␤ 0 => 「5」␤ 0 => 「6」␤»
AlexDaniel lucasb: you can still parse exactly what you want, I guess
jdv79 a simple HTTP::Tiny.new.get("www.youtube.com") stalls out
AlexDaniel ufobat: unfortunately no, not yet
19:20 pyrimidine left
kalkin-_ ugexe: Thanks! 19:24
jdv79 wow, that's pretty crazy
the get call takes a minute and then to say %resp<content> takes another 2 mins
tons of brk and mremap calls 19:25
nine: is this a known issue?
tbrowder ugexe: sorry, i didn't get the context--i'm fiddling with fixing my own module's travis file... 19:33
19:35 cooper_ joined
jdv79 hmm, its creating a Buf for the content... 19:35
19:36 TEttinger joined 19:41 mst__ is now known as mst, mst left, mst joined 19:42 pyrimidine joined
gfldex Oracle is kindly sending users our way: www.theregister.co.uk/2016/12/16/or...compliance 19:43
19:46 domidumont joined
dalek albot: 166c04a | moritz++ | stdin:
New stdin

  de.wikisource.org/wiki/Die_Br%C3%B...%99_am_Tay
19:46
samcv anybody found using Perl 6 without a Fun™ Pass will be given a stern talking to
luckily this fun pass is included with Perl 6
19:47 pyrimidine left
samcv shame on oracle tho 19:48
19:49 cdg left
CIAvash[m] labster: I think that's because you can pass them to functions. look at the example here: docs.perl6.org/type/WhateverCode 19:50
19:51 toolforger joined
labster Is that a Whatever or a WhateverCode? 19:51
CIAvash[m] in the example both are used
jdv79 oh. cute. if a string isn't utf8 it gets copied in a loop to a buf 19:52
labster That passes the Whatever to the function, I don't think it creates a block containing the outer function. 19:55
19:56 pyrimidine joined
toolforger I'm trying to figure out how to best call into NQPP6QRegex.jar 19:59
CIAvash[m] Yes, I'm saying that's why function(*) doesn't create a block, it passes the Whatever
Xliff How is Oracle relevant to rakudo?
The JS backend? 20:00
toolforger Is org.perl6.nqp.tools.EvalServer a good start for that?
gfldex it targets jvm
Xliff Oh, right!
:(
20:00 pyrimidine left
Xliff Really? Their biggest target is Google. 20:00
Coz... Android.
Everything else is icing.
Oracle sounds desperate with that. 20:01
AlexDaniel eval: say slurp ~~ /\d/
evalable6 AlexDaniel, Full output: gist.github.com/a8cd82d6128e538b20...2ac36144cb
AlexDaniel, rakudo-moar 7a642f8: OUTPUT«(exit code 1) 04===SORRY!04=== Error while compiling /tmp/GeS3gv4Bp3␤Expected a …»
AlexDaniel eval: say slurp() ~~ /\d/
evalable6 AlexDaniel, rakudo-moar 7a642f8: OUTPUT«Nil»
AlexDaniel eval: say slurp() ~~ /\w/
evalable6 AlexDaniel, rakudo-moar 7a642f8: OUTPUT«Nil»
AlexDaniel meh, I should probably add some numbers and letters… 20:02
20:05 cdg joined 20:10 cdg left 20:12 domidumont left
dalek c: 53fbc15 | samcv++ | doc/Language/regexes.pod6:
Add some more X< > for the regex section

Mention <|w> can be used instead of \b Add mention \b as depreciated so people used to other languages d70547c | samcv++ | doc/Language/regexes.pod6: Add some code formatting to the section titles for regex
20:13
20:13 dalek left
synopsebot6 Link: doc.perl6.org/language/regexes 20:13
20:13 dalek joined, ChanServ sets mode: +v dalek
AlexDaniel lucasb: perhaps “all” is the shortcut you were looking for 20:14
committable6: all sub match ($str, $flip) { return False if $flip eq "no"; return $str ~~ rx/foo/;}; for 0..104 { for "no", "yes" -> $flip { if my $match = match("something",$flip) { die "What?!" unless $match } }}
there's also 6c if you don't want to see these old results 20:15
committable6 AlexDaniel, gist.github.com/118f4f53d2a0e21e9b...54cb4a77ae
20:20 pyrimidine joined 20:24 pyrimidine left
lucasb AlexDaniel: thanks. I'll try those next time 20:28
20:32 pyrimidine joined 20:36 pierre_ left, pierre_ joined 20:37 pyrimidine left 20:40 itcharlie_linux left 20:41 mr-foobar left, hankache joined
synopsebot6 Link: doc.perl6.org/language/regexes
samcv i hope this works: X<Alternation: C<V«||»>|regex,||>
moritz what's that V«...» for? 20:45
samcv we can't use || inside of it right
timotimo verbatim, no?
samcv yeah it's verbatim
i was trying to make sure it wasn't incorrectly thought to be the seperator
20:45 pyrimidine joined
timotimo right, it likely would. i wonder if we have backslashes working in any place there 20:46
samcv i didn't see anything in S26 but i may have missed it
well backslash isn't anywhere in the document..
well other than places which have code examples 20:47
timotimo mhm
20:50 pyrimidine left 20:51 thayne left
toolforger Sounds like it would be a good idea to annotate example code in docs, and have a unit test that runs that example code 20:52
gfldex toolforger: we got that already 20:53
toolforger :-)
gfldex it's just not automated yet
RabidGravy that's the groovy thing about the way pod works 20:54
20:56 espadrine left
toolforger knows the "not done yet" situation 20:57
RabidGravy I ought to finish Test::Synopsis
gfldex toolforger: if you want to help here is how: github.com/perl6/doc/blob/master/C...g-examples 20:58
toolforger I'm on another voyage right now 20:59
samcv :( docs.perl6.org/language/regexes.ht...ion:_V«||»
toolforger Trying to make the regex engine available from Java
samcv oh
i think i know why
dalek c: 6259779 | samcv++ | doc/Language/regexes.pod6:
Fix V< > showing up in heading for regex
21:00
synopsebot6 Link: doc.perl6.org/language/regexes
samcv cause it's already in a code block
21:08 revere joined 21:09 pyrimidine joined, revere left, revere joined 21:12 hankache left 21:13 pyrimidine left 21:18 trnh joined 21:21 pyrimidine joined 21:26 pyrimidine left 21:29 FROGGS left 21:30 cdg joined
moritz so, I'm experimenting with killing a Proc::Async 21:34
it works fine when the program I'm running is /bin/sleep 21:35
but, if it's a bash script that runs /bin/sleep, the kill seems to have no effect
does a non-interactive shell trap signals by default? 21:36
and in my minimal example, a $proc.kill(9) helps 21:39
in the large scenario, not
toolforger What process did the signal go to - the shell or the sleep?
21:40 pyrimidine joined
moritz the shell 21:40
toolforger unix.stackexchange.com/questions/14...ld-in-bash says "Normally, bash will ignore any signals while a child process is executing" 21:41
21:41 bjz left
moritz but a bash can't ignore a SIGKILL 21:42
because it never receives it
toolforger yup
21:43 andrzejku left
toolforger You can probably kill the wait by sending SIGKILL to the /bin/sleep 21:43
The stackoverflow answer does not say anything about differences between interactive and noninteractive 21:44
So I suspect you can't kill a sleep by killing its shell even if the shell is interactive
toolforger hasn't tested that
21:45 pyrimidine left
moritz ok, then I won't use bash scripts to test that 21:45
RabidGravy sl
moritz just /bin/sleep or p6 scripts 21:46
toolforger It might work if the shell uses exec
direct call is always better, no "funny" shell behaviour that can interfere with the test I'd say
RabidGravy I haven't looked at the implementation of sleep but I could imagine that it could do alarm and select in such a way that it could be weird with other signals 21:47
21:51 pyrimidine joined
geekosaur it's not very smart about signals. traditionally it was alarm() and pause() and didn;t even check what woke it. modern versions still take the first thing that woke them but produce stderr messages & exit code appropriately 21:53
21:55 bjz joined, pyrimidine left
toolforger Seems a bit too varied to be a good probe 21:56
AlexDaniel moritz: if I recall correctly, for that you'd have to kill the whole process tree. In most cases, I guess, killing a process group should work (in perl 5 that can be done by negating a signal), but I see no such thing in perl 6
moritz: what if you try SIGHUP instead of SIGKILL? 21:57
21:57 espadrine joined
AlexDaniel moritz: if I'm not mistaken, sighup worked significantly better for whateverables for exactly this reason 21:58
(… which is why we're still using it)
geekosaur fwiw Haskell's process API has an option to place the child in a process group and send signals etc. to that 22:00
(with the obligatory Windows support note since Windows has a vaguely similar concept with somewhat different behavior, IIRC)
22:00 pyrimidine joined
AlexDaniel “The shell exits by default upon receipt of a SIGHUP. Before exiting, an interactive shell resends the SIGHUP to all jobs, running or stopped” 22:02
so if you want to stop 「sleep」 which was started from bash, I guess that's the easiest way…
perhaps not the most reliable one, but… 22:03
toolforger BTW I just found out that shells ignore SIGTERM if interactive
the explanation was that you can do "kill 0" to kill all processes that you own - except processes that ignore it, so the interactive shells surv 22:04
/s/surv/survives/
22:05 pyrimidine left
AlexDaniel cool 22:05
22:06 bjz left 22:08 bjz joined 22:09 skids joined 22:10 trnh left 22:11 toolforger left 22:12 bjz left 22:14 RabidGravy left
dalek c: 92f3c08 | samcv++ | doc/Language/regexes.pod6:
Regex: add \b to search, as regex depreciated → <|w>

Will allow users of other languages to look it up by searching for this.
22:15
synopsebot6 Link: doc.perl6.org/language/regexes
TEttinger depreciated? lost value as an asset? 22:18
(really easy typo) 22:19
22:20 pyrimidine joined 22:24 dataf3l joined, pyrimidine left
dalek c: 58c17eb | samcv++ | doc/Language/regexes.pod6:
Give word boundaries their own section

Add \B to the index so people can know to use <!|wb>. Change the predefined subrules to use <|wb> because <wb> is not a zero width assertion.
22:26
synopsebot6 Link: doc.perl6.org/language/regexes
samcv did i make a typo TEttinger ?
timotimo just in the commit message i think 22:27
samcv oh
oh yes i did :)
dalek c: fae109f | samcv++ | doc/Language/regexes.pod6:
Put the two word boundary sections in the proper order
22:29
synopsebot6 Link: doc.perl6.org/language/regexes
22:30 pyrimidine joined
dalek c: b5cf588 | samcv++ | doc/Type/Cool.pod6:
Add some missing semicolons to unimatch section
22:34
synopsebot6 Link: doc.perl6.org/type/Cool
22:34 pyrimidine left 22:42 pierre_ left 22:43 pierre_ joined
dalek c: 4b83bff | coke++ | doc/Language/regexes.pod6:
Fix typo
22:46
synopsebot6 Link: doc.perl6.org/language/regexes
22:48 pyrimidine joined 22:50 pyrimidi_ joined, pyrimidine left 22:54 k-man_ is now known as k-man 22:55 pyrimidi_ left 22:56 bjz joined
SmokeMachine I run a code that is getting segfault sometimes with gdb and a moar compiled with --debug=3 and got this: gist.github.com/FCO/bb1bb1c0285fcf...8789beb21f anyone have any idea of whats the problem? for me it looks related to the garbage collector (Im guessing by the function's name gc_mark) 22:57
23:00 pmurias left
SmokeMachine Program received signal SIGSEGV, Segmentation fault. 23:03
0x00007ffff7912fb7 in gc_mark (tc=0x6027c0, st=<optimized out>, data=<optimized out>, worklist=0x4ab9050) at src/6model/reprs/MVMCallCapture.c:55
55src/6model/reprs/MVMCallCapture.c: No such file or directory.
does anyone know what file is this?
(or should be?)
sena_kun SmokeMachine, you probably want to file an issue on MoarVM repo.
SmokeMachine sena_kun: I'll... but I am trying to reduce my code before it... 23:04
23:04 bjz left
sena_kun SmokeMachine, or bring this up when it will be more noisy here. The answer activity somewhat depends on Europe night time, I suppose. 23:08
SmokeMachine sena_kun: makes sense... thanks!
23:09 pyrimidine joined
SmokeMachine sena_kun: is there a moravam channel? 23:09
geekosaur #moarvm 23:10
SmokeMachine sena_kun: I found it!
geekosaur: thanks!
sena_kun it's time to sleep here too... good night, #perl6. 23:13
23:13 sena_kun left, pyrimidine left 23:14 lukaramu left 23:21 khw left 23:22 pyrimidine joined 23:26 pyrimidine left 23:29 pierre_ left 23:32 khw joined
samcv hmm i wonder how much faster building the docs might be if we used highlights and the atom/github grammar instead of pygmentize… i know github changed because of performance reasons 23:33
github.com/atom/highlights
23:40 dataf3l left 23:41 cdg left 23:43 BenGoldberg joined 23:46 Tonik left 23:47 pyrimidine joined 23:50 d4l3k_ joined, dalek left 23:51 d4l3k_ is now known as dalek, ChanServ sets mode: +v dalek 23:52 pyrimidine left 23:59 pyrimidine joined