»ö« 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.
Zoffix SmokeMachine: I think you filed it even 00:00
m: class Foo { has Numeric @.foo .= new: 1, 2, 3 }.new 00:01
camelia Default constructor for 'Numeric' only takes named arguments
in method at <tmp> line 1
in submethod BUILDALL at <tmp> line 1
in block <unit> at <tmp> line 1
Zoffix Maybe it was this...
00:03 scott_ is now known as scott 00:04 mcmillhj joined
Zoffix Don't see any tickets for it tho 00:06
00:06 setty1 left, aindilis joined 00:08 wamba left 00:12 mcmillhj left
Zoffix .ask masak RE RT#124226 Yes, you can resolve types at compile time, but can you resolve methods? If the idea in the ticket is implemented, this, for example, would begin to crash, no? `class Foo { has $!foo; method foo { $!foo } }; INIT Foo.^lookup("foo").wrap: -> | { "not an error".say }; Foo.foo` 00:13
yoleaux Zoffix: I'll pass your message to masak.
synopsebot RT#124226 [open]: rt.perl.org/Ticket/Display.html?id=124226 [BUG] Opportunity to catch syntactically detectable calls to attribute-accessing methods on type objects in Rakudo 00:14
00:19 mcmillhj joined
SmokeMachine Zoffix: yes, I remember something like that... I’ll try to look for that... 00:23
00:24 zeddy_k left 00:25 pecastro left
Zoffix SmokeMachine: what's your email address on RT? There's a way to search by ticket-creator's email address 00:26
SmokeMachine I think I loose my rat password... 00:27
*rt
FCO
00:27 mcmillhj left, imcsk8 left
lookatme :) 00:29
Zoffix SmokeMachine: the first address you gave me showed ~10 tickets but none were about .= 00:32
SmokeMachine :( 00:33
00:33 pierre_ joined
SmokeMachine It’s possible I forgot to fill the rt 00:33
:( 00:34
Zoffix Oh well. I'll just apply the fix and that should fix the mystery bug. 00:36
00:37 skids joined, pecastro joined 00:40 stmuk_ joined 00:42 pecastro left, stmuk left 00:43 pecastro joined, konsolebox left 00:44 markong left, rindolf left 00:48 pecastro left, aindilis left 00:50 konsolebox joined 00:59 pecastro joined 01:01 shinobicl joined
Geth doc: 07b74c89e6 | (Zoffix Znet)++ | doc/Language/traps.pod6
Remove drift on lazy iterable reuse trap

It's not a trap but a bug.
Rakudo fix: github.com/rakudo/rakudo/commit/f330d7fc44 Spec that it shouldn't occur:
  github.com/perl6/roast/commit/242f297e3d
01:02
synopsebot Link: doc.perl6.org/language/traps
01:02 Cabanossi left 01:03 pecastro left
TimToady Zoffix: I'm not using the CArray that way, but I am still trying to isolate the memory leak in my caller-id scanner daemon 01:05
01:05 mcmillhj joined
Zoffix Ah 01:05
01:05 Cabanossi joined
TimToady I know lots of things it isn't, so may have to resort to the heap analyzer, but that's dicey with a daemon 01:05
01:06 pierre_ left 01:07 pierre_ joined 01:12 pierre_ left
TimToady it's a relatively slow leak, so in the current debugging mode I change something and then run it for a day to see whether it still leaks, which is why it's worth asking about possible hypotheses here :) 01:13
Zoffix There's some weird leak with gather/take. This construct leaks: (1…∞).grep(* < 0)[^10] 01:14
TimToady already tried removing his own gather/take, so it'd have to be embedded somewhere 01:15
the weird thing is that if I nqp::force_gc after every input line, it doesn't leak, so it's maybe something do to objects that are forced prematurely to have long-term addresses, or some kind of unreusability/fragmentation in the heap 01:18
things that die from the nursery don't trigger a leak here
(it would seem)
which made me think it might be something to do with the .WHICH of hash keys, but all my experiments there have come up dry 01:20
01:20 AlexDaniel joined
TimToady I haven't tried turning off SPESH yet, so maybe that should be my next experiment 01:21
01:21 Cleverson joined 01:23 pierre_ joined
TimToady my current experiment involves changing the = to := in the original (one-time) buffer allocation: my $buf = CArray[uint8].new(0 xx bufsize); 01:24
on the theory something could be leaking in NativeCall on the decont somehow 01:25
but it's a long shot
01:25 cdg joined, Cleverson left
TimToady I've been going under the assumption that spesh shouldn't make a process 3 times bigger over the course of 24 hours 01:27
01:28 cdg_ left 01:29 travis-ci joined
travis-ci Doc build passed. Zoffix Znet 'Remove drift on lazy iterable reuse trap 01:29
TimToady when it should be reaching a relative steady state after a few minutes of random syslog messages from my router
travis-ci travis-ci.org/perl6/doc/builds/339260205 github.com/perl6/doc/compare/c878e...b74c89e6b7
01:29 travis-ci left 01:30 cdg left 01:31 pecastro joined 01:32 mcmillhj left 01:36 pecastro left 01:37 pecastro joined 01:39 Zoffix left 01:41 pecastro left 01:42 pecastro joined 01:44 mcmillhj joined 01:47 pecastro left
shinobicl hi perl6! 01:47
01:47 pecastro joined 01:51 jstevens joined 01:53 uberbaud joined
lookatme hi shinobicl 01:54
shinobicl how can i load perl6 from a string? I want to build a library of "code" + "knowledge base" in a persistent medium, then load it and discard it when the scope goes away. How can i do this with perl6 code? The code has to be in a database.
01:54 mcmillhj left
lookatme eval ? 01:55
shinobicl, docs.perl6.org/routine/EVALFILE 01:56
Maybe this will help
or this docs.perl6.org/routine/EVAL
01:57 mcmillhj joined
shinobicl yes. that is perfect! Thanks! 01:57
lookatme++
02:05 mcmillhj left 02:13 Lynx_ left 02:14 eliasr left 02:15 Lynx_ joined, mcmillhj joined 02:17 aindilis joined 02:20 mcmillhj left 02:21 mcmillhj joined 02:26 mcmillhj left 02:27 aindilis left 02:28 pierre_ left 02:30 aindilis joined 02:33 uberbaud left 02:35 mcmillhj joined 02:38 aindilis left 02:42 mcmillhj left 02:44 pierre_ joined 02:45 mcmillhj joined, pierre_ left, pierre_ joined 02:46 ilbot3 left 02:48 AlexDaniel left 02:50 mcmillhj left 02:52 cdg_ joined 02:55 mcmillhj joined, aindilis joined 02:56 ilbot3 joined, ChanServ sets mode: +v ilbot3 03:00 mcmillhj left 03:02 aindilis left 03:05 ufobat_ joined 03:08 Herby_ joined, ufobat left
Herby_ o/ 03:09
lookatme o} 03:11
03:19 aindilis joined 03:20 jeromelanteri joined, aborazmeh joined, aborazmeh left, aborazmeh joined 03:25 aindilis left 03:32 jstevens_ joined 03:34 jstevens left 03:35 Util joined 03:37 caasihuang is now known as caasih, mcmillhj joined 03:41 mcmillhj left 03:46 cdg_ left 03:47 cdg joined 03:52 cdg left, jeromelanteri left 03:53 stmuk joined 03:55 stmuk_ left 03:56 telex left 03:58 telex joined 04:16 Herby_ left 04:25 mcmillhj joined 04:30 mcmillhj left 04:32 pierre_ left 04:34 Cabanossi left 04:37 Cabanossi joined 05:02 mcmillhj joined 05:07 mcmillhj left 05:09 mcmillhj joined 05:14 mcmillhj left 05:17 skids left 05:42 curan joined, jstevens_ left 05:46 aborazmeh left 06:02 khw left 06:12 wamba joined
ZzZombo Originally this was used to test potential circular dependency, but it got interesting in other ways: 06:14
m: role R[$s=self.a] {method a{$s // 'asd'}};class C does R {}
camelia 5===SORRY!5=== Error while compiling <tmp>
Could not instantiate role 'R':

at <tmp>:1
ZzZombo m: role R[$s=self] {method a{$s // 'asd'}};class C does R {}
camelia 5===SORRY!5=== Error while compiling <tmp>
'self' used where no object is available
at <tmp>:1
------> 3role R[$s=7⏏5self] {method a{$s // 'asd'}};class C do
expecting any of:
term
ZzZombo m: class C {has $.s=self.a;method a{'asd'}}.s.say 06:17
camelia Cannot look up attributes in a C type object
in method s at <tmp> line 1
in block <unit> at <tmp> line 1
ZzZombo m: class C {has $.s=self.a;method a{'asd'}}.new.s.say
camelia asd
Geth doc: db2b417960 | (JJ Merelo)++ | doc/Type/Range.pod6
Changing Inf to ∞ in code samples

Refs #1520. I chose this one because it's got a log of Inf. Not changed in text or when it actually returns Inf.
07:01
synopsebot Link: doc.perl6.org/type/Range
07:02 aindilis joined 07:08 darutoko joined 07:14 eliasr joined 07:34 lookatme left 07:35 troys left 07:37 espadrine_ left 07:39 pierre_ joined, lowbro_ joined 07:43 pierre_ left 07:52 domidumont joined 07:56 domidumont left, wamba left 07:57 pierre_ joined, domidumont joined 07:58 pierre_ left 07:59 pierre_ joined 08:06 mcmillhj joined 08:08 giraffe left 08:10 mcmillhj left 08:12 konsolebox left, konsolebox joined 08:13 mcmillhj joined 08:17 konsolebox left 08:18 mcmillhj left 08:20 konsolebox joined 08:21 mcmillhj joined 08:25 mcmillhj left 08:27 llfourn left 08:28 mcmillhj joined 08:34 pierre_ left 08:35 mcmillhj left 08:38 mcmillhj joined 08:42 mcmillhj left 08:44 shinobicl left, shinobi-cl joined 08:45 mcmillhj joined 08:47 wamba joined 08:53 mcmillhj left 09:05 shinobi-cl left 09:11 leont joined, natrys joined
ZzZombo m: my Int $a;$a .//= new: 2;$a.say 09:20
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed postfix call (only alphabetic methods may be detached)
at <tmp>:1
------> 3my Int $a;$a .7⏏5//= new: 2;$a.say
ZzZombo m: my Int $a;$a .= new: 2;$a.say
camelia 2
ZzZombo Well, a pity it doesn't work.
09:24 wamba left 09:25 wamba joined, wamba1 joined 09:26 wamba left
gfldex m: my Int $a; $a = $a // $a.new(2); $a.say 09:28
camelia 2
09:30 vike left 09:34 jstevens joined 09:41 AlexDaniel joined, zeddy_k joined 09:44 wamba1 left 09:46 wamba joined 09:47 wamba left 09:48 jstevens left 09:50 leont left, wamba joined 09:51 pierre__ joined 09:52 wamba left 09:53 wamba joined 09:55 llfourn joined 10:06 shinobi-cl joined
SmokeMachine m: my Pair $foo .= new: :key<foo> :value<bar>; 10:18
camelia ( no output )
SmokeMachine Zoffix, shouldn’t be with the : after the new? ☝️ 10:19
10:20 saorge joined, TEttinger left 10:21 AlexDaniel left 10:25 Zoffix joined, mcmillhj joined
Zoffix SmokeMachine: both variants are valid. Yours is parsed as args. Without `:` it's parsed as fake-infix and the trailing adverbs are then converted into args 10:26
m: dd <a b c>.grep("b") :p
camelia (1 => "b",).Seq
Zoffix m: dd <a b c>.grep("b") :v
camelia ("b",).Seq
SmokeMachine Zoffix: thanks! I didn’t know that...
Zoffix m: my Int $a; $a orelse .=new: 2; $a.say 10:27
camelia (Int)
Zoffix hm...
m: my Int $a; -> \z { z .=new: 42; }($a);$a.say 10:28
camelia 42
Zoffix The orelse one should prolly work 10:29
10:29 wamba left 10:30 mcmillhj left 10:33 mcmillhj joined 10:38 scimon joined
Zoffix m: my Int $a; .=new: 2 without $a; $a.say 10:38
camelia 2
Zoffix notandthen works
ZzZombo: ^ 10:39
m: my Int $a; $a notandthen .=new: 2; $a.say
camelia (Int)
Zoffix huh... That's really weird, considering the first one becomes the second one during parsing 10:40
c: 2018.01 my Int $a; $a notandthen .=new: 2; $a.say 10:41
committable6 Zoffix, ¦2018.01: «2␤»
10:41 mcmillhj left
Zoffix oh. Looks like someone's `.=` optimization got a bug in it :} 10:42
10:45 mcmillhj joined 10:47 cdg joined 10:49 mcmillhj left 10:51 lowbro_ left 10:52 cdg left, mcmillhj joined 10:57 mcmillhj left 10:58 shinobi-cl left 11:00 mcmillhj joined 11:04 mcmillhj left 11:09 wamba joined 11:11 shinobi-cl joined 11:15 markong joined 11:24 eroux left 11:25 Zoffix left 11:27 Zoffix joined, shinobi-cl left
Zoffix .tell timotimo RE irclog.perlgeek.de/perl6/2018-02-08#i_15793128 There's no bug. The `=>` op auto-quotes the LHS, so those are string keys. There are several ways to avoid auto-quoting and when you use one of them, the .perl comes out right: say :{(False) => 1, (True) => 2}.perl 11:28
yoleaux Zoffix: I'll pass your message to timotimo.
11:28 Zoffix left 11:30 pierre__ left 11:34 eroux joined 11:35 rindolf joined 11:43 AlexDaniel joined
timotimo oh, haha, i'm not that bright, am i? 11:49
yoleaux 11:28Z <Zoffix> timotimo: RE irclog.perlgeek.de/perl6/2018-02-08#i_15793128 There's no bug. The `=>` op auto-quotes the LHS, so those are string keys. There are several ways to avoid auto-quoting and when you use one of them, the .perl comes out right: say :{(False) => 1, (True) => 2}.perl
12:01 curan left 12:03 SmokeMachine left, SmokeMachine joined
moritz I have a weird off-topic question, and hope you don't mind :-) 12:07
so, on linux, a setuid or setgid program generall isn't strace/ptrace'able, even after it dropped its permissions
but, if such a process calls execv() after dropping its permissions, the resulting process can be ptrace()d again 12:08
is there a way to inherit this untracability?
to the exec()d program, that is
according to stackoverflow.com/questions/213379...ter-setuid the PR_SET_DUMPABLE thingy is responsible, but I don't see how I can tell exec and friends to not reset it 12:15
12:21 wamba left 12:28 pierre__ joined 12:32 pierre__ left, jstevens joined 12:39 cdg joined 12:41 zeddy_k left 12:43 cdg left
DrForr_ o/ 12:46
12:46 mithaldu_ left, mithaldu_ joined 12:47 eliasr left, eliasr joined 12:51 aborazmeh joined, aborazmeh left, aborazmeh joined 12:52 mcmillhj joined, saorge left 12:56 mcmillhj left 12:57 notable6 left, coverable6 left, greppable6 left, notable6 joined, ChanServ sets mode: +v notable6, statisfiable6 left, coverable6 joined, ChanServ sets mode: +v coverable6, greppable6 joined 12:58 aborazmeh left 12:59 BuildTheRobots left, mcmillhj joined 13:00 BuildTheRobots joined 13:02 lowbro left 13:04 cpage_ joined, aindilis left 13:05 aindilis joined 13:06 cpage left, cpage_ is now known as cpage 13:08 mcmillhj left
ZzZombo What is `quasi`? 13:09
quasi { $cond-attr.get_value($*MONITOR).signal() }
DrForr_ Well, for one it's not mentioned directly in the docs so it's a valid bug to submit... 13:11
but I'd guess it's to do with quasiquoting, meaning the qq{} stuff. 13:12
jnthn It's part of the current experimental macros implementation
qq is just a normal string quoting constrcut 13:14
13:14 kipd joined
jnthn a quasiquote is a way of getting Perl 6 code as an AST, so it can be spliced in at the point a macro is used, for example 13:15
13:15 lucasb joined 13:27 lucasb left
moritz I don't think quasi as-is should be documented 13:28
DrForr_ If it's going to have user-space stuff I'd agree, sorry :) 13:29
13:32 mcmillhj joined, AlexDaniel left 13:33 olinkl left 13:34 olinkl joined 13:36 mcmillhj left 13:40 abraxxa1 joined 13:43 abraxxa left 13:45 mcmillhj joined 13:50 mcmillhj left, notbenh_ left, notbenh_ joined, cdg joined 13:53 vike joined 13:54 iviv left 13:55 iviv joined, cdg left
jkramer Does Int have bounds? 13:56
I can't find methods that return min/max possible values, so I guess not?
13:57 mcmillhj joined
jkramer "arbitrary size" ok 13:57
13:57 konsolebox left
DrForr_ That's what the intX types are for (lower-case, like int16) 13:58
13:58 konsolebox joined
DrForr_ You could use subtypes if the native types don't work... 13:59
If I had the time between now and 1April I'd use it to implement UTF-9. 14:01
jkramer DrForr_: I just needed a way to get a very low negative number from somewhere without using '-' anywhere in my code. :) It's for some coding challenge :)
14:01 mcmillhj left 14:03 giraffe joined
DrForr_ I'd say ~ to negate, but that's now for strings... 14:03
jnthn m: say unival("༳") 14:05
camelia -0.5
14:06 cdg joined 14:07 Zoffix joined
Zoffix m: say ༳ 14:07
camelia -0.5
jnthn oh, hah :)
Didn't realize we did that :)
I did try
Zoffix m: say cotan π 14:08
camelia -8.16561967659768e+15
jnthn m: say +"༳"
camelia Cannot convert string to number: base-10 number must begin with valid digits or '.' in '3⏏5༳' (indicated by ⏏)
in block <unit> at <tmp> line 1
jnthn Which refuses
Zoffix That doesn't work on purpose
jnthn What's decides what does and what doesn't?
Zoffix In Str.Numeric we only do Nd chars. In literal numerics we also allow No 14:09
m: "༳".uniprop.say
camelia No
jnthn Makes sense, thanks 14:10
Zoffix m: say sec 1.5*π 14:13
camelia -5.44374645106512e+15
14:13 mcmillhj joined
Zoffix m: say Num(i².Int/0) 14:15
camelia -Inf
Zoffix m: say +"\x2DInf" 14:17
camelia -Inf
Zoffix oh 14:18
m: say Num(༳/0)
14:18 mcmillhj left
camelia -Inf 14:18
Zoffix :)
m: say ༳×∞ 14:21
camelia -Inf
Zoffix m: say ༳×𖭡 14:23
camelia -500000000000
Zoffix Guess taht's the shortest way to write a large, non-Inf negative without minuses. The char doesn't render for me tho 14:24
u: 𖭡
unicodable6 Zoffix, U+16B61 PAHAWH HMONG NUMBER TRILLIONS [No] (𖭡)
14:27 mcmillhj joined
dogbert17 m: say "abcde" ~~ / ab <![e]> cde | ab.. / 14:29
camelia 「abcd」
Zoffix m: say "abcde" ~~ / ab <![e]> cde | .... / 14:31
camelia 「abcd」
Zoffix m: say "abcde" ~~ / ab <![e]> cde | ... /
camelia 「abcde」
Zoffix weird 14:32
14:32 Zoffix left, mcmillhj left, jstevens_ joined
ZzZombo Wait, does `compose` act on an object or class? Why if the latter, the first parameter is called `$obj`? 14:33
14:34 skaji left, skaji joined 14:36 jstevens left, dakkar joined 14:40 skids joined
jnthn It's called on the meta-object, and passed in the type object as the first argument (as with nearly all meta-methods). 14:41
Passing in the object allows for prototype inheritance to be implemented also
ZzZombo Also, should the name I pass to `add_private_method` start with '!'? 14:42
jnthn No
dogbert17 Zoffix: it's ye olde RT #122951 14:44
synopsebot RT#122951 [open]: rt.perl.org/Ticket/Display.html?id=122951 [BUG] negative lookahead doesn't LTM properly
ZzZombo Alright, so given meta `self` and type `cls`, I can `self.add_private_method(cls,$name,$m)`?
14:44 pierre__ joined, mcmillhj joined
jnthn yeah 14:45
14:49 pierre__ left 14:50 mcmillhj left, aindilis left 14:51 aindilis joined 14:54 zeddy_k joined 14:55 abraxxa1 left, jeromelanteri joined 15:02 mcmillhj joined 15:07 mcmillhj left
ZzZombo Are methods already built by the time attributes are being composed? 15:08
15:13 mcmillhj joined 15:17 natrys left 15:18 mcmillhj left 15:20 wamba joined 15:23 setty1 joined 15:24 khw joined 15:25 mcmillhj joined 15:27 aindilis left, lizmat joined 15:28 aindilis joined 15:30 mcmillhj left
ZzZombo Why does this work? 15:31
m: class C {has Str:D $.a='1'};my $a=C.new;$a.^attributes[0].set_value($a,False);say $a
camelia C.new(a => Bool::False)
15:31 natrys joined 15:32 Zoffix joined
Zoffix m: class { has $.a; has $.b where * > $!a; }.new: :42a, :70b 15:32
camelia Cannot look up attributes in a VMNull type object
in block <unit> at <tmp> line 1
Zoffix This supposed to work, right?
jnthn I don't particularly see how it can 15:34
ZzZombo I don't think so? The implicit code block is not run in context of the object.
jnthn It shouldn't fail like that, though, should give a compile time error about self not being available there 15:35
Zoffix K. I'll do that then
ZzZombo SO how can I write a setter that won't violate any constraints on attribute? 15:37
15:38 Zoffix left, mcmillhj joined 15:42 statisfiable6 joined 15:43 mcmillhj left 15:45 dakkar left 15:55 mcmillhj joined 15:59 mcmillhj left 16:05 troys joined 16:12 mcmillhj joined 16:17 mcmillhj left
[Coke] wonders how there was a .WHAT in the docs that didn't fail xt/examples 16:28
(oh, it had a specific ok-test - that can be removed now)
16:30 gregf_ left 16:31 Zoffix joined 16:33 mcmillhj joined 16:37 Cabanossi left 16:38 mcmillhj left
Zoffix Is there some nice way to set a dynvar but only if another dynvar has a specific value? 16:38
m: grammar { token TOP { :my $*A = 10; :my $*B = 20; <foo> }; token foo { :my $*A = $*B == 15 ?? 30 !! $*A; <bar> }; token bar { \d+ { say $*A } } }.parse: "42"
camelia (Any)
Zoffix Basically for that ^ to print whatever $*A is set to. In `token foo` it should be conditionally set to 15 or left at its old value
*conditionally set to 30 16:39
m: grammar { token TOP { :my $*A = 10; :my $*B = 12; <foo> }; token foo { {if $*B == 15 { my $*A = 30; self.bar } else { self.bar }} }; token bar { \d+ { say $*A } } }.parse: "42" 16:40
camelia 10
16:40 Cabanossi joined
Zoffix This works with setting it, but if I print the $/, the <bar> match doesn't show up in it. How to shove it into it? 16:40
16:40 wamba left
Zoffix m: say grammar { token TOP { :my $*A = 10; :my $*B = 12; <foo> }; token foo { {if $*B == 15 { my $*A = 30; self.bar } else { self.bar }} }; token bar { \d+ { say $*A } } }.parse: "42" 16:41
camelia 10
Nil
Zoffix well, no $/ is made. I guess something is not right with how to "emulate" a `<bar>` as a call on `self`
m: say grammar { token TOP { :my $*A = 10; :my $*B = 10; <foo> }; token foo { <bar($*B == 10 ?? 30 !! $*A)> }; token bar($*A) { \d+ { say $*A } } }.parse: "42" 16:44
camelia 30
「42」
foo => 「42」
bar => 「42」
Zoffix That's one way that works, but I don't want to modify all teh calls to <bar> in the entire grammar 16:45
(also: this is src/Perl6/Grammar.nqp so no HLL features)
skids m: say grammar { token TOP { :my $*A = 10; :my $*B = 20; <foo> }; token foo { :my $*A = ($*B == 15 ?? 40 !! CALLER::<$*A>); <bar> }; token bar { \d+ { say $*A } } }.parse: "42" 16:49
camelia 10
「42」
foo => 「42」
bar => 「42」
Zoffix no CALLER:: in nqp 16:51
nqp: sub foo() { nqp::say(CALLER::<$*FOO>) }; my $*FOO := 42; foo() 16:52
camelia Unable to parse expression in blockoid; couldn't find final '}' at line 2, near "nqp::say(C"
at gen/moar/stage2/NQPHLL.nqp:707 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:panic)
from gen/moar/stage2/NQPHLL.nqp:714 (/home/camelia/rakudo-…
16:52 mcmillhj joined
Zoffix I think this should do the trick tho: 16:52
m: say grammar { token TOP { :my $*A = 10; :my $*B = 10; <foo> }; token foo { <bar=.speshul-bar($*B == 12 ?? 30 !! $*A)> }; token speshul-bar($*A) { <.bar> }; token bar { \d+ { $*A and say $*A } } }.parse: "42"
camelia 10
「42」
foo => 「42」
bar => 「42」
Zoffix actually, there's some op for caller 16:53
nqp: sub foo() { nqp::say(nqp::getlexcaller('$*FOO')) }; my $*FOO := 42; foo()
camelia 42
Zoffix skids++
skids and then some find op to find the variable prolly.
Zoffix nqp: sub foo() { my $*FOO := 0 ?? 10 !! nqp::getlexdyn('$*FOO'); nqp::say($*FOO) }; my $*FOO := 42; foo() 16:55
camelia 42
Zoffix nqp: sub foo() { my $*FOO := 1 ?? 10 !! nqp::getlexdyn('$*FOO'); nqp::say($*FOO) }; my $*FOO := 42; foo()
camelia 10
16:57 mcmillhj left
skids also maybe have to consider CALLERS vs CALLER... don't know which one getlexdyn is. 16:58
16:59 domidumont left
skids or whether it matters for dynamics. 16:59
17:00 scimon left
skids Also note there's no good way to undo it on a backtrack. 17:07
17:07 zeddy_k left
skids Other than the dynamic variables themselves. 17:07
Zoffix Noted. Thanks. 17:09
\o
17:09 Zoffix left 17:10 mcmillhj joined 17:15 mcmillhj left 17:18 saorge joined 17:22 lucasb joined 17:28 mcmillhj joined 17:32 AlexDaniel joined 17:33 mcmillhj left 17:39 domidumont joined 17:41 jstevens joined 17:43 jstevens_ left 17:46 mcmillhj joined, s0me0n3-unkn0wn joined 17:50 s0me0ne-unkn0wn left 17:51 Ven`` joined 17:58 mcmillhj left 18:01 hankache joined 18:02 mcmillhj joined 18:06 hankache left 18:07 mcmillhj left 18:10 leont joined
lucasb is thinking about replying to that naming thread in the mailing list but is afraid of starting WW III. 18:11
[Coke] was going to reply but is also keeping quiet 18:12
El_Che which mailing list?
and for whatever count you're using we are way past the III :)
lucasb El_Che: perl6-language ML
moritz you know, a year or two ago my old email address stopped working, and I never bothered to subscribe to p6l with my new address 18:14
El_Che thx
I never subscribed altogether
moritz and I don't feel like it made me a less happy person
lucasb lol, I clicked send. I hope at least someone agrees with me :-) 18:15
El_Che moritz: you're a wise man :)
let me open the archive :)
18:15 mcmillhj joined
lucasb I guess it'll take some minutes to hit the archives 18:16
El_Che it's there 18:19
and we're doomed
lucasb /o\
18:20 mcmillhj left, Zoffix joined
Zoffix I don't have subscribtion to that list, but someone should mention the article OP dug up is ancient and discussion moved way past the original ideas in that post. 18:21
El_Che Zoffix: just wait 18:22
it'a round track
we'll get there again :)
Zoffix And I'd say the most up-to-date location for it would be the 6.d prep repo: github.com/perl6/6.d-prep/tree/mas...ded-naming
El_Che: it's not round to my mind. It has been a straight line all the time since I started this last summer and is still on a straight course. 18:23
AlexDaniel hehe there's a proposal to rename rakudo xD
18:24 Amit joined
Amit need nativecall jar to support Java9 18:24
18:24 Amit is now known as Guest14511
Zoffix AlexDaniel: I think Damian Conway also had that proposal. 18:24
Guest14511 can u share that
link
El_Che rakudo grew on me 18:25
AlexDaniel www.nntp.perl.org/group/perl.perl6...36765.html
geekosaur the whole thing is growing, for all that it's doing so in a loop. like a weird, persistent weed /o\
Zoffix "Ideally the language itself would be "Rakudo" ("Way of the Camel") and the current implementation would be "Rokudo" ("Way of Six"), but that ship has almost certainly already sailed." 18:26
El_Che It's nice to have a luxury problem, but once there are alternative for rakudo, we'll figure something :)
Guest14511 u guys support for nativecall jar?
Zoffix Guest14511: no idea what you mean. 18:27
El_Che: well, there are already. fan lang.
Which was already even promised to be open sourced in non-optimized version.
El_Che future 18:28
maybe
Zoffix It already exists. All you're saying is: let's pretend this isn't a problem until the currently-existing product becomes open-sourced, as was already promised. 18:29
geekosaur Guest14511, last I heard, rakudo-jvm used the jvm in nonstandard ways that don't play well with other Java libraries. and needs more than a single contributor working on it, if it's to progress beyond that.
18:31 imcsk8 joined
Zoffix *sigh* 18:32
Why are people who don't bother keeping themselves in the loop rush out to tell people that the name isn't up for discussion and isn't changing ever?
AlexDaniel I don't know, this whole debate make me feel like we're all living in our personal worlds 18:33
18:35 mcmillhj joined
Zoffix I can certainly see why the problem was never resolved in the past. One group of people expects instant changes while another group says it ain't ever gonna happen without having any facts to back it up. 18:35
lucasb I didn't want to upset you, Zoffix. Admittedly, I may be uninformed of current decisions
AlexDaniel I'm certain that we will resolve it eventually, one way or another 18:36
Zoffix Yeah, someone forking rakudo and releasing a "new language" not tied to Perl at all.
Just need a good sponsor.... Wonder what Elon Musk is doing these days... 18:37
www.youtube.com/watch?v=aBr2kKAHN6M oh... 18:38
18:39 mcmillhj left 18:43 Ven` joined 18:44 Zoffix left, Ven`` left 18:49 mcmillhj joined 18:51 Ven` left 18:54 mcmillhj left
Geth doc: a9ebcb166d | (Wenzel P. P. Peppmeyer)++ (committed using GitHub Web editor) | doc/Language/typesystem.pod6
fix grammar
18:54
doc: 22dbbacf57 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/typesystem.pod6
Merge pull request #1762 from gfldex/patch-7

add type smiley example
synopsebot Link: doc.perl6.org/language/typesystem
18:55 aindilis left, aindilis joined
Geth doc: 6918c9e1b4 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Language/typesystem.pod6
Link to concepts explaining terms used in text
18:56
El_Che we killed zoffx
18:57 ctilmes joined
ctilmes m: multi foo(Str $x) { say 'A' }; multi foo(Str $x, Bool:D :$y) { say 'B' }; foo('this'); foo('this', :y); 18:57
camelia A
B
ctilmes m: multi foo(Str $x) { say 'A' }; multi foo(Str $x, Bool:D :$y, |opts) { say 'B' }; foo('this'); foo('this', :y);
camelia A
Unexpected named argument 'y' passed
in sub foo at <tmp> line 1
in block <unit> at <tmp> line 1
ctilmes Why is that unexpected, why not use the second multi that expects it? 18:59
stmuk I probably should unsub from perl6-language 19:01
El_Che stmuk: it doesn't look high traffic 19:02
19:02 rindolf left 19:03 mcmillhj joined
stmuk its mostly R* accouncements and some perl6/specs commits 19:03
19:03 aindilis left 19:04 aindilis joined, Zoffix joined
stmuk the specs stuff probably shouldn't even be forwarded anymore since it just encourages people to get misled by them :) 19:04
El_Che rename it to rakudostar-announce 19:05
Zoffix ctilmes: because named args are only used to tie-break dispatch, like in the first case. In the second, there's no tie, so the first candidate gets chosen and then the named don't fit into it
stmuk has anyone got composing unicode stuff to work in colour on a non-Mac platform? I tried copying Menlo fonts over to linux and it doesn't look the same 19:06
I assume Apple have some secret font rendering tech 19:07
19:07 mcmillhj left
ctilmes Zoffix: thanks, I'll try to force a tie ;-) 19:08
El_Che I saw an article about ubuntu getting colour emojis as a font
Zoffix m: multi foo(Str $x, |) { say 'A' }; multi foo(Str $x, Bool:D :$y, |opts) { say 'B' }; foo('this'); foo('this', :y);
camelia A
B
El_Che they are black and white now
Zoffix m: multi foo(Str $x) { say 'A' }; multi foo(Str $x, Bool:D :$y, *%opts) { say 'B' }; foo('this'); foo('this', :y); 19:09
camelia A
B
El_Che stmuk: dunno if it's related: www.omgubuntu.co.uk/2017/11/ubuntu-...olor-emoji 19:10
19:10 cdg left 19:11 rindolf joined
stmuk yes I was just reading that 19:11
19:12 lucasb left, Zoffix left
stmuk hmm maybe my chromebook will work 19:14
google's NotoColorEmoji seems most likely 19:15
ctilmes m: multi foo(Str $x, Bool :$z) { say 'A' }; multi foo(Str $x, Bool:D :$y, *%opts) { say 'B' }; foo('this'); foo('this', :y); 19:21
camelia A
B
ctilmes m: class Foo { multi method foo(Str $x, Bool :$z) { say 'A' }; multi method foo(Str $x, Bool:D :$y, *%opts) { say 'B' }}; Foo.foo('this'); Foo.foo('this', :y);
camelia A
A
ctilmes Why do those dispatch differently?
19:22 mcmillhj joined
ctilmes m: class Foo { multi method foo(Str $x, Bool :$z) { say 'A' }; multi method foo(Str $x, Bool:D :$y!, *%opts) { say 'B' }}; Foo.foo('this'); Foo.foo('this', :y); 19:23
camelia A
A
19:25 darutoko left 19:26 mcmillhj left
stmuk hmm I think I need a terminal program with SVGinOT support 19:30
19:34 Zoffix joined
Zoffix ctilmes: because they have different signatures. All methods have an implied *%_ slurpy 19:34
m: multi foo(Str $x, Bool :$y, *%_) { say 'A' }; multi foo(Str $x, Bool :$z, *%opts) { say 'B' }; foo('this'); foo('this', :z);
camelia A
A
Zoffix And if you add it here, it gets dispatched the same 19:35
m: multi foo(Str $x, Bool :$y, *%_) { say 'A' }; multi foo(Str $x, Bool :$z!, *%opts) { say 'B' }; foo('this'); foo('this', :z);
camelia A
A
Zoffix There's a ticket somewhere to make required nameds be considered better, like so the above would say "A B" 19:36
But I recall jnthn++ mentioning dispatch rules existed for like a decade and every time someone proposes an idea that looks like it makes sense, once implemented, it turns out that it makes someone else go whack 19:37
stmuk or CBDT/CBLC support even better
Zoffix RT#129329 is that ticket
synopsebot RT#129329 [new]: rt.perl.org/Ticket/Display.html?id=129329 Required named params not narrower than optional ones?
Zoffix m: multi foo(Str $x, Bool :$z!, *%opts) { say 'B' }; multi foo(Str $x, Bool :$y, *%_) { say 'A' }; foo('this'); foo('this', :z); 19:38
camelia A
B
19:38 uberbaud joined
Zoffix You can do this tho ^ reorder them and then required ones will fail for cases where they're absent and the next one will be used 19:38
19:38 Cabanossi left 19:39 mcmillhj joined
ctilmes Zoffix: thanks, I'll play with this a bit 19:39
19:40 Cabanossi joined 19:43 bdmatatu joined 19:44 mcmillhj left 19:45 ctilmes left
stmuk yes! install "Noto Color Emoji" under ~/.fonts, use the chrome ssh terminal with that font configured and full colour unicode! 19:49
although it seems to have messed up the screen display a bit as a side effect 19:50
El_Che what's the usecase again?
geekosaur terminals generally don't handle fullwidth characters very well 19:52
at least, not terminals designed for Western European contexts
19:53 domidumont left
mspo Terminal.app is pretty okay 19:54
although spacing side-by-side gets a little weird
stmuk El_Che: I was trying to combine a skin onto a emoji under linux (as I was able to do on macOS) 19:56
19:56 mcmillhj joined
stmuk El_Che: which still doesn't work but I'm at least seeing colour characters on linux now 19:56
19:57 Zoffix left 20:01 mcmillhj left, caasih_ joined, caasih_ is now known as caa51h 20:03 Herby_ joined
Herby_ \o 20:03
20:03 natrys left 20:09 mcmillhj joined 20:15 bdmatatu left 20:17 Herby_ left, bdmatatu joined 20:19 Rawriful joined 20:30 TEttinger joined 20:31 brrt joined 20:35 stmuk_ joined 20:36 mcmillhj left 20:37 stmuk left 20:39 mcmillhj joined 20:44 mcmillhj left 20:45 Zoffix joined
Zoffix c: 2018.01 my class Meow { has $.a; has $.b; method u { return self.WHAT }; }; my Meow $x4; $x4 orelse .=new :42a :70b andthen .=u orelse .=new: :100b andthen .=new orelse .=new: :10a, :20b; 20:45
committable6 Zoffix, ¦2018.01: «Cannot modify an immutable Meow ((Meow))␤ in block <unit> at /tmp/HdIJfiJdIg line 1␤␤ «exit code = 1»»
Zoffix I don't get it. What exactly makes it immutable? In the entire chain, it's assigning to mutable $x innit?
c: 2018.01 my Int $x2; $x2 notandthen .=self :42moews :100foos notandthen .=new: 42;
committable6 Zoffix, ¦2018.01: «»
Zoffix And here's a shorter example that looks like it works fine
m: my class Meow { has $.a; has $.b; method u { self.WHAT }; }; my Meow $x4; $x4 orelse .=new :42a :70b andthen .=new andthen .=new: :100b andthen .=u orelse .=new: :10a, :20b; 20:47
camelia ( no output )
Zoffix :S
20:57 mcmillhj joined 21:02 mcmillhj left 21:11 mcmillhj joined 21:16 mcmillhj left
Zoffix c: 2018.01 my class Meow { has $.a; has $.b; method u { self.WHAT }; }; my Meow $x4; $x4 orelse .=new :42a :70b andthen .=new andthen .=new: :100b andthen .=u orelse .=new: :10a, :20b; 21:22
committable6 Zoffix, ¦2018.01: «Cannot modify an immutable Meow ((Meow))␤ in block <unit> at /tmp/aIn0FABQAS line 1␤␤ «exit code = 1»»
Zoffix c: my Int $x; $x orelse .=self orelse .=new 21:23
committable6 Zoffix, ¦my: «Cannot find this revision (did you mean “all”?)»
Zoffix c: 2018.01 my Int $x; $x orelse .=self orelse .=new
committable6 Zoffix, ¦2018.01: «»
Zoffix c: 2018.01 my Int $x; $x orelse .=self orelse .=new andthen .=new 21:24
committable6 Zoffix, ¦2018.01: «»
Zoffix eh, mystery for another day 21:27
21:27 Zoffix left 21:28 bdmatatu left 21:31 mcmillhj joined 21:35 brrt left 21:36 mcmillhj left 21:44 scott left, scott joined 21:45 mcmillhj joined 21:46 cdg joined 21:48 pmurias joined, pmurias left, pmurias joined 21:50 mcmillhj left, rindolf left 21:56 cdg left, cdg joined 21:57 xenotrope left 22:00 xenotrope joined 22:01 brrt joined 22:02 skids left 22:03 mcmillhj joined
lucs m: say Pod::Block::Code.^mro 22:03
camelia ((Code) (Block) (Any) (Mu))
lucs Why is it not «((Pod::Block::Code) (Pod::Block) (Any) (Mu))␤» ?
moritz m: Pod::Block::Code.^roles 22:05
camelia ( no output )
moritz m: say Pod::Block::Code.^roles
camelia ()
moritz lucs: ah, the default .gist-ification of class names only uses the short name 22:06
lucs Ah, hmm...
moritz m: say Pod::Block::Code.^mro.map({.^name})
camelia (Pod::Block::Code Pod::Block Any Mu)
lucs Thanks :) 22:07
moritz nost very happy with that choice
one more reason to use .^name consistenly while debugging
22:07 mcmillhj left
lucs Yeah, having only the short name appears misleading. 22:08
22:10 pmurias left 22:19 mcmillhj joined
stmuk_ at least there haven't been any "I don't like the logo" threads out there recently 22:22
22:24 mcmillhj left
geekosaur shhhhh 22:25
Geth DBIish: 73e37ebd7b | (Moritz Lenz)++ | 2 files
Remove some Parrot references. Closes #109
22:30
22:38 mcmillhj joined 22:41 peteretep left, peteretep joined 22:42 Kaiepi left, mcmillhj left 22:43 brrt left 22:51 espadrine_ joined 22:54 ambs left, ambs joined 22:55 sergot joined 22:56 mcmillhj joined
stmuk_ 22:59
23:01 mcmillhj left 23:08 mcmillhj joined 23:13 mcmillhj left 23:14 zostay left 23:15 zostay joined 23:19 setty1 left
Geth doc: 85f212a006 | (Will "Coke" Coleda)++ | doc/Type/Junction.pod6
Escape |, it's a pod table special char

Fixes #1764
23:24
synopsebot Link: doc.perl6.org/type/Junction
23:27 mcmillhj joined 23:31 mcmillhj left
Geth doc: 02ed65ecf2 | (Will "Coke" Coleda)++ | doc/Language/typesystem.pod6
whitespace
23:31
synopsebot Link: doc.perl6.org/language/typesystem
Geth doc/coke/build: dd46e5706d | (Will "Coke" Coleda)++ | Makefile
clean precompiled directory
23:32
[Coke] I've done a git clean -xdf in a perl6/doc checkout; pod2onepage is still saying everything is ' (cached)' 23:40
23:48 wamba joined, travis-ci joined
travis-ci Doc build errored. Will "Coke" Coleda 'Escape |, it's a pod table special char 23:49
travis-ci.org/perl6/doc/builds/339696247 github.com/perl6/doc/compare/6918c...f212a0062c
23:49 travis-ci left
buggable [travis build above] ✓ All failures are due to: timeout (1 failure). 23:49
23:49 skids joined 23:52 travis-ci joined
travis-ci Doc build errored. Will "Coke" Coleda 'whitespace' 23:52
travis-ci.org/perl6/doc/builds/339698696 github.com/perl6/doc/compare/85f21...ed65ecf28c
23:52 travis-ci left
buggable [travis build above] ✓ All failures are due to: timeout (1 failure). 23:52
23:56 mcmillhj joined