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