»ö« 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:03
mr-foobar left
00:04
mcmillhj_ joined
|
|||
Geth | doc: 981ace3664 | (Will "Coke" Coleda)++ | xt/duplicates.t Add a test for duplicate words Addresses #1338 |
00:08 | |
doc: f2cf0ba26a | (Will "Coke" Coleda)++ | 6 files Remove duplicated words in docs. Fixes #1338, passes xt/duplicate.t |
|||
00:09
mr-foobar joined,
mcmillhj_ left
00:11
curt_ left
00:13
AndroUser2 left
00:15
AndroUser2 joined,
troys_ is now known as troys
00:41
AndroUser2 left,
AndroUser2 joined
00:53
zacts joined
01:03
AndroUser2 left
01:04
lookatme joined
01:05
AndroUser2 joined,
mr-foobar left
|
|||
lookatme | morning .o/ | 01:06 | |
01:07
mr-foobar joined
01:23
Actualeyes joined
|
|||
BenGoldberg | Good evening. | 01:38 | |
01:43
fatguy left
|
|||
Geth | doc/master: 4 commits pushed by (Will "Coke" Coleda)++ | 01:45 | |
[Coke] | .tell AlexDaniel - perl6/doc now has a doubled-word test. | 01:51 | |
yoleaux | [Coke]: I'll pass your message to AlexDaniel. | ||
01:54
Cabanossi left
01:57
Cabanossi joined
|
|||
zengargoyle | does anybody know off-hand what code is behind the modules.perl6.org/todo pages? | 02:04 | |
02:04
skids left
|
|||
MasterDuke | zengargoyle: tadzik just recently added that feature, you should be able to find his commits here github.com/perl6/modules.perl6.org | 02:13 | |
zengargoyle | MasterDuke: thanks much | 02:18 | |
MasterDuke | np | 02:19 | |
02:33
troys is now known as troys_
|
|||
raiph | I rakudobugged RT#131406 but stackoverflow.com/questions/442664...all-struct remains unanswered. Goodnight #perl6. | 02:34 | |
02:36
raiph left
02:40
mcmillhj left
02:41
mcmillhj joined
|
|||
zengargoyle | i has sorta hoped it was a Test::EcosystemFriendly type of module the one could drop into authoring tests. but it looks more like something mixed in with the site generation code. | 02:41 | |
and it's Perl5 at that :) | 02:45 | ||
02:50
mcmillhj left
02:52
noganex joined
02:55
noganex_ left
03:01
mcmillhj joined
03:05
mcmillhj left
03:10
Cabanossi left
03:11
Cabanossi joined
03:22
Actualeyes left,
mcmillhj joined
03:23
AndroUser2 left
03:25
AndroUser2 joined
03:26
mcmillhj left
03:31
fatguy joined
03:33
mcmillhj joined
03:35
mr-foobar left
03:37
mr-foobar joined
03:38
mcmillhj left
03:43
mcmillhj joined
03:50
troys_ is now known as troys
03:52
mcmillhj left,
mcmillhj joined
03:54
Cabanossi left
03:56
Xliff joined
|
|||
Xliff | \o | 03:56 | |
Hi-Low | |||
03:56
Cabanossi joined
|
|||
Xliff | If anyone is awake, here is a question. With the lexical restrictions now on require(), is it at all possible to export symbols outside the scope? | 03:57 | |
03:58
khw left
04:01
BenGoldberg left
04:04
wamba joined,
mr-foobar left
04:06
mr-foobar joined
04:08
pilne left
|
|||
llfourn | Xliff: outside of the scope of the require statement? | 04:12 | |
m: my &sub = { require Test <&output>; &output }; say ⊂ | 04:13 | ||
camelia | -> ;; $_? is raw { #`(Block|53050232) ... } | ||
llfourn | m: my &sub = do { require Test <&output>; &output }; say ⊂ | 04:14 | |
camelia | Trying to import from 'Test', but the following symbols are missing: &output in block <unit> at <tmp> line 1 |
||
llfourn | m: my &sub = do { require Test <&ok>; &ok }; say ⊂ #rather | ||
camelia | sub ok (;; Mu | is raw) { #`(Sub|67442136) ... } | ||
Xliff | llfourn: Ah! Thanks. That works for subs, but what about data? | 04:16 | |
llfourn | data? | ||
should work for any kind of variable just use a different sigil | |||
Xliff | Yeah. I have hash data stored in a module, and I want to be able to 'require' that and use it at runtime. | ||
04:16
BenGoldberg joined
|
|||
llfourn | what is it stored in? | 04:16 | |
a variable? | |||
Xliff | Hash | ||
llfourn | is it exported? | 04:17 | |
Xliff | Yes | ||
llfourn | my %hash := do { require MyModule <%myhash>; %myhash }; say %hash; # like this then? | ||
Xliff | Yeah. Something like that. | 04:18 | |
However now that I think about it, it might be better to have this dynamic stuff put into an object. | |||
It's been a while since I've looked at this project. | |||
Was last year, I think. | |||
llfourn | in any case you can get any exported symbol with require using the same method | ||
geekosaur | that is generally better than randomly polluting global namespaces | 04:19 | |
Xliff | Right. Thanks! | ||
geekosaur: Yeah. It is. | |||
This was done early in my Perl6 experience where I was still struggling with Perl5Think. | |||
04:32
ufobat joined
04:34
mr-foobar left
04:37
mr-foobar joined
04:38
Actualeyes joined
04:40
Cabanossi left
04:41
Cabanossi joined
04:44
curan joined
|
|||
lookatme | How find a class attribute name with a interpolated string ? Such as "$!a" . | 04:52 | |
In class S { has $.a; } | |||
moritz | lookatme: exactly like that | 04:55 | |
m: class A { has $.x; method foo { "x is $!x"}}; A.new(x => 42).foo | 04:56 | ||
camelia | ( no output ) | ||
lookatme | Oh, I mean "\$!a" | ||
moritz | m: class A { has $.x; method foo { "x is $!x"}}; say A.new(x => 42).foo | ||
camelia | x is 42 | ||
lookatme | sorry | ||
moritz | of, if you don't want interpolation? | ||
yes, backslash, or use a different quoting construct | |||
lookatme | I have many attribute such as $.a1 $.a2 .... | 04:57 | |
04:57
mcmillhj left
|
|||
lookatme | I want use a for loop access them | 04:57 | |
How to lookup that name in a class method .? just like package name ::("\$bar") | 04:58 | ||
m: my $bar = 1; say ::("\$bar") | |||
camelia | 1 | ||
04:59
mcmillhj joined
|
|||
geekosaur | m: class A {has $.a1; has $.a2; }; my $a = A.new(a1 => 5, a2 => 3); my $x = 2; dd $a."a$x"() | 05:00 | |
camelia | 3 | ||
geekosaur | remember that outside the class, you are using an accessor method; so you can use the indirect/symbolic method call syntax instance."methodname"() | 05:02 | |
05:02
AndroUser2 left
|
|||
lookatme | I want access them in method of that class | 05:03 | |
05:03
AndroUser2 joined
|
|||
geekosaur | I think I'd still use the accessor in that case; I don't know how you'd access the actual attribute | 05:03 | |
05:03
mcmillhj left
|
|||
lookatme | class A { has $.a1; has $.a2; method foo() { #`(name look up)... = 2 for 1 .. 2; } | 05:04 | |
raydiak | m: class A {has $.a1 = 5; has $.a2 = 3; method foo () {say self."a$_"() for 1..2; }; }; A.new.foo(); | 05:05 | |
camelia | 5 3 |
||
lookatme | Assigned 2 to $!a1 $!a2 ... $!an | ||
I need write them, not just access, and I don't want add a `is rw` for them | 05:06 | ||
moritz | any reason not use an array in the first place? | 05:08 | |
lookatme | No, I want use array with NativeCall, but not support | ||
class A is repr('CSturct') { has Pointer[void] @.foo; # not support } | 05:09 | ||
05:10
mcmillhj joined
|
|||
lookatme | moritz, I just try to solve this problem : stackoverflow.com/questions/442664...all-struct | 05:10 | |
moritz | lookatme: I'm not well-versed with NativeCall. As for programmatically setting attributes, you can go meta | 05:11 | |
my @attributes = $obj.^attributes; @attributes[0].set_value($obj, $new_value); | 05:12 | ||
lookatme | moritz, oh thanks, I will try that | 05:13 | |
05:14
mcmillhj left
05:25
Cabanossi left
05:26
AndroUser2 left,
Cabanossi joined,
AndroUser2 joined
05:31
mcmillhj joined,
AndroUser2 left,
AndroUser2 joined
05:35
mcmillhj left
05:36
parv joined
05:40
BenGoldberg left
05:42
mcmillhj joined
05:43
araujo left
05:46
mcmillhj left
05:47
xtreak joined
05:53
domidumont joined
05:58
domidumont left
05:59
domidumont joined
06:01
troys is now known as troys_
06:04
nadim joined
06:11
lowbro joined,
lowbro left,
lowbro joined,
jonas2 joined
06:12
fatguy left
06:18
cyphase left
06:23
cyphase joined
06:32
AndroUser2 left,
AndroUser2 joined
06:40
thundergnat left
|
|||
nadim | timotimo: good morning, I asked a few days ago but I may have missed the answer. we were talking about dumping data with ddt and you asked about folding in a terminal. I had a follow up question: where do you want it? in some curses interface for user interaction or programatically folded and dumped on stdout? | 06:45 | |
06:50
troys_ is now known as troys
06:51
AlexDaniel joined
06:55
darutoko joined
06:58
troys left
|
|||
AlexDaniel feels stupid about github.com/perl6/doc/issues/1338 | 07:03 | ||
yoleaux | 01:51Z <[Coke]> AlexDaniel: - perl6/doc now has a doubled-word test. | ||
AlexDaniel | I shouldn't doubt that these things are possible | 07:04 | |
[Coke]++ | |||
07:05
mr-foobar left
07:06
mr-foobar joined
07:23
parv left
07:25
espadrine_ joined
07:34
mr-foobar left
07:37
mr-foobar joined
07:39
mcmillhj joined
07:41
lookatme left
07:42
TEttinger left
|
|||
Voldenet | m: my Promise[Int] $i; | 07:43 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> An exception occurred while parameterizing Promise at <tmp>:1 Exception details: 5===SORRY!5=== Error while compiling <tmp> Promise cannot be parameterized at <tmp>:1 ------> 3my P… |
||
07:44
simonm joined,
mcmillhj left
|
|||
Voldenet | Hm, is there some sane way to parametrize a Promise? | 07:44 | |
07:48
rindolf joined
07:50
mcmillhj joined
|
|||
AlexDaniel | Voldenet: what exactly are you trying to do? | 07:52 | |
that is, why do you need a parameterized promise? | |||
Voldenet | I want to ensure that the consumer gets the value of expected type | 07:53 | |
AlexDaniel | what about something like this? | 07:55 | |
m: subset IntPromise of Promise where *.result ~~ Int | |||
camelia | ( no output ) | ||
AlexDaniel | not sure if this will have any unwanted subsequences | 07:56 | |
depends on how you use it, I guess | 07:57 | ||
07:58
zakharyas joined,
mcmillhj left
08:03
lookatme joined
08:06
mr-foobar left
08:07
xtreak left
08:08
xtreak joined
08:10
mr-foobar joined
08:12
xtreak left
|
|||
lookatme | m: use NativeCall; class foo is repr('CStruct') { has uint8 $.a; }; say nativesizeof(foo); | 08:18 | |
camelia | 1 | ||
08:19
dakkar joined
|
|||
lookatme | m: use NativeCall; class foo is repr('CStruct') { has uint8 $.a; }; class bar is repr('CStruct') { has foo $.a; } say nativesizeof(bar); | 08:20 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Strange text after block (missing semicolon or comma?) at <tmp>:1 ------> 3 bar is repr('CStruct') { has foo $.a; }7⏏5 say nativesizeof(bar); expecting any of: infix inf… |
||
lookatme | m: use NativeCall; class foo is repr('CStruct') { has uint8 $.a; }; class bar is repr('CStruct') { has foo $.a; }; say nativesizeof(bar); | ||
camelia | 8 | ||
08:21
xtreak joined
|
|||
lookatme | m: use NativeCall; class foo is repr('CStruct') { has uint8 $.a; }; class bar is repr('CStruct') { HAS foo $.a; }; say nativesizeof(bar); | 08:23 | |
camelia | 1 | ||
08:33
itaylor57 left
08:36
thundergnat joined
08:37
xtreak left
08:38
xtreak joined,
xtreak left,
xtreak joined
|
|||
Voldenet | AlexDaniel: isn't *.result blocking a thread in this case? | 08:39 | |
08:40
wamba left,
itaylor57 joined
08:44
AlexDaniel left
08:47
espadrine_ left
08:51
xtreak left
08:52
xtreak joined
08:53
olinkl_ joined
08:54
diego_k joined,
dustinm`_ joined
08:55
xtreak left,
avalenn_ joined,
itaylor57_ joined,
xtreak joined,
tarski_ joined
08:56
avarab joined,
avarab left,
avarab joined,
bonsaikitten joined,
itaylor57_ left,
obarb joined,
huf_ joined,
nowan_ joined
08:57
itaylor57_ joined,
perigrin_ joined,
itaylor57_ left
08:58
webart joined
08:59
exodist_ joined
09:00
abruanese_ joined,
Voldenet_ joined
09:01
itaylor57 left,
curan left,
Exodist left,
nowan left,
xiaomiao left,
huf left,
brabo left,
avalenn left,
olinkl left,
tarski left,
avar left,
abruanese left,
diegok left,
perigrin left,
go|dfish left,
jsimonet left,
dustinm` left,
Voldenet left,
gtodd left,
obarb is now known as brabo,
olinkl_ is now known as olinkl,
exodist_ is now known as Exodist,
abruanese_ is now known as abruanese,
curan joined
09:04
tarski_ left
09:05
Voldenet_ is now known as Voldenet,
Voldenet left,
Voldenet joined
|
|||
lizmat | . | 09:06 | |
09:06
mr-foobar left
|
|||
lookatme | Is there a way use NativeCall get a CStruct variable on the stack without a help function | 09:06 | |
Such as `struct foo { int a; }; struct foo create(int a) { struct foo f; f.a = a; return foo; };`. This is code c side | 09:08 | ||
09:08
mr-foobar joined,
jsimonet joined
|
|||
lookatme | use NativeCall; class Foo is repr<CStruct> { has int32 $.a; submethod TWEAK() { $!a = int32.new(5); }; }; sub create_foo(int32) returns Foo is native("./libuc.so") { * }; say create_foo(int32.new(65)).a; | 09:08 | |
09:08
go|dfish joined
|
|||
lookatme | Here is Perl 6 side | 09:08 | |
This code will segment fault | |||
rakudo version: This is Rakudo version 2017.05 built on MoarVM version 2017.05 | 09:09 | ||
struct foo { int a; }; struct foo create_foo(int a) { struct foo f; f.a = a; return foo; }; | 09:10 | ||
jnthn | lookatme: No | ||
lookatme | Noway ? | ||
09:10
AndroUser2 left
09:11
AndroUser2 joined
|
|||
jnthn | lookatme: No, there's not a way, and I'm not even sure if the libraries we depend on to do the heavy lifting of FFI support it either. | 09:13 | |
zengargoyle | gist.github.com/zengargoyle/5a14f0...0e9b85a22a | ||
i'm still taking votes whether this is a bug or not. | |||
lookatme | jnthn, oh thanks | 09:14 | |
zengargoyle stategically awaiting people who might have an opinion to show up. :) | |||
jnthn | I have a vague recollection of the ABI not being specified for this and so it being potentially compiler specific also... | ||
lookatme | How to handle this case, Is it feasible allocate same size memory in Perl 6 side ? | 09:19 | |
09:23
wamba joined
|
|||
jnthn | I can't really think of a workaround for it short of writing some kind of C wrapper library and building it with LibraryMake or similar | 09:24 | |
09:25
Cabanossi left
09:26
Cabanossi joined
09:30
Actualeyes left
|
|||
nine | jnthn: Got to know some very nice Czech people yesterday. Though before I try that again, I'll have to train my liver some more for those Czech beers ;) niner.name/pictures/2017-05-30%20Ko...211216.jpg | 09:30 | |
jnthn | :-) | 09:31 | |
There's no shortage of nice beer in .cz :) | |||
09:32
grondilu joined
|
|||
lookatme | jnthn, yeah, write a help function would works. I think I find a better way to solve that. I gotta write some test for that. | 09:33 | |
09:34
itaylor57 joined,
kyan left
|
|||
zengargoyle | jnthn: any thoughts on the weirdness i see? | 09:38 | |
jnthn | zengargoyle: Looks like a bug at first glance | 09:41 | |
zengargoyle | jnthn: thanks, it just thought it should work but maybe there was some bit of ~~ and regex complications that would explain why it doesn't or can't. | 09:44 | |
jnthn | nine: Oh, and having beer gets nicer here today for those who don't smoke...the ban on smoking in pubs/restaurants begins today. :) | ||
zengargoyle: I'm pretty sure that * ~~ /<$rx>/ should be working right | 09:45 | ||
nine | jnthn: oooh, that's nice. It's still 11 months till the real ban on smoking begins in Austria | ||
jnthn | (as in, should give equivalent results to writing a closure out by hand) | ||
nine: Oh wow, I forgot that Austria still hadn't do that | |||
*done | 09:46 | ||
zengargoyle | i'll rakudobug it then. | ||
jnthn | zengargoyle: Thanks | ||
zengargoyle always seems to bump into the things that don't work, enough to have a bit of a complex about it. :) | 09:47 | ||
nine | jnthn: yeah, what we have now is a typical Austrian useless compromise. The innkeeper's lobby prevented an outright ban, so we ended up with a dysfunctional seggregation between smoking and non-smoking areas. Now they are complaining about the high construction cost for that "solution". | 09:49 | |
zengargoyle | in Califonia, US we have places to move to family owned and operated and/or number of employee's < limit to get around the restriction. | 09:52 | |
09:55
AlexDaniel joined
|
|||
AlexDaniel | m: my @foo; @foo.push: { ‘hello world’ }; @foo»()' | 09:56 | |
camelia | 5===SORRY!5=== Error while compiling <tmp> Two terms in a row at <tmp>:1 ------> 3o; @foo.push: { ‘hello world’ }; @foo»()7⏏5' expecting any of: infix infix stopper statement end statemen… |
||
AlexDaniel | m: my @foo; @foo.push: { ‘hello world’ }; @foo»() | ||
camelia | Weird node in analyze: NQPMu ===SORRY!=== Unknown QAST node type NQPMu |
||
jnthn | m: my @foo; @foo.push: { ‘hello world’ }; @foo».() | 09:57 | |
camelia | ( no output ) | ||
09:58
lowbro left,
committable6 left,
committable6 joined,
ChanServ sets mode: +v committable6
|
|||
AlexDaniel | jnthn: sure, but that's still a bug | 09:58 | |
10:00
domidumont left
10:05
lookatme left
10:18
xtreak left
10:22
skids joined
|
|||
zengargoyle | does anybody have favorite github CLI tool(s)? | 10:37 | |
10:49
skids left
10:52
skids joined
10:57
skids left
11:01
AndroUser2 left
11:03
curt_ joined
11:05
pmurias joined
11:06
margeas joined
11:13
skids joined
11:20
domidumont joined
11:22
domidumont left
11:51
aborazmeh joined,
aborazmeh left,
aborazmeh joined
11:58
pmurias left
11:59
pmurias joined
|
|||
Geth | doc: 812e3c9e06 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/IO/Handle.pod6 Fix rendering; dogbert17++ |
12:04 | |
12:13
Zoffix joined
12:14
Zoffix left
12:19
Zoffix joined
|
|||
Zoffix | \o | 12:19 | |
How to specify a META6.json dep to mean "this version or any higher?" | 12:20 | ||
I tried adding `"Testo:ver('1.002001+')"` to `test-depends` but it's still installing 1.002001, even though 1.002002 is available | |||
(and if I specify "Testo:ver('1.002002')", it installs 1.002002) | 12:21 | ||
Basically, the goal is block out too-old, buggy versions | 12:22 | ||
pmurias | do we have a "semver compatible" like npm does? | 12:24 | |
^1.2.3 is >=1.2.3 < 2.0.0 in npm | |||
Zoffix | The + makes it smartmatch right | 12:25 | |
m: say v1.2 ~~ v1.1 | |||
camelia | False | ||
Zoffix | m: say v1.2 ~~ v1.1+ | ||
camelia | True | ||
Zoffix | It's just appears to match in wrong order, so 1.002001 gets matched first | ||
12:27
andrewalker left
|
|||
pmurias | Zoffix: isn't it just finding the thing in the cache that matches> | 12:28 | |
(wild guess, haven't checked) | |||
Zoffix | I don't know what it's doing. | 12:29 | |
but it's not doing what I want it to do :/ | |||
Or rather, I don't even know if it's supported. But I tried adding :ver<> to make it want a specific version and that worked, but now I want it to want "this or higher" version. | 12:30 | ||
Which is probably what's it's doing... though more specifically I want it to want "highest version that's at least this" | |||
12:31
raschipi joined
|
|||
Zoffix | heh | 12:36 | |
Zoffix spots "# TODO: deprecate usage of --depsonly" in zef's source | |||
I use it all over the place and IIRC the new travis docs also use it | |||
pmurias | I'm not sure that specifing something like "the highest version that exists but which is at least this" in the META6.json itself makes sense | ||
seems like more of a zef policy | 12:37 | ||
Zoffix | I just told the sense | ||
lizmat | Zoffix: what output do you get with RAKUDO_MODULE_DEBUG | ||
? | |||
perhaps that gives a pointer ? | 12:38 | ||
Zoffix | In fact, it's the default policy if you omit the :ver() and assume "at least this" means version zero | ||
nine | Zoffix: maybe try --/cache | 12:40 | |
Zoffix | 1 sec (I'm on slow network so this is taking ages) | ||
pmurias | without a version it's not safe to assume any old one will work | 12:41 | |
Zoffix | pmurias: maybe not, but if you already have version 2.1 installed, the installer won't go out to try and install version 2.2 | 12:42 | |
nine | Zoffix: and why should it? You told it, 2.1 is fine. | 12:43 | |
Zoffix | The only difference in my case is I *know* version 2.1 is unsafe, so I want the installer to keep getting the latest versions, as it was doing, except also upgrade if version is 2.1 | ||
nine: don't think cache is the issue since just running `zef install Testo` installs 1.002002 | 12:44 | ||
12:46
_4d47 joined
|
|||
Zoffix | lizmat: here's the output. Don't see the extra output mention 1.002001 nor 1.002002 fpaste.scsys.co.uk/563850 | 12:48 | |
lizmat | perhaps that's the clue: there's no test for version at all yet ? | 12:49 | |
Zoffix | Buf I specify Testo:ver('1.002002') it installs it and before it got pushed to the ecosystem, told me it couldn't find it | 12:50 | |
12:51
pilne joined
|
|||
lizmat | installing != loading ? | 12:51 | |
just brainstorming | |||
_4d47 | hello everybody, small question, is it possible to specify a method always returns self in the signature, eg thinking --> self | 12:52 | |
Zoffix | _4d47: nope | ||
lizmat | NYI I would say :-) | 12:53 | |
Zoffix | Yeah :) | ||
_4d47 | Zoffix: okay thanks, i'll keep that return then :) | ||
Zoffix | _4d47: you don't need to explicitly write `return`. method foo { self } is sufficient | 12:54 | |
12:54
mcmillhj joined
|
|||
Zoffix | .ask ugexe is there a way to specify "highest version above N" as a prereq in META6.json? :ver('1.002001+') seems to install 1.002001, even though 1.002002 is available: irclog.perlgeek.de/perl6/2017-05-31#i_14665569 | 12:57 | |
yoleaux | Zoffix: I'll pass your message to ugexe. | ||
Zoffix removes version limit for now... | |||
Thanks all \o | |||
12:57
Zoffix left
13:00
curan left
13:01
cdg joined
13:07
mr-foobar left
13:08
mr-foobar joined
13:11
Khisanth left
13:14
andrewalker joined
|
|||
zengargoyle | ZofBot: did you try the 'update' of zef? i was wondering about how slow it was on my dsl and if it cached information or not. | 13:16 | |
i don't know if it updates on an interval or querries the net each time or what... but it does have an 'update' command. | 13:18 | ||
13:18
rightfold joined
|
|||
zengargoyle | darn ZofBot: meant Zoffix. | 13:19 | |
13:25
Khisanth joined
13:33
astj_ left,
astj joined
|
|||
pmurias | .ask Zoffix do you things such a requirement even makes sense, the 1.002001 doesn't stop working when 1.002002 becomes available | 13:37 | |
yoleaux | pmurias: I'll pass your message to Zoffix. | ||
13:38
astj left,
araraloren joined,
Zoffix joined
|
|||
raschipi | Zoffix has his own bot that delivers messages with his name on it for him. | 13:38 | |
Zoffix | zengargoyle: it's a day-old install | ||
yoleaux | 13:37Z <pmurias> Zoffix: do you things such a requirement even makes sense, the 1.002001 doesn't stop working when 1.002002 becomes available | ||
araraloren | evening <_< | 13:39 | |
Zoffix | pmurias: right, but neither does it get any new features or bug fixes. I may as well never update the Testo module, since the updates would never get installed | ||
13:40
Cabanossi left
|
|||
Zoffix | pmurias: so my only two options: don't specify the version, and risk users with an already-installed Testo module receive a bug, which, and while it's not currently the case, could be a serious security bug. Or... to keep updating N+ modules each time a new prereq gets released | 13:41 | |
zengargoyle | Zoffix: the update is Update package indexes for repositories .... it may not auto update indexes unless asked for a specific not found verstion..... if it actually caches repository information. .... my thinking anyway. | ||
13:41
Cabanossi joined
|
|||
Zoffix | Fuck, I don't think my requirement is all that crazy: don't install old, buggy versions is the crux of it | 13:41 | |
zengargoyle: the version isn't unfound. It gets installed if I don't specify the `+` | 13:42 | ||
pmurias: Perl 5 has this versioning by default. `use Mojolicious 7.30` will happily accept 7.31 and specifying Mojolicious => 7.30 in meta file will install 7.31 if it's avaiable | 13:43 | ||
zengargoyle | even if it's already installed? i thought zef told me i already installed something if any something was installed. | ||
pmurias | Zoffix: does zef choose the older version if none are already installed/fetched? | 13:44 | |
Zoffix | And I appreciate that we have more complex versioning scheme that will let apps to actually specify 7.30 when it's the version the app targets, but we also need to target this IMO much more common case of "latest version that's at least N" | 13:45 | |
pmurias: yes, that's exactly my problem | |||
zengargoyle | ah, think i get you maybe. if ask for 2+ you get 2 but if ask for nothing you get 3. | ||
Zoffix | It would've been fine if it refused to update if the matching version were already installed, but it actually installs an older version when none are installed | 13:46 | |
pmurias | that doesn't seem desirable | ||
Zoffix | nope | ||
zengargoyle: right: don't spec version => install 3; spec 3 => install 3; spec 2+ => install 2. I want it to install 3 in case of 2+ (or install nothing if 2 is *already installed*) | 13:47 | ||
zengargoyle | like 2+ is 2+? and we need a greedy version of + | ||
Zoffix | My understanding of 2+ as in smartmatch | 13:48 | |
zengargoyle | gotcha | ||
Zoffix | m: say 3 ~~ 2+ | ||
camelia | 5===SORRY!5=== Error while compiling <tmp> Missing required term after infix at <tmp>:1 ------> 3say 3 ~~ 2+7⏏5<EOL> expecting any of: prefix term |
||
Zoffix | m: say v3 ~~ v2+ | ||
camelia | True | ||
zengargoyle | so it needs to search from highest version down to lowest instead of lowest to highest (zef that is) | ||
Zoffix | And I think what happens is zef has a bunch of versions and before asking if 3 is acceptable, asks if 2 is, and gets a Yes, and installs it | 13:49 | |
pmurias | having an option to use the oldest version of stuff is sometimes helpfull but hopefully the new versions of stuff are improved | ||
zengargoyle | we need a +> going up and a +< going down. :P | 13:50 | |
Zoffix | :) | ||
13:51
avarab is now known as avar
|
|||
moritz | ZefTM, the Enterprise Module Manager: Installs the Auldest Module Possible! | 13:51 | |
13:52
devmikey joined
|
|||
zengargoyle | so --enterprise and --/enterprise flag for zef. :P | 13:53 | |
or just --janeway | |||
zengargoyle decides not to think about if ver can contain code.... (2.1 ... *)[*-1] | 13:59 | ||
i want NativeCall to sorta work the same way. OpenSSL just failed because i don't have libssl.so but i have 3 other versions of libssl.so.ver available. pich the highest if not specified??? | 14:01 | ||
14:02
abruanese left
|
|||
zengargoyle | it ends up being a random guess for me anyway picking which to link to libssl.so to make things work. | 14:03 | |
Zoffix | m: grammar { token TOP { $<value>=[<.token>*?] $ }; token token { <-restricted +name-sep> }; token restricted { < : > }; token name-sep { < :: > } }.parse(q|(2.1 ... *)[*-1]|).say | 14:04 | |
camelia | 「(2.1 ... *)[*-1]」 value => 「(2.1 ... *)[*-1]」 |
||
Zoffix | zengargoyle: well, zef will parse it, but I don't know if it'll do anything with it :) | ||
14:05
khw joined,
mcsnolte joined
|
|||
Zoffix | "Failed to update cpan mirror No such method 'IO' for invocant of type 'Any'" | 14:11 | |
zengargoyle | my other burning zef question was cpan ... i keep a local pass-thru cpan proxy on home network but haven't tested if it works for p6 yet. | 14:15 | |
does wonders for cpanm installs... | |||
Zoffix | Here. I distilled my problem to a one-liner: `zef uninstall Testo; zef install 'Testo:ver<1.002001+>'` | 14:16 | |
That installs 1.002001, despite 1.002002 being availabl.e | |||
Zoffix digs through zef's sauce | |||
zengargoyle | < Inf would be cool. | 14:19 | |
Zoffix | Neat. You can make your own recommendation manager. | 14:21 | |
zef++ | |||
zengargoyle | cool | 14:22 | |
14:25
Cabanossi left
14:26
Cabanossi joined
|
|||
[Coke] wonders if anyone has an idea for github.com/perl6/doc/issues/1352 - I am thinking I'm going to cheat here and change any default values in a signature to Nil when compiling it to test. Seem reasonable? | 14:27 | ||
Or, should we not show the hidden variable in the doc? | 14:28 | ||
s/hidden/attribute/ | |||
Zoffix | Interesting. zef uninstall Testo; zef --/cached install 'Testo:ver<1.002001+>' says No candidates found matching identity: Testo:ver('1.002001+'). So it installs 1.002001 despite 1.002002 being available, but only if cache is enabled :S | ||
14:30
AlexDaniel left
|
|||
Geth | doc: d6e7d04957 | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/IO/Handle.pod6 Remove use of attributes in method sig Fixes #1352 |
14:30 | |
Zoffix | [Coke]: the easy way out methinks. Since usually the description would mention defaults. It was just in this case it's a giant routine that takes a billion args, so I added them to sig | 14:31 | |
[Coke] | Zoffix++ | 14:32 | |
Zoffix & | 14:33 | ||
14:33
Zoffix left
|
|||
Geth | doc: a547aff15d | (Zoffix Znet)++ (committed using GitHub Web editor) | doc/Type/IO/Handle.pod6 Remove needless sentence The previous sentence already says params default to attrs |
14:46 | |
14:55
g4 left
15:14
KDr2 joined
15:23
Cabanossi left
15:25
mr_ron joined
15:26
Cabanossi joined
15:29
AlexDaniel joined
|
|||
ugexe | Zoffix: "Testo:ver(v1.002001+)" maybe | 15:30 | |
yoleaux | 12:57Z <Zoffix> ugexe: is there a way to specify "highest version above N" as a prereq in META6.json? :ver('1.002001+') seems to install 1.002001, even though 1.002002 is available: irclog.perlgeek.de/perl6/2017-05-31#i_14665569 | ||
15:31
aborazmeh left
15:33
cdg_ joined
|
|||
ugexe | i'll check into it more tonight, keep me updated if you figure out anything else | 15:34 | |
15:35
cdg left
15:37
salva left
15:38
salva joined
|
|||
ugexe | m: say Version.new(v1.002002+) ~~ Version.new(v1.002001) | 15:42 | |
camelia | False | ||
ugexe | hmm | ||
perigrin_ | heh/w 51 | 15:46 | |
bah | |||
15:47
kyan joined
|
|||
titsuki_ | bisect: say Set (|) Set; | 15:53 | |
15:53
hythm left
|
|||
bisectable6 | titsuki_, Bisecting by output (old=2015.12 new=160de7e) because on both starting points the exit code is 0 | 15:53 | |
titsuki_, bisect log: gist.github.com/9f9f7d23c28a5855a5...c2ed67e6a7 | |||
titsuki_, (2017-05-13) github.com/rakudo/rakudo/commit/40...a06860bda1 | |||
15:55
Cabanossi left
15:56
Cabanossi joined,
lichtkind left
16:03
freeze joined,
_4d47 left
16:09
lichtkind joined,
araraloren left,
setty1 joined
|
|||
Geth | ecosystem: whity++ created pull request #344: add Log distribution |
16:10 | |
16:21
domidumont joined
16:23
Cabanossi left,
jonas2 left
16:26
Cabanossi joined
16:29
[particle] left
16:30
[particle] joined
16:31
CacoS joined
|
|||
cxreg | an interesting story from Go, may be relevant here | 16:32 | |
www.weave.works/blog/linux-namespa...-don-t-mix | 16:33 | ||
Geth | ecosystem: 4f2bd49ccb | (André Brás)++ (committed by Zoffix Znet) | META.list add Log distribution (#344) |
16:35 | |
16:37
robertle joined
|
|||
perlpilot | the code renders badly | 16:37 | |
cxreg | I think the lesson here is that using worker threads without insight to kernel namespaces means that things might be scheduled with the wrong set of masks, so probably rakudo would have the same problem in the same scenario | 16:40 | |
16:41
dakkar left
16:46
wamba left
|
|||
jnthn | cxreg: Yes, having a thread pool managed automagically for you does not go well with various bits of systems programming. | 16:49 | |
16:49
zakharyas left
|
|||
jnthn | cxreg: That's why Perl 6 also provides the primitive stuff like Thread, Lock, Semaphore, etc. which are thin wrappers around the pthreads (or Windows equivalent) things. | 16:49 | |
So you can have the tighter control when you need it. | 16:51 | ||
16:51
AlexDaniel left
|
|||
cxreg | jnthn: fair point, and afaict Go does not offer those low level options | 16:52 | |
jnthn | Of course, then people have to know when they should do that... :) | ||
cxreg | right. might be worth a blog post or a docs mention or something. | ||
"Why Perl 6 is better than Go nyah nyah" | 16:53 | ||
jnthn | Indeed. | ||
haha ;P | |||
jnthn would be a little surprised if Go didn't provide such escape hatches | 16:54 | ||
raschipi | cxreg: jnthn is also fixing the MoarVM pipeworks so that calling the libC primitives directly unsing NativeCall works too. | ||
cxreg | jnthn: afaict it really does not | ||
16:55
mr_ron left
|
|||
cxreg | jnthn: it totally abstracts scheduling for you, sometimes to your detriment | 16:55 | |
jnthn | Ah, wow | ||
cxreg | (this new situation may affect that, however) | ||
jnthn | Yeah, then it's...tricky. | ||
cxreg | considering that.... docker is in Go | 16:56 | |
haahaha | |||
the conclusion of Weave was to spawn a new OS process every time they need to assert something about cgroups | 16:57 | ||
jnthn | I'm surely missing details, but I wonder if finding code running in the wrong namespace couldn't be a path to security vulns in some code | ||
cxreg | I was thinking the same | 16:58 | |
sounds like a 0day waiting to happen | |||
jnthn | That said, I figure the wisdom with docker is that yes, you get isolation in the "clean environment" sense, but should be extremely wary about relying on that isolation to provide serious security. | 17:00 | |
ilmari | cxreg: the code in that go article seems to have had one round too many of syntax highlighting applied to it | 17:11 | |
17:13
fatguy joined
|
|||
raschipi | I knew golang was verbose, but not THAT much... | 17:13 | |
fatguy | i need to watch write/create/modify activity on directory recursively, how can i do that ? | 17:16 | |
17:19
Zoffix joined
|
|||
Zoffix | fatguy: modules.perl6.org/ website offers a bunch of handy modules. When you need to do something it can be helpful to check if there's a module for it | 17:19 | |
buggable: eco Recursively watch a directory | 17:20 | ||
"No such method 'new' for invocant of type 'IO::Socket::SSL' in method get-connection at" | |||
fatguy: modules.perl6.org/#q=IO%3A%3ANotifi...ARecursive | |||
17:20
buggable left
|
|||
fatguy | Zoffix: thanks ! | 17:20 | |
17:21
buggable joined,
ChanServ sets mode: +v buggable
|
|||
Zoffix | So looks like it's unsafe to reinstall Perl 6/modules with running programs. They don't keep working | 17:21 | |
buggable: eco Recursively watch a directory | |||
buggable | Zoffix, IO::Notification::Recursive 'Recursively watch a directory and any subdirectories': github.com/perlpilot/p6-IO-Notific...-Recursive | ||
Zoffix | there we go | ||
Geth: uptime | 17:22 | ||
Geth | Zoffix, 2 weeks, 3 days, 2 hours, 31 minutes, and 49 seconds | ||
Zoffix | *shrug* | ||
17:22
Zoffix left,
TEttinger joined
17:25
skids left
17:38
Cabanossi left
17:41
Cabanossi joined
17:42
cdg_ left
17:52
wamba joined
17:53
KDr2 left
17:56
espadrine_ joined
18:03
Xliff left
18:04
Xliff joined
|
|||
Geth | doc: 68e8cc4a2c | (Jan-Olof Hendig)++ | doc/Language/io.pod6 printf is a method of IO::Handle |
18:05 | |
18:11
itaipu joined
18:12
huf_ is now known as huf
|
|||
rightfold | Hi | 18:37 | |
18:38
mr-foobar left
18:41
CacoS left
18:42
CacoS joined
18:44
mr-foobar joined
18:46
simonm left
|
|||
raschipi | hello | 18:48 | |
rightfold | I am using libpq with nativecall | 19:00 | |
However on Windows it's libpq.dll | 19:01 | ||
Is there a nicer way than doing this? constant LIBPQ = $*DISTRO.is-win ?? "libpq" !! "pq"; | 19:02 | ||
And then sub PQdescribePrepared(Pointer[void], Str --> Pointer[void]) is native(LIBPQ) {*} | |||
19:02
itaipu left
|
|||
rightfold | Windows lookup doesn't prepend "lib" but Linux does | 19:06 | |
19:13
darutoko left,
nowan_ left
19:14
cdg joined
|
|||
geekosaur | yes, because some unix-derived dlls prepend lib but other esp. native dlls don't | 19:14 | |
unix has a convention, windoes doesn't | |||
19:14
nowan joined
|
|||
rightfold | Ok | 19:20 | |
So it's not a bug in rakudo but a difference in platform conventions; much like / vs \ for paths | 19:21 | ||
Thanks geekosaur | |||
geekosaur | right,e xcept in this case there *is* no standard convention | ||
so every lib does its own thing :/ | |||
so if you enforce "lib" you lose over half the DLLs out there, but if you don't then you need to add it manually to some unix-origin DLLs | 19:22 | ||
rightfold | I'll keep using this constant definition | 19:23 | |
19:24
nowan left
19:25
nowan joined
19:31
itaipu joined
19:33
domidumont left
19:36
AlexDaniel joined
|
|||
Geth | doc: 3884abb991 | (Jan-Olof Hendig)++ | doc/Language/syntax.pod6 Added a few missing say statements to the examples |
19:39 | |
19:40
jameslenz joined
19:53
pmurias left
20:11
araujo joined
20:16
kaare_ joined,
kaare__ left
|
|||
pilne | i know the current scripting languages (python/ruby/perl5) pretty much make up all of the infosec/pentesting uses, with the majority outside of metasploit being python (from what i've gathered), but realistically is there anything that would hamper perl6 (via rakudo) being used to implement these kinds of tools? | 20:17 | |
20:20
ufobat left
20:21
hythm joined
20:24
Cabanossi left,
pmurias joined
|
|||
raschipi | pilne: I/O isn't very developed yet. | 20:25 | |
pilne | gotcha, is this more on the moarvm side or the perl6 side? | 20:26 | |
20:26
Cabanossi joined
|
|||
raschipi | Both. Moar is being cleaned and Perl6 is being refactored. | 20:27 | |
20:30
itaylor57 left
|
|||
pilne | i think i found the right word to describe how programming in perl6 feels to me (as i'm learning it) compared to other languages "unendcumbered" | 20:31 | |
dammint... unencumbered* | |||
20:32
skids joined
|
|||
AlexDaniel | .oO( cucumber what? ) |
20:36 | |
pilne: but yes, I agree | |||
20:36
itaylor57 joined
20:37
mcmillhj left
|
|||
dwarring un-end-cumbered :- not like ruby 'def' ... 'end' | 20:37 | ||
jnthn | Nobody *did* a cucumber port to Perl 6 yet afaik, so the language is actually uncucumbered :P | ||
pilne | lol | ||
20:38
mr-foobar left
20:40
mr-foobar joined
|
|||
raschipi | buggable: eco cucumber | 20:41 | |
buggable | raschipi, Nothing found | ||
raschipi | yep | ||
Perl6 is uncucumbered | |||
AlexDaniel | greppable6: cucumber | 20:42 | |
jnthn | Modules welcome :) | ||
greppable6 | AlexDaniel, gist.github.com/75a600bab1d3566988...f0fc61edca | ||
moritz | buggable: eco ruby | ||
buggable | moritz, Found 4 results: Sparrowdo::Rvm, Sprockets, Inline::Ruby, Sparrowdo::Ruby::Bundler. See modules.perl6.org/#q=ruby | ||
moritz | hey, we have Inline::Ruby | ||
20:43
CacoS left
|
|||
pilne | between those, and the js and jvm backents... perl6 could literally be the one language to rule them all! | 20:43 | |
20:46
mcmillhj joined
|
|||
moritz | we could use a WebAssembly backend :-) | 20:48 | |
AlexDaniel | .oO( does it mean we will have a new core dev very soon? :) ) |
20:49 | |
pilne | me? i'd have to learn a lot in some defenition of soon to go beyond "learning" perl6, for better or worse, i've been a python guy for most of the programming i've actually understood (attempted to learn java and c++ with bad instructors around y2k, still have the mental scars). | 20:50 | |
20:51
raschipi left
|
|||
pilne | so i'm only barely familiar with little bits of perl, and most of that is regexpy stuff | 20:51 | |
20:56
geekosaur left,
itaipu left
20:58
geekosaur joined
20:59
setty1 left
21:00
itaipu joined
|
|||
AlexDaniel | buggable: tag LHF | 21:01 | |
buggable | AlexDaniel, There are no tickets tagged with LHF | ||
AlexDaniel | :O | ||
pilne | ? | 21:05 | |
21:08
mr-foobar left
21:09
mr-foobar joined
21:10
mcmillhj left
21:11
robertle left
21:14
itaipu left
|
|||
AlexDaniel | pilne: usually there are some LHF (low-hanging fruit) tickets. For new contributors, this is a great way to start :) | 21:15 | |
pilne | gotcha | 21:19 | |
MasterDuke | buggable: tag LTA | 21:21 | |
buggable | MasterDuke, There are 166 tickets tagged with LTA; See perl6.fail/t/LTA for details | ||
yoleaux | 18:16Z <Zoffix> MasterDuke: do you think it's possible to improve the "Too many positionals" error to include the subname/invocant+method; similar to how the methodcalls on :D/:U were improved recently? Part of rt.perl.org/Ticket/Display.html?id...xn-1461759 | 21:22 | |
MasterDuke | pilne: the LTA tickets often are not too complicated and are a good place to start | 21:23 | |
pilne | gotcha | ||
21:34
xinming_ left,
xinming joined
21:36
Rawriful joined
21:40
xinming left
21:41
xinming joined
21:42
espadrine_ left
21:45
nadim left,
rindolf left
22:00
pmurias left
22:01
pmurias joined
22:07
dogbert17 left,
pochi_ joined,
dogbert17 joined
22:08
mr-foobar left
22:09
SHODAN left
22:10
pochi left,
cpage_ left
22:11
mr-foobar joined,
Kaffe left,
SHODAN joined
22:12
pmurias left
22:14
devmikey left
|
|||
pilne | anyone else found a good color theme for perl6 in vscode? or is the syntax way better supported in atom? | 22:17 | |
Geth | ecosystem: a01b64534d | (Zoffix Znet)++ (committed using GitHub Web editor) | META.list Remove Some of Zoffix's Modules (repos will remain) WWW::Google::Time — Google bans for this now — github.com/zoffixznet/perl6-WWW-Google-Time Failer — useless — github.com/zoffixznet/perl6-Failer/ M.pm6 — useless — github.com/zoffixznet/perl6-M SPEC::Func — stupid — github.com/zoffixznet/perl6-SPEC-Func ווו.pm6 — stupid — github.com/zoffixznet/perl6-666 ... (5 more lines) |
22:27 | |
ecosystem: aa5cf281d9 | (Zoffix Znet)++ (committed using GitHub Web editor) | META.list Actually remove HNY module |
22:28 | ||
22:34
r3m left
22:35
r3m joined
22:36
corishev joined
|
|||
japhb | Zoffix, I'm pretty sure you have now deprecated more ecosystem modules than I have committed to. That's a bit disturbing. | 22:38 | |
22:39
mr-foobar left
22:41
mr-foobar joined
22:45
mcmillhj joined,
Kaffe joined
22:51
cpage_ joined,
mcmillhj left
22:53
sivoais left,
corishev left,
corishev joined,
Cabanossi left
22:54
sivoais joined
22:56
Cabanossi joined
22:59
corishev left
|
|||
samcv | :O | 23:19 | |
23:19
mcmillhj joined
23:23
lichtkind left
23:24
Cabanossi left
23:26
Cabanossi joined,
mcmillhj_ joined
23:27
Rawriful left,
mcmillhj left,
cdg left
23:28
wamba left
23:38
mcmillhj joined
23:40
astj joined
23:42
mcmillhj left
23:49
AlexDaniel left
23:51
margeas left,
margeas joined
23:56
margeas left
23:57
astj left,
BenGoldberg joined
|