»ö« 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.
skink If I've got a CStruct, and the data for it read as an Array[uint8], is there an easy way to insert the values, i.e. not having to parse them out one-by-one? 00:24
shin_ Hi all.... what should i do when i get errors of type "expected Positional but got Array" ? 02:12
shin_ m: sub test-this-list(Int @foo) { ... }; my @bar; push @bar, 1; test-this-list(@bar) 02:55
camelia rakudo-moar 4fc17d: OUTPUT«Type check failed in binding to @foo; expected Positional[Int] but got Array ($[1])␤ in sub test-this-list at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
flexibeast docs.perl6.org/language/traps#Type...parameters 03:08
seatek moments of pure love 05:04
seatek m: class BASE { has $.x is rw; has $.y is rw; submethod BUILD(:$!y) { $!y = 9 }}; class BASE::Hi is BASE { has $.z }; my $c = BASE::Hi.new(x => 42, z => 24); say $c.x; 06:34
camelia rakudo-moar 4fc17d: OUTPUT«(Any)␤»
seatek So, if you use a submethod BUILD in a parent class... do you have to manually assign all attributes passed to new() in all child BUILD submethods? 06:35
seatek m: class B { has $.x is rw; has $.y is rw; submethod BUILD(:$!y){} }; class CB is B { has $.z is rw }; my $m = CB.new(x => 3); say $m.x; 06:47
camelia rakudo-moar 4fc17d: OUTPUT«(Any)␤»
seatek m: class B { has $.x is rw; has $.y is rw; submethod BUILD(:$!x, :$!y){} }; class CB is B { has $.z is rw }; my $m = CB.new(x => 3); say $m.x;
camelia rakudo-moar 4fc17d: OUTPUT«3␤»
seatek m: class B { has $.x is rw; has $.y is rw; submethod BUILD(:$!y){} }; class CB is B { has $.z is rw }; my $m = CB.new(z => 3); say $m.z; 06:48
camelia rakudo-moar 4fc17d: OUTPUT«3␤»
seatek m: class B { has $.x is rw; has $.y is rw; submethod BUILD(:$!y){} }; class CB is B { has $.z is rw; submethod BUILD(:$!x){}}; my $m = CB.new(x => 3); say $m.x;
camelia rakudo-moar 4fc17d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Attribute $!x not declared in class CB␤at <tmp>:1␤------> 3 has $.z is rw; submethod BUILD(:$!x){}}7⏏5; my $m = CB.new(x => 3); say $m.x;␤ expecting any of:␤ horizontal whitespace␤ …»
seatek so attributes also have to be redeclared in the child classes in order to be able to assign to them if you're using BUILD? 06:51
m: class B { has $.x is rw; has $.y is rw; submethod BUILD(:$!y){} }; class CB is B { has $.z is rw; submethod BUILD(:$.x){}}; my $m = CB.new(x => 3); say $m.x;
camelia rakudo-moar 4fc17d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Virtual method call $.x may not be used on partially constructed object (maybe you mean $!x for direct attribute access here?)␤at <tmp>:1␤------> 3 B { has $.z is rw; submethod BUILD(:$.x7⏏5){}}; my…»
seatek m: class B { has $.x is rw; has $.y is rw; submethod BUILD(:$!y){} }; class CB is B { has $.x is rw; has $.z is rw; submethod BUILD(:$!x){}}; my $m = CB.new(x => 3); say $m.x;
camelia rakudo-moar 4fc17d: OUTPUT«3␤»
seatek bah
it's an emotional rollercoaster 06:53
ufobat my inline::perl5 doesn't build: nopaste.me/view/0deeb4b7 anyone has any advice for me? 08:33
moritz hilight nine for ^^ 08:35
timotimo ufobat: *maximum shrug*, can you try --notest or --notests or what zef calls it? :) 08:50
seatek subset PosInt of Int where * > 0; class B { has PosInt $.x is rw; has $.y is rw; submethod BUILD(:$!y){} }; class CB is B { has $.z is rw; has PosInt $!x; submethod BUILD(:$!x){} }; my $m = CB.new; $m.y = 5; $m.z = 8; 08:53
m: subset PosInt of Int where * > 0; class B { has PosInt $.x is rw; has $.y is rw; submethod BUILD(:$!y){} }; class CB is B { has $.z is rw; has PosInt $!x; submethod BUILD(:$!x){} }; my $m = CB.new; $m.y = 5; $m.z = 8;
camelia rakudo-moar 4fc17d: OUTPUT«Type check failed in assignment to $!x; expected PosInt but got Any (Any)␤ in submethod BUILD at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
seatek m: subset PosInt of Int where * > 0; class B { has PosInt $.x is rw; has $.y is rw; submethod BUILD(:$!y){} }; class CB is B { has $.z is rw; submethod BUILD(:$!x){} }; my $m = CB.new; $m.y = 5; $m.z = 8; 08:54
camelia rakudo-moar 4fc17d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Attribute $!x not declared in class CB␤at <tmp>:1␤------> 3has $.z is rw; submethod BUILD(:$!x){} }7⏏5; my $m = CB.new; $m.y = 5; $m.z = 8;␤ expecting any of:␤ horizontal whitespace…»
seatek m: subset PosInt of Int where * > 0; class B { has PosInt $.x is rw; has $.y is rw; submethod BUILD(:$!y){} }; class CB is B { has $.z is rw; has PosInt $!x; submethod BUILD(:$!x?){} }; my $m = CB.new; $m.y = 5; $m.z = 8; 08:56
camelia rakudo-moar 4fc17d: OUTPUT«Type check failed in assignment to $!x; expected PosInt but got Any (Any)␤ in submethod BUILD at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
seatek even if you make :$!x? optional in BUILD it still tries to assign a value to it, when you're not assigning anything to it? 08:57
timotimo same problem as when you have a "where" clause on an optional parameter 08:58
seatek timotimo, is there a way around this one that you know of? 08:59
timotimo assign to $!x in the body of BUILD instead of in the signature 09:00
then you can actually check for undefined before trying the assignment
seatek i'm torn between having to go do something silly like that again in all child classes, or just making it an "unwritten rule" to never populate objects from the new() method 09:03
it wouldn't be so bad if JUST the submethod BUILD in the parent class could be called, and then the rest of the children behaved like normal (not needing BUILD methods themselves) 09:04
timotimo oh, having a submethod BUILD will "poison" all subclasses? 09:06
seatek if i have the base method have a submethod BUILD, it has to be done on all the ones inheriting from it too, if you want to be able to populate with new() 09:07
if i'm remembering... i've tried so many variations at this point it's all a blur
no that doesn't seem to be true after all 09:10
hmm. could probably work something around like that
seatek thanks +timotimo 09:11
[ptc] m: my %blah = '&zwj;'=> "<200d>"; %blah{'&zwj;'}.say 10:20
camelia rakudo-moar 4fc17d: OUTPUT«<200d>␤»
[ptc] m: my %blah = '&zwj;'=> "‍"; %blah{'&zwj;'}.say 10:23
camelia rakudo-moar 4fc17d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Missing required term after infix␤at <tmp>:1␤------> 3my %blah = '&zwj;'=>7⏏5 "‍"; %blah{'&zwj;'}.say␤ expecting any of:␤ prefix␤ term␤»
[ptc] is it possible to enter unicode codepoints in strings? I.e., my $blah = 'U+200D' or some such? 10:30
DrForr m:"\c[263a]" 10:32
m:say "\c[263a]"
m: say "\c[263a]" 10:33
camelia rakudo-moar 4fc17d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized \c character␤at <tmp>:1␤------> 3say "\c[7⏏05263a]"␤ expecting any of:␤ argument list␤ double quotes␤ term␤»
DrForr Grumble. Thought that was it. 10:34
jnthn \x 10:35
\c is when you want to name the char
m: say "\c[PILE OF POOP]"
camelia rakudo-moar 4fc17d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized character name PILE OF POOP␤at <tmp>:1␤------> 3say "\c[PILE OF POOP7⏏5]"␤»
jnthn m: say "\c[PILE OF POO]"
camelia rakudo-moar 4fc17d: OUTPUT«💩␤»
DrForr Ah, right.
[ptc] DrForr, jnthn: thanks! 10:42
m: my %blah = '&zwj;'=> \x"200D"; %blah{'&zwj;'}.say
camelia rakudo-moar 4fc17d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Two terms in a row␤at <tmp>:1␤------> 3my %blah = '&zwj;'=> \x7⏏5"200D"; %blah{'&zwj;'}.say␤ expecting any of:␤ infix␤ infix stopper␤ postfix␤ statement end…»
[ptc] m: my %blah = '&zwj;'=> "\x200D"; %blah{'&zwj;'}.say
camelia rakudo-moar 4fc17d: OUTPUT«‍␤»
[ptc] that's really handy. Hrm, now where to put that info in the docs... 10:45
jnthn m: say "\x[65,66,67] 10:46
camelia rakudo-moar 4fc17d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unable to parse expression in double quotes; couldn't find final '"' ␤at <tmp>:1␤------> 3say "\x[65,66,67]7⏏5<EOL>␤ expecting any of:␤ argument list␤ double quotes␤ …»
jnthn m: say "\x[65,66,67]"
camelia rakudo-moar 4fc17d: OUTPUT«efg␤»
jnthn Also that form is worth knowing/documenting
m: say "\c[PILE OF POO,BUTTERLY]"
camelia rakudo-moar 4fc17d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Unrecognized character name BUTTERLY␤at <tmp>:1␤------> 3say "\c[PILE OF POO,BUTTERLY7⏏5]"␤»
jnthn m: say "\c[PILE OF POO,BUTTERFLY]"
camelia rakudo-moar 4fc17d: OUTPUT«💩🦋␤»
u-ou cool 10:47
omg that's cool
jnthn Heh, Utterly Butterly was some margerine-that-was-meant-to-taste-like-butter brand when I was a kid :P 10:48
u-ou m: say "\c[PILE OF POO]" x 16
camelia rakudo-moar 4fc17d: OUTPUT«💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩💩␤»
grondilu hello, ever looked at doppiojvm.org/? It's a JVM implementation in javascript. 10:50
I was wondering if that could be used to run perl6 in a browser.
pmurias grondilu: with a huge slowdown 10:53
grondilu pmurias: yeah of course
jkramer Ahoy! 10:53
m: my $x = try prompt('int: ').Int 10:54
camelia rakudo-moar 4fc17d: OUTPUT«int: »
jkramer m: my $x = try prompt('int: ').Int; say $x
camelia rakudo-moar 4fc17d: OUTPUT«int: (Any)␤»
jkramer Hrm
grondilu jkramer: I don't think it makes sense to use prompt with camelia 10:55
jkramer Yeah :) Trying to demonstrate weird thing I'm having 10:55
m: my $x = Nil.Int; say $x.perl 10:56
camelia rakudo-moar 4fc17d: OUTPUT«Use of Nil in numeric context␤ in block <unit> at <tmp> line 1␤0␤»
jkramer There you go
Why is $x = 0?
grondilu pmurias: but javascript will eventually be fast, with wasm and stuff. So then it might make sense to just port VMs on it as a strategy to run perl6.
tbrowder hi #perl6
jkramer m: my $x = try Nil.Int; say $x.perl
camelia rakudo-moar 4fc17d: OUTPUT«Use of Nil in numeric context␤ in code at <tmp> line 1␤0␤»
jkramer Compared to: 10:57
m: my $x = try 'asdasd'.Int; say $x.perl
camelia rakudo-moar 4fc17d: OUTPUT«Any␤»
jkramer Shouldn't Nil.Int be Any or Nil too?
jnthn Arguarly Nil, but in general <some type object>.Int will warn and give 0 10:58
m: say Str.Int
camelia rakudo-moar 4fc17d: OUTPUT«Invocant requires an instance of type Str, but a type object was passed. Did you forget a .new?␤ in block <unit> at <tmp> line 1␤␤»
jnthn o.O
tbrowder anyone interested in file read testing my test suite has had a major redo: <github.com/tbrowder/perl6-read-write-tests>
jnthn Apparently not general enough :P
jkramer :D
grondilu btw did you guys know wasm already has experimental support in chrome? chrome://flags/#enable-webassembly
jkramer Was expecting it to throw an exception like it does for 'asdasd'.Int 10:59
jkramer So that I can put it in a try block and then get Nil/Any as result 10:59
pmurias grondilu: there is a gigantic gap between chrome supporting wasm and efficently running wasm on top of the JVM
grondilu I was more thinking JVM => js => wasm 11:01
pmurias what would the => arrows mean? 11:02
grondilu: the paper you posted is about compiling c++ to js (and supporting file system operations etc.), as an example of that at work they compile the JVM (written in C++ itself) to JS and run stuff on top of it 11:04
grondilu I'm confused, what paper? 11:06
oh I see 11:07
pmurias grondilu: the doppio one
grondilu pmurias: so yeah they compiled C++. So? 11:10
grondilu they still get a JVM running on the browser without java 11:10
hello, maybe their thing can compile MoarVM 11:11
jkramer It looks like .Int works as expected (for me) for everything but Nil. Nil does some special thing (print warning and return 0) while all other stuff that doesn't usually do .Int throws an exception and returns Any (with try)
grondilu *hell 11:12
jkramer dpaste.com/3CK0MHG
grondilu after all they write: "we extend Emscripten
with DOPPIO, letting it run an unmodified C++ application in
the browser with full functionality"
jkramer Wait, Cool seems to do the same thing. Mu however works as expected again 11:14
pmurias grondilu: using their thing to compile MoarVM seems more efficent 11:16
as it's one less layer of indirection less 11:17
grondilu yeah but can it be done? At least the JVM example exists. 11:18
grondilu btw why isn't MoarVM a separate project? 11:21
^meh scrap that
pmurias grondilu: you could enounter some problems but it looks doable 11:24
jkramer Why isn't there an operator like .? but instead of checking if the invocant .^can the method check if the invocant is defined and only then call the method? :) 11:27
Or is there?
grondilu jkramer: sounds hard to do without a macro or something. Could be module-space. 11:31
jkramer Can I augment methods in classes that already exist? 11:49
Package 'Cool' already has a method 'Int' (did you mean to declare a multi-method?)
Would using a multi-method do any good here? They'd have the same signatures I guess (0 arguments) 11:50
grondilu you may want to use roles 11:50
m: role shouting { multi method gist($self:) { "$self !" } }; say 7 but shouting 11:51
camelia rakudo-moar 4fc17d: OUTPUT«7␤»
grondilu hum
m: role shouting { multi method gist { "{self}!" } }; say 7 but shouting 11:52
camelia rakudo-moar 4fc17d: OUTPUT«7!␤»
jkramer Nah, I actually want to override .Int globally in Cool :) 11:54
grondilu then use MONKEY-TYPING
jkramer Yeah that's what I'm doing, but I get that error I pasted above
grondilu you're using C<augment>? I think there is a C<supersede> 11:55
m: use MONKEY-TYPING; supersede Cool {}
camelia rakudo-moar 4fc17d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Malformed supersede␤at <tmp>:1␤------> 3use MONKEY-TYPING; supersede Cool7⏏5 {}␤»
grondilu nah, my bad
jkramer m: use MONKEY-TYPING; supersede class Cool { method Int { say "wooooot" }}; Cool.Int 11:56
camelia rakudo-moar 4fc17d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤Cannot use 'supersede' with class declaration␤at <tmp>:1␤------> 3use MONKEY-TYPING; supersede class Cool7⏏5 { method Int { say "wooooot" }}; Cool.I␤ expecting any of:␤ generic role␤»
grondilu supersede is specced in S12, though 11:57
jkramer Yeah, I can't find any documentation or examples for it, just one mention in the operators doc 11:58
grondilu no synopsis there indeed
do you *really* want to do that, though?
jkramer Nah, I actually want Cool and Nil to behave as I'd expect it without me having to hack them :)
grondilu it's NYI actually: 12:00
m: use MONKEY-TYPING; supersede method Cool::Int {}
camelia rakudo-moar 4fc17d: OUTPUT«5===SORRY!5=== Error while compiling <tmp>␤"supersede" not yet implemented. Sorry. ␤at <tmp>:1␤------> 3EY-TYPING; supersede method Cool::Int {}7⏏5<EOL>␤»
lizmat jkramer: how about ".method with $object" ? 12:09
m: my Int $a = 42; say .Str with $a 12:11
camelia rakudo-moar 4fc17d: OUTPUT«42␤»
lizmat m: my Int $a; say .Str with $a
camelia ( no output )
jkramer lizmat: That's probably the nicer way to solve it :) 12:20
I still think the behavior of Cool and Nil is weird/unexpected and should be in line with the other types
jkramer Is the behavior of .Int specified somewhere? Should I file a bug report/change request about it or would that be pointless? 12:26
lizmat jkramer: in what context ? 13:01
I mean, .Int is a method like any other, so what's wrong with it ? 13:02
jkramer lizmat: I posted some sample code somewhere above. Basically .Int dies/throws an exception whenever the invocant can't be converted to an Int in a sane way, which is what I'd expect. However Cool (and Nil, as it inherits directly from Cool and doesn't seem to override .Int) prints an error and returns 0 instead. 13:23
jkramer This seems inconsistent and somewhat wrong to me 13:23
IMO Nil.Int shouldn't return a valid integer (0) but die instead 13:25
Same for any undefined value
Especially since most/all(?) other types (at least the ones I tried) seem to do this right
gfldex m: Cool.^can('Int')[0].wrap(-> \self { 'bail' }); say Cool.Int 13:29
camelia rakudo-moar f09b8b: OUTPUT«bail␤»
gfldex jkramer: ^^^
jkramer How's that helping? :D 13:33
gfldex that's a supersede that works already
jkramer Ah, ok :)
So am I the only one thinking .Int and other standard type methods should do the same consistently everywhere? 13:34
dalek c: 4a40e98 | coke++ | doc/Type/Proc/Async.pod6:
remove trailing whitespace
c: af66b28 | coke++ | doc/Type/IO/Notification.pod6:
fix typo
c: a768510 | coke++ | xt/words.pws:
learn word
lizmat jkramer: please rakudobug it describing how you think it should work 13:35
email [email@hidden.address]
jkramer Ok 13:36
lizmat thanks! 13:40
jkramer My mail wasn't accepted because some spamsources.fabel.dk thingy has listed my server's IP o_O 14:26
andrzejku huh I hate javascript 14:58
;s
mst ES6 is almost an acceptable perl5 I find 15:03
jnthn is doing ES6 today and whining, but that's because of the concurrency model, not because of the language per se :) 15:09
T__ how can I help :D 15:16
moritz_ T__: what do you want to do? Write C code? Write Perl 6 code? Write docs? pay developers? organize conferences? 15:17
the options are nearly endless
T__ ah, infinity
moritz_ got to go now; will come up with ideas later if you write what you want to do :-) 15:18
T__ I think most work is already been done, but I could start by helping with a dutch translation
but the dutch docs are pretty decent already 15:19
perlpilot T__: Only the first 80% is done, we still need people working on the second 80% ;) 15:21
T__ interesting, I wonder if i could help 15:24
I will start by idling here, 15:25
gfldex there are quite a few bits in the docs still missing, see: github.com/perl6/doc/issues
gfldex if you want to dig deep into the compiler, there are a few threading bugs that need debugging. 15:27
AlexDaniel T__: yeah, so what do you want to do exactly? 15:29
there are many ways you can help, just say what your interests are :) 15:30
AlexDaniel huggable: dunno 15:31
huggable AlexDaniel, ¯\_(ツ)_/¯
lizmat dutch docs? it comes in dutch ? 15:47
AlexDaniel sure it does :P translate.google.com/translate?hl=....perl6.org 15:50
but yes, that's a good question. Has anyone ever considered adding support for other languages on docs.perl6.org? 15:51
or are we going to claim that our docs are postmodern and that's not going to happen :) 15:52
[Coke] I'd love to have a curated translation. 15:54
There's a ton of issues with that, including: we don't have a full english set. :)
but if we have someone interested in managing a different language's version, we can make the infrastructure support it. 15:55
lizmat well, I've done nl.perl6intro.com and it's a lot of work even for something as relatively static as that 16:02
AlexDaniel actually… I like the idea of having intro tutorials in different languages while at the same time deliberately refusing to keep and maintain translations of the main docs… But that's just me. 16:04
I know it sounds harsh, but… 16:05
AlexDaniel huggable: dunno 16:05
huggable AlexDaniel, ¯\_(ツ)_/¯
timotimo if we had the docs translated, i expect changes and fixes would take a long time to drip through to the other languages :( 16:06
lizmat yeah, perhaps we need some more parts to the perl6intro, but generally I agree with AlexDaniel 16:11
[Coke] I disagree; if someone really is willing to put in the effort, we can support it. 16:12
(the thing is, we're not going to find that person, I bet - but let's not say no up front) 16:13
AlexDaniel [Coke]: the problem is that people usually put this effort for a very short period of time 16:14
rewriting stuff in another language quickly gets boring
[Coke] Yes. we have to be clear up front that isn't a one time thing.
so caution, yes, refusal, no.
AlexDaniel so in the end we will end up with outdated docs or half of the docs…
AlexDaniel I think it is a good idea to write some guidelines for writing perl6intro translations. For example, if some concept is introduced, it should also mention its English name, so that it will be easier for people to search for that stuff in actual docs. Kinda obvious, but it is probably a good idea to write it out. 16:20
dalek c: d41d151 | gfldex++ | doc/Type/IO/Path.pod6:
Since we don't care about its return value, don't use .map. We do have a
16:57
tbrowder anyone using Bailador for a secure website? 17:10
tbrowder I mean password protected running under strict TLS? 17:11
moritz if I did, I'd probably let the webserver handle TLS termination and authentication 17:20
moritz (in fact, I do that with p5 web apps whenever possible as well) 17:22
timotimo i think you should always rely on a mature piece of software to handle that for you 17:24
tbrowder sure I didn't explain that well. My webserver is latest Apache running strict TLS on all vhosts. I need to add a site with good password protection, not using Apache's password schemes at all (unless someone knows how to log such a user out reliably). So, given that, how's Bailador? 18:02
(well, almost latest Apache) 18:04
well, as usual, spoke too soon. i see some new stuff at Apache that looks like it answers most of my questions. thanks. 18:08
El_Che tbrowder: wouldn't it be better to implement that kind of functionality with things as shibboleth (in the case there is an identity provider supporting SAML2)? 18:14
tbrowder hm, not sure, but separate auth is more complicated. right now i'm using client TLS certs but that's cumbersome and scary for some of my less computer-savy friends and classmates. I've avoided going the password route but want to do it now if i can do it without too much pain. 18:17
dalek c: 56df46b | adaptiveoptics++ | doc/Language/objects.pod6:
addressing common side-effect of BUILD

Addressing common side-effect of using custom typed attributes in submethod BUILDs
18:18
seatek that bit me yesterday for several hours ;) and i'm sure others will encounter it commonly 18:19
RabidGravy Boom!
tbrowder El_Che: wasn't familiar with Shibboleth, thanks for the reference. 18:23
El_Che tbrowder: I admin (and architecture) a pretty bug Shib setup 18:24
tbrowder: pretty much the best out there, but not for the faint of heart (xml die xml)
so if you're use case is small: look elsewhere. If big enough to warrant the time investment: very powerful 18:25
tbrowder: otherwise you could go de oauth/openconnect root 18:26
route
FROGGS o/ 18:31
timotimo o/ 18:32
lizmat El_Che: didn't you have something for the P6W ? 18:41
El_Che lizmat: actually, every time you release a new rakudo, there are new rakudo debs and rpm in my repo 18:42
so people that want to have a quick look of the new release can try them 18:44
lizmat yup, cool, will mention it :-) 18:48
El_Che I try to hang around enough here to know when a new release is out :) 18:48
dalek osystem: 78311c3 | RabidGravy++ | META.list:
Rename META for Audio::Silan
19:02
viki El_Che: it's 3rd Saturday of the month, by end of day E[SD]T 19:04
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2016/10/24/...ning-star/
RabidGravy boom! 19:06
Juerd lizmat++ 19:08
lizmat Juerd o/ 19:09
Juerd Hoi
viki lizmat++ Weekly and lizmat++ .match improvements
timotimo yes, quite 19:10
FROGGS lizmat++ 19:11
DrForr lizmat++ # indeedy, will check it out.
Incidentally I've got a 2-hour version of my Intro to Perl 6 lined up for LPW. 19:12
lizmat DrForr: will mention next week
DrForr lizmat: Thanks. I've *still* got to get my flight lined up. 19:14
lizmat ok, lemme know when it is safe to be mentioned :-) 19:15
DrForr Heh. Later this week certainly.
vendethiel lizmat++ 19:17
El_Che viki: thx 19:18
lizmat++
DrForr Wow. I replaced the grammar engine and the token folding layer still (almost) works - Need to change what I'm doing to read the stash variable, but that's it. 19:37
dalek osystem: fbb6f54 | RabidGravy++ | META.list:
Add URI::FetchFile

see github.com/jonathanstowe/URI-FetchFile
19:51
grondilu RabidGravy: imho the most interesting part in this module is the Executable role 20:07
personally I would not have made it parametric
m: role Executable does Stringy {}
camelia ( no output )
grondilu role Executable does Stringy { method is-available { so which self } } } 20:09
RabidGravy that's one way of doing it ;-p 20:10
El_Che thx for the mention lizmat, I'll try to keep the releases up with the rakudo compiler. 20:24
Fosdem, guys, we've have the first propopal already (on mail, some other people mentioned they wanted to give a talk). So if there is nice perl6 talk plans, I'll like to hear about it! 20:26
(4 & 5 February 2017, Brussels)
DrForr El_Che: I'm going to, I just have to get OSCON Austin lined up first, or at least something passed along. 20:27
El_Che we've had great perl6 talks in the past, so there is a reputation to keep up
DrForr: the life of a diva is hard, boehoe
:)
DrForr Someone's gotta be the Kim Kardashian of perl. Thank the GODS it's not me. 20:28
El_Che Kim Kardashian is not my type, but damn, you spoilt her for me 20:29
:)
DrForr I'd be closer to Lady Gaga anyway :) 20:30
El_Che DrForr: don't minimize yourself! Kim Kadashion it is
(bbl) 20:31
DrForr Thank God I didn't say Sookie. 20:34
El_Che It sound like you've invested some time in thinking about your persona
gfldex m: role R { method name { $?CLASS.^name.subst(/^ "Foo::" /, '') } }; class Foo::Bar::Buzz does R {}; Foo::Bar::Buzz.new.name.say 20:35
camelia rakudo-moar aaec51: OUTPUT«Bar::Buzz␤»
DrForr (I've seen a bit of ... I think it was Geordie Shore? on a TV at a New York Pizza in Amsterdam - Even subtitled in Dutch I was repulsed.)
You've just witnessed the extent to which I've thought about it :) 20:36
El_Che If I was planning an invasion to the US, I would show that program afterwards and say "this is why we could just invade you just like that"
:)
I have seen it before, and OMG, I wasn't prepared for it 20:37
DrForr Tomorrow I'll do a basic [% FOREACH %] and do an initial release.
Vynce is it a known issue and/or resolvable thing that rakudo.org doesn't https? 21:29
timotimo oh, ouch 21:30
timotimo "Apache/2.0.63 " is this a problem? :S 21:32
Vynce I mean, it serves a cert that just doesn't happen to match. 21:35
I don't know if there's a better contact point for rakudo.org webmastery stuff.
timotimo rakudo.org is pmichaud's box 21:36
Vynce ah. known at rt.perl.org/Public/Bug/Display.html?id=128423 4 months ago. 21:41
viki Vynce: yeah, and IIRC it's just not super simple to resolve.
.seen pmchaud 21:42
yoleaux I haven't seen pmchaud around.
viki .seen pmchad
yoleaux I haven't seen pmchad around.
El_Che Vynce: yes, I create a bug report for that 21:43
d
viki .ask pmichaud any updates on HTTPS for rakudo.org ( RT#128423 )? Do you need any help?
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128423
yoleaux viki: I'll pass your message to pmichaud.
El_Che (I didn't created it, I just commented, [Coke]++) 21:44
Vynce Yeah, it doesn't have a lot of comments or any indication that anybody has really looked at it. 21:46
(and I can't comment on it)
.seen pmichaud
yoleaux I saw pmichaud 15 Sep 2016 01:34Z in #perl6: <pmichaud> m: my $input = '(\d\d\d)'; my $m = 'a 123' ~~ /$0=<$input>/; say $m
El_Che I proposed a simple solution 21:47
viki Vynce: what did you want to comment? I can comment for you. I recall pmichaud looking at the ticket in the past and I recall there was something not trivial with the solution.
Vynce mostly just a vote for and thread bump ... possibly point out that getting a free cert via letsencrypt is easy. 21:48
i mean 21:49
it seems like a pretty good cost/benefit analysis, to me
El_Che viki: if it's not trivial, it's probably something specific with the setup (e.g. config of a shared hosting or similar). 21:50
viki El_Che: doubt it's shared. There are only a handful of users on the box 21:52
El_Che viki: I can always be pinged about it 21:53
viki noted
El_Che thx 21:54
timotimo we may want to actually move rakudo.org to live on p6c.org? 21:55
since we'd have multiple people with administrative capabilities then?
Vynce anyway, I have little else to add, other than I would probably have installed and started learning perl6 90 minutes ago, had that worked. 21:56
viki Vynce: you can check the signature. 21:57
viki github.com/rakudo/rakudo/tags 21:58
Hm.. and star... isn't being signed? :/ github.com/rakudo/star/tags
El_Che Vynce: what OS are you using? 21:59
viki isn't familiar with star release process
El_Che Vynce: in case you're running Ubuntu or CentOS: github.com/nxadm/rakudo-pkg/releases (ssl+signing). (got to reboot for kernel upgrade, bbl) 22:00
Vynce mac/OSX, and had another friend recommend rakudobrew, which seems fine, and i'm in that process, but ... added hurdles. *shrug* TIMTOWTDI, BIIEMPW. 22:09
El_Che rakudobrew is fine for in the mean time :) 22:12
(bbl, off to bed)
tbrowder ref module use: it's clear if a module has all subs marked as "is export", then, when the module is used, all subs are available. Does that mean some inefficiencies when only one or two out of LOTS are needed? 22:18
tbrowder If the bulk use is not efficient, the how can one do the Perl 5 trick of "use Mod::Foo 'routine2'? 22:19
I haven't been able to see in the docs if that is possible. 22:20
tbrowder I think in P5 the use of @EXPORT_OK allowed modules to be imported by name if only one was wanted. If that is possible in P6, then an example needs to be in the docs. 22:30
timotimo what is BIIEMPW? 22:47
nicq20 Hello o/ 23:03
timotimo greetings 23:05
AlexDaniel 🙋
timotimo how are you doing, nicq20
nicq20 Not too bad, looking up why a 'state' var is not called 'static'. 23:06
AlexDaniel it's not that static… :) 23:07
timotimo because it behaves differently from what the word static makes you think of
AlexDaniel m: for ^5 { state $x = rand; say $x }
camelia rakudo-moar aaec51: OUTPUT«0.497313418257676␤0.497313418257676␤0.497313418257676␤0.497313418257676␤0.497313418257676␤»
AlexDaniel m: for ^5 { if True { state $x = rand; say $x } }
camelia rakudo-moar aaec51: OUTPUT«0.221328266300838␤0.978324238080301␤0.34858177635232␤0.176490997003769␤0.94928031490241␤»
AlexDaniel nicq20: where do you want to use it? 23:08
nicq20 AlexDaniel: Nowhere, I was looking through some C documentation and never realized that they were different. Seems like they do the same thing though. :/ 23:10
AlexDaniel IMHO, “nowhere” is the right answer :) 23:11
nicq20 AlexDaniel: Lolz, I was mostly just curious if there was some historical reason for the different name.
AlexDaniel once block and state variables looked like foot rocket launchers to me… 23:12
always* :)
has anybody ever used them in a real project? 23:13
AlexDaniel I did a couple of times in code golf, but not in actual scripts 23:13
nicq20 AlexDaniel: Well I have a couple times, but only to keep track of the runs of a particular function. Mostly debugging. :P 23:20
AlexDaniel: I could see it being much more useful in classes to make sure that some setting is universal. 23:21
AlexDaniel ah dammit, I did use it at least once: github.com/perl6/whateverable/blob...e.pm6#L263 23:22
nicq20 lolz
gtg, see ya! 23:23
AlexDaniel MasterDuke: I wonder how broken that is 23:24
if broken at all, I don't think .upload will ever be called simultaneously 23:25
timotimo o/ 23:42
dalek c: 49630ca | gfldex++ | doc/Language/modules.pod6:
remove line end markers
23:44
BenGoldberg m: my @a = 'a'..'c'; my @b = lazy |@a, |(1..3); dd @b; 23:54
camelia rakudo-moar aaec51: OUTPUT«Array @b = ("a", "b", "c", 1, 2, 3, Any, Any, Any, Any... (lazy list)␤»
BenGoldberg m: my @a = 'a'..'c'; my @b := lazy |@a, |(1..3); dd @b;
camelia rakudo-moar aaec51: OUTPUT«Type check failed in binding; expected Positional but got Seq (?)␤ in block <unit> at <tmp> line 1␤␤»
BenGoldberg m: my @a = 'a'..'c'; my @b := |@a, |(1..3); dd @b; 23:55
camelia rakudo-moar aaec51: OUTPUT«("a", "b", "c", 1, 2, 3)␤»
BenGoldberg m: my @a = 'a'..'c'; dd lazy |@a, |(1..3);; 23:55
camelia rakudo-moar aaec51: OUTPUT«("a", "b", "c", 1, 2, 3, Nil, Nil, Nil, Nil... (lazy list)␤»
BenGoldberg m: my @a = 'a'..'c'; dd lazy |@a;
camelia rakudo-moar aaec51: OUTPUT«("a", "b", "c", Nil, Nil, Nil, Nil, Nil, Nil, Nil... (lazy list)␤»
BenGoldberg m: my @a = 'a'..'c'; dd lazy @a;
camelia rakudo-moar aaec51: OUTPUT«("a", "b", "c", Nil, Nil, Nil, Nil, Nil, Nil, Nil... (lazy list)␤»
BenGoldberg Is lazy supposed to produce an infinite list? 23:56
BenGoldberg m: dd lazy 'a'..'c'; 23:58
camelia rakudo-moar aaec51: OUTPUT«("a", "b", "c", Nil, Nil, Nil, Nil, Nil, Nil, Nil... (lazy list)␤»
BenGoldberg m: dd eager 'a'..'c';
camelia rakudo-moar aaec51: OUTPUT«("a", "b", "c")␤»