»ö« 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
zeddy_k joined
00:05
Geth left
00:06
Geth joined,
ChanServ sets mode: +v Geth
00:08
Geth left,
Geth joined,
ChanServ sets mode: +v Geth
00:10
Geth left,
Geth joined,
ChanServ sets mode: +v Geth
00:14
empT left
00:18
markong left
00:21
comborico left
00:24
comborico1611 joined
00:26
dct left
00:40
ZofBot left
00:42
ZofBot joined,
ChanServ sets mode: +v ZofBot,
buggable left,
buggable joined,
ChanServ sets mode: +v buggable
00:45
Rawriful left
00:48
johnnymacs left
00:52
skids joined
01:00
lizmat joined
01:01
pmurias left
01:04
Cabanossi left
01:05
Cabanossi joined,
lizmat left
01:11
leont left
01:12
char_var[buffer] joined
01:22
konsolebox left
01:29
konsolebox joined,
Herby_ joined
|
|||
Herby_ | \o | 01:29 | |
o/ | 01:31 | ||
01:32
johnnymacs joined
01:35
AlexDaniel left
01:49
cdg joined
|
|||
char_var[buffer] | o/ Herby_ | 01:52 | |
01:54
cdg left
01:57
lizmat joined
01:58
empT joined
02:03
empT left
|
|||
labster | m: printf |(「printf |(「%s」xx②)」xx②) | 02:04 | |
camelia | printf |(「printf |(「%s」xx②)」xx②) | ||
labster | The fact that the quote language picks up on nested brackets makes for some really nice-looking quines. | ||
Kaiepi | how am i screwing up this http request? hastebin.com/etahukucid.php | 02:06 | |
02:06
comborico1611 left
02:12
zeddy_k left
|
|||
MasterDuke | Kaiepi: what's the error you get? | 02:17 | |
02:17
ZzZombo left,
ZzZombo joined
|
|||
Kaiepi | 400 Bad Request | 02:18 | |
hastebin.com/atexubayip.http | |||
oh i seem to be missing some headers hastebin's using | 02:20 | ||
and Transfer-Encoding should be Accept-Encoding | 02:21 | ||
this works hastebin.com/ozosagayuf.php | 02:22 | ||
MasterDuke | any particular reason you're using "raw" IO::Socket::SSL? | 02:27 | |
02:28
aborazmeh joined,
aborazmeh left,
aborazmeh joined
02:34
jeromelanteri joined
02:46
ilbot3 left
02:56
Kaiepi left
02:57
ilbot3 joined,
ChanServ sets mode: +v ilbot3
02:58
Kaiepi joined
03:15
aborazmeh left
03:25
empT joined
03:29
empT left
03:33
ryn1x joined
|
|||
ryn1x | . | 03:33 | |
03:34
ryn1x left
03:38
ufobat_ joined
03:41
ufobat___ left
|
|||
Xliff | lizmat: Muggles? LOL! | 03:42 | |
03:45
lookatme joined
03:50
aborazmeh joined,
aborazmeh left,
aborazmeh joined
04:03
Guest999 joined,
raiph joined
04:05
cdg joined
04:07
Guest999 left,
raiph left
04:10
cdg left
04:20
Cabanossi left
04:22
Cabanossi joined
04:28
aborazmeh left
04:47
skids left
04:59
xtreak joined
05:00
Herby_ left
|
|||
ZzZombo | Can I like in Perl 5 using glob, add symbols dynamically? | 05:19 | |
05:29
eliasr left
05:30
johnnymacs is now known as dorothyw
05:34
wamba joined
05:50
khw left
|
|||
sacomo | ZzZombo: docs.perl6.org/language/5to6-nutshell#*_Glob | 06:24 | |
Kaiepi | <MasterDuke> any particular reason you're using "raw" IO::Socket::SSL? | 06:34 | |
i'm trying to debug why it doesn't always work on my system | 06:35 | ||
this coredumps: use IO::Socket::SSL; my $socket := IO::Socket::SSL.new(:host('hastebin.com'), :port(443)) | 06:36 | ||
closing it directly after creating the socket stops that from happening, but trying to read any of its properties still coredumps | 06:38 | ||
06:40
giraffe joined
06:41
empT joined
|
|||
Kaiepi | can't read the coredump from perl6-gdb-m: Error while reading from file: Malformed UTF-8 | 06:41 | |
oh i just needed to set the breakpoints earlier | 06:43 | ||
06:44
lowbro joined,
lowbro left,
lowbro joined
07:02
dorothyw is now known as johnnymacs
07:10
imcsk8 left
|
|||
Xliff | ZzZombo: Something like this? perl6advent.wordpress.com/2012/12/...-y-things/ | 07:12 | |
07:15
wamba left
07:17
imcsk8 joined
|
|||
nine is on a train to Bruxelles :) | 07:19 | ||
ufobat_ | oh cool! enjoy fosdem! | 07:25 | |
07:26
darutoko joined
07:28
ZzZombo left,
ZzZombo joined
|
|||
ZzZombo | Not quite. Dynamic variables is a different domain altogether. | 07:30 | |
nine | ufobat_: thanks :) | 07:40 | |
07:42
espadrine_ left
07:43
empT left
07:44
empT joined
07:45
lookatme left
07:46
wamba joined
07:49
domidumont joined
07:50
lookatme joined
07:55
domidumont left,
domidumont joined
08:11
cschwenz joined
08:17
espadrine_ joined
08:18
leont joined
|
|||
stmuk | nine: are you going to FOSDEM? | 08:20 | |
leont is! :-) | 08:21 | ||
stmuk | yay | 08:24 | |
we are probably hitting the Delirium a lot later (hopefully when its quieter) this year | 08:29 | ||
08:29
abraxxa joined
08:32
espadrine_ left
08:34
xtreak left
08:35
leont left
08:38
xtreak joined
|
|||
nine | stmuk: I am | 08:40 | |
08:42
scimon joined
08:52
leont joined
08:54
MasterDuke left
08:58
xtreak left
09:10
yqt joined
09:11
zakharyas joined
09:13
zakharyas left,
zakharyas joined
|
|||
tadzik | \o/ | 09:22 | |
stmuk | excellent hope to see ppl later! getting on the eurostar shortly | ||
scimon | Have a good weekend people. Wish I was going. | 09:24 | |
buggable | New CPAN upload: Algorithm-GooglePolylineEncoding-1.0.0.tar.gz by SCIMON cpan.metacpan.org/authors/id/S/SC/...0.0.tar.gz | 09:32 | |
09:32
xtreak joined
09:34
Kaiepi left
09:35
Kaiepi joined
|
|||
stmuk | scimon: its probably streamed live anyway | 09:51 | |
scimon | Cool | ||
09:54
eliasr joined
|
|||
Altreus | yeah alas I can't go this year :< | 09:58 | |
I'll have the opportunity to try the live streams | 09:59 | ||
10:07
leont left
10:15
yqt left
10:16
Cabanossi left
10:22
xtreak left
10:34
wamba left
10:35
TEttinger left
|
|||
ZzZombo | m: my @a=1,2,3;@a[*]:delete;say @a | 10:38 | |
camelia | [] | ||
ZzZombo | Shouldn't it be an array of 3 "holes"? | ||
moritz | I believe deleting at the ends shortens the array | 10:39 | |
at least at the tail end | |||
m: @a = 1, 2, 3; @a[2]:delete; say @a.elems | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '@a' is not declared at <tmp>:1 ------> 3<BOL>7⏏5@a = 1, 2, 3; @a[2]:delete; say @a.elems |
||
moritz | m: my @a = 1, 2, 3; @a[2]:delete; say @a.elems | ||
camelia | 2 | ||
moritz | m: my @a = 1, 2, 3; @a[0]:delete; say @a.elems | 10:40 | |
camelia | 3 | ||
10:44
zeddy_k joined
10:52
AlexDaniel joined
10:54
empT left
10:55
zakharyas left,
xtreak joined
10:56
zakharyas joined
10:57
zakharyas left
10:58
zakharyas joined
10:59
wamba joined
11:03
empT joined
11:04
zakharyas left,
zakharyas joined
11:07
zakharyas left
11:09
zakharyas joined
11:12
blumsicle joined
11:15
AlexDaniel left
11:23
itaipu joined,
blumsicle left
|
|||
SmokeMachine | Hi! Good morning! | 11:34 | |
Is it possible to make something like it work? | |||
m: role R[::Type] {::?CLASS.^add_parent: Type}; my R[Int] $a = 42 | 11:36 | ||
camelia | Type check failed in assignment to $a; expected R[Int] but got Int (42) in block <unit> at <tmp> line 1 |
||
SmokeMachine | It doesn’t use smartmatch ether, right! | ||
11:37
empT left
11:38
markong joined
|
|||
SmokeMachine | m: role R[::Type] {method ACCEPTS($a) {$a ~~ Type}}; my R[Int] $a = 42 | 11:38 | |
camelia | Type check failed in assignment to $a; expected R[Int] but got Int (42) in block <unit> at <tmp> line 1 |
||
SmokeMachine | Is it possible? | ||
11:40
AlexDaniel joined
|
|||
moritz | m: role R[::Type] { also is Type }; say R[Int].new ~~ Int | 11:40 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Type does not support inheritance, so R cannot inherit from it at <tmp>:1 |
||
11:40
zeddy_k left,
zeddy__k joined
11:42
empT joined
|
|||
ZzZombo | Did anybody comment on this: | 11:43 | |
m: role A[$] { }; class C is A[4] {} | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Cannot resolve caller trait_mod:<is>(C, A, Array); none of these signatures match: (Mu:U $child, Mu:U $parent) (Mu:U $child, :$DEPRECATED!) (Mu:U $type, :$rw!) (Mu:U $type, :$nat… |
||
ZzZombo | <ZzZombo> I just found out you can't call ANY inherited methods from submethods under the pretense that "Virtual method call $.v may not be used on partially constructed object (maybe you mean $!v for direct attribute access here?)", despite the object being constructed a long time ago. | ||
jnthn | SmokeMachine: I think that's confused. `my T $a = S` is OK is S < T, but in your case S is Int and T is R[Int] and Int < R[Int] is not true | 11:45 | |
*is OK if | 11:46 | ||
I think you want a subset type, not a role | |||
ZzZombo: Just use self.v instead | 11:47 | ||
11:48
emeric left
11:50
empT left
|
|||
ZzZombo | Works, but what's the difference? | 11:51 | |
jnthn | $.x is really just $(self.x), but given $.x looks variable-like, we use it as an indicator that - in a non-virtual context - it's not unlikely that $!x woulda been more correct | 11:53 | |
And yes, the error text is a bit specific to some of the cases. | |||
Though it's the most common case | 11:54 | ||
SmokeMachine | jnthn: but how could I make a subset of a dynamic choose type? | ||
And in my case I think subset wouldn’t work... what I’m trying to do is a type that should match the same type of another class’ attribute... | 11:56 | ||
11:56
zakharyas left
|
|||
SmokeMachine | class User { has UInt $.id }; class Post { has Ref[User, “id”] $.author-id } | 11:58 | |
And the Ref type would get the type of User.id and “accept” the same type of it... | 11:59 | ||
jnthn: ^^ | |||
12:00
AlexDaniel left
|
|||
SmokeMachine | Is it possible? | 12:00 | |
jnthn | Damn that's evil, let me think a moment | ||
SmokeMachine | jnthn: why do you think that’s evil? | 12:06 | |
12:07
AlexDaniel joined
|
|||
jnthn | SmokeMachine: I meant it in a good way :-) | 12:10 | |
So the Really Proper way to do it is to write a custom meta-type | |||
But there's actually a far easier way: | 12:11 | ||
class Ref { method ^parameterize(Mu, Mu:U $type, Str $attr) { with $type.^attributes.first(*.name.substr(2) eq $attr) { .type } else { die "No such attribute $attr" } } }; class C { has Int $.i }; my Ref[C, "i"] $x = 42; say $x.VAR.of | |||
evalable6 | (Int) | ||
jnthn | So ^parameterize mixes this parameterize method into the meta-object of Ref, and thus we can decide what parameterization means for this type | ||
12:11
jast left
|
|||
jnthn | And we use it to do the lookup | 12:12 | |
And nothing cares that what ^parameterize returns has any relation to the type it was called on, so it just happily takes the returned type :) | 12:13 | ||
This is also vastly cheaper than a role approach | |||
(If it could be made to work, which I don't think it can anyway) | |||
12:14
jast joined,
Grauwolf left
12:15
Grauwolf joined
12:16
raschipi joined
12:20
AlexDaniel left
12:25
xtreak left
|
|||
SmokeMachine | jnthn: thank you very much! :) | 12:28 | |
12:33
AlexDaniel joined
12:34
rindolf joined
12:38
espadrine_ joined
|
|||
ZzZombo | m: class C { method ^compose{die 'Dieded'}} | 12:41 | |
camelia | ( no output ) | ||
ZzZombo | why does that NOT die? | ||
12:41
AlexDaniel left
12:42
emeric joined
12:44
empT joined,
Skarsnik joined
|
|||
geekosaur | I'm surprised that isn't a syntax error. ^ is not part of the method name, it is part of the .^ operator which invokes a method in the metaclass | 12:45 | |
i.e. it's invoking ClassHOW.compose, not C.(^compose) | 12:46 | ||
more precisely C.^compose means ClassHow.compose(C) | |||
er ClassHOW | |||
12:51
AlexDaniel joined
12:53
empT left
12:55
AlexDaniel left
|
|||
SmokeMachine | Hi again! I has a problem that I don’t know if it’s a bug or it’s expected... | 12:56 | |
m: role Many[Mu:U] {}; class Post {...}; class User {has Many[Post] $.posts}; class Post {} | |||
camelia | ===SORRY!=== Cannot find method 'ACCEPTS' on object of type Post |
||
SmokeMachine | I had to “fix” with: | 12:57 | |
m: role Many[Mu:U] {}; class Post is Mu {...}; class User {has Many[Post] $.posts}; class Post {} | |||
camelia | ( no output ) | ||
SmokeMachine | Adding is Mu on the “stub class”... but shouldn’t it already be Mu? | ||
jkramer | I made a little docs patch but I'm not sure how to continue from here. Should I fork the whole repo and send a pull request? | 13:00 | |
Skarsnik | yes :) | ||
jkramer | Also before doing that can someone please review my change and see if it'd be likely to be merged anyway? Maybe I'm completely wrong. :) It's just something I found that should be mentioned in the docs. paste.pound-python.org/show/NrnyAy...tjB8xi72l/ | 13:01 | |
Currently it looks like the $start argument is mandatory, but maybe I'm just misreading it. | 13:02 | ||
13:03
Zoffix joined
|
|||
Zoffix | jkramer: just commit directly. | 13:03 | |
SmokeMachine | Is that a bug or a “stubbed class” isn’t a child of Mu yet? | 13:04 | |
Zoffix | You're a member of a perl6 org | ||
m: my @a = <a b c>; @a.splice; dd @a | 13:05 | ||
camelia | Array @a = [] | ||
Zoffix | jkramer: ^ doesn't look like it's mandatory | ||
jkramer | Zoffix: Oh right, I think I made a doc change a few years ago and was added to all the repos :) | ||
ZzZombo | jnthn <ZzZombo> why does that NOT die? | ||
Zoffix | there's like a billion splice candidates | ||
jkramer | Zoffix: Yeah I know, I found out by accident, but the docs suggest it's mandatory. Or at least don't mention that it can be omitted and what the behavior is in that case | ||
Zoffix | e: [].^lookup("splice").candidates».signature».say | 13:06 | |
evalable6 | (Array:D \SELF: *%_) (Array:D $: Whatever, *%_) (Array:D $: Callable:D $offset, *%_) (Arra… |
||
Zoffix, Full output: gist.github.com/394375bf42d6b97161...b574883e96 | |||
Zoffix | jkramer: ah yeah :) Your patch could also use a fix to the shown signatures. Need to add a `?` to $start | ||
jkramer | Zoffix: Or maybe $start = 0, as defined in native_array.pm: multi method splice(strarray:D: $offset=0, $size=Whatever, *@values) | 13:08 | |
Zoffix | ok | ||
raschipi | buggable: /win 23 | 13:10 | |
buggable | raschipi, Thank you for entering Accidental /win Lottery! The next draw will happen in 3 weeks, 5 days, 10 hours, 49 minutes, and 9 seconds | ||
tadzik | . o O ( who bugtracks the bugtrackers? ) | 13:11 | |
Zoffix | m: class Foo { method ^name(|) { "meows" } }.^name.say | 13:12 | |
camelia | meows | ||
Zoffix | geekosaur: looking at the actions, those go through `add_meta_method` routine | 13:13 | |
m: geekosaur: looking at the actions, those go through `add_meta_method` routine | 13:14 | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Bogus term at <tmp>:1 ------> 3ooking at the actions, those go through 7⏏5`add_meta_method` routine expecting any of: argument list infix infix stopper … |
||
Zoffix | oops. copy-paste fail | ||
m: class C { method ^compose(|) {die "Dieded"}}.^compose | |||
camelia | Dieded in method compose at <tmp> line 1 in block <unit> at <tmp> line 1 |
||
Geth | doc: bba24ab323 | (Jonas Kramer)++ | doc/Type/Array.pod6 $start in splice defaults to 0 and can be omitted |
13:15 | |
synopsebot | Link: doc.perl6.org/type/Array | ||
squashable6 | 🍕🍕🍕 First contribution by jkramer++! ♥ | ||
jkramer | \o/ | ||
Zoffix | Oh, squashathon is on | 13:16 | |
Skarsnik | m: my $a; our $b is export := $a; | ||
camelia | ( no output ) | ||
Zoffix | AlexDaniel`: I thought we were doing testsneeded this month? | ||
squashable6: status | 13:17 | ||
squashable6 | Zoffix, 🍕🍕 SQUASHathon is in progress! The end of the event in 1 day and ≈22 hours. See github.com/rakudo/rakudo/wiki/Mont...Squash-Day | ||
Zoffix, Log and stats: gist.github.com/8bb23306efb354ce8d...1dede51c7c | |||
Skarsnik | m: my $a; our $b is export := say; | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Unsupported use of bare "say"; in Perl 6 please use .say if you meant to call it as a method on $_, or use an explicit invocant or argument, or use &say to refer to the function as a noun at <tmp>:1… |
||
tyil | whats the easiest/recommended way to run a for-loop over multiple threads? just add in start, like `for @args -> $arg { start { do-thing() } }`? | 13:18 | |
Zoffix | tyil: hyper for @args -> $arg { .... } | 13:19 | |
tyil | oh neat | ||
jnthn | ZzZombo: Because the meta-methods aren't mixed in to the meta-object until compose time | ||
tyil | the order isn't important, so i could add in race too, right? | ||
jkramer | Is there a difference between `hyper for @args` and `for @args.hyper`? | ||
Zoffix | tyil: oh yeah | ||
jnthn | ZzZombo: If you want that much control, you'll need to subclass ClassHOW and so forth, as modules like Grammar:Tracer do | ||
Zoffix | jkramer: IIRC the latter would be serial | 13:20 | |
In a for loop. That's why we added statement prefixes. | |||
moritz | why did I just read "in for a loop"? :-) | ||
jkramer | Also @args>>... implies hyper as well, right? | 13:21 | |
tyil | Zoffix: it works as expected, thanks :> | ||
nine | So far my travel to FOSDEM has been surprisingly unproductive. Unless one counts the insight that there's just no more low hanging fruit for speeding up csv-ip5xs of course. | ||
Zoffix | jkramer: it's a hint to the compiler that it may autothread, but isn't a guarantee and currently that's not yet implemented. | ||
jkramer | Zoffix: Ah ok, thanks | ||
Zoffix | So FOSDEM is happening right now? Anyone got good information to put into the weekly? | 13:22 | |
tyil | fosdem setup is rn | ||
tomorrow its the actual event | |||
(and sunday as well) | |||
Zoffix | m: for <a b c d>.race(:batch) {sleep 1}; say now - INIT now | ||
camelia | 4.017822 | ||
Zoffix | m: race for <a b c d>.race(:batch) {sleep 1}; say now - INIT now | ||
camelia | 1.0750424 | ||
Zoffix | tyil: ^ you could also add a method call if you wanna tweak batch size or degree | ||
nine | The train I just boarded in Frankfurt clearly brings lots of people to FOSDEM :) | ||
tyil | fosdem.org/2018/schedule/track/per...languages/ | ||
those are all on sunday | |||
Zoffix: github.com/scriptkitties/perl6-IRC...le.pm6#L22 is how I have it now | 13:23 | ||
nine: I'm on my 2nd day in brussels now, trains were pretty empty when I was traveling | 13:24 | ||
Zoffix | tyil: default batch is 64 tho. So unless you're processing over 64 URLs, it'll all be in one batch | ||
tyil | couple of other friends will be arriving today, will be picking them up in an hour or 2 | ||
hmm | |||
Zoffix | race for @urls.race: :batch -> $url { | ||
tyil | I dont think you can even fit 64 urls in one irc message | ||
13:25
AlexDaniel joined
|
|||
tyil | race twice? | 13:25 | |
Zoffix | Yeah | ||
RaceSeq in a regular for look is serial | |||
s/look/loop/; | |||
El_Che | Zoffix: perl diner is on saturday evening, devroom sunday all day, booth on both days | 13:26 | |
tyil | Zoffix: nice, thanks | ||
Skarsnik | m:use NativeCall; Module A { our $a is export := cglobal("libc.so.6", "errno", int32) }; require A :ALL; say $a; | 13:27 | |
evalable6 | (exit code 1) 04===SORRY!04=== Error while compiling /tmp/pVRn8DKfPG Variable '$a' is not declared at /tmp/pVRn8DKfPG:1 ------> 03 "errno", int32) }; require A :ALL; say 08⏏04$a; |
||
Zoffix | tyil: or just `@urls.race(:batch).map: {$e.reply: "$^url: " ~ self!resolve: $^url }` | ||
tyil | once I get colors working as well I'll push the first release of IRC::Client::Plugin::UrlTitle to cpan | 13:28 | |
Zoffix | Oh, I guess you don't want a .reply since that'd include the user too | ||
tyil | yeah | ||
ZzZombo | jnthn, what exactly does `EXPORTHOW` do and how can I make use of it in replacing my class' metaclass? | ||
Zoffix | But still, if you use the .map, you won't need to write `race` twice | ||
tyil | that does look a bit cleaner | 13:29 | |
Skarsnik | does binding to a sub finally work with export? | ||
Zoffix | Skarsnik: only one way to find out :) | ||
ZzZombo | Took a look in Grammar::Tracer, BTW> | ||
Skarsnik | Well I can't make this example work x) | ||
tyil | does the $^url come magically as the name of the list without the s? | 13:30 | |
jnthn | ZzZombo: The compiler keeps a hash mapping package declarator (class, grammar, etc.) into meta-objects that say what that type means. Entries are made into it for a given lexical scope. | 13:31 | |
ZzZombo: EXPORTHOW is the mechanism by which a module says what entries it wants to make | |||
Skarsnik | I wonder if my special branch of GPTrixie still make rakudo crash x) | ||
jnthn | Sub-packages of it say what you want to happen | ||
Zoffix | m: use NativeCall; module A { our $a is export := cglobal("libc.so.6", "errno", int32) }; import A; say $a; | ||
camelia | (Any) | ||
jnthn | So for example EXPORTHOW::DECLARE lets you add a new package declarator, which is how OO::Monitors works | ||
Zoffix | Skarsnik: you wrote `require` instead of `import`. Also, capitalized `Module` | 13:32 | |
m: use NativeCall; module A { our $a is export = cglobal("libc.so.6", "errno", int32) }; import A; say $a; | |||
camelia | 0 | ||
Skarsnik | dang Module and module not the same thing? | ||
Zoffix | Skarsnik: yeah, looks like binding ain't working | ||
m: BEGIN my $a := 42; say $a | |||
camelia | (Mu) | ||
Zoffix | Prolly for same reason as here ^ | ||
Skarsnik: never seen Module before, so I'd wager that ain't a thing | 13:33 | ||
Skarsnik | 0 is a good return for errno | ||
what c function I could make it fail xD | 13:34 | ||
nativecallable6, int open(const char *pathname, int flags); | |||
nativecallable6 | Skarsnik, sub open(Str $pathname # const char* ,int32 $flags # int ) is native(LIB) returns int32 is export { * } | ||
Zoffix | m: use NativeCall; sub fopen(Str, Str) is native {*}; fopen("/dasdasdsadas", "w"); module A { our $a is export = cglobal("libc.so.6", "errno", int32) }; import A; say $a; | ||
camelia | 13 | ||
Skarsnik | oh yeah fopen | 13:35 | |
sub fopen(Str, Str) is native {*}; fopen("/dasdasdsadas", "w"); module A { our $a is export = cglobal("libc.so.6", "errno", int32) }; import A; say $a; fopen("/proc/cpuinfo", "r"); say $a | 13:36 | ||
m: sub fopen(Str, Str) is native {*}; fopen("/dasdasdsadas", "w"); module A { our $a is export = cglobal("libc.so.6", "errno", int32) }; import A; say $a; fopen("/proc/cpuinfo", "r"); say $a | |||
camelia | 5===SORRY!5=== Error while compiling <tmp> Can't use unknown trait 'is native' in a sub declaration. at <tmp>:1 expecting any of: rw raw hidden-from-backtrace hidden-from-USAGE pure default DEPRECATED inlinable nodal… |
||
Skarsnik | m: use NativeCall; sub fopen(Str, Str) is native {*}; fopen("/dasdasdsadas", "w"); module A { our $a is export = cglobal("libc.so.6", "errno", int32) }; import A; say $a; fopen("/proc/cpuinfo", "r"); say $a | ||
camelia | 13 13 |
||
Skarsnik | hm | ||
probably not the same error | 13:37 | ||
m: use NativeCall; sub fopen(Str, Str) is native {*}; fopen("/dasdasdsadas", "w"); module A { our $a is export = cglobal("libc.so.6", "errno", int32) }; import A; say $a; fopen("/proc/cpuinfo", "r"); say $a; say cglobal("libc.so.6", "errno", int32); | |||
camelia | 13 13 13 |
||
Zoffix | $a would not be updated tho, right? 'cause you're not binding | ||
Skarsnik | m: use NativeCall; sub fopen(Str, Str) is native {*}; fopen("/dasdasdsadas", "w"); module A { our $a is export = cglobal("libc.so.6", "errno", int32) }; import A; say $a; fopen("/proc/cpuinfo", "w"); say $a; say cglobal("libc.so.6", "errno", int32); | ||
camelia | 13 13 13 |
||
Zoffix | Oh cglobal returns that same value. nm | 13:38 | |
Skarsnik | oh right | ||
forget the := | |||
what can I open on camelia? | 13:39 | ||
timotimo | yo Skarsnik, i saw you participate in the SoE race :3 | ||
Zoffix | m: with "/tmp/meow".IO { .spurt: "meows"; .slurp.say } | 13:40 | |
camelia | meows | ||
Skarsnik | x) | ||
Zoffix | Skarsnik: ^ that | ||
Skarsnik | you created the file? | ||
nine | LOL and right after claiming that there is no more low hanging fruit I found a trick to shave off 1 of 4 seconds of csv-ip5xs' runtime | ||
Zoffix | nine: :o | ||
nine++ | |||
Skarsnik | timotimo, Yes ^^ I need to practice more, since I will run the game at GSM | ||
Zoffix | Skarsnik: yeah | ||
m: "/tmp/meow".IO.slurp.say | 13:41 | ||
camelia | meows | ||
Skarsnik | m: use NativeCall; sub fopen(Str, Str) is native {*}; fopen("/dasdasdsadas", "w"); module A { our $a is export = cglobal("libc.so.6", "errno", int32) }; import A; say $a; fopen("/tmp/meow", "r"); say $a; say cglobal("libc.so.6", "errno", int32); | ||
camelia | 13 13 13 |
||
nine | It's not particularily elegant though. It's just a new multi candidate for a single positional argument to augment the existing 0 arguments and arbitrary arguments cases | ||
timotimo | what's GSM? i only know GSH | 13:42 | |
Skarsnik | German Speedrun Marathon | ||
timotimo | ah, fair enough | ||
Skarsnik | marth 28 - 2 april | 13:43 | |
nine | It does show however that runtime generated code might be the key to gain further generic speedups. Those Captures just are not fast enough. But generating new multi candidates for the actuall calling conditions at runtime is rather simple | ||
timotimo | there go my dreams to have rakudo completely unload the compiler in most cases … | 13:44 | |
Zoffix | making candidates with captures cacheable looks like would produce a ton of win. I see them as reason for slowness all over the shop | ||
13:45
zakharyas joined
|
|||
nine | Zoffix: that sounds like another one of those "suck 4 months out of my life" traps I might fall into | 13:46 | |
Zoffix | nine: I'm tempted to give it a go too. Though I'm hindered with not having a clue how dispatch and caching works :) | 13:47 | |
Zoffix wouldn't mind giving up 4 month of life for that tho | |||
Skarsnik | m: use NativeCall; sub strerror(int32) returns Str is native {*}; sub fopen(Str, Str) is native {*}; fopen("/dasdasdsadas", "w"); module A { our $a is export = cglobal("libc.so.6", "errno", int32) }; import A; say $a, strerror($a); fopen("/tmp/meow", "r"); say $a; say cglobal("libc.so.6", "errno", int32); | ||
camelia | 13Permission denied 13 13 |
||
Zoffix | m: my $c := class Foo { multi method z(|c) { rand } }.new; for ^1000_000 { $c.z: $ }; say now - INIT now | ||
camelia | 0.6246569 | ||
Zoffix | m: my $c := class Foo { multi method z($) { rand } }.new; for ^1000_000 { $c.z: $ }; say now - INIT now | ||
camelia | 0.32425470 | ||
Skarsnik | need something else that fopen x) | ||
jnthn | nine, Zoffix: I think the answer will be something like exploding flattening things sooner, in-place in the args buffer, for the cases that fit, and putting an interned callsite in place of the flattening one | 13:49 | |
Zoffix | What's "interned"? | ||
jnthn | Look up string interning, then imagine the same for an object representing the shape of a callsite | 13:50 | |
Zoffix looks up | |||
jnthn | We use those as keys for the multi-dispatch cache *and* for spesh | ||
13:51
araraloren joined
|
|||
Zoffix | Ah, k. I get it now. Thanks. | 13:52 | |
jnthn | Anyway, a fix in the right place will help both multi-dispatch *and* spesh | 13:53 | |
Zoffix | That's awesome. | ||
jnthn | Yeah, I figured that out a while back, just had no time to act on it. Feel free to. ;-) | ||
Zoffix | :) | ||
13:54
rindolf left,
rindolf joined
13:56
cdg joined
|
|||
nine | Ah, there's that: /* Can't intern anything with flattening. */ if (cs->has_flattening) return; | 14:01 | |
14:01
comborico1611 joined
|
|||
comborico1611 | Yup. | 14:02 | |
14:02
abraxxa left,
zakharyas left
14:03
cdg_ joined,
zakharyas joined,
rindolf left
14:04
rindolf joined
14:05
rindolf left
14:07
cdg left
14:10
rindolf joined
14:14
espadrine_ left,
Zoffix left
14:16
zakharyas left
14:17
zakharyas joined
|
|||
zeddy__k | should I start learning perl6? is it stable enough to develop in? I'm considering perl and perl6 and I like perl6 syntax more, but it's still under development so I'm in a dilemma | 14:19 | |
Skarsnik | what you want to do with it? | ||
14:19
AlexDaniel left
|
|||
El_Che | zeddy__k: every language that's not dead is under developement | 14:20 | |
zeddy__k: perl 6 has production releases since end 2015 | |||
depending on what you do, one language may be more applicable than the other | 14:21 | ||
zeddy__k | simple programs for console that read and write to files and mariadb, maybe some numerical work | ||
also scripts that automate some of my daily work | |||
El_Che | zeddy__k: I don't see a problem using perl 6 for that (it had a database module and good math support) | ||
Skarsnik | not sure there is a module for mariadb? | 14:22 | |
El_Che | perl5 has more modules as it's been out for a lot longer | ||
moritz | s/hd/has/ | ||
El_Che | Skarsnik: that's mysql | ||
moritz | Skarsnik: the mariadb wire protocol is compatible with mysql | ||
Skarsnik | at worse you can use a perl 5 module for that | ||
14:22
rindolf left
|
|||
moritz | (from which it forked) | 14:22 | |
Skarsnik | Hoo ok | ||
no mariadbclient lib so? | |||
El_Che | dbish | ||
github.com/perl6/DBIish#mysql | 14:23 | ||
zeddy__k | awesome, thanks | ||
El_Che | zeddy__k: stick around while having fun programming | 14:24 | |
Skarsnik | I mean there is no mariadb c lib to talk to a mariadb like libmysqlclient | ||
zeddy__k | is the O'Reilley book inclusive enough to get to an advanced level? | ||
or can I learn more from the docs on the website | |||
El_Che | zeddy__k: I picked up from the docs on the website (I have a Perl 5 background) and asking questions here when the doc wasn't clear | 14:25 | |
zeddy__k: I recommend moritz beginners book, though, for a shortcut | |||
www.apress.com/br/book/9781484228982 | |||
zeddy__k | El_Che: thanks | ||
El_Che | it's also on safari in case you have that | 14:26 | |
moritz | fwiw this is book for people who already know a programming language or two, just not Perl 6 | ||
El_Che | zeddy__k: actually, I found this a nice intro: www.jnthn.net/papers/2015-spw-perl6-course.pdf | 14:27 | |
moritz | if you want are new to programming in general, "Think Perl 6" is the better intro | ||
also, perl6book.com/ has an overview of the Perl 6 books out there | |||
El_Che | yes, what moritz says. It depends on your background of course | 14:28 | |
14:28
rindolf joined
|
|||
zeddy__k | moritz: I'm using Java, C and C++ for my classes | 14:28 | |
14:29
empT joined
|
|||
zeddy__k | I'll check out the materials first | 14:29 | |
thanks for providing them | |||
14:31
mcmillhj joined
|
|||
moritz | ok, then the o'reilly book will bore you | 14:32 | |
14:33
empT left
14:35
wamba left
14:39
teatime joined
14:46
Kaiepi left,
Kaiepi joined,
Kyo91 joined
|
|||
nine | Oh boy! There's yet another speedup to be made. And this time it _is_ elegant. | 14:46 | |
El_Che | nine to the rescue! | 14:47 | |
nine | As I already create multi candidates for method pass through at runtime, I can look up the P5 method once by name and re-use the resulting GV on future alls instead of looking up by string each time | 14:48 | |
Doesn't save crazy much, but speed up is speed up :) | |||
El_Che | I'll take it! | ||
Kaiepi | nice | ||
14:51
Kyo91 left
14:52
raiph joined,
Kyo91 joined
|
|||
raiph | m: BEGIN my ($a) = (42); say $a # might be of interest to zoffix, Skarsnik | 14:54 | |
camelia | 42 | ||
14:58
zakharyas left
14:59
zakharyas joined,
cdg joined
15:01
cdg left
15:02
cdg joined,
cdg left
|
|||
nine | I knew Deutsche Bahn runs late quite often. Yet I'm somewhat surprised that they just wished their guests a Merry Christmas | 15:02 | |
15:02
cdg joined,
cdg_ left
15:03
cdg_ joined
|
|||
huf | probably because of the timezone | 15:03 | |
El_Che | nine: they are trolling you about perl 6 | 15:04 | |
timotimo | they call it "targeted advertising" | 15:06 | |
15:06
Zoffix joined
|
|||
Zoffix | raiph: that still just does assignment, doesn't it? | 15:06 | |
m: BEGIN my $b = 42; BEGIN my $a = $b; say $a; $b = 100; say $a | |||
camelia | 42 42 |
||
15:07
cdg left
|
|||
Zoffix | I was looking at that bug yesterday and it's basically copying the symbols into a fake block and compiles there, so any bindings get lots in that fake block and that's why if you bind $a would end up a Mu or whatever | 15:07 | |
s/lots/lost/; | |||
m: BEGIN my $b = 42; BEGIN my ($a) = ($b); say $a; $b = 100; say $a | |||
camelia | 42 42 |
||
15:07
evalable6 left
15:08
evalable6 joined,
ChanServ sets mode: +v evalable6
|
|||
Zoffix | zeddy__k: BTW, there's a bunch of resources you might find helpful listed on our Resources page: perl6.org/resources/ | 15:09 | |
zeddy__k | Zoffix: thanks, I'll check those out too | 15:10 | |
jnthn | Zoffix: Yeah. Lexpads are immutable, and when we compile a BEGIN we obviously haven't finished the outer block yet, so we have to fake something up. But what? Containers are cloned from a "prototype", and the fake lexpad contains the static container. Thus what's actually happening is that on entry to the scope post-compilation, the Scalar is cloned complete with the value set in the prototype. | 15:11 | |
15:11
rindolf left
|
|||
jnthn | Of course, binding doesn't have that level of indirection so there's no way it can work. | 15:12 | |
We should perhaps detect it at compile time and say it can't work. Or...we could try diffing the scope after each BEGIN block and trying to somehow propagate bindings. | |||
Zoffix | Don't we have ::= compile-time binding op specced? Is there also no way it can work? | 15:13 | |
jnthn | I don't really get why you'd write BEGIN $foo := blah | ||
Just write my constant $blah = ... | |||
Since constants are evaluated at BEGIN time | |||
And bind | |||
15:14
wamba joined
|
|||
jnthn bbi10 | 15:14 | ||
Zoffix | Well, at least one reason is you can rebind to non-constant | ||
m: my $blah := rand; say $blah := 42 | 15:15 | ||
camelia | 42 | ||
Zoffix | m: my constant $blah = rand; say $blah := 42 | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Cannot use bind operator with this left-hand side at <tmp>:1 ------> 3y constant $blah = rand; say $blah := 427⏏5<EOL> |
||
Zoffix | .oO( if it works with constants why can't it work with non-constants :S ) |
15:17 | |
the begin-time-binding I mean | |||
nine | csv-ip5xs.pl now processes 1 million rows in 26.4 seconds on my laptop and is only 13.7x slower than Perl 5. | ||
Zoffix | This was the original ticket RT#123776 though it doesn't show any must-have usecases | 15:18 | |
synopsebot | RT#123776 [open]: rt.perl.org/Ticket/Display.html?id=123776 Binding a variable at BEGIN time doesn't stick aruond for runtime | ||
15:18
hoelzro left
15:20
skids joined
|
|||
Zoffix | Oh "infix:<::=>, bind and make readonly" unsure why I thought it was compile-time bind op | 15:21 | |
15:24
hoelzro joined
15:25
raschipi_ joined,
raschipi left
|
|||
Zoffix | Ah, 'cause we eval and assign the value; whereas BEGIN my $... is like assigning in the middle of it | 15:28 | |
15:28
Zoffix left
15:31
pmurias joined
15:36
rindolf joined
15:39
rindolf left
|
|||
nine | Another one! | 15:44 | |
At ~4s I said there's no more low hanging fruit. Now I'm at 2.874s :D | 15:45 | ||
15:47
wamba left
|
|||
mspo | nine: keep drinking that coffee | 15:51 | |
15:53
eliasr left,
natrys joined
|
|||
Kaiepi | m: Any.skip(*-1) | 15:54 | |
camelia | ( no output ) | ||
Kaiepi | m: say Any.skip(*-1) | ||
camelia | ((Any)) | ||
Kaiepi | weird | ||
i get Cannot resolve caller tail(Any: Int); none of these signatures match: (Any:D $: *%_) (Any:D $: $n, *%_) | |||
15:55
Zoffix joined
|
|||
Zoffix | Kaiepi: your rakudo is just too old and still has a bug | 15:56 | |
Kaiepi | oh | ||
Zoffix | c: cca7b90 $*PERL.compiler.version.say | 15:57 | |
committable6 | Zoffix, ¦cca7b90: «Cannot find this revision (did you mean “0704970”?)» | ||
Zoffix | no, I didn't :/ | 15:58 | |
c: cca7b9040320f2304 $*PERL.compiler.version.say | |||
committable6 | Zoffix, ¦cca7b90: «Cannot find this revision (did you mean “eaf4132”?)» | ||
Zoffix | c: 8efba3a897e $*PERL.compiler.version.say | 15:59 | |
committable6 | Zoffix, ¦8efba3a: «v2017.12.308.g.8.efba.3.a.89» | ||
Zoffix | c: 2018.01~1 $*PERL.compiler.version.say | ||
committable6 | Zoffix, ¦2018.01~1: «v2017.12.291.gc.82.a.698.bc» | ||
16:00
empT joined
|
|||
Zoffix | That kinda sucks. It was committed into post-release branch and the version makes it seem as if the fix would be in 2018.01 release, but it ain't | 16:00 | |
16:02
cdg joined
|
|||
Kaiepi | which branch is that? i'm on v2017.12.282.g.66.f.1690.f.5 atm pulling from master | 16:04 | |
16:05
empT left
|
|||
Zoffix | Kaiepi: post-release. It was already merged to master right after 2018.01 release | 16:05 | |
Fix went in on Jan 23rd: github.com/rakudo/rakudo/commit/8e...8738bf39c2 | 16:06 | ||
16:06
cdg_ left
|
|||
Zoffix | Or committed rather. I've no idea when it landed on master | 16:06 | |
16:06
cdg left
|
|||
jkramer | I should check my github notifications more often. :# Good news everyone, all pull requests for Text::Wrap from Aug 2017 have been merged. ;) | 16:08 | |
16:09
rindolf joined
|
|||
Kaiepi | oh, i was on the wrong branch on rakudo | 16:10 | |
16:10
cdg joined
16:11
cdg_ joined
16:15
cdg left
16:19
lowbro left
|
|||
buggable | New CPAN upload: Inline-Perl5-0.31.tar.gz by NINE cpan.metacpan.org/authors/id/N/NI/....31.tar.gz | 16:22 | |
16:23
araraloren left
|
|||
nine | Ok, closing in on Bruxelles. Time to stop having fun and....start having other fun :D | 16:25 | |
Zoffix | :) | 16:26 | |
16:26
traxex2 left
16:27
traxex2 joined
16:28
raiph left
16:30
Herby_ joined
16:34
Sgeo_ joined
|
|||
mspo | FOSDEM? | 16:35 | |
Zoffix | man, swapping $iteration-buffer.push(...) to nqp::push($iteration-buffer, ...) makes Str..words 2.29x faster | 16:36 | |
16:36
Sgeo left
|
|||
Zoffix | .oO( would .push-all always push to an IterationBuffer tho.. ) |
16:37 | |
jnthn | Not always | ||
Arrays have some ReificiationTarget or some such that creates the Scalar containers iirc | 16:38 | ||
teatime | is there any quick/easy way to ask how much (even if approx.) memory is allocated for / used by, some given variable/value/object / abstract data structure made up of various nested default types ? | 16:41 | |
actually… hold that thought, I'll brb (sorry.) | 16:42 | ||
16:43
teatime left
|
|||
Zoffix | m: use nqp; my $t := nqp::getattr((my @a = 1..*), List, q|$!todo|); nqp::push($t.^attributes.tail.get_value($t), 42) | 16:45 | |
camelia | This type (Array::ArrayReificationTarget) does not support positional operations in block <unit> at <tmp> line 1 |
||
Zoffix | too bad then | ||
jnthn | Yup, that's one we'll have to fix by making spesh do a better job | 16:46 | |
16:46
AlexDaniel joined
16:49
zakharyas left
16:51
zakharyas joined
|
|||
lizmat | Zoffix: re "man, swapping $iteration-buffer.push(...) to nqp::push($iteration-buffer, ...) makes Str..words 2.29x faster" | 16:51 | |
if that is true, than we need to have a better look at why the IterationBuffer.push is not inlined | |||
because that was the "promise" :-) | 16:52 | ||
16:52
khw joined,
cschwenz left
|
|||
AlexDaniel | Zoffix: omg… | 16:53 | |
my mistake | |||
didn't set up the bot properly | |||
16:54
itaipu left
|
|||
AlexDaniel | to my defense, Saturday is nowhere close here :) | 16:54 | |
16:54
scimon left
|
|||
Zoffix | lizmat: FWIW was measuring using this (.words2 is our stock impl and .words3 is the nqp::push version): gist.github.com/zoffixznet/68247e8...7d07f1beb2 .words2 takes 6.3s on this box and .words3 2.29s | 16:55 | |
Lead to this bench from looking at stackoverflow.com/questions/256385...ow-2014-09 :) | 16:56 | ||
squashable6 | Webhook for perl6/roast is now active! Approachable is better than simple. | ||
Webhook for rakudo/rakudo is now active! Keep it logically awesome. | 16:57 | ||
AlexDaniel | maybe rakudo webhook is an overkill but we'll see | ||
squashable6: status | |||
squashable6 | AlexDaniel, 🍕🍕 SQUASHathon is in progress! The end of the event in 1 day and ≈19 hours. See github.com/rakudo/rakudo/wiki/Mont...Squash-Day | ||
AlexDaniel, Log and stats: gist.github.com/67bb35cf34c12e5abf...bdbbbe4762 | |||
AlexDaniel | buggable: tag testneeded | ||
buggable | AlexDaniel, There are 31 tickets tagged with TESTNEEDED; See fail.rakudo.party/t/TESTNEEDED for details | ||
AlexDaniel | hey squashable6, what is this 1 commit you're talking about? | 16:58 | |
lizmat | Zoffix: I don't see a difference between push-alls in words2 / words 3? | 16:59 | |
Zoffix | AlexDaniel: someone committed to docs 1 commit | ||
16:59
zakharyas left
|
|||
AlexDaniel | hmhm I see… | 17:00 | |
17:00
mcmillhj left,
domidumont left,
squashable6 left,
squashable6 joined
|
|||
AlexDaniel | squashable6: stats | 17:00 | |
squashable6 | AlexDaniel, I cannot recognize this command. See wiki for some examples: github.com/perl6/whateverable/wiki/Squashable | ||
AlexDaniel | squashable6: status | ||
squashable6 | AlexDaniel, 🍕🍕 SQUASHathon is in progress! The end of the event in 1 day and ≈18 hours. See github.com/rakudo/rakudo/wiki/Mont...Squash-Day | ||
AlexDaniel | o much better! | ||
Zoffix | lizmat: oops. Updated. The difference is just $target.push is turned into nqp::push($t here gist.github.com/zoffixznet/68247e8...-p6-p6-L97 with $t being a deconted $target (deconted before the while loop) | 17:01 | |
17:03
raiph joined
|
|||
squashable6 | 🍕 zoffixznet++ opened issue “IterationBuffer.push possibly not inlined”: github.com/rakudo/rakudo/issues/1469 | 17:03 | |
🍕🍕🍕 First contribution by zoffixznet++! ♥ | |||
🍕 zoffixznet++ labeled issue “IterationBuffer.push possibly not inlined”: github.com/rakudo/rakudo/issues/1469 | 17:04 | ||
Zoffix | ^ filed an Issue to take a closer look, so we don't forget | ||
jnthn | fwiw, --profile usually can tell you about inlining | 17:05 | |
17:06
wamba joined
|
|||
Zoffix | "calls inlined 10103 + 9897 (49.48%)" | 17:06 | |
for src/core/IterationBuffer.pm:20 | |||
17:06
empT joined
|
|||
lizmat | so it looks it does that rather late ... | 17:08 | |
Zoffix | 1 sec, I think that was profile for original bench from stackoverflow | ||
with my gisted branch .push takes 21.17% of total time and says " | 17:10 | ||
calls inlined 0 + 4500000 (100.00%) " | |||
17:10
empT left
17:11
ctilmes joined
|
|||
raiph | m: BEGIN constant $a = $ = 42; say $a; $a = 99; say $a # zoffix, sorry about last line. This perhaps? | 17:11 | |
camelia | 42 99 |
||
ctilmes | m: my uint8 $x = -5; say $x | 17:12 | |
camelia | 251 | ||
ctilmes | m: my uint16 $x = -5; say $x | ||
camelia | 65531 | ||
lizmat | afk& | ||
ctilmes | m: my uint32 $x = -5; say $x | ||
camelia | 4294967291 | ||
ctilmes | m: my uint64 $x = -5; say $x | ||
camelia | -5 | ||
Zoffix | IIRC, all of those are meant to throw. Assignment throws; overflow works only if you, say $x -= 5 or whatever | 17:13 | |
ctilmes | I'm actually nativecast'ing to a uint64, and was surprised to get a negative number out of it | ||
Zoffix | :) Yeah, they're busted up a bit at the moment | 17:14 | |
17:14
mcmillhj joined
|
|||
Zoffix | I think another bug is some of them (maybe attributes, not variables) are actually plain `int` that overflow prematurely | 17:14 | |
raiph: IIRC Skarsnik was trying to compile-time bind to a variable. | 17:15 | ||
Or rather export a binded variable | |||
17:17
Kaiepi left
|
|||
Skarsnik | not really compile time | 17:17 | |
17:18
Zoffix left
|
|||
Skarsnik | the goal is to like if you do a binding module, you want the extern to be tie to the cglobal call | 17:18 | |
17:19
mcmillhj left
|
|||
raiph | m: module foo { constant $a is export = $ = 42 }; import foo; say $a # skarsnik, does this seem at all helpful? | 17:21 | |
camelia | 42 | ||
raiph | m: module foo { constant $a is export = $ = 42 but False }; import foo; say $a.Bool | 17:22 | |
camelia | False | ||
Skarsnik | no because it's not a constant :) | ||
17:24
Kaiepi joined
|
|||
raiph | $a is "constant" in the sense it contains a fixed value for its entire life | 17:25 | |
er, s/contains/is bound to/ | 17:26 | ||
(of course, that fixed value is a container aka indirection) | 17:27 | ||
^^ skarsnik | |||
17:29
setty1 joined
17:35
mcmillhj joined
17:37
teatime joined
|
|||
squashable6 | 🍕🍕🍕 First contribution by AlexDaniel++! ♥ | 17:37 | |
teatime | sorry; I was gone a lot longer than expected. | 17:39 | |
17:40
mcmillhj left
17:49
pmurias left,
mcmillhj joined
17:50
empT joined
17:54
empT left
17:56
cdg joined
17:59
cdg_ left
18:00
ctilmes left,
cdg left
18:04
cdg joined
|
|||
tadzik | oh ffs | 18:13 | |
I acidentally booking'd a hotel 50km from Brussels. For Fosdem | |||
El_Che | tadzik: shit. Where? Antwerp? | 18:16 | |
tadzik | El_Che(IRC): Charleroi | 18:17 | |
whatever the hell that is | |||
I've no idea why that happened | |||
though given how obnoxious booking can be, they could as well have shoved it my face with a small "50km from your destination" label | 18:18 | ||
El_Che | oh fuck | ||
tadzik | I'm looking for a place now, and everything says "oh, sorry,it's sold out!" | ||
then why are you showing me this | |||
El_Che | charleroi has a ryain-air type airport | ||
therefor it markets itself al Brussels-South | 18:19 | ||
(while Brussels-South the big train hub for thalys and eurostar) | |||
perigrin | that crap has spread to here, Orlando-Melbourne International Airport is like 60+ miles from Orlando | ||
and we don't have the public transport infrastructure y'all have | 18:20 | ||
El_Che | of course no one is belgium falls for that (charleroi is a provincial town with a less than ideal reputation) | ||
tadzik | now I was in the middle of a booking and I opened the old one in another tab, now all my details are gone | ||
screw this website :( | |||
El_Che | tadzik: I often book directly throgh accorhotels | 18:21 | |
ibis has no personality, but you know what you get | |||
tadzik | well, I was hoping for something cheap-ish and nearby | 18:22 | |
but now all hope is gone, eh | |||
raschipi_ | "personality", why would I ever want that? | 18:23 | |
El_Che | raschipi_: when work pays, personality is fine | 18:24 | |
when I pay, i go for "it's clean? it has a bed?" combination | |||
raschipi_ | sounds like they are going to give me an attitude. | 18:25 | |
What if the personality ends up being gloomy? | 18:26 | ||
18:31
pharv joined
|
|||
El_Che | tadzik: just looked at the cheapest ibis, but it's still 1 hour metro | 18:33 | |
nine | tadzik: maybe you can share my room | 18:34 | |
tadzik: I think the rate was per room, so they shouldnt mind | 18:35 | ||
18:35
evalable6 left
|
|||
El_Che | as a backup: www.accorhotels.com/nl/hotel-8602-...ccorhotels | 18:35 | |
18:35
evalable6 joined
|
|||
El_Che | 77€ for tomorrow | 18:35 | |
18:38
wamba left
18:39
darutoko left
18:46
epony joined
18:50
natrys left,
empT joined
|
|||
tadzik | Nine: ah, I reserved one before I got your message :( | 18:51 | |
And it's not cancellable | |||
18:52
raschipi_ left
|
|||
El_Che | heads up for Perl diner: register at the perl booth before the places are gone | 18:52 | |
18:55
empT left
|
|||
nine | tadzik: ah well ok, at least you have a room...in the same country | 18:57 | |
tadzik | :) | 19:01 | |
Thanks for the offer though, it lifted the spirits this wacky evening | 19:02 | ||
AlexDaniel | squashable6: status | 19:04 | |
squashable6 | AlexDaniel, 🍕🍕 SQUASHathon is in progress! The end of the event in 1 day and ≈16 hours. See github.com/rakudo/rakudo/wiki/Mont...Squash-Day | ||
AlexDaniel, Log and stats: gist.github.com/bd92b5f44afd9240fb...782e867583 | |||
19:04
pmurias joined
|
|||
AlexDaniel | buggable: tag testneeded | 19:04 | |
buggable | AlexDaniel, There are 30 tickets tagged with TESTNEEDED; See fail.rakudo.party/t/TESTNEEDED for details | ||
19:07
st_elmo joined
19:11
Cabanossi joined
|
|||
Geth | rakudo: 95f23a5634 | (Zoffix Znet)++ | src/Perl6/Actions.nqp Fix crashes with compile time evalution of `where` thunks Phixes github.com/rakudo/rakudo/issues/1465 When we compile_in_context, we rake the .ann('outer')s to find all the good bits. However, the `where` thunks don't get that annotation and so the raking stops prematurely. This causes the thunk that tries to access some core symbols (like Junction ops) executed during being time explode. Fix by adding annotating the thunk with the current pad. |
19:11 | |
squashable6 | 🍕 zoffixznet++ closed issue “`where` clause in attrib…”: github.com/rakudo/rakudo/issues/1465 | ||
Geth | roast: 79dff96fc9 | (Zoffix Znet)++ | S02-types/whatever.t Cover crashes in compile-time `where` thunk evaluation Closes github.com/rakudo/rakudo/issues/1465 Rakudo fix: github.com/rakudo/rakudo/commit/95f23a5634 |
||
19:17
preaction left
|
|||
Geth | DBIish: 36ca5eadac | (Moritz Lenz)++ | README.pod Mention MariaDB in README. Closes #25 |
19:22 | |
19:24
empT joined
19:25
preaction joined
19:28
Kaiepi left
19:29
empT left
|
|||
Geth | roast: 195227f779 | (Aleks-Daniel Jakimenko-Aleksejev)++ | S32-io/pipe.t Test that large blobs can be piped Closes RT#129882. I am unable to reproduce the hang which is mentioned in the ticket, but this test *is* failing on all builds before 2017.06 with “got: '219264'”. |
19:30 | |
synopsebot | RT#129882 [open]: rt.perl.org/Ticket/Display.html?id=129882 [TESTNEEDED] [CONC] [IO] Proc with `.in.close` and `.out.slurp-rest` in different threads, hangs | ||
squashable6 | 🍕 AlexDaniel++ wrote a comment on commit 195227f779f7: github.com/perl6/roast/commit/1952...t-27300136 | 19:31 | |
Geth | roast: 72f2c3984c | (Zoffix Znet)++ | MISC/bug-coverage-stress.t Cover serialization crashes with traits + roles RT#127959: rt.perl.org/Ticket/Display.html?id=127959 |
19:34 | |
synopsebot | RT#127959 [open]: rt.perl.org/Ticket/Display.html?id=127959 [BUG] Missing serialize REPR function for REPR SCRef | When using a class using a trait that modify metamodel | ||
19:34
empT joined
19:35
cdg left
19:38
empT left,
empT joined
19:45
imcsk8 left
19:48
imcsk8 joined
|
|||
squashable6 | 🍕 zoffixznet++ closed issue “Weird issue with `zef install`”: github.com/rakudo/rakudo/issues/1413 | 19:50 | |
Geth | roast: d266a4401a | (Zoffix Znet)++ | 2 files Cover spesh regression with giant enums in packages Closes github.com/rakudo/rakudo/issues/1413 MoarVM fix: github.com/MoarVM/MoarVM/commit/4733449165 MoarVM followup issue: github.com/MoarVM/MoarVM/issues/782 |
||
roast: 469ebbc75b | (Zoffix Znet)++ | S02-types/array-shapes.t Test Str can be used as indices of shaped arrays Tests github.com/rakudo/rakudo/issues/1297 |
19:57 | ||
squashable6 | 🍕 zoffixznet++ wrote a comment on “Indices for shaped array…”: github.com/rakudo/rakudo/issues/12...-362690268 | ||
🍕 zoffixznet++ unlabeled issue “Indices for shaped array…”: github.com/rakudo/rakudo/issues/1297 | |||
Geth | roast: 85f55e2b23 | (Zoffix Znet)++ | S02-types/array-shapes.t Add test description |
19:58 | |
20:03
zakharyas joined
20:04
st_elmo left
|
|||
squashable6 | 🍕 Digicrat++ wrote a comment on “Memory leak with NativeCall”: github.com/rakudo/rakudo/issues/14...-362692017 | 20:04 | |
🍕🍕🍕 First contribution by Digicrat++! ♥ | |||
20:07
zakharyas left
20:08
zakharyas joined
20:12
dct joined
20:14
zakharyas left
|
|||
Geth | roast/coercers2.0: b77770dc4f | (Zoffix Znet)++ | S12-coercion/coercion-types.t Fudge anything not already passing |
20:16 | |
20:22
mtj_ left
|
|||
Geth | roast: ccc4edb8ed | (Zoffix Znet)++ | S12-coercion/coercion-types.t Start coercer spec sketch |
20:23 | |
roast: b77770dc4f | (Zoffix Znet)++ | S12-coercion/coercion-types.t Fudge anything not already passing |
|||
roast: ee09f13914 | (Zoffix Znet)++ | S12-coercion/coercion-types.t Add sketch of more comprehensive spec of DefiniteHOW coercers This will likely need to be pruned before 6.d is finalized. In particular, the :U ↔ :D coercers look to be just mindless over-engineering with no proper usecase to cater to. |
|||
roast: e2dc8f0c7f | (Zoffix Znet)++ | S12-coercion/coercion-types.t Add Issue number annotation to test Closes github.com/rakudo/rakudo/issues/1361 |
|||
squashable6 | 🍕 zoffixznet++ closed issue “Coercers with DefiniteHO…”: github.com/rakudo/rakudo/issues/1361 | ||
20:25
pharv left
20:26
mtj_ joined
20:32
espadrine_ joined,
a3r0 left
20:37
jaush joined,
dct left
|
|||
jaush | hello! question re. rakudo star 2018.01 - what's the ETA for the windows binary? | 20:38 | |
moritz | I don't know. I think stmuk had problems with his windows machine or something? | 20:40 | |
20:41
traxex2 left
20:45
mcmillhj left
20:46
cdg joined,
traxex2 joined
20:50
cdg left
20:53
zakharyas joined
|
|||
Herby_ | Do I need to include "use v6;" at the top of my scripts still? | 20:58 | |
20:59
mcmillhj joined
21:00
jaush left
|
|||
moritz | no, but it gives much better error messages if you accidentally call it with "perl" instead of "perl6" | 21:02 | |
21:03
dct joined
21:04
mcmillhj left
|
|||
Herby_ | ok thanks | 21:06 | |
21:18
mcmillhj joined
21:23
mcmillhj left,
cdg joined
21:24
cdg left
21:25
cdg joined,
Kaiepi joined
21:27
TEttinger joined
21:33
mcmillhj joined
21:37
phogg joined
21:38
mcmillhj left
|
|||
AlexDaniel | samcv: you here? | 21:43 | |
samcv | yes | ||
AlexDaniel | I'm trying to figure out something | ||
m: say uniname 0xAB | |||
camelia | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK | ||
AlexDaniel | m: say uniname 0xAB.chr | ||
camelia | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK | ||
AlexDaniel | ah… nevermind | ||
I'm dumb | |||
m: say “\x06\xAB”.encode | 21:45 | ||
camelia | utf8:0x<06 c2 ab> | ||
AlexDaniel | what is this c2? | 21:46 | |
21:46
mcmillhj joined
|
|||
samcv | it's utf8 encoded | 21:47 | |
moritz | uhm, the \xAB is encoded as two bytes | ||
in UTF-8 | |||
samcv | yep | ||
AlexDaniel | ahh | ||
moritz | and the first of those is c2 | ||
AlexDaniel | ok | ||
21:50
committable6 left,
committable6 joined
21:51
mcmillhj left
21:55
wamba joined
21:59
mcmillhj joined,
colomon joined
22:00
skids left
22:04
mcmillhj left
|
|||
colomon | moritz: ping? | 22:05 | |
moritz | colomon: pong | 22:07 | |
22:08
rindolf left,
R0b0t1 left
|
|||
colomon | Perl 6 Fundamentals, page 47 top: does the line my $waitfor = $promise have some subtle point that I’m missing? it looks like $waitfor is assigned again in the next line | 22:09 | |
moritz | colomon: but only conditionally, iirc | ||
the second assignment, that is | 22:10 | ||
colomon | aha! | ||
moritz++ | |||
22:10
R0b0t1 joined
|
|||
moritz | could have been my $waitfor = $promise ?? Promise.anyof(Promise.in($timeout), $promise !! $promise; | 22:11 | |
colomon | moritz: was just thinking that would be clearer | ||
but also perhaps more confusing to newbies | |||
moritz | but that's even harder to fit into one line, and i'd have to explain the ternary op | ||
and when you only have 67 characters per line in code examples *and* use four spaced for indentation, space usage becomes a real issue in code examples | 22:12 | ||
I probably should have wasted a few lines and done an if / else with two separate assignments to $waitfor | 22:13 | ||
meh, you always know better in hindsight :-) | |||
22:14
mcmillhj joined
22:15
cdg left
|
|||
moritz wishes he had the authors available for questions when reading his physics textbooks, back in the days :-) | 22:16 | ||
22:19
mcmillhj left
22:20
pmurias left
|
|||
Geth | roast: a7590d6543 | (Aleks-Daniel Jakimenko-Aleksejev)++ | S32-str/utf8-c8.t Test malformed utf8 filenames roundtripping properly Fixes RT#127671. Please feel free to object these tests (using similar concerns raised in the ticket). However, I still can't see how something in a subdirectory of /tmp can create a problem for any user. To me it sounds like nothing should ever touch or see these files anyway. |
22:23 | |
synopsebot | RT#127671 [open]: rt.perl.org/Ticket/Display.html?id=127671 [EXOTICTEST] 「dir」 dies if weird unicode sequences are encountered (dir;) | ||
AlexDaniel | oh god… this just failed | 22:24 | |
AlexDaniel is working on it | |||
what the | 22:25 | ||
22:25
zakharyas left
22:27
GregDonald left
22:28
mcmillhj joined
|
|||
colomon might owe his $job to pestering one of the authors of The NURBS Book with questions and bugfixes back in the 90s | 22:29 | ||
geekosaur | AlexDaniel, any program relying on filenames anywhere outside its direct control being *any* proper encoding is broke n | 22:32 | |
you get no promises whatsoever | |||
Geth | roast: 800bc0a1d9 | (Aleks-Daniel Jakimenko-Aleksejev)++ | S32-str/utf8-c8.t Whoops. New bug? Previous commit¹ had a thinko and was attempting to treat a file created in the previous test as a directory. This is now fixed, but it seems like there's another “Malformed UTF-8” issue. ¹ – github.com/perl6/roast/commit/a759...15e38ee713 |
||
AlexDaniel | geekosaur: sorry, what does it mean? | 22:33 | |
geekosaur | I guess that might actually be aimed at Zoffix's comment | 22:34 | |
22:34
mcmillhj left
|
|||
AlexDaniel | ah, now I see what you mean | 22:34 | |
geekosaur | on unix, you do not get to assume that filenames are utf8. or big5. or anything other than byte sequences. | ||
AlexDaniel | I think the concern was that if the test suite creates these files, then the user may later have problems getting rid of them. Yes, all the other tools that can't handle that are broken, but we shouldn't be causing this kind of trouble | 22:35 | |
so I am creating a file in a subdirectory of /tmp, this way it shouldn't be a problem for anything | |||
unless some crazy software monitors all changes in /tmp and then explodes when files like this are created | 22:36 | ||
geekosaur: speaking of broken software, this test revealed another bug in perl6 I think… | 22:37 | ||
geekosaur | but if it does that, *especially* in /tmp, all bets are off anyway. | ||
pprograms can and will deliberately create weird filenames, because some programmers still think obscurity is a form of security | 22:38 | ||
AlexDaniel | I agree, but at the same time agree that maybe we shouldn't be testing the rest of the OS with our test suite :D | ||
anyway, the test is now in | 22:39 | ||
22:43
Zoffix joined
|
|||
Zoffix | AlexDaniel: FWIW, Test::Utils provide routines for temp files/dirs | 22:44 | |
I wish roast didn't use a billion different ways of creating temp files (half of which spam the current directory with leftovers if aborted) | |||
AlexDaniel | Zoffix: ahhh… I just copied whatever was used on top of that code | ||
m: my $file = ("/doesnotexist/".encode ~ Buf.new(0x06, 0xAB)).decode('utf8-c8'); spurt $file, 'hello'; | 22:45 | ||
camelia | spurt is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting line 1 in sub spurt at src/RESTRICTED.setting line 17 in block <unit> at <tmp> line 1 |
||
AlexDaniel | e: my $file = ("/doesnotexist/".encode ~ Buf.new(0x06, 0xAB)).decode('utf8-c8'); spurt $file, 'hello'; | ||
evalable6 | (exit code 1) Malformed UTF-8 at line 1 col 36 in block <unit> at /tmp/5YtFoKr1zd line 1 |
||
Zoffix | These ones: github.com/perl6/roast/blob/master...#L513-L532 | ||
AlexDaniel | e: my $file = ("/tmp/".encode ~ Buf.new(0x06, 0xAB)).decode('utf8-c8'); spurt $file, 'hello'; | ||
evalable6 | |||
22:46
mcmillhj joined
|
|||
Zoffix | e: my $file = ("/doesnotexis").decode('utf8-c8'); spurt $file, 'hello'; | 22:47 | |
evalable6 | (exit code 1) No such method 'decode' for invocant of type 'Str'. Did you mean 'encode'? in block <unit> at /tmp/Kk82l80NWE line 1 |
||
Zoffix | e: my $file = ("/doesnotexis".encode).decode('utf8-c8'); spurt $file, 'hello'; | ||
evalable6 | (exit code 1) Can not decode a utf-8 buffer as if it were utf8-c8 in block <unit> at /tmp/gMsGtk_AwT line 1 |
||
Zoffix | bah. Well, I was wondering if "malformed UTF" was actually commit from it trying to report the filename in the error message | ||
AlexDaniel | it probably is | ||
Zoffix | s/commit/comming/; | ||
AlexDaniel | 6c: my $file = ("/doesnotexist/".encode ~ Buf.new(0x06, 0xAB)).decode('utf8-c8'); spurt $file, 'hello'; | 22:48 | |
committable6 | AlexDaniel, gist.github.com/7a545c8289f0002a44...e824dd73d3 | ||
AlexDaniel | or maybe not :) | ||
Zoffix | :) | 22:49 | |
AlexDaniel | m: my $file = ("/doesnotexist/".encode ~ Buf.new(0x50, 0x50)).decode('utf8-c8'); spurt $file, 'hello'; | 22:50 | |
camelia | spurt is disallowed in restricted setting in sub restricted at src/RESTRICTED.setting line 1 in sub spurt at src/RESTRICTED.setting line 17 in block <unit> at <tmp> line 1 |
||
AlexDaniel | e: my $file = ("/doesnotexist/".encode ~ Buf.new(0x50, 0x50)).decode('utf8-c8'); spurt $file, 'hello'; | ||
evalable6 | (exit code 1) Failed to open file /doesnotexist/PP: No such file or directory in block <unit> at /tmp/Iy7xCEEB5O line 1 |
||
22:51
mcmillhj left
|
|||
squashable6 | 🍕 AlexDaniel++ opened issue “Malformed UTF-8 error wh…”: github.com/rakudo/rakudo/issues/1470 | 22:52 | |
🍕 AlexDaniel++ labeled issue “Malformed UTF-8 error wh…”: github.com/rakudo/rakudo/issues/1470 | |||
🍕 AlexDaniel++ wrote a comment on commit 800bc0a1d9a7: github.com/perl6/roast/commit/800b...t-27304766 | 22:53 | ||
22:54
espadrine_ left
|
|||
stmuk | pl6anet.org/drop/ has macOS and Windows 64 bit star binaries | 22:59 | |
delirium doesn't have stmuk :( | 23:00 | ||
23:01
mcmillhj joined
|
|||
AlexDaniel | Zoffix: hmmm, I think directories created with make-temp-dir should be wiped in rm -rf style, or am I wrong? | 23:02 | |
23:02
Skarsnik left
|
|||
AlexDaniel | otherwise anything I create in that directory will prevent it from deleting it | 23:02 | |
Geth | roast: 104173b332 | (Aleks-Daniel Jakimenko-Aleksejev)++ | S32-str/utf8-c8.t Use make-temp-dir and make-temp-file irclog.perlgeek.de/perl6/2018-02-02#i_15771428 |
23:04 | |
23:05
epony left,
epony joined
|
|||
Zoffix | AlexDaniel: what does it use now? I see an `rmdir ` call | 23:05 | |
AlexDaniel | yeah, rmdir only removes empty directories | 23:06 | |
Zoffix | oh it's a core routine | ||
m: say &rmdir | |||
camelia | sub rmdir (| is raw) { #`(Sub|38293720) ... } | ||
23:06
mcmillhj left
|
|||
Zoffix | AlexDaniel: *shrug*. I guess | 23:07 | |
Zoffix is always weary of rm -fr code due to bugs | |||
squashable6 | 🍕 AlexDaniel++ opened issue “make-temp-dir should beh…”: github.com/perl6/roast/issues/384 | 23:08 | |
AlexDaniel | Zoffix: yeah… but here's a ticket anyway ↑ | ||
Zoffix | mhm | ||
AlexDaniel | maybe we can even run the test suite and see if there are any directories left behind for that reason | ||
Zoffix | I have a few | 23:09 | |
$ ls /tmp/perl6_roast* | wc -l | |||
3276 | |||
squashable6 | 🍕 AlexDaniel++ edited issue “make-temp-dir should beh…”: github.com/perl6/roast/issues/384 | ||
colomon | moritz: do you know if there’s a standard idiom for sending the stdout or stderr of a Proc::Async to files? I think I can see how to do it, but it seems awfully longwinded for something I’d think would be common. | ||
Zoffix | whenever $proc.stdout { "file".IO.spurt: :append, $_ } Maybe? | 23:10 | |
AlexDaniel | that's not nice | 23:11 | |
Zoffix | :) | ||
Why not? | |||
AlexDaniel | because you're slowing it down by processing the stdout in perl6 :) | ||
there's .bind-stdout that you can call, and you give it IO::Handle | |||
Zoffix | Ahhh | ||
AlexDaniel | github.com/rakudo/rakudo/blob/593f...#L228-L253 | ||
Zoffix | Don't see it in the docs | 23:12 | |
AlexDaniel | yea because github.com/perl6/doc/issues/1470 | ||
Zoffix | ZofBot: lazy developers! :P | ||
ZofBot | Zoffix, See wiki for some examples: github | ||
colomon | AlexDaniel++ AlexDaniel++ | 23:13 | |
exactly what I was looking for | |||
AlexDaniel | ahhahaha, I wish ZofBot included the link in full github.com/perl6/whateverable/wiki | ||
Zoffix | It was being lazy :) | ||
AlexDaniel | (for some examples of lazy developers) | ||
Zoffix | "Guessable"? | 23:14 | |
AlexDaniel | I think there's was an idea of giving it some random info, like a sha hash of a commit | 23:15 | |
and it would turn it into a link | |||
(kind of guessing which repository it is from, although it is not really guessing) | |||
but with 212 issues open it is unlikely that I'll create a new bot in the near future :) | 23:16 | ||
already spent 3 days trying to unbitrot existing ones | |||
23:18
mcmillhj joined
23:19
setty1 left
23:20
epony left
|
|||
AlexDaniel | u: light bulb | 23:21 | |
unicodable6 | AlexDaniel, U+1F4A1 ELECTRIC LIGHT BULB [So] (💡) | ||
23:22
Zoffix left
23:23
mcmillhj left
|
|||
lucs | Going through the syntax docs, can someone explain what "Identifiers can contain colon pairs" is about? | 23:24 | |
23:24
epony joined
23:27
GregDonald joined
|
|||
AlexDaniel | … TIL | 23:29 | |
m: my $foo:bar<2> = 5; say $foo:bar(1+1) | |||
camelia | 5 | ||
lucs | For example, what does 「my $foo.bar = 1」 get me that 「my $foo-bar = 1」 doesn't? | ||
AlexDaniel | lucs: well, one example is right there ↑ | 23:31 | |
but I don't know what would be the reason to use that | |||
23:31
Aceeri_ joined
|
|||
lucs | Hmm... Yes. Weird. | 23:32 | |
23:35
mcmillhj joined
23:36
skids joined
23:40
zeddy__k left,
mcmillhj left,
zeddy__k joined
|
|||
AlexDaniel | lucs: github.com/perl6/doc/issues/1753 | 23:45 | |
m: my $foo:bar<1> = 42; my $foo:bar<2> = 666; say $foo:bar(^2 .pick) | 23:46 | ||
camelia | 42 | ||
AlexDaniel | m: my $foo:bar<1> = 42; my $foo:bar<2> = 666; say $foo:bar(^2 .pick) | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Variable '$foo:bar<0>' is not declared. Did you mean any of these? $foo:bar<2> $foo:bar<1> at <tmp>:1 ------> 3:bar<1> = 42; my $foo:bar<2> = 666; say 7⏏5$foo:bar(^2 .pick) |
||
AlexDaniel | m: my $foo:bar<1> = 42; my $foo:bar<2> = 666; say $foo:bar(<1 2>.pick) | 23:47 | |
camelia | 42 | ||
AlexDaniel | m: my $foo:bar<1> = 42; my $foo:bar<2> = 666; say $foo:bar(<1 2>.pick) | ||
camelia | 42 | ||
AlexDaniel | m: my $foo:bar<1> = 42; my $foo:bar<2> = 666; say $foo:bar(<1 2>.pick) | ||
camelia | 42 | ||
AlexDaniel | m: my $foo:bar<1> = 42; my $foo:bar<2> = 666; say $foo:bar(<1 2>.pick) | ||
camelia | 666 | ||
lucs | AlexDaniel: Thanks | 23:48 | |
23:49
mcmillhj joined,
aindilis` left,
aindilis` joined
23:54
mcmillhj left
23:57
MasterDuke joined,
aindilis` left
|