»ö« 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. |
|||
Herby_ | question: If I know I won't have internet access, what's the easiest way to download/view perl 6 documentation? | 00:01 | |
or maybe the better question is, is there an easy way to view perl6 docs offline? | 00:03 | ||
00:04
cyphase joined
|
|||
lambd0x | Herby_: If you want docs from doc.perl6.org they hold everything in a git repo github.com/perl6/doc | 00:06 | |
clone it to your computer and be happy :) | |||
parabolize | Herby_: clone the repo, build the html files and serve them docs.perl6.org/language/about#Gene...ML_version | ||
or you can use p6doc buts its slooooow | 00:07 | ||
or just read the source | 00:08 | ||
Herby_ | those tips should get me headed in the right direction, thanks! | ||
lambd0x | Herby_: :) | ||
00:08
Zoffix joined
|
|||
Zoffix | Herby_, we have a page for just that purpose: docs.perl6.org/perl6.xhtml | 00:08 | |
OTOH a local build would indeed be nicer :) | |||
Herby_ | Zoffix: this is great, thanks. I don't need anything fancy, just something incase I get stumped and am offline | 00:09 | |
and I do get stumped often | |||
lambd0x | Herby_: Normal, I find myself often in need of some reference too | 00:10 | |
00:14
kurahaupo left
00:15
captain-adequate left
|
|||
lambd0x | Bye folks | 00:15 | |
00:15
lambd0x left
00:19
AlexDaniel joined
00:26
sena_kun left
00:31
zacts joined
00:36
cyphase left
00:41
cyphase joined
|
|||
AlexDaniel | www.reddit.com/r/programminghorror..._probably/ | 00:45 | |
yoleaux | 25 Jul 2016 16:15Z <TimToady> AlexDaniel: I figgered out a way to fix [+] ... 987 for you | ||
AlexDaniel | oh | 00:46 | |
m: 0, 1, [+] ... 987 | |||
camelia | rakudo-moar 041919: OUTPUT«Potential difficulties: Apparent sequence operator parsed as stubbed function argument; please supply any missing argument to the function or the sequence (or parenthesize the ... call, or use 'fail' instead of ...) at <tmp>:1 ------> 03…» | ||
AlexDaniel | cool | 00:47 | |
00:48
tbrowder joined
00:50
tbrowder left
00:54
dainis joined
00:57
wamba left
00:58
kid51 joined
01:04
TEttinger joined
01:08
kid51 left
01:13
FROGGS_ joined
01:17
FROGGS left,
kid51 joined
01:18
doublec joined
01:20
labster left
01:24
dainis left
01:29
cdg left
01:30
cdg joined
01:34
cdg left
01:41
kid51 left
|
|||
zacts | hi #perl6 | 01:46 | |
01:55
molaf left
02:00
zacts left
02:01
labster joined
02:04
Actualeyes joined
02:07
colomon left,
pochi left,
molaf joined
02:20
zacts joined
|
|||
dalek | c: 8bd9ff0 | (Wenzel P. P. Peppmeyer)++ | doc/Type/ (2 files): doc new behaviour of Nil and add Nilness of subclasses of Nil |
02:20 | |
gfldex | m: class Baddy is Nil {}; sub niler( --> Any:D ) { Baddy.new }; my $i = 42; $i = niler; dd $i; | ||
camelia | rakudo-moar 041919: OUTPUT«Any $i = Any» | ||
02:20
dainis joined
|
|||
gfldex | don't subclass from Nil, tyvm | 02:20 | |
02:22
colomon joined
02:28
kaare__ joined
02:29
jersni joined
02:30
jersni left
02:34
jersni joined
|
|||
jersni | p6: say 3; | 02:36 | |
camelia | rakudo-moar 041919: OUTPUT«3» | ||
02:36
s34n_ left
02:38
s34n joined
02:41
noganex_ joined
02:44
noganex left
02:46
jersni left
02:47
jms joined,
jms is now known as Guest53368
02:48
Guest53368 is now known as jersni
02:55
dpagurek joined
03:01
dpagurek left
03:05
jersni left
03:06
ddd joined
|
|||
ddd | good evening | 03:06 | |
03:07
ddd left
03:08
Herby_ left
03:19
cyg07 joined
03:21
canopus left
03:23
bob777 joined
03:24
dpagurek joined
|
|||
cyg07 | p6: say 3; | 03:24 | |
camelia | rakudo-moar 041919: OUTPUT«3» | ||
dpagurek | has anyone ever had issues with scripts crashing when declaring constants in modules, but having them work when declaring with 'my'? | 03:25 | |
03:27
canopus joined
|
|||
dpagurek | I binary searched my program down to this thing, it returns -1 when I use 'constant' and it works when I change it to 'my' gist.github.com/davepagurek/444847...386a773a00 | 03:28 | |
03:31
molaf left
|
|||
geekosaur | mrrr. `constant` is compile time, no? | 03:32 | |
dpagurek | ahh, is there a different way to declare a runtime variable where the container then can't be reassigned? | 03:33 | |
when I use the same constant declaration in the script I'm running directly without it being in an imported module it seems to work, that may have been a red herring if I'm not using constant correctly | 03:36 | ||
03:36
yqt left
|
|||
geekosaur | so I think the problem is related to precomp. once it's been compiled, it's not running from where the source is, it's going to be in the closest CompUnitRepo, so it doesn't find your file. but I'm not sure of how that interacts with things :/ | 03:37 | |
dpagurek | oh ok, that gives me more direction for debugging, thanks! | 03:39 | |
03:43
bob777 left,
bob777 joined
03:44
cyphase left
03:46
dainis left
03:49
cyphase joined,
cdg joined
03:53
khw left
03:57
dpagurek left
03:58
khw joined
04:02
khw left
04:06
khw joined,
BenGoldberg left
04:17
dainis joined
04:21
dainis left
04:22
skids left
04:36
dvinciguerra_ left
04:46
holyghost left,
snoopy3 joined
04:49
Cabanossi left,
khw left
04:50
Cabanossi joined
04:53
maybekoo2 joined
04:55
movl joined
05:10
cdg left
05:13
jazz joined,
jazz left
05:14
ufobat joined
|
|||
snoopy3 | gm | 05:16 | |
05:21
cyg07 left
05:22
snoopy3 left,
holyghost joined
05:27
AlexDaniel left
05:31
darutoko joined
05:39
cpage_ left
05:42
domm joined
05:43
cooper left,
cooper joined,
cooper left,
cooper joined,
cooper left
05:44
FROGGS_ left
05:46
CIAvash joined,
bob777 left
05:49
cooper joined
|
|||
holyghost | afk | 05:52 | |
05:52
colomon left
|
|||
ufobat | moin :) | 05:53 | |
05:57
cyphase left
06:01
cyphase joined
06:05
ribasushi left
06:08
ribasushi joined
06:11
mohae joined,
holyghost left
06:14
mohae_ left,
mohae left
06:15
neuron joined
|
|||
neuron | m: class A { has $.x; }; class B is A { has $.x; }; A $i; say $i.perl; | 06:17 | |
camelia | rakudo-moar 041919: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Two terms in a rowat <tmp>:1------> 3has $.x; }; class B is A { has $.x; }; A7⏏5 $i; say $i.perl; expecting any of: infix infix stopper statement end …» | ||
neuron | m: class A { has $.x; }; class B is A { has $.x; }; my A $i; say $i.perl; | 06:18 | |
camelia | rakudo-moar 041919: OUTPUT«A» | ||
neuron | m: class A { has $.x; }; class B is A { has $.x; }; my A $i { x=> 5 }; say $i.perl; | ||
camelia | rakudo-moar 041919: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unexpected block in infix position (missing statement control word before the expression?)at <tmp>:1------> 3x; }; class B is A { has $.x; }; my A $i7⏏5 { x=> 5 }; say $i.perl; expecting an…» | ||
neuron | m: class A { has $.x; }; class B is A { has $.x; }; my A $i { $x => 5 }; say $i.perl; | ||
camelia | rakudo-moar 041919: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Unexpected block in infix position (missing statement control word before the expression?)at <tmp>:1------> 3x; }; class B is A { has $.x; }; my A $i7⏏5 { $x => 5 }; say $i.perl; expecting …» | ||
masak | m: class A { has $.x; }; class B is A { has $.x; }; my A $i .= new(x => 5); say $i | ||
camelia | rakudo-moar 041919: OUTPUT«A.new(x => 5)» | ||
masak | neuron: if you want to iterate/experiment with camelia, there's also the option of privmsg with her. | 06:19 | |
neuron | Ah! | ||
06:19
zacts left
|
|||
neuron | sorry about that | 06:19 | |
masak | (in this case, though, it gave you some hints from channel, so there is that) :P | ||
it's a, whatchamacallit, balance | |||
neuron | hmph | 06:20 | |
masak | neuron: I think the unstated question in your eval is "which $.x did I set?" -- A's | 06:21 | |
er, B's :) | |||
neuron | exactly | ||
masak reads minds | |||
neuron | I want to see whether class B has on $.x, or two $.x | ||
damn you are good :) | |||
masak | only one $.x | ||
think of the `.` as a *method* | |||
the B method overrides the A method | |||
the instance does have two $!x storage locations, though | 06:22 | ||
neuron | Right. I had the feeling it will be like that, just was trying to make camelia to prove to me :) | ||
masak | but since you're only talking to the B $.x method, you end up interacting only with the B $!x | ||
neuron | ah, two storage locations? That's not good for me. I have been doing silly things then | 06:23 | |
masak tries to think of a way to demonstrate there are two storage locations | |||
neuron | I naively thought .perl would give me the guts of the variable | 06:24 | |
masak | m: class A { has $!x = "A"; method aye { say $!x } }; class B is A { has $!x = "B"; method bee { say $!x } }; given B.new { .aye; .bee } | ||
camelia | rakudo-moar 041919: OUTPUT«AB» | ||
masak | there you go. | ||
.perl used to be more "guts of the variable" | |||
but we kind of tarnished/destroyed that with a bit too much OO thinking :/ | |||
arguing (wrongly) that "only public things should be visible in .perl" | 06:25 | ||
neuron | :) | ||
masak | the whole thing did give me a better appreciation of the nuances of public/private, though | ||
so it wasn't a total loss | |||
perhaps slightly more seriously, .perl is meant to round-trip (as good as possible) with EVAL | 06:26 | ||
which means it's constrained by what .new can accept, which happens to be only public things | |||
(which, yes, is also wrong) | |||
ShimmerFairy | it's the (PRINT) to EVAL's (READ), in Lisp terms :P | 06:27 | |
neuron | I'm trying to create an object which is repr<CPPstruct> using nativecall and add some more attributes to it. | ||
That itself does not seem to be possible: CPPStruct representation only handles int, num, CArray, CPointer, CStruct, CPPStruct and CUnion | |||
So I am trying to think that there should be two objects - one repr<cppstruct> and one encapsulating it and containing more attributes | 06:28 | ||
06:28
sno left
|
|||
masak | naughty ShimmerFairy, have you been doing Lisp lately? :P | 06:28 | |
neuron | By any chance, would this be a scenario someone else alredy tried? | ||
masak | neuron: I feel the question is out of my league -- not used to thinking in reprs | 06:29 | |
neuron: but it does have the vibe of mixing in roles... maybe | |||
is this something you have considered? | |||
neuron | Yeah, I might have taken something too big. To learn p6 I thought that I would make QT library wrapper for it :) | 06:30 | |
neuron checking what mixing in roles is | |||
masak | m: class A { has $.x = "A" }; role R { has $.y = "R" }; my $a = A.new; $a does R; given $a { say .x; say .y } | ||
camelia | rakudo-moar 041919: OUTPUT«AR» | ||
masak | like that. | ||
you have `does` which is destructive, and `but` which does a clone first | 06:31 | ||
under the hood, you end up with an instance of an anonymous subclass of A, with R mixed in | |||
06:31
firstdayonthejob joined
|
|||
neuron | Hmmm, /me not being used for such wacky object design :) | 06:32 | |
But thanks for the pointer, that looks promising | |||
masak | yes, it's a bit of a power tool, with all the caveats that implies | 06:35 | |
but also occasionally just the thing | |||
masak learns that TravisCI has been reporting test failures for 007 since 2016-07-10 | 06:36 | ||
seems something changed in Rakudo around that time | |||
`This type (Scalar) does not support positional operations` -- does this failure sound familiar to anyone? | |||
neuron | masak: thank you | 06:37 | |
06:38
firstdayonthejob left
06:40
labster left
06:50
RabidGravy joined
|
|||
dalek | line-Perl5: 6cd75d0 | niner++ | t/lib/ (2 files): Add mising test files |
06:50 | |
06:51
cibs left
06:54
cibs joined
|
|||
masak | ok, minimiz'd | 06:58 | |
m: my @a; @a.splice(0, 0, 42); say @a | |||
camelia | rakudo-moar 041919: OUTPUT«This type (Scalar) does not support positional operations in block <unit> at <tmp> line 1» | ||
masak submits rakudobug | |||
bisectable: my @a; @a.splice(0, 0, 42); say @a | |||
bisectable | masak: bisect log: gist.github.com/1beea81fc4c0f7c56d...0b3330b44d | ||
masak: (2016-07-08) github.com/rakudo/rakudo/commit/58c2628 | |||
moritz | bisectable++ AlexDaniel++ | ||
masak | the date seems to match when the failures started in 007 | ||
bisectable | moritz: Exit code is 1 on both starting points, bisecting by using the output | ||
moritz: bisect log: gist.github.com/565acf78214f9ac7fa...9b41dab392 | |||
moritz: (2015-12-27) github.com/rakudo/rakudo/commit/373adc0 | |||
masak | moritz: haha, you found a bisectable bug ;) | 06:59 | |
moritz | it's a bit trigger happy | 07:03 | |
masak | I'd say mandate a colon | 07:04 | |
07:09
domidumont joined
07:13
domidumont left,
domidumont joined
|
|||
masak | I have two test failures in t/spec/S10-packages/basic.t (on Rakudo-Moar) | 07:14 | |
tests 47 and 48 both say "Error: P6M Merging GLOBAL symbols failed: duplicate definition of symbol Foo" | 07:15 | ||
on HEAD (041919) | |||
can anyone confirm this? | |||
lizmat | masak: yes, they've been there since 43debec892f0bdaf0c474d0 | ||
nine is aware of it, afaik | |||
the whole test-file is a bit, what shall I say, pre-CUR | 07:16 | ||
masak | ah. | ||
lizmat | with p5 notions of "use lib" sprinkled liberally in the test file | ||
07:16
wamba joined
|
|||
masak | I have no context for what you're describing, but I'm glad there's awareness of the test failures. | 07:16 | |
lizmat | since that commit, two whole test-files failed, but I could fix those by re-ordering use statements | 07:17 | |
masak | I ran the spectest to get a baseline. now rebuilding with 58c2628, and re-spectesting. | 07:22 | |
58c2628 reverted* | |||
what -- it doesn't even build | 07:25 | ||
fails during Stage optimize with "This type (Scalar) does not support associative operations" | 07:26 | ||
I tried realcleaning and re-configuring. same result. | 07:27 | ||
07:27
sno joined
|
|||
masak tries `git clean -xdf` too | 07:27 | ||
...still the same error. | 07:30 | ||
masak tries building from 58c2628^ | |||
...that works. | 07:33 | ||
interesting. so we're in a situation where we know which commit is faulty, the commit reverts without conflict, but the build is broken after the revert. | |||
masak reports all this to RT | 07:34 | ||
lizmat | and I will look at it later today | 07:36 | |
masak | ++lizmat | ||
neuron | class A {}; class B is A {}; my $x = B.new(); is there a way to tell that $x is A? | ||
masak | m: class A {}; class B is A {}; my $x = B.new(); say $x ~~ A | 07:37 | |
camelia | rakudo-moar 041919: OUTPUT«True» | ||
07:37
zakharyas joined
|
|||
neuron | .WHAT says (B) | 07:37 | |
nine | masak: the real cause is commit 0498e803b59c3fd93fafc24957ef9a8c9dfaab0d which extended our use of precompilation into new situations where we bailed out before. Commit 43debec892f0bdaf0c474d09c5805d1015fcae6d just fixed a bug that hid the underlying problem. | ||
neuron | masak: Yes, but can I list what all classes $x is composed from? | 07:38 | |
moritz | m: class A {}; class B is A {}; say B.^mro | 07:39 | |
camelia | rakudo-moar 041919: OUTPUT«((B) (A) (Any) (Mu))» | ||
moritz | m: class A {}; class B is A {}; say B.^parents(:all) | ||
camelia | rakudo-moar 041919: OUTPUT«((A) (Any) (Mu))» | ||
masak | lizmat: questions that mystify me currently: (a) how can t/spec/S32-array/splice.t even pass while we have RT #128736? | 07:40 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128736 | ||
lizmat clickbaits p6weekly.wordpress.com/2016/07/25/...kudo-star/ | |||
masak | (b) why doesn't reverting help? what else has happened since then which messes up the revert without a content conflict? | 07:41 | |
lizmat | masak: I have no idea currently, but am deep in another optimisation atm and would like to keep my frame of mind focussed on that | ||
neuron | moritz: Ah, this way! | ||
Thanks | |||
masak | lizmat: oh, for sure. didn't mean to yank you out of any frame-of-mind :) | ||
just listing mysteries for later | |||
07:44
zacts joined
07:45
labster joined,
xescugc joined
|
|||
nine | masak: I have no idea either. I should be able to find some time this evening to dig into it. | 07:46 | |
masak | another (unrelated) thing I'm mystified by: people using statement-modifying `with` instead of statement-modifying `given` for no reason | 07:48 | |
here: www.reddit.com/r/perl6/comments/4u...nd/d5r1img | |||
...or am I missing some excellent reason to use `with` there? | 07:49 | ||
isn't the extra semantics on top of `given` "skip this statement if `self` is undefined" ? | |||
07:52
maybekoo2 left
07:55
xescugc left
07:57
cpage_ joined
|
|||
neuron | If I change moar-nom/lib/NativeCall.pm6, how do I recompile rakudo? "rakudobrew build moar" seems to recompile everything | 07:58 | |
Or do I have to recompile everything? | |||
moritz | neuron: if you change files yourself, you shouldn't use rakudobrew | 07:59 | |
just work in a git clone, and then recompiling is just "make" | |||
(and "make install") | |||
08:00
xescugc joined
|
|||
neuron | I did try just running 'make', maybe I need 'make install' so that changes in NativeCall.pm6 are installed | 08:01 | |
Yup, that's it, thank you | 08:03 | ||
08:05
dakkar joined
08:06
Ven_ joined
|
|||
neuron | m: use NativeCall; class A is repr<CPPStruct> {}; class B is A {}; my $x= B.new(); say $x.REPR; | 08:06 | |
camelia | rakudo-moar 041919: OUTPUT«P6opaque» | ||
neuron | Shouldn't it be CPPStruct too? | ||
masak | I... don't know. curious. | 08:14 | |
do reprs inherit? | |||
neuron | From my point of view they should, but they don't | ||
But I don't have wide enough knowledge to claim that :) | 08:15 | ||
masak | I can sort of argue that one both ways... | 08:17 | |
though the case for "yes, they inherit" seems slightly stronger, perhaps? | |||
08:18
holyghost joined
08:19
Woodi joined
|
|||
masak always enjoys reading Zefram's bug reports | 08:22 | ||
neuron | I think I'll file a bug we'll see :) | ||
masak | like rt.perl.org/Ticket/Display.html?id=126101, for example. that's fun! | 08:23 | |
m: my $a = 0.99999999999999999999999; say $a > 1 | 08:24 | ||
camelia | rakudo-moar 041919: OUTPUT«True» | ||
masak | marketing^Wordering -- we suck at it | ||
DrForr | Well, I'm working on the marketing bit :) | 08:25 | |
masak | DrForr++ | 08:26 | |
cosimo | I'm surely not the first one to think about this, but... stackoverflow.com/documentation/perl6 :-( | 08:28 | |
psch | m: class A { method foo { .perl.say with self; .perl.say given self } }; A.foo; A.new.foo | 08:29 | |
camelia | rakudo-moar 041919: OUTPUT«AA.newA.new» | ||
cosimo | anything that can be done there? | 08:30 | |
psch | masak: given doesn't care about what it sets $_ to, its with that wants definedness | ||
...my example only shows the difference exists though | |||
m: class A { method foo { .perl.say with self; say ""; .perl.say given self } }; A.foo; A.new.foo | 08:31 | ||
camelia | rakudo-moar 041919: OUTPUT«AA.newA.new» | ||
08:31
abraxxa joined
|
|||
masak | psch: yes, that's what I meant. `with` only runs if the expression is defined. sorry if I phrased it less-than-clearly :) | 08:35 | |
psch | masak: well, using with there means you don't need the :D invocant marker..? | 08:36 | |
masak: granted, i don't think that's the reason for with in the example | |||
m: class A { has $.b is rw; method set-b($a) { .b = $a with self } }; A.set-b("foo") | 08:38 | ||
camelia | ( no output ) | ||
psch | m: class A { has $.b is rw; method set-b($a) { .b = $a with self } }; A.set-b("foo").b.say | ||
camelia | rakudo-moar 041919: OUTPUT«Method 'b' not found for invocant of class 'Slip' in block <unit> at <tmp> line 1» | ||
psch | i mean, that's kind of crazy way of declaring non-static methods, but it does work | 08:39 | |
s/non-static/instance/ # too much java recently :) | |||
DrForr | cosimo: (after signing up) "This tag is too new, or too low activity..." Another system to be gamed in order to get something accomplished? | 08:47 | |
It also says that documentation itself is in beta. | |||
08:56
cosimo left
08:58
zacts left,
cosimo joined
09:00
maybekoo2 joined
09:11
nowan joined
09:16
sftp joined,
zacts joined
09:17
sftp left,
sftp joined
09:35
Ven_ left,
cosimo left
09:36
dj_goku left
09:37
dj_goku joined
09:38
cosimo joined
09:42
s34n left
09:43
s34n joined
09:44
tbrowder joined
09:49
hwcomcn joined
09:50
TEttinger left
09:51
neuron left
09:52
hwcomcn left
09:53
hwcomcn joined
10:15
Ven_ joined
|
|||
dalek | c/predefined_search: 2141eca | Altai-man++ | / (3 files): Now we take predefined search values from outer file |
10:15 | |
10:20
Ven_ left
|
|||
dalek | c: 5f71718 | (Wenzel P. P. Peppmeyer)++ | doc/Type/IO/Path.pod6: remove a few :D because they are a lie |
10:24 | |
10:27
sena_kun joined
10:29
cpage_ left
10:34
travis-ci joined
|
|||
travis-ci | Doc build passed. Altai-man 'Now we take predefined search values from outer file' | 10:34 | |
travis-ci.org/perl6/doc/builds/147427350 github.com/perl6/doc/commit/2141eca64bc9 | |||
10:34
travis-ci left
10:47
rindolf joined
10:50
dvinciguerra_ joined
10:52
dakkar left
|
|||
Zoffix | stmuk, I forgot to respond at the time, but the guy on Reddit isn't wrong. It's the *language* that's in production, but rakudo is still beta. I believe the Christmas release announcement said so too. RE: <stmuk> I was trying to stress the "production" or "release" nature of R* following the guy on reddit saying it was still in beta | 11:05 | |
(or at least that's how I remember it. And current stability and bug amount in Rakudo corroborates it being a beta-level software) | 11:06 | ||
gfldex | Zoffix: Rakudo was in beta until github.com/rakudo/rakudo/blob/nom/...2015.12.md | 11:07 | |
11:12
holyghost left
11:13
ZoffixMobile joined
|
|||
ZoffixMobile | But that very page states it's .0 qualityDo not expect the level of perfection that you see in established products. This is essentially a .0 release of a compiler. We do not claim an absence of bugs or instabilities. We do not claim the documentation is complete. We do not claim portability to many architectures. We do not claim that all downstream software will work correctly: | 11:13 | |
And then proceeds to clarify that it's the language that's stable | 11:14 | ||
DrForr | How hard would it be (putting my foot in it, I know) to set up something akin to what enlightenment.org does that provides a separate PPA repository that we can control? | 11:19 | |
nebuchadnezzar | DrForr: we may ask enlightenment.org how they do? | 11:21 | |
ZoffixMobile | Not sure what "a .0 release" is TBH. Is it 1.0? Is it 0.0? | 11:22 | |
psch | 6.0 :) | ||
gfldex | .0 means: not beta anymore but expect more bugs then usual | ||
Woodi | DrForr: PPAs are for Ubuntu ? Debian repo is just ftp/http and have broader usage | 11:23 | |
ZoffixMobile | I see | ||
DrForr | Woodi: Yeah, I was really speaking in more general terms; providing a repository that we control and can update without relying on Debian to accept stable versions and such. | 11:24 | |
11:24
rindolf left
|
|||
moritz | DrForr: there's a nice command line tool called aptly for managing Debian repositories | 11:24 | |
DrForr | And yeah, PPA is Ubuntu specific. It's just that "I just installed from apt-get and the latest features don't work" looks like it's starting to become a problem. | 11:25 | |
nebuchadnezzar | DrForr: I think the best thing to do it to work on -backports | ||
moritz | DrForr: that, a GPG key and 5 lines of HTTP server config is all it takes to create a repo | ||
11:26
labster left,
kid51 joined
|
|||
moritz | if somebody provides the packages, I'm happy to set up the repo | 11:26 | |
nebuchadnezzar | DrForr: or setup an reprepro | ||
DrForr: you cloud look at wiki.debian.org/SettingUpSignedApt...thReprepro | 11:27 | ||
DrForr | Hrm. Something to look into over (well, not this weekend - I'll be in AMS) next weekend... I've done Debian packaging befoer. | ||
I'm also kind of being selfish because I want people to be able to install the latest with their package manager; I have a training course coming up and it'd be nice to have a repo I can point people to. | 11:28 | ||
11:29
ZoffixMobile left
|
|||
DrForr | Maybe I should take on doing next month's release and see how much work it is to squeeze a repo out of that... (see what I mean by putting my foot in it?) | 11:30 | |
11:30
cooper left
|
|||
DrForr | Bathroom break, back in a few. | 11:30 | |
11:30
cooper joined,
cooper left,
cooper joined
|
|||
nebuchadnezzar | DrForr: for what I know, we are only two people to make the Debian packaging (tracker.debian.org/news/786610), now if you want the latest package on stable Debian, we could work some -backports packages (backports.debian.org/), but we may need more man power | 11:33 | |
11:36
jonadab joined
|
|||
DrForr | Cool. I'm mostly concerned about people being able to install easily, and later on using the same pathway to being able to install perl6-* modules. | 11:42 | |
11:42
Ven_ joined
|
|||
jdv79 | is it hard to install now? | 11:44 | |
DrForr | Not now, but the fewer barriers to adoption the better. | 11:46 | |
Disclaimer: I use rakudobrew exclusively, just because I need source to play with. | 11:47 | ||
jdv79 | in p5 land i've never used rpm repos for anything | ||
usually just compile a p5 and then cpan it | 11:48 | ||
DrForr | I don't either, but adding 'apt-get foo bar perl6-baz perl6-qux' to a Docker or Vagrant commandline is easier than adding rakudobrew commands. | 11:49 | |
jdv79 | ok | 11:50 | |
11:50
dalek joined,
ChanServ sets mode: +v dalek
11:52
dvinciguerra_ left
11:53
tadzik joined
|
|||
DrForr | Toolsets change, and when I was doing my last training session most of 'em just did an apt-get because that's what they're comfortable with. If they'll get the latest version that way now I'm just fine with that, I just want to cut down on the number of complaints about X not working because they don't have the latest version. Of course, for every person that does that there are probably five (being optimistic here) that think "Huh. Have I... oh, | 11:54 | |
11:54
s34n left
11:55
s34n joined
11:58
xescugc left
12:04
kanishka joined
12:06
bob777 joined
|
|||
nebuchadnezzar | DrForr: if you want, you can follow the Debian perl6 group on alioth alioth.debian.org/projects/pkg-rakudo/ | 12:06 | |
DrForr | Nod. | 12:10 | |
12:12
sena_kun left
12:17
Matthew[m] joined,
M-Illandan joined,
pr1 joined
|
|||
pr1 | Hi, why does "'abcd;efgh 2332;ijk:+'.comb(/< .* - [ ; ]>/).say" return (; ;) instead of ("abcd", "efgh 2332", "ijk:+")? Many thanks. pr1 | 12:21 | |
DrForr | Probably because your <..> expression treats 'abcd' as wha to split on. All you should need is /<[ ; ]>? there? | 12:23 | |
tadzik | are you trying to effectively do .split(/;/)? :) | ||
DrForr | Er, /<[ ; ]>/ # dratted shift key. | ||
pr1 | @tadzik: yes, but in perl6 :-) | ||
Lame joke. I'm just playing with .comb | 12:24 | ||
gfldex | m: dd 'abcd;efgh 2332;ijk:+'.comb(/<-[;]>+/); | 12:26 | |
camelia | rakudo-moar 2efb01: OUTPUT«("abcd", "efgh 2332", "ijk:+").Seq» | ||
pr1 | @DrForr: 'abcd;efgh 2332;ijk:+'.comb(/<[ ; ]>/) returns (; ;), not ("abcd", etc.) | 12:27 | |
12:28
frithnanth joined
|
|||
DrForr | yeah, <-[;]> .. that's what I get for not RTFM. | 12:28 | |
pr1 | @DrForr: getting closer: (a b c d e f g h 2 3 3 2 i j k : +) | 12:29 | |
frithnanth | Hi, some days ago I committed a little project on GitHub and I added my module to META.list on ecosystem. | ||
Or so I think :-) Can anyone confirm that I really succeeded in doing that for this project: github.com/frithnanth/perl6-Desktop-Notify ? | |||
DrForr | /<-[;]>+/ | 12:30 | |
tadzik | I don't see it on modules.perl6.org/#q=Desktop | ||
gfldex | frithnanth: you can check in github.com/perl6/ecosystem/blob/ma.../META.list | 12:31 | |
tadzik | right, it's not there | ||
frithnanth | OK, I'll try again | ||
pr1 | @DrForr: my temporary conclusion is that you can do split on groups of distinct characters with .comb | 12:32 | |
perlpilot | prl: not sure if your "why" question was really answered ... the pattern to .comb is what to keep; in your pattern you've got a quote words of ".*" "-" "[" ";" "]" and the only part of that that matches your string is the ";" | ||
pr1: ergo, it keeps the semicolons | 12:33 | ||
DrForr | It's more meant to *retain* whatever the regex matches, so /<-[;]>+/ returns a list of the terms that match. | 12:34 | |
12:36
pr1 left
12:37
pr1 joined
|
|||
frithnanth | Can anyone check if my pull request is there now? | 12:39 | |
Woodi | DrForr: re Debian packaes: if we will have our repo then we will want dayly or weekly packages :) but also standard Debian repos are autamagically trusted so promoting our repo shouldn't be priority... | ||
moritz | pr1: there's nothing wrong with .split, really. If you're more in a split mindset, use it rather than .comb | ||
we just encourage folks to get more into the "what am I looking for?" mindest rather than "what do I have to throw away?" | 12:40 | ||
dalek | osystem: 8627cf2 | frithnanth++ | META.list: Desktop::Notify is a set of simple bindings to libnotify using NativeCall. See: github.com/frithnanth/perl6-Desktop-Notify |
||
osystem: d4c68c5 | (Zoffix Znet)++ | META.list: Merge pull request #228 from frithnanth/patch-2 Desktop::Notify is a set of simple bindings to libnotify using Native… |
|||
12:40
kid51 left,
dvinciguerra_ joined
|
|||
ufobat | yay:D | 12:41 | |
frithnanth | :-) | ||
12:42
yqt joined
|
|||
DrForr | Woodi: Thanks. I really haven't done much research into this matter, and it shows :) I'd just seen a few people cropping up with that problem, figured there had to be an underlying reason. | 12:43 | |
moritz | frithnanth++ | ||
pr1 | Hi, why does '3' ~~ / < [\d] > / return Nil? Thks. | 12:44 | |
tadzik | oh, libnotify :) | ||
perlpilot | pr1: when you have a space after the <, then < > becomes quote-words just like in normal perl code | ||
timotimo | m: say '[\d]' ~~ / < [\d] > / | 12:45 | |
camelia | rakudo-moar b294e9: OUTPUT«「[\d]」» | ||
gfldex | DrForr: if you believe that the debain folk are a little slow with providing recent packages, you may want to sends them a message and ask if there is any specific reason for that and if we can change stuff on our end to help them to get packages out more frequently. | ||
DrForr | Whoa. I'm not criticising anyone here. I'm just saying that I've seen a few people lately with old rakudo builds. | 12:46 | |
perlpilot | pr1: in general, the character immediately after the < determines what meta-syntax you're actually using. So, character classes start with "<[" or "<-" or "<+" (no intervening whitespace) | 12:47 | |
12:48
yqt left
|
|||
moritz | considering that there's a new Debian Stable every 12 or 18 months or so, maybe that's not the primary distribution channel we should aim for right now | 12:48 | |
gfldex | DrForr: in that case I believe that the debian folk are a bit slow to provide recent packages. Bless them, they got way to much on their table already. | ||
Woodi | DrForr: becouse not everyone things debian testing is the Greatest OS available. no idea why... ;) | ||
12:49
telex left
12:50
telex joined,
maybekoo2 left
|
|||
DrForr | Again, I'm not criticising, and I'm not shouting that we have to force people to update worldwide, and I'm well aware that I'm probably seeing confirmation bias; if you're coming here you're more likely to have a problem than not. | 12:52 | |
timotimo | i was on debian sid for a long while | 12:54 | |
12:54
pr1 left
|
|||
gfldex | DrForr: my point is that the problem of slow packageing may be a very simple thing. Maybe they depend on a mailing list that is telling them about our monthly release. Or they don't quite now that they don't need to wait for a star release. | 12:54 | |
s/now/know/ # ENEEDMORETEA | 12:55 | ||
DrForr | Ah, thanks. I probably shouldn't be in a serious conversation here right now anyway... <looks at two terminals that demand attention.. And FB pushing changes.. and Twitter feeds scrolling windows.. and Slack notifications... And Skype...> | 12:56 | |
Woodi | DrForr++ # work++ :) | ||
DrForr | Just grousing at applications demanding attention in lieu of money. And knowing that even if they let me pay I'd still get bombarded with ads, just more targeted. | 12:59 | |
Luckily windows can be hidden and ads blocked, then they start beeping in order to make themselves known. | 13:01 | ||
gfldex | I just checked and 2016.07.1-1 is in unstable. There seam to be no blockers so it will propagate to testing automatically. | 13:03 | |
moritz loves that in a new firefox, you can disable sound per tab | |||
timotimo | also possible in google-chrome :) | 13:04 | |
(it may still be behind a chrome://flags checkbox, though) | |||
CIAvash | Isn't "source-url" in META6.json necessary? | 13:05 | |
13:07
bob778 joined
|
|||
unmatched} | .ask AlexDaniel why did you tell me that I should be fixing things in irclog.perlgeek.de/perl6/2016-07-22#i_12892225 ? As far as I can tell, I'm actually doing it right. `source-url` is not in the spec | 13:07 | |
yoleaux | unmatched}: I'll pass your message to AlexDaniel. | ||
13:07
bob777 left,
bob778 is now known as bob777
|
|||
unmatched} | CIAvash: thjere's support -> source but it's optional | 13:09 | |
Though I'm unsure how our ecosystem will handle it. I guess we'll find out with frithnanth's module | |||
CIAvash | Yeah, I thought module installers use that url | 13:10 | |
jdv79 | unmatched}: no. that's panda. | 13:11 | |
unmatched} | jdv79: mp tjat | ||
jdv79: no that's pandda what? | |||
jdv79 | META.info i mean | ||
unmatched} | jdv79: the source-url? | 13:12 | |
jdv79 | META6.json it should be support.source iirc | ||
yes | |||
unmatched} | Yeah, that's what I recollect too. | ||
Tho we still list `source-url` in the docs: docs.perl6.org/language/modules#Di...ng_Modules | 13:13 | ||
jdv79 | hmm, wonder if that's good | ||
unmatched} | The whole topic of what should be in the META file is a bit confused :) | 13:14 | |
jdv79 | i wasn't aware of that. ugexe probably knows more. but META6.json is speced | ||
META.info is the legacy unoffical thingee | |||
unmatched} | A few days ago, ugexe said that design.perl6.org/S22.html#META6.json is up to date, except for the `resources` field details | 13:15 | |
jdv79 | meanwhile zef's META6.json has source-url:) | ||
unmatched} | XD | ||
jdv79 | i wonder if that's so panda can install it? | ||
ugexe: ^^ | |||
13:16
sufrostico joined
|
|||
unmatched} | According to AlexDaniel's counts, out of 680 modules there are only 26 modules with support.source instead of support-url and 19 of them are mine | 13:16 | |
13:18
pdcawley left,
pdcawley_ joined,
canopus left
|
|||
CIAvash | github.com/tadzik/panda/blob/maste...#L136-L137 | 13:18 | |
13:19
holyghost joined
|
|||
unmatched} | And it dies if both are missing, yet source-url is not specced and support.source is optional | 13:19 | |
jdv79 | whichever. just choose one please. | ||
and spec it and version the other out over time | |||
amazing how some stuff is still mushy at this point | 13:20 | ||
unmatched} | Unless someone wants to do 660 PRs, I think source-url the contender to stay, based on just use alone | ||
Shorter to type too. | |||
jdv79 | it is optional because there should be an index | ||
13:21
Sgeo left
|
|||
jdv79 | there has to be. how do you fetch META6.json from somewhere without already knowing where somewhere is:) | 13:21 | |
tadzik | re stuff being mushy, do not underestimate the inertia of existing code :) | ||
unmatched} | :) | ||
tadzik | I had to check, but I woudn't be very surprised if SHELTER was still a thing :) | ||
unmatched} | It is :) | 13:22 | |
tadzik | waitwhat | ||
oh, it's just in mu now | |||
yeah, see :) | |||
unmatched} | github.com/perl6/mu/tree/master/misc/SHELTER | ||
tadzik | it dates back to either the birth of panda or a bit before that | 13:23 | |
13:25
skids joined
13:26
canopus joined
13:30
brrt joined
|
|||
jeek | tadzik: Love the nick | 13:33 | |
tadzik *blushes* | 13:34 | ||
unmatched} | Well, I opened an issue on the whole META6.json stuff: github.com/perl6/doc/issues/764 | 13:35 | |
GitHub won't let me stick any labels on it for some reason :\ | |||
moritz | unmatched}: which label do you want me to add? | 13:46 | |
unmatched}: "docs" I guess? | 13:47 | ||
unmatched} | moritz: I wanted "BIG" since the fix would require either fixing all of our tooling or changing what the speculation dictates | 13:53 | |
13:54
rindolf joined
|
|||
ugexe | source-url was never a spec'd key. its an ecosystem spec | 13:54 | |
13:55
ptolemarch joined
|
|||
ugexe | and you can't really make it mandatory because of darkpans | 13:56 | |
unmatched} | Then we just need to fix the tools that explode when no URLs are given | 13:58 | |
13:58
avenj left
|
|||
ugexe | the ecosystem could refuse to index them | 13:58 | |
source-url could be seen as an ecosystem related meta6 extension | |||
unmatched} | Sounds good | 13:59 | |
moritz | unmatched}: ok, I've added the "big" label | 14:01 | |
unmatched} | moritz++ | 14:02 | |
timotimo | why "big" and not "BIG" or even "BIG"? | 14:03 | |
14:04
smls joined
|
|||
jdv79 | there are no darkpans yet are there? | 14:05 | |
there is barely a cpan | |||
smls | What's this on latest rakudobrew update: "===> Install [FAIL] for zef:auth('github:ugexe'): zef:ver<*>:auth<github:ugexe>:api<> already installed" | ||
unmatched} | As far as I can tell, modules.perl6.org doesn't care about source-url and uses the meta file URL to get the repo details from. | ||
smls: the error says it's already installed... | |||
zef uninstall zef; # will probably work | 14:06 | ||
jdv79 | yes. its that one file for modules. cpan doesn't care either cause it just knows. | ||
unmatched} | Amusingly, it uses source-url to ascertain panda compliance and I think that's used in Koality score too ^_^ | 14:07 | |
smls | unmatched}: `zef uninstall zef` fails with "Method 'meta' not found for invocant of class 'Zef::Distribution'" :S | ||
I guess I have to nuke my rakudobrew again | 14:08 | ||
unmatched} | *shrug* | ||
ugexe | smls: oh, yea you probably need to nuke because of the Distribution changes in 2016.07 | ||
unmatched} | smls: I have this aliased for `update-perl6`: update-perl6 is aliased to `rm -fr ~/.zef; rm -fr ~/.perl6; rm -fr ~/.rakudobrew/; git clone github.com/tadzik/rakudobrew ~/.rakudobrew; rakudobrew build moar; rakudobrew build zef; *installation of some modules that I commonly use* | ||
jdv79 | metacpan6 would just use it to expose the repo on the left rail iirc | 14:09 | |
unmatched} | How is that going, BTW? | ||
Any progress since we last talked about there being no volunteers to do the work and no progress? :) | 14:10 | ||
jdv79 | i haven't looked at it for a couple months. other things came up. iirc its just a bunch of minor issues. | 14:11 | |
i basically stopped when mst said there was some cpan issues | |||
they may be fixed now...? mst: ^^? | |||
as soon as we can use cpan i think we can move forward easier | |||
:) | 14:12 | ||
unmatched} | :) | 14:13 | |
jdv79 | and then zef was, around that time, just getting the first hints of cpan support | ||
so its on the edge of being useable maybe | 14:14 | ||
unmatched} | Sweet | 14:15 | |
jdv79 | and then one complicated issue is how hard it is to gen docs | ||
TimToady said maybe we could relax the runtime requirements for the majority but that seems like a lot of work | |||
14:18
brrt left
14:19
brrt joined
14:29
Ven_ left
|
|||
nine | smls: if you need to nuke thats a bug that I'd like to see reported | 14:30 | |
ugexe: ^^^ | 14:31 | ||
smls | nine: I did nuke, and now everything works fine. | ||
nine | smls: darn :/ | 14:32 | |
smls | (Maybe it's because I was using moar-blead?) | ||
ugexe | nine: its because zef subclassed Distribution. he upgraded rakudo to the new Distribution stuff but zef still had the old code so it couldnt update itself. rakudobrew build zef fails because of version: "*" | ||
nine | smls: no, the only situation at all where nuking may be necessary is when you downgrade | ||
ugexe: yes that's a bug | 14:33 | ||
14:34
kurahaupo joined,
MorayJ joined
|
|||
ugexe | its the fake role / submethod new things in Distribution | 14:34 | |
nine | ugexe: it means we broke the promise of backwards compatibility and we should fix it | 14:35 | |
ugexe | oh, i pointed out this before and thought it was known | ||
nine | ugexe: can you please have a look? You're definitely the one most familiar with the code | 14:36 | |
14:40
hwcomcn left
|
|||
ugexe | m: role Foo { submethod new(*%_) {class :: { has $.bar; }.new(|%_)} }; say Foo.new(bar => 1).bar; class Foo2 is Foo {}; say Foo2.new(bar => 2).bar | 14:45 | |
camelia | rakudo-moar b294e9: OUTPUT«1Method 'bar' not found for invocant of class 'Foo2' in block <unit> at <tmp> line 1» | ||
14:45
holyghost left
14:46
holyghost joined
14:47
avenj joined
|
|||
ugexe | my suggestion before was if backwards compat was a to priority that the Distribution interface role would need to be named Distribution::Interface or some such gist.github.com/ugexe/72b5e491fddb...039725872a | 14:50 | |
m: role Bar { method meta {1}; method content {1}; }; class Foo does Bar { }; my $foo = Foo.new but Distribution; $foo.meta # as a contract role it's also off | 14:53 | ||
camelia | rakudo-moar b294e9: OUTPUT«Method 'meta' must be implemented by Foo+{Distribution} because it is required by role Distribution in block <unit> at <tmp> line 1» | ||
nine | Well I didn't know that what we ended up implementing was not compatible enough. I just don't know zef's code as well as you | ||
ugexe | i mentioned zef subclassed Distribution after you said we probably didn't have to worry about anyone subclassing Distribution, but it must have got burried | 14:55 | |
mst | I don't remember seeing that in #perl6-toolchain, sorry | 14:56 | |
ugexe: is this another case where you keep ignoring the toolchain channel and saying things in here and they get lost? | |||
14:56
Tonik joined
14:57
brrt left
|
|||
mst | or did I just completely flake on noticing that line | 14:57 | |
ugexe | mst: irclog.perlgeek.de/perl6/2016-06-26#i_12738185 | ||
mst | ugexe: yeah, not in here | ||
ugexe: in -toolchain which I created specifically so things like this *didn't* get buried | |||
ugexe: which you keep not using, and then they get buried :P | |||
I have already solved the problem. use the solution please. | 14:58 | ||
14:59
khw joined
15:00
bob777 left
|
|||
unmatched} | Heh, this is amusing :) github.com/rails/rails/commit/b839...a393e6dc57 | 15:00 | |
15:00
inokenty joined
|
|||
unmatched} didn't even know we had a -toolchain | 15:03 | ||
There's -dev, and -release ETOOMANYCHANNELS | |||
timotimo | and also -noise-gang | 15:04 | |
perlpilot | unmatched}: aye, but you don't have to be in all of them. | ||
unmatched} | And -gaming too, eh? | 15:05 | |
perlpilot: but apparently some dev stuff is missed if you aren't :) | |||
dalek | c: e6261d7 | TimToady++ | doc/Type/Nil.pod6: contrast Nil with Failure and Empty Explain relationship of Nil with Failure a bit better. On assignment, only Nil resets a container to default; Failure or other derived classes never do. Failure.new passes Any:D but will fail Int:D. Mention that Empty is available for non-space-taking purposes. |
15:06 | |
unmatched} | And you get yelled at by mst :) | ||
perlpilot | unmatched}: well ... if you're doing toolchain stuff, #perl6-toolchain is probably the place you want to discuss it. | 15:07 | |
TimToady | maybe we need a bot that looks for certain concepts and suggests other channels | ||
15:08
Ven_ joined
|
|||
unmatched} | perlpilot: why not -dev? I flipped through a few days of logs, it doesn't look like it's high-trafficed | 15:08 | |
gfldex | 2 more bots and I need a bot to tell me what bot I need to talk to | ||
unmatched} | And -release seems to be dead entirely | ||
TimToady | .oO("You mentioned python, maybe you'd be more comfortable over on #sheeple" :) |
||
unmatched} | And I think -toolchain was created before we got -dev | 15:09 | |
TimToady | well, we had p6dev before that | ||
gfldex | is there a waterbed theory of communication? | ||
perlpilot | -release is highly specialized and very temporally relevant. ;) | ||
TimToady | gfldex: there's a theory that communication often leaks... | 15:10 | |
unmatched} | perlpilot: what's the specialization? | ||
and relevance. | |||
perlpilot | releases aren't something we talk about everyday | ||
unmatched} | Considering the release manager for the last two releases never even thought about that channel :P | ||
15:10
molaf joined
|
|||
perlpilot | Well ... maybe we've not quite the critical mass to make so many channels necessary. Maybe we prematurely optimized. I dunno. | 15:12 | |
15:13
zakharyas left
|
|||
unmatched} nods in agreemeent | 15:14 | ||
15:14
pmurias joined
|
|||
pmurias | hi | 15:15 | |
unmatched} | \o | ||
15:16
Ven_ left,
smls left
15:17
xinming_ joined
15:18
pmurias left
15:20
xinming left
15:21
pmurias joined
15:23
Ven_ joined,
huggable joined
|
|||
unmatched} | dalek, camelia, synopsebot6, bisectable, committable, yoleaux, yoleaux2, huggable and [soon to be birthed] buggable. Quite a family of bots we got :) | 15:23 | |
Oh and ilbot3 | |||
15:26
sisar joined
|
|||
[Coke] | lizmat++ | 15:28 | |
15:28
Usermac joined
|
|||
[Coke] | (hacking, weekly) | 15:28 | |
Usermac | Is there an online "PERL 6" interpreter? | 15:29 | |
lizmat | :-) | ||
unmatched} | Usermac: yes, glot.io | ||
Usermac | thx | ||
unmatched} | Usermac: and it's Perl, not PERL | ||
Seems Glot.IO is busted ATM. Says "Running..." but doesn't complete. And perl6.party's code snippets don't return either so the API is busted too | 15:31 | ||
15:32
cibs left
15:34
cibs joined
|
|||
[Coke] | (in review) the -release channel is mostly unused at this point. | 15:36 | |
m: say "{ 'usermac'.tclc } - there's also one here." | 15:40 | ||
camelia | rakudo-moar b294e9: OUTPUT«Usermac - there's also one here.» | ||
15:42
Usermac left
|
|||
unmatched} | lol | 15:43 | |
15:47
sisar left
15:48
cdg joined
15:50
xinming joined
15:53
xinming_ left
15:56
dogbert17 joined
|
|||
unmatched} | Is Perl 5 needed just for panda in R*? www.reddit.com/r/perl/comments/4um...ar/d5rkq18 | 15:58 | |
16:00
zacts left
|
|||
unmatched} | (or any other stuff that comes with Strawberry) | 16:00 | |
mst | eh? | ||
perl5 is used during configure | |||
16:00
zakharyas joined
|
|||
mst | gm | 16:00 | |
no idea about panda | 16:01 | ||
unmatched} | mst: but that's not run with built .msi's is it? | ||
mst | right, so, dunno wrt panda | ||
gfldex | unmatched}: checking my clean windows VM | ||
unmatched}: only git | 16:02 | ||
16:02
domidumont left
|
|||
unmatched} | Thanks. | 16:04 | |
16:09
AndyBotwin joined
16:11
BillSussman left,
ruoso joined
16:13
pmurias left
16:16
zacts joined
|
|||
tadzik | panda doesn't use perl5 | 16:16 | |
ugexe | probably from when it used prove | 16:17 | |
16:17
ptolemarch left,
frithnanth left
|
|||
unmatched} | ugexe: does zef require git? | 16:19 | |
ugexe | unmatched}: short answer yes, long answer no. if you s/$source-url/$github-tar.gz-url/ in the package list then no. but there is no automatic github-to-targz conversion in the main branch yet | 16:21 | |
unmatched} | Ah | ||
16:24
sena_kun joined
16:26
Actualeyes left
|
|||
dogbert17 | o/ #perl6 | 16:27 | |
unmatched} | \o | ||
dogbert17 | Hi zoffix :) | 16:28 | |
Have finally managed to scribble together some docs for categorize-list. Does it look ok or is it bs? gist.github.com/dogbert17/6caf9f74...e87ef47ab3 | 16:29 | ||
ugexe | actually Distribution::Common::Remote::Github does not require `git`, so thats one pure perl6 way | 16:30 | |
16:33
Ven_ left
16:34
KaitoDaumoto joined
|
|||
gfldex | dogbert17: i would write: `multi method categorize-list(&test:(Any --> Bool), *@list) returns Baggy`. You need to make clear what the &test gets and what it needs to return. Also --> Any:D isn't really a thing. | 16:34 | |
dogbert17 | gfldex: thx, I'll change it | 16:37 | |
gfldex | dogbert17: actually it's more like `(&test:(T --> Bool)), ::T *@list)` but I don't think we support this kind of type capture. | ||
m: class Baddy is Nil {}; sub niler( --> Any:D ) { Baddy.new }; my $i = 42; $i = niler; dd $i; | 16:38 | ||
camelia | rakudo-moar 22e46b: OUTPUT«Any $i = Any» | ||
gfldex | ^^^ that's why --> Any:D isn't really a thing | ||
dogbert17 | gfldex: so should I use your first suggestion then? | 16:40 | |
unmatched} | m: sub (--> Any:D) { Mu.new }() | 16:43 | |
camelia | rakudo-moar 22e46b: OUTPUT«X::TypeCheck::Return exception produced no message in sub at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
unmatched} | nice error :) | 16:44 | |
gfldex: so :D on return types isn't really a thing? | |||
psch | m: sub f(--> Any:D) { Any }; f() | 16:45 | |
camelia | rakudo-moar 22e46b: OUTPUT«Type check failed for return value; expected return type Any cannot be itself (perhaps returning a :D type object?) in sub f at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
psch | Nil just is special in a few ways | ||
i don't know if TimToady++'s judgement on container constraints generalizes to return type checks | |||
m: my Any:D $x; | |||
camelia | rakudo-moar 22e46b: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Variable definition of type Any:D requires an initializerat <tmp>:1------> 3my Any:D $x7⏏5; expecting any of: constraint» | ||
psch | m: my Any:D $x = Any; | ||
camelia | rakudo-moar 22e46b: OUTPUT«Type check failed in assignment to $x; expected Any:D but got Any (Any) in block <unit> at <tmp> line 1» | ||
unmatched} | m: sub f(--> Int:D) { Int }; f() | 16:46 | |
camelia | rakudo-moar 22e46b: OUTPUT«Type check failed for return value; expected return type Int cannot be itself (perhaps returning a :D type object?) in sub f at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
unmatched} | That error message is confusing | ||
psch | a bit, yeah | ||
m: sub f(--> Any:D) { Any:D }; f() | 16:47 | ||
camelia | rakudo-moar 22e46b: OUTPUT«Type check failed for return value; expected Any but got Any:D (Any:D) in sub f at <tmp> line 1 in block <unit> at <tmp> line 1» | ||
psch | okay yeah that's worse | ||
unmatched} | :} | ||
psch | especially considering that's what the previous error suggests, i think..? | ||
[Coke] | Any:D isn't an Any:D | 16:48 | |
unmatched} | I think the previous error should have "return type Int:D cannot be itself" | ||
[Coke] | Any:D by itself is a type object, which isn't defined. | ||
psch | [Coke]: oh. i read ":D (type object)" vs "(:D type) object" | ||
...i'm not sure that actually clarifies anything though | 16:49 | ||
"and object of type :D" i.e. a defined object, vs "a type object with a type smiley" | |||
unmatched} | And the "perhaps returning" part... eh, IMO it should go away entirely. | ||
Doesn't seem to add anything and has an Engrish feel to it. | |||
psch | "return value $value does not match definedness constraint :D" or something maybe | 16:50 | |
unmatched} | psch++ | ||
psch | that is, if it's only about the smiley | ||
if there's also a mismatch in type itself we probably should mention that too :) | |||
dogbert17 | so, should I go for multi method categorize-list(&test:(Any --> Bool), *@list) returns Baggy | 16:51 | |
16:54
zacts left
|
|||
gfldex | the error message should state that a undefined value can not be returned thanks to a constraint | 16:55 | |
16:55
FROGGS joined
|
|||
gfldex | dogbert17: yes, and explain that Any should be of the same type then the elements on @list. | 16:56 | |
m: sub f(&c:(T), ::T @l){}; | |||
camelia | rakudo-moar 22e46b: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Invalid typename 'T' in parameter declaration.at <tmp>:1------> 3sub f(&c:(T7⏏5), ::T @l){};» | ||
dogbert17 | gfldex: will do | ||
gfldex | m: sub f(::T @l){}; | 16:58 | |
camelia | ( no output ) | ||
gfldex | m: sub f(::T @l, &c:(T)){}; | ||
camelia | ( no output ) | ||
gfldex goes to ponder how to phrase the rakudobug subject for that one | 16:59 | ||
psch | m: sub f(&c:(::T), T @l){}; | 17:01 | |
camelia | rakudo-moar 22e46b: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Invalid typename 'T' in parameter declaration.at <tmp>:1------> 3sub f(&c:(::T), T7⏏5 @l){};» | ||
psch | m: sub f(&c:(::T $), T @l){}; | ||
camelia | rakudo-moar 22e46b: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Invalid typename 'T' in parameter declaration.at <tmp>:1------> 3sub f(&c:(::T $), T7⏏5 @l){};» | ||
psch | right, that's lexical scoping | 17:02 | |
i mean, the last one | |||
a bit unfortunate for "i want exactly this order"-cases | 17:03 | ||
17:03
pochi joined
|
|||
psch | not sure leaking that T outwards is a good idea though | 17:04 | |
m: sub f(&c:($a), $a) { } # *might* poison this use case if we're not careful | |||
camelia | ( no output ) | ||
pochi | can I prevent perl6 from generating the default new()-method for my class? | 17:07 | |
psch | pochi: you can overwrite it | ||
pochi: but since you have to have a parent class and Mu implements new you can't really not have it | 17:08 | ||
pochi: except maybe with a different Metaobject | |||
gfldex | pochi: you would have to build your own type system. | ||
pochi | yikes - don't wanna do that :-) | ||
unmatched} | pochi: why? | 17:09 | |
pochi: you can add proto new (|) {} if the Mu's new conflicts with your own news | 17:10 | ||
(when having multis) | |||
17:10
firstdayonthejob joined
|
|||
pochi | what does proto new (|) {} do? | 17:11 | |
unmatched} | No idea. | 17:12 | |
Black magic :) | |||
psch | it declares a proto that doesn't dispatch to the multi candidates of the same name | ||
unmatched} | pochi: it's documented here, if it helps: docs.perl6.org/syntax/proto | ||
psch | and instead does nothing | ||
17:12
domidumont joined
|
|||
unmatched} | psch: but what's a "proto"? | 17:13 | |
And how come multi dispatch still works if it does nothing? | |||
psch | m: proto foo(|) { }; multi foo($) { say "foo" }; foo 1 | 17:14 | |
camelia | ( no output ) | ||
psch | unmatched}: but it doesn't work if you don't have a Whatever in the body :) | ||
m: proto foo(|) {*}; multi foo($) { say "foo" }; foo 1 | |||
camelia | rakudo-moar 22e46b: OUTPUT«foo» | ||
unmatched} | m: class Meow { proto new(|) {}; multi method new ($x) { say $x } }.new: 42 | ||
camelia | rakudo-moar 22e46b: OUTPUT«42» | ||
unmatched} | Seems to work :) | ||
17:14
TEttinger joined
|
|||
psch | that's 'cause you also have the Mu.new proto already there | 17:15 | |
unmatched} | Ah | ||
17:15
sno left
|
|||
dalek | c: d54f984 | (Jan-Olof Hendig)++ | doc/Type/Baggy.pod6: Added some docs for Baggy.categorize-list. gfldex++ |
17:15 | |
psch | m: class Meow { proto new(|) {}; multi method new ($x) { say $x } }; say Meow.^can('new')>>.is_dispatcher | ||
camelia | rakudo-moar 22e46b: OUTPUT«(True True)» | ||
psch | as seen there | ||
unmatched} | m: class Meow { multi method new ($x) { say $x } }.new: | 17:16 | |
camelia | rakudo-moar 22e46b: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Confusedat <tmp>:1------> 3 multi method new ($x) { say $x } }.new:7⏏5<EOL> expecting any of: colon pair» | ||
unmatched} | m: class Meow { multi method new ($x) { say $x } }.new: 42 | ||
camelia | rakudo-moar 22e46b: OUTPUT«42» | ||
17:17
acrussell joined
|
|||
pochi | Hm, not sure I understood what the proto thing did ... | 17:17 | |
psch | pochi: a proto is for declaring what kind of multis you want to allow | ||
pochi: for example a proto with the Signature ($, $) only allows multi candidates with positionals | 17:18 | ||
+two | |||
pochi | I tried proto new(Numeric $t1, |) {*} but it still allowed empty news | ||
unmatched} | m: class Meow { proto method new (|) {*}; multi method new ($x) { say $x } }.new: :42foo | 17:19 | |
camelia | rakudo-moar 22e46b: OUTPUT«Cannot resolve caller new(Meow: Int); none of these signatures match: (Meow $: $x, *%_) in block <unit> at <tmp> line 1» | ||
unmatched} | "caller new(Meow: Int);" ?? | ||
psch | unmatched}: that should have a named marker on the Int, yeah | 17:20 | |
m: class Meow { proto method new(|) {}; multi method new ($x) { say $x } }; say Meow.^can('new')>>.package | 17:21 | ||
camelia | rakudo-moar 22e46b: OUTPUT«((Meow) (Mu))» | ||
unmatched} | pochi: it's `proto method` | ||
psch | also unmatched}++, 'method' keyword matters a lot there :) | ||
you still don't get rid of the Mu proto, but you at least shadow it | |||
unmatched} | .oO( proto proto ) |
||
psch++ I think I finally understand proto :) | 17:22 | ||
pochi | nice, that worked :-) | ||
_and_ it gives sane error messages when I try empty or non-compliant signatures :-) | |||
psch | m: class Meow { proto method new(|) {}; multi method new ($x) { say $x } }; my &new = Meow.^can('new')[1]; say Meow.&new | 17:23 | |
camelia | rakudo-moar 22e46b: OUTPUT«Meow.new» | ||
psch | but it can still be circumvented :) | ||
pochi | :-) | ||
psch | the problem with too good introspection vOv | 17:24 | |
pochi | well, at least then you know you're doing something "bad" | ||
psch | yeah, definitely | 17:25 | |
dogbert17 | hmm, panda install Pod::To::BigPage fails with: ===SORRY!=== Expected MAST::Frame, but didn't get one t/P.t .. Dubious, test returned 1 (wstat 256, 0x100) | 17:28 | |
unmatched} | dogbert17: it's the LWP::Simple. It's busted | 17:31 | |
I ended up just rewriting one of my modules to use HTTP::UserAgent instead | |||
17:31
zakharyas left
|
|||
unmatched} | dogbert17: I think if you force install LWP::Simple Pod::To::BigPage will still work | 17:32 | |
panda --notests install Pod::To::BigPage # or just skip the testing | |||
17:32
MorayJ left
|
|||
dogbert17 | unmatched}: I'll try your suggestion ... | 17:33 | |
I'm using rakudobrew if it makes any difference | 17:35 | ||
gfldex | dogbert17: the culprit is IO::Socket::SSL | 17:36 | |
dogbert17 | gfldex: aha, is it buggy? | 17:37 | |
gfldex | dogbert17: if you remove it LWP::Simple works just fine | ||
17:38
domidumont left
|
|||
unmatched} | except for HTTPS urls :) | 17:38 | |
17:42
lichtkind joined
|
|||
gfldex | should I need the binding in this example? stackoverflow.com/a/38585401/5854207 | 17:44 | |
skids | I would not think you would need a bind, and in fact should generally avoid them with Array indices. | 17:47 | |
gfldex | doesn't work without it | ||
skids | m: my %a = :a[1,2,3],; my %b = %a.deepmap(*.clone); %a<a>[0].VAR.WHAT.say; %b<a>[0].VAR.WHAT.say # Should be Scalar in both cases | 17:52 | |
camelia | rakudo-moar 22e46b: OUTPUT«(Scalar)(Int)» | ||
17:53
acrussell left
|
|||
skids | m: my @a = 1,2,3; my @b = @a.clone; @a[0].VAR.WHAT.say; @b[0].VAR.WHAT.say | 17:53 | |
camelia | rakudo-moar 22e46b: OUTPUT«(Scalar)(Scalar)» | ||
lichtkind | cheers | 17:54 | |
any upcoming event on the jvm fontend? | |||
skids | m: my $a = Pair.new("a",[ 1,2,3 ]); my $b = $a.clone; $a.value[0].VAR.WHAT.say; $b.value[0].VAR.WHAT.say | 17:55 | |
camelia | rakudo-moar 22e46b: OUTPUT«(Scalar)(Scalar)» | ||
psch | lichtkind: we recently got a workaround for installing r-j as well as a tidy restructuring of interop | ||
lichtkind: nothing feature wise in the near feature yet afaict, i for one am mostly bashing my head against long standing bugs :) | 17:56 | ||
lichtkind | thanks | ||
but jvm port is still some features behinf moar? | |||
psch | yes | ||
gfldex | skids: do I understand that right, that deepmap is doing something wrong? | 17:57 | |
skids | gfldex: yes, or something called by it. | ||
lichtkind | psch: can you link me please to the comparison page cant find it | 17:58 | |
skids | Maybe Hash.clone | 17:59 | |
17:59
itaipu joined
|
|||
skids | m: my %f; %f<a> = 1; %f<b> := 2; my %g = %f.clone; %f<a>.VAR.WHAT.say; %f<b>.VAR.WHAT.say; %g<a>.VAR.WHAT.say; %g<b>.VAR.WHAT.say; # Also fishy | 17:59 | |
camelia | rakudo-moar 22e46b: OUTPUT«(Scalar)(Int)(Scalar)(Scalar)» | ||
lichtkind | im currently lanning some perl 6 article for a major java site :) | ||
gfldex | lichtkind: more propaganda is more better! | 18:00 | |
lichtkind | i want actually provide real information | ||
18:01
ismailarilik joined
|
|||
ismailarilik | Hi! | 18:03 | |
TimToady | m: my %a = :a[1,2,3],; my %b := %a».clone; %a<a>[0].VAR.WHAT.say; %b<a>[0].VAR.WHAT.say | ||
camelia | rakudo-moar 22e46b: OUTPUT«(Scalar)(Int)» | ||
TimToady | m: my %a = :a[1,2,3],; my %b := %a».VAR.clone; %a<a>[0].VAR.WHAT.say; %b<a>[0].VAR.WHAT.say | ||
camelia | rakudo-moar 22e46b: OUTPUT«(Scalar)(Scalar)» | ||
TimToady | a . will deref a VAR by default | ||
18:06
spider-mario joined
|
|||
gfldex | is the borked container a bug then? (need that info to complete the answer on stackoverflow) | 18:07 | |
psch | lichtkind: i don't know of any comparison page. grepping for 'rakudo.jvm [skip||todo]' in roast and RT tickets is the only way i keep track of what's not working yet | 18:08 | |
m: class A { has $.a }; A.a.VAR.WHAT.say | |||
camelia | rakudo-moar 22e46b: OUTPUT«Cannot look up attributes in a type object in block <unit> at <tmp> line 1» | ||
psch | m: class A { has $.a }; A.new.a.VAR.WHAT.say | ||
camelia | rakudo-moar 22e46b: OUTPUT«(Any)» | ||
18:09
girafe joined
|
|||
skids | gfldex: Hrm maybe I'm wrong about Hash.clone. Undoing a direct Scalar link might be in the spirit of .clone. But, stripping Scalars per the examples with Array probably is not, especially since Array without Scalar containers is supposed to be something you have to forcefully ask for. | 18:09 | |
lichtkind | there was once a comparison page of all compilers features but i guess its out of date | ||
skids | s/direct Scalar link/direct link/ | ||
unmatched} | lichtkind: the page is this, but yeah, likely very out of date: perl6.org/compilers/features | 18:13 | |
lichtkind | but it only improved from there | 18:15 | |
unmatched} | Maybe, but that's not guaranteed. If a feature was changed near Christmas and one backend haven't caught up with the changes, it's now busted, even though the feature was working in the past :) | 18:16 | |
e.g., I doubt niezche does all the basic types at 100% due to GLR :) | 18:17 | ||
18:17
canopus left
|
|||
skids | m: my %f; %f<a> = 1; %f<b> := 2; my %g := %f.clone; %f<a>.VAR.WHAT.say; %f<b>.VAR.WHAT.say; %g<a>.VAR.WHAT.say; %g<b>.VAR.WHAT.say; # Thanks to TimToady for clearing that one up. | 18:18 | |
camelia | rakudo-moar 22e46b: OUTPUT«(Scalar)(Int)(Scalar)(Int)» | ||
18:20
cyphase left
18:23
acrussell joined
18:25
cyphase joined,
canopus joined
18:27
labster joined,
hankache joined
|
|||
skids | m: for 42, $(42), $(42,), $(now) { .VAR.WHAT.say } | 18:28 | |
camelia | rakudo-moar 22e46b: OUTPUT«(Int)(Int)(Scalar)(Instant)» | ||
skids | m: for 42, $(42), (42,), $(42,), $(now) { .VAR.WHAT.say } | 18:29 | |
camelia | rakudo-moar 22e46b: OUTPUT«(Int)(Int)(List)(Scalar)(Instant)» | ||
skids | enough scab picking I have to do some $DAYJOB | 18:30 | |
gfldex | skids: see line 10 gist.github.com/gfldex/688fb7e3caf...5ac0a5889a | ||
skids | gfldex: I would not have thought of that as a workaround, kudos. | 18:32 | |
rindolf | skids: what does := do? | 18:36 | |
gfldex | i'm not sure if that's a bug or not. If you call clone, do you want the value cloned or the container? Esp. in conjunction with deepmap. deepmap is supposed to recreate the iterable structes and call the block on the values. The default is call by reference, so the container is gone. | 18:38 | |
tricky one | |||
rindolf: := will force binding | |||
rindolf | gfldex: what is binding? | 18:39 | |
unmatched} | ha! neat. gfldex++ | ||
gfldex | rindolf: i wrote a lenghty adventpost about binding. It may be lenghty for a reason. | ||
unmatched} | m: set(1,2,3) ~~ Iterable | 18:40 | |
camelia | ( no output ) | ||
unmatched} | m: say set(1,2,3) ~~ Iterable | ||
camelia | rakudo-moar 22e46b: OUTPUT«False» | ||
gfldex | i'm not overy happy with docs.perl6.org/language/containers | ||
arnsholt | m: my @a = 1,2,3; my @b = @a; @b.push: 4; say @a; say @b | ||
camelia | rakudo-moar 22e46b: OUTPUT«[1 2 3][1 2 3 4]» | ||
arnsholt | m: my @a = 1,2,3; my @b := @a; @b.push: 4; say @a; say @b | ||
camelia | rakudo-moar 22e46b: OUTPUT«[1 2 3 4][1 2 3 4]» | ||
arnsholt | Roughly, that's the difference | ||
rindolf | gfldex: ah. | ||
18:40
mohae joined
|
|||
gfldex | you need to play with Proxy to understand binding | 18:40 | |
unmatched} | m: my $s = set(1, 2, 3); -> $c is copy { $c<5>++ }($s); dd $s | 18:41 | |
camelia | rakudo-moar 22e46b: OUTPUT«Cannot resolve caller postfix:<++>(Bool); none of these signatures match: (Mu:D $a is rw) (Mu:U $a is rw) (Int:D $a is rw) (int $a is rw) (Bool:U $a is rw) (Bool:D $a is rw) (Num:D $a is rw) (Num:U $a is rw)…» | ||
unmatched} | m: my $s = set(1, 2, 3); -> $c is copy { $c<5> = True }($s); dd $s | ||
camelia | rakudo-moar 22e46b: OUTPUT«Cannot modify an immutable Set in block <unit> at <tmp> line 1» | ||
unmatched} | m: my $s = SetHash.new: 1, 2, 3; -> $c is copy { $c<5> = True }($s); dd $s | ||
camelia | rakudo-moar 22e46b: OUTPUT«SetHash $s = SetHash.new(3,1,2,IntStr.new(5, "5"))» | ||
18:41
setty1 joined
|
|||
unmatched} | The -> $c is copy trick probably won't work for stuff liek the aBOVE | 18:42 | |
m: my %h; say %h ~~ Iterable | |||
camelia | rakudo-moar 22e46b: OUTPUT«True» | ||
arnsholt | m: my $a = 1; my $b := $a; $b = 2; say $a, $b; # Also, this | 18:43 | |
camelia | rakudo-moar 22e46b: OUTPUT«22» | ||
arnsholt | Roughly speaking, it's a way of aliasing a variable to another one | ||
perlpilot would have said "container" because "variable" sometimes hangs people up with an interface | 18:46 | ||
arnsholt | Yeah, it's a pretty rough approximation | 18:47 | |
gfldex | unmatched}: deepclone (that we don't got) will always depend on the data it works on. Frankly, the cunning noob on stackoverflow is most likely doing something silly that will utterly break when he discovers concurrency. | ||
unmatched} | :D | ||
18:48
sufrostico left
|
|||
moritz | or things like: how do you deep-clone a file descriptor? database connection? a lock? a lock that's currently being held? a scope guard? | 18:50 | |
skids | gfldex: in the particular case of an Array, one should generally avoid handing any users Arrays that do not have containers around each element. They've been purposfully declared as black magic construct not for end users. | 18:53 | |
So especially since the original thing that was cloned had scalar containers, suddenly losing them is pretty bad. | 18:54 | ||
18:55
Tonik left
|
|||
skids | One could make a case for either "black arts in/black arts out" or "black arts in/good pixies fix the universe" though. | 18:56 | |
dalek | c: 0383718 | (Jan-Olof Hendig)++ | doc/Type/Baggy.pod6: Fix typo leading to broken link |
18:57 | |
18:59
itaipu left
19:01
brrt joined
|
|||
dalek | c: a672a23 | (Wenzel P. P. Peppmeyer)++ | doc/Type/Signature.pod6: add :() to index |
19:03 | |
19:03
FreezerburnV joined
|
|||
FreezerburnV | How can I convert a string into a regex? (or in some way use a string as if it were a regex) | 19:05 | |
Or rather, a string stored in a variable | |||
unmatched} | FreezerburnV: <$sting> | ||
m: my $string = '.*'; say "foo" ~~ /<$string>/ | |||
camelia | rakudo-moar d7838c: OUTPUT«「foo」» | ||
FreezerburnV | unmatched}, Thank you! Could not find that for the life of me | 19:06 | |
perlpilot | FreezerburnV: where did you look? Perhaps there's some docs that need updating | ||
FreezerburnV | perlpilot, Regexes language documentation, Regex class documentation, Str documentation were the main ones | 19:07 | |
It might be somewhere in the Regexes docs, but I might have missed it | |||
masak finds rt.perl.org/Ticket/Display.html?id=126119 hilarious | |||
19:07
labster left
|
|||
gfldex | FreezerburnV: you couldn't find it because of ENODOCS | 19:08 | |
FreezerburnV | gfldex, Heh. Good to know I'm not blind this time. I tend to get EBLIND more often then ENODOCS | ||
19:08
ChristopherBotto joined
|
|||
ChristopherBotto | o/ perl6 | 19:09 | |
m: for <A B C>.race( :batch(2) ) { say ++$; } | |||
camelia | rakudo-moar d7838c: OUTPUT«123» | ||
ChristopherBotto | m: for <A B C>.race( :batch(2) ) { say ++$; } | ||
camelia | rakudo-moar d7838c: OUTPUT«123» | ||
ChristopherBotto | m: for <A B C>.race( :batch(2) ) { say ++$; } | ||
camelia | rakudo-moar d7838c: OUTPUT«123» | ||
ChristopherBotto | m: for <A B C>.race( :batch(2) ) { say ++$; } | ||
camelia | rakudo-moar d7838c: OUTPUT«132» | ||
ChristopherBotto | m: for <A B C>.race( :batch(2) ) { say ++$; } | ||
camelia | rakudo-moar d7838c: OUTPUT«123» | ||
ChristopherBotto | m: for <A B C>.race( :batch(2) ) { say ++$; } | ||
camelia | rakudo-moar d7838c: OUTPUT«213» | ||
ChristopherBotto | m: for <A B C>.race( :batch(2) ) { say ++$; } | ||
camelia | rakudo-moar d7838c: OUTPUT«123» | ||
unmatched} | \o | ||
ChristopherBotto | This blows up about 1 out of 10 times on my computer | 19:10 | |
unmatched} | I don't think that's thread-safe to do that stuff. | ||
So it's probably blowing up when things collide | |||
19:11
xinming left
|
|||
timotimo | yeah, a shared variable like that would need a lock protecting it | 19:11 | |
19:11
xinming joined
|
|||
ChristopherBotto | Is there a safe way to isolate calls to chdir so that it only has an effect inside a particular block? | 19:12 | |
timotimo | we don't protect every variable for you "just like that" because we want to be able to have performance at all | ||
[Coke] updates 126119 from [BUG] to [RFC] | |||
gfldex .oO( use WarnIfSilly; ) | |||
unmatched} | RT#126119 | 19:13 | |
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=126119 | ||
ChristopherBotto | lol. We don't always know if we're doing something silly | ||
[Coke] | it was just a page back in scroll, I deliberately didn't link it. :P | ||
FreezerburnV | So I discovered today that, due to if { ... } else { ... } technically using blocks (IIRC at least), $^a and friends get set for them with the result of the if. Is that intended? | 19:14 | |
m: (1, 2, 3).map({ if $^a == 1 { 'foo' } else { $^a } }) | |||
camelia | ( no output ) | ||
FreezerburnV | m: (1, 2, 3).map({ if $^a == 1 { 'foo' } else { $^a } }).say | ||
camelia | rakudo-moar d7838c: OUTPUT«(foo False False)» | ||
timotimo | yeah, if you have curlies, you have a block | ||
19:14
brrt left
|
|||
perlpilot | FreezerburnV: yes, it's intended. | 19:15 | |
FreezerburnV | timotimo, Is there a way to 'preserve' $^a there without having to do something like 'my $arg = $^a; ...'? | ||
unmatched} | [Coke]: oh, I didn't notice it :) | ||
perlpilot | m: (1, 2, 3).map({ $^a == 1 ?? "foo" !! $^a }).say | 19:16 | |
camelia | rakudo-moar d7838c: OUTPUT«(foo 2 3)» | ||
gfldex | FreezerburnV: you could use ?? !! (depends ofc) or put the if at the end | ||
unmatched} | Well, you run it today and today we don't have any leap seconds for past Dec, 2016, so the result is correct IMO. | ||
perlpilot | m: (1, 2, 3).map({ if $^a == 1 { "foo" } else { $a } }).say | ||
camelia | rakudo-moar d7838c: OUTPUT«(foo 2 3)» | ||
FreezerburnV | perlpilot, Oh interesting, so the first time $^a is used, it gets bound to $a as well (or something along that line) | 19:17 | |
unmatched} | Just because some scientists decides to add more in the future is irrelevant. They can equally abandon the idea of adding leap seconds | ||
perlpilot | FreezerburnV: $^a is a way to self-declare $a, so you can use either (as long as you haven't switched blocks :) | ||
gfldex | just use GPS time, problem solved :) | ||
FreezerburnV | gfldex, Yeah I should have thought of that, bleh. Don't know why I forgot about ternary in a place where it's well suited | 19:18 | |
gfldex | m: if 1 -> $aa { say $aa, $^a } | ||
camelia | rakudo-moar d7838c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Placeholder variable '$^a' cannot override existing signatureat <tmp>:1------> 3if 1 7⏏5-> $aa { say $aa, $^a }» | ||
gfldex | m: if 1 -> $aa { say $aa } | ||
camelia | rakudo-moar d7838c: OUTPUT«1» | ||
skids | Well, being able to know the number of "planned leap seconds" is useful knowledge IMO, though it does involve keeping your software up to date. | ||
gfldex | FreezerburnV: ^^^ | ||
19:19
sena_kun left
|
|||
perlpilot | you're only ever going to know 1 leap second in advance. | 19:19 | |
ChristopherBotto | * Note to self, oh, just use "cd" in the shell. | ||
gfldex | m: if 1 -> $aa { if 2 { say $aa } } | ||
camelia | rakudo-moar d7838c: OUTPUT«1» | ||
perlpilot | maybe 2 if they do 2 in the same year (unlikely) | ||
FreezerburnV | gfldex, Oh, duh. Of course if can use normal lambda syntax, it's just a block | 19:20 | |
unmatched} | m: { say "$^a works and so does $a; wtf" }(42) | ||
camelia | rakudo-moar d7838c: OUTPUT«42 works and so does 42; wtf» | ||
unmatched} | TIL | ||
CIAvash | me too | 19:21 | |
unmatched} | m: { my $Δ = 72; say "$^Δ works and so does $Δ; wtf" }(42) | ||
camelia | rakudo-moar d7838c: OUTPUT«5===SORRY!5=== Error while compiling <tmp>Redeclaration of symbol $^Δ as a placeholder parameterat <tmp>:1------> 3{ my $Δ = 72; say "$^Δ7⏏5 works and so does $Δ; wtf" }(42)» | ||
19:21
darutoko left,
hankache left
|
|||
unmatched} | That's LTA | 19:21 | |
perlpilot | what would you have it say instead? | 19:22 | |
unmatched} | m: { say "$^Δ works and"; my $Δ = 72; say " so does $Δ; wtf" }(42) | ||
camelia | rakudo-moar d7838c: OUTPUT«Potential difficulties: Redeclaration of symbol $Δ at <tmp>:1 ------> 3{ say "$^Δ works and"; my $Δ7⏏5 = 72; say " so does $Δ; wtf" }(42)42 works and so does 72; wtf» | ||
unmatched} | perlpilot: I wouldn't want it to error out in the second example and do error out in the first. | 19:23 | |
19:23
huggable left
|
|||
unmatched} | m: my $*foo = 42; my $foo = 72; say "$*foo $foo" | 19:23 | |
19:23
mcmillhj joined
|
|||
camelia | rakudo-moar d7838c: OUTPUT«42 72» | 19:23 | |
19:23
mcmillhj left
|
|||
unmatched} | I mean, this twigil isn't colliding, so it's LTA that the $^ twigil does | 19:23 | |
perlpilot | hrm. | ||
unmatched} | And I'd have to use at least one $^ twigil for the $ to work, so that adds inconsistency into my code anyway and should not be a feature | 19:24 | |
perlpilot | $^a declares $a (without a sig). you want to change that? | ||
19:24
mcmillhj joined
|
|||
FreezerburnV | unmatched}, At least in the circumstance I originally brought up, having $^a also bound to $a comes in handy | 19:24 | |
19:24
mcmillhj left
|
|||
FreezerburnV | Or I shoudl say: $^a creating an implicit "my $a = ...;" | 19:24 | |
[Coke] | CSRF failures from rakudo to RT have been resolved. | 19:25 | |
I only ever saw them when I wasn't logged in, now they're gone. | |||
19:25
mcmillhj joined
|
|||
unmatched} | perlpilot: I would've expected $^a to be just a variable that affects the signature. And $a to be unrelated. The fact that it "declares $a" seems like a hack to make $^a work | 19:25 | |
Too late now to change, I guess. | |||
19:25
AlexDaniel joined
|
|||
FreezerburnV | unmatched}, If you were going to change it, how would you get around wanting to reference $^a in potential nested blocks without needing to manually declare a local variable? | 19:26 | |
timotimo | FreezerburnV: sorry, i was distracted, and didn't read backscroll yet, but: $^a is the definition of a variable named $a in the innermost enclosing curly, so you can just have "$^a" outside the inner block and use $a inside the inner block without getting the parameter defined on the inner block | ||
19:26
mcmillhj left
|
|||
AlexDaniel | [Coke]: hi! I think we need two more labels in the doc repo. “maybe closable” and “comments needed”. What do you think? Can you suggest some better names? | 19:26 | |
yoleaux | 13:07Z <unmatched}> AlexDaniel: why did you tell me that I should be fixing things in irclog.perlgeek.de/perl6/2016-07-22#i_12892225 ? As far as I can tell, I'm actually doing it right. `source-url` is not in the spec | ||
unmatched} | FreezerburnV: my $a = $^a | ||
or whatever | 19:27 | ||
timotimo | unmatched}: that's unnecessary, and redundant | ||
19:27
mcmillhj joined
|
|||
unmatched} | OK | 19:27 | |
timotimo | m: if 100 { say $^a; if 99 { say $a; say $^b } } | ||
camelia | rakudo-moar d7838c: OUTPUT«10010099» | ||
[Coke] | AlexDaniel: those sound like they both mean the same thing. | 19:28 | |
maybe just "review" for now? | 19:29 | ||
arnsholt | Speaking of $^a declaring an $a, ISTR masak talking about that. Apparently there's a reason for why it has to be like that | ||
Dunno what it is though | 19:30 | ||
skids | arnsholt: see timotimo's last evalbot | ||
timotimo | yeah, if it isn't like that you can never use a $^foo variable in an inner block, ever | ||
unmatched} | I rescind my complaint. timotimo++'s example shows a good usecase. | ||
timotimo | is the complaint the unscindled one? | 19:31 | |
arnsholt | Right, right. You need to be able to access it without the ^ from nested lexical scopes | ||
skids waits for the next person to discover $^ alphabetization who didn't already know about it. | |||
FreezerburnV | skids, Already read about that in the docs, so I'm gonna be extra careful ;) | 19:32 | |
skids | That one sometimes generates an initial "ick" before its utility becomes obvious | ||
timotimo | we do have that in the "traps" document, right? | ||
FreezerburnV | { $a-some-long-name + $b-other-long-name + $c-... } :P | ||
perlpilot | skids: at least it's not sorted based on locale ;> | 19:33 | |
skids | lol | ||
timotimo | it'll be very bad when code suddenly works differently because we implement "proper" collation for unicode characters ... | 19:34 | |
19:34
BillSussman joined
|
|||
timotimo | and people have $^apfel and $^äpfel | 19:34 | |
unmatched} | m: sub alphabetical {say $^こ, $^ん, $^に, $^ち, $^は }(|<こ ん に ち は>) | ||
camelia | rakudo-moar d7838c: OUTPUT«こはにんち» | ||
FreezerburnV | timotimo, I don't think it's in traps, but I do see it in variables under the ^ twigil docs | ||
19:36
AndyBotwin left
|
|||
unmatched} | m: sub { say $^apfel, $^äpfel }(1, 2) | 19:36 | |
camelia | rakudo-moar d7838c: OUTPUT«12» | ||
unmatched} | m: sub { say $^äpfel, $^apfel }(1, 2) | ||
camelia | rakudo-moar d7838c: OUTPUT«21» | ||
timotimo | they are considered equal, but non-conflicting? %) | 19:37 | |
unmatched} | equal? | 19:38 | |
19:38
labster joined
|
|||
unmatched} | m: say "äpfel" after "apfel" | 19:39 | |
camelia | rakudo-moar d7838c: OUTPUT«True» | ||
timotimo | sorry, why was it 1 2 once, then 2 1? | 19:42 | |
ah, it confused me because i can't even see which one is ä and which one is a on this font + size | |||
19:44
neuron joined
|
|||
neuron | Hi | 19:46 | |
skids | o/ | ||
neuron | Nativecall c++, does the class need the Pointer attribute? | ||
It seems to work fine even without it, but maybe that's a bug? | |||
AlexDaniel | [Coke]: these are for different purposes. One is like “ok, this issue seems to be solved, but it needs confirmation or something” and another one is “We have to change the world! But let's discuss it first” | 19:49 | |
skids wasn't aware C++ bindings were functional already, should read IRC logs more often. | 19:50 | ||
19:51
sena_kun joined
|
|||
neuron is giving c++ bindings quite a testing | 19:51 | ||
unmatched} comments on 126119 as "it's fine as it is" rt.perl.org/Ticket/Display.html?id...xn-1412719 | 19:52 | ||
19:56
ismailarilik left
|
|||
FreezerburnV | Is there any particular way to speed up code which checks every file, recursively, in a directory for if its name matches some regex? I already only create the regex once and reuse it, but it currently takes 10-15x longer to do that in pure perl than running find. (obviously find is crazy optimized, just looking to make it only take maybe at most 5x longer. currently takes just a bit too long to not break flow) | 19:56 | |
hoelzro | iirc, I/O is still a bit slower in Perl 6 than it could be | 19:57 | |
19:58
xinming left
|
|||
perlpilot | unmatched}: +1 | 19:58 | |
FreezerburnV | :( Oh well | ||
perlpilot | FreezerburnV: show your code? | ||
FreezerburnV: are you using dir() ? | |||
19:59
xinming joined
|
|||
FreezerburnV | perlpilot, Yes | 19:59 | |
perlpilot | okay, just checking that you weren't doing it more manually | ||
19:59
trnh joined
|
|||
FreezerburnV | perlpilot, gist.github.com/Freezerburn/d9efbc...e5d7e9aaea | 20:02 | |
Oh, forgot to include the filename function. Just pulls out the 'test' part from 'test.js' | |||
It takes ~11 seconds to run that on my computer | 20:03 | ||
My other (terrible bash script) runs almost instantly | |||
20:04
cpage_ joined
|
|||
perlpilot | FreezerburnV: dir() has a :test parameter for filtering | 20:04 | |
FreezerburnV | I can always just run find on the regex that gets built, but was hoping to keep it all Perl6 | 20:05 | |
perlpilot, Did not know that | |||
Lemme give it a try | |||
perlpilot | it doesn't have a :recurse though :( | ||
FreezerburnV | oh wait, that actually won't work due to needing to grab all the dirs for recursing | ||
Guess I'm going to run an async find and do stuff with the resulting files to keep it snappy | 20:08 | ||
20:11
cog_ joined
20:14
cognominal left
20:18
cpage_ left
20:33
maybekoo2 joined
20:35
ParsonsNose joined
|
|||
FreezerburnV | m: my @t = 'foo', 'bar', 'baz'; for @t.race { .say } | 20:35 | |
camelia | rakudo-moar d7838c: OUTPUT«foobarbaz» | ||
FreezerburnV | Hm, that doesn't work with my code | ||
Wait, the list is empty, what? | 20:36 | ||
It had elements a moment ago | |||
20:36
[Sno] joined
|
|||
FreezerburnV | Never mind me, somehow I deleted a line starting a process | 20:37 | |
20:39
molaf left,
sena_kun left
|
|||
gfldex | FreezerburnV: dir will create tons of objects from string just to turn them back into strings and forget pretty much all of them. If you need fast you will have to NativeCall. | 20:41 | |
FreezerburnV | gfldex, Or Proc::Async, which is what I'm doing currently | ||
My old bash script just used find, so I'm just going to replicate that with a bunch of nice Perl6 wrapping it | |||
20:42
kid51 joined,
cpage_ joined,
cpage_ left
20:43
cpage_ joined,
CIAvash left
|
|||
FreezerburnV | gfldex, On that note though... why does dir do all that? Is it because it asks the OS for the list of directories, turns those into strings, then turns those into IO? Or is it doing more than that | 20:43 | |
Maybe I can try to look into making IO faster at some point, since that's pretty relevant to me right now | 20:44 | ||
20:44
jersni joined
|
|||
gfldex | just that. But creating objects is still pricy and method calls are always late bound. | 20:44 | |
20:44
jersni left
|
|||
perlpilot | FreezerburnV: that would be awesome | 20:44 | |
FreezerburnV | gfldex, Ah. I'm guessing baseline improvements to making objects is what might be necessary to making things quicker? Or do you think there are some improvements to be made in the current code? | 20:45 | |
[Coke] | AlexDaniel: "we have to change the world" is "big" | ||
20:46
jersni joined
20:47
jersni left,
kid511 joined
20:48
kid51 left
|
|||
gfldex | FreezerburnV: NativeCall is the way to go. All you need to do is to compare are c-strings. Only the files that are matched need to be returnd as objects. | 20:49 | |
[Coke] | in general, more tags are fine, however. | 20:50 | |
the goal is "close tickets". whatever helps there works. | |||
20:51
cpage_ left
20:55
FreezerburnV left
20:56
kaare__ left
21:00
kid511 is now known as kid51
|
|||
dalek | c: dcdfef2 | (Jan-Olof Hendig)++ | doc/Type/Pair.pod6: Added docs for Pair.antipairs |
21:01 | |
21:01
ninjaaron joined
21:02
ninjaaron left
21:03
kanishka left,
skids left
21:05
araujo left
21:08
ChristopherBotto left
21:13
rindolf left
21:14
maybekoo2 left,
dvinciguerra_ left,
maybekoo2 joined
21:17
maybekoo2 left
21:18
araujo joined,
mcmillhj left,
pmurias_ joined
21:19
maybekoo2 joined
21:20
mohae_ joined,
araujo left,
cpage_ joined
|
|||
dalek | osystem: effebaa | (Zoffix Znet)++ | META.list: Add Ecosystem::Test Dummy module for ecosystem toolchain testing. Related to github.com/perl6/doc/issues/764 |
21:21 | |
21:21
araujo joined,
araujo left,
araujo joined
21:22
cpage_ left,
mohae left
21:24
kid511 joined,
kid51 left
21:25
cpage_ joined
21:26
pmurias_ left,
cpage_ left,
rodarmor joined
21:28
itaipu joined
21:32
pmqs left
21:33
cpage_ joined
21:37
mst joined
21:39
kid511 left
21:44
pmqs joined
21:45
kurahaupo left
|
|||
AlexDaniel is happy because bisectable turned out to be useful :) | 21:47 | ||
21:47
cpage_ left
21:48
cpage_ joined,
cpage_ left
21:49
cpage_ joined
21:51
acrussell left
|
|||
dalek | osystem: beda571 | (Zoffix Znet)++ | README.md: Add legal blurb Since we're copying and mangling copyrighted META files, we should mention that by submitting modules, authors gives us more relaxed terms for the META file than the distro license may provide. |
21:56 | |
21:57
cpage_ left
22:00
neuron left
|
|||
Zoffix | Ugh | 22:02 | |
Stupid github. "The contented you edited changed. Please try again" and it deleted all of my additions | |||
That's on this github.com/perl6/doc/issues/711#is...-235414744 | |||
22:09
cpage_ joined,
itaipu left
|
|||
AlexDaniel | Zoffix: lol, shit… | 22:11 | |
22:13
trnh left,
cpage_ left
|
|||
AlexDaniel | Zoffix: oh yeah, by the way, I stole that list from you | 22:13 | |
Zoffix | :) | 22:15 | |
22:20
TEttinger left
22:23
TEttinger joined
22:26
skids joined
22:27
dvinciguerra_ joined
22:29
cyphase left
22:31
lichtkind_ joined
22:33
cyphase joined
22:35
setty1 left,
lichtkind left
22:37
firstdayonthejob left
22:38
girafe left
22:39
Sgeo joined
22:43
TEttinger left
22:47
TEttinger joined
22:53
zacts joined
22:54
sufrostico joined
22:59
AndyBotwin joined,
BillSussman left
23:00
kurahaupo joined
23:02
[Sno] left
23:07
zacts left
23:08
kid51 joined
23:09
kurahaupo left,
jersni joined,
jersni left
23:12
RabidGravy left
23:13
andrew____ joined,
andrew____ left
23:17
kurahaupo joined
23:23
kurahaupo_ joined,
andrewb joined,
huggable joined,
andrewb is now known as Guest29402
23:24
mohae_ left
23:25
kurahaupo left,
mohae joined
23:26
Guest29402 left
23:27
kurahaupo_ is now known as kurahaupo
23:31
andrewb_ joined,
andrewb_ is now known as Guest85538
23:35
Guest85538 left
23:38
BillSussman joined
|
|||
dalek | c: 9ac245b | Altai-man++ | doc/Language/glossary.pod6: This commit *removes* glossary items which are just pointers to Wikipedia and local links to them |
23:38 | |
c: 345efdc | Altai-man++ | doc/Language/glossary.pod6: Fix for merge conflict |
|||
c: 92faf2e | (Aleks-Daniel Jakimenko-Aleksejev)++ | doc/Language/glossary.pod6: Merge pull request #743 from perl6/wiki-entries-cleanup Second part of entries cleanup |
|||
23:39
spider-mario left,
AndyBotwin left,
kurahaupo left
23:42
kurahaupo joined
23:45
kurahaupo_ joined,
wamba left
23:47
kurahaupo left,
mcmillhj joined,
kurahaupo joined
23:50
kurahaupo_ left
23:54
kurahaupo left
23:55
cog_ left,
lichtkind_ left
|