»ö« 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:11 kurahaupo left 00:13 pierre_ joined 00:21 tmtowtdi left 00:23 _dolmen_ left 00:24 finanalyst_ joined 00:53 jrusso joined, jrusso is now known as MadcapJake
MadcapJake phew, finally back to a desktop after botching a distro ugprade 00:54
geekosaur can 00:55
geekosaur can't wait for his turn at that 00:56
(been putting off mint 17.3 upgrade on desktop)
(laptop will probably be worse, though, as I'd been using secure boot and ubuntu dropped it so it's gone in mint 17.3)
MadcapJake luckily i put my /home in a separate partition 00:57
geekosaur I do have backups, but.
MadcapJake not me, I like to live on the edge :P 00:58
AlexDaniel .tell TimToady qww<foo „hello world” bar> – no quote protection here. Was it supposed to be this way or is it a bug? 01:00
yoleaux AlexDaniel: I'll pass your message to TimToady.
01:01 sufrosti1o joined 01:03 MadcapJake left 01:05 jrusso joined, jrusso is now known as MadcapJake 01:14 ggoebel114 left 01:22 ggoebel114 joined 01:27 sufrosti1o left 01:31 sufrostico left 01:35 roy__ joined 01:36 roy__ left 01:38 BenGoldberg joined, molaf left, BenGoldberg left 01:43 BenGoldberg joined 01:45 kid51 left, ilbot3 left 01:46 BenGoldberg left 01:47 ilbot3 joined 01:50 molaf joined 01:51 BenGoldberg joined 01:52 BenGoldberg left 01:57 BenGoldberg joined 02:03 finanalyst_ left 02:07 AlexDaniel left 02:15 ssotka left 02:21 Zoffix left 02:22 tbrowder_ joined 02:23 BenGoldberg left 02:24 BenGoldberg joined 02:25 BenGoldberg left 02:26 tbrowder_ left 02:37 BenGoldberg joined 02:45 BenGoldberg left 02:47 BenGoldberg joined 02:51 noganex joined 02:53 cpage_ left 02:54 BenGoldberg left, noganex_ left 02:55 BenGoldberg joined 02:59 sortiz left 03:07 Tonik joined 03:08 Ben_Goldberg joined, BenGoldberg left 03:10 Ben_Goldberg is now known as BenGoldberg 03:11 |2701 left 03:23 Tonik left 03:27 pierre_ left 03:34 pierre_ joined 03:35 cpage_ joined 03:45 boegel left 03:46 pierre_ left 03:50 boegel joined 03:55 pierre_ joined 03:56 cpage_ left 03:57 cpage_ joined 03:59 zakharyas joined 04:10 khw left 04:12 cpage_ left 04:14 ssotka joined 04:20 MadcapJake left 04:21 jrusso joined, jrusso is now known as MadcapJake 04:22 BenGoldberg left
pierrot Good night. 04:26
04:27 BenGoldberg joined 04:28 BenGoldberg left
pierrot if I have an array of strings and want to build a regular expression for the first string of the array followed by some text followed by the second string of the array and so on.. how could I do that in p6? 04:30
in perl 5, I would do something like $pattern = join ".*", map{quotemeta} @keywords and then qr/$pattern/.. 04:32
04:32 huggable joined 04:33 pierre_ left, BenGoldberg joined 04:34 pierre_ joined 04:35 pierre_ left 04:36 skids left 05:09 mohae_ joined 05:12 mohae left 05:18 MadcapJake left 05:22 jrusso joined 05:23 jrusso is now known as MadcapJake 05:25 CIAvash joined 05:26 zakharyas left 05:34 BenGoldberg left 05:37 cgfbee joined 05:47 MadcapJake_ joined 05:54 domidumont joined 05:58 buharin joined, domidumont left
CIAvash pierrot: I think this should work: $text ~~ /<{@keywords.join: '.*'}>/ 05:59
05:59 domidumont joined
CIAvash or my $pattern = @keyworkds.join: '.*'; /<$pattern>/ 06:00
06:04 lizmat left 06:18 ssotka left 06:23 pierre_ joined 06:30 firstdayonthejob joined 06:34 RabidGravy joined
CIAvash That's without the quotemeta part though 06:35
06:37 firstdayonthejob left 06:44 wamba joined 06:46 mr-foobar joined 06:56 buharin left 07:03 brrt joined 07:05 jack_rabbit joined
RabidGravy badoom! 07:20
07:20 mohae_ left 07:35 as joined 07:42 _28_ria left 07:46 darutoko joined, TEttinger left 07:47 _28_ria joined 07:48 pierre_ left 07:49 g4 joined 07:50 pierre_ joined 07:55 pierre_ left 07:57 jack_rabbit left 08:00 _28_ria left 08:01 dakkar joined 08:02 _28_ria joined 08:03 azawawi joined
azawawi . 08:03
RabidGravy: ping 08:04
RabidGravy bloop!
azawawi RabidGravy: good morning :) 08:05
RabidGravy: strange output after adding provides on 2016.05 gist.github.com/azawawi/72729d6b5a...8bc0dbe5f5
RabidGravy: did you encounter such a problem?
RabidGravy nope 08:06
that's odd
something is doing "fail()" without a message 08:08
azawawi Build.pm without 'use LWP::Simple' works btw... 08:09
strange
tried adding "build-depends": [ "panda", "Shell::Command", "LWP::Simple" ]
same problem
RabidGravy looks at the Build.pm 08:11
azawawi actually to be exact even 'use NativeCall' causes that
with a bare class Build is Panda::Builder { ... }
08:12 rindolf joined 08:13 nadim joined
azawawi nukes 2016.05 and rebuilds it 08:13
08:14 MadcapJake_ left 08:25 vike joined 08:28 cognominal left 08:32 huggable left, huggable joined
azawawi RabidGravy: `zef install .` exhibits the same problem btw 08:46
RabidGravy: im suspecting that the first `panda install GTK::Simple` which fails somehow corrupts installation metadata 08:47
RabidGravy: even zef uninstall GTK::Simple does not fix it
RabidGravy :_O 08:57
09:01 cpage_ joined 09:10 Sgeo left
RabidGravy azawawi, I've just made a reset branch without that stuff at github.com/perl6/gtk-simple/tree/before-split 09:16
a get out of jail free card
09:17 labster left
azawawi RabidGravy: confirmed a fresh 2016.05 'panda install .' without doing a failed `panda install GTK::Simple` worked. It is a metadata corruption bug. 09:18
RabidGravy: sending a PR to fix the issue
RabidGravy if nothing else it will allow for a bisect to determine which part breaks it
cool 09:19
09:19 ab6tract joined
ab6tract o/ #perl6 09:19
i noticed that this section is still TBD in the docs on NativeCall: docs.perl6.org/language/nativecall#..._and_Blobs 09:20
09:20 sftp left
ab6tract i was wondering if anyone knows of any ecosystem examples? 09:20
also, the zavolaj-for-examples section of this doc feels a bit out of date 09:23
tadzik wow, metadata corruption is something new indeed
RabidGravy Yeah, I think it needs some love 09:24
09:24 sftp joined
RabidGravy tadzik, there was a change at some point in the last few weeks that got rid of some of the locking I think 09:25
tadzik huh 09:26
ab6tract RabidGravy: do you have any experience with NC blobby/buffy interop?
i'll gladly write the section, once i've put it to some use
RabidGravy I'm not sure (too many modules) 09:27
I do know that it works however
dalek c: 501dd46 | ab5tract++ | doc/Language/nativecall.pod:
Remove tiny typo
ab6tract cool, i'll poke around your github :) 09:28
09:29 cognominal joined
azawawi RabidGravy: travis-ci.org/azawawi/gtk-simple/b.../133062628 and ci.appveyor.com/project/azawawi/gt...uild/1.0.2 09:29
RabidGravy ab6tract, I can short cut that for you, I don't think that I have any modules that pass a Buf to a native sub directly (or any that return one) 09:33
azawawi, yeah, the tests won't run because no DISPLAY
(just grepped all my modules) 09:34
09:35 brrt left
azawawi github.com/perl6/gtk-simple/pull/35 09:36
09:36 Emeric1 joined
RabidGravy I'm just going to merge that without testing ;-) 09:40
dalek k-simple: ebaf0b1 | azawawi++ | META6.json:
Add missing provides. Bump version to 0.1.2
k-simple: e929c3c | azawawi++ | / (3 files):
Test on Linux/MacOSX (Travis CI, latest and 2016.05) and windows (AppVeyor, 2016.05). Add badges for AppVeyor
k-simple: b69c6aa | RabidGravy++ | / (4 files):
Merge pull request #35 from azawawi/master

Fix #34 and add mac os x and windows testing
ab6tract RabidGravy: actually, your Audio::PortMIDI does do, for an error message
RabidGravy yeah I thought it was familiar
timotimo so, can we get an x server, like Xvnc or something running on travis-ci to have actual tests? 09:41
also the %*ENV<DISPLAY> is only sensible for linux, obviously
ab6tract m: class A does Positional { has @.a handles Positional; method gist { "i'm all like aaaaaa {@!a}" } }; my $a = A.new; say $a.push: 42 09:43
camelia rakudo-moar a5c46b: OUTPUT«Cannot call push(A: Int); none of these signatures match:␤ (Any:U \SELF: |values is raw)␤ in block <unit> at /tmp/u_eMfQ4Mj6 line 1␤␤»
ab6tract i'm clearly holding it wrong, but i thought something like the above used to work 09:44
no results for 'handles' on docs.perl6
RabidGravy the way handles works it doesn't over-ridge the one it gets from 'Any' 09:46
so I don't think it ever worked
m: class A does Positional { has @.a handles <push>; method gist { "i'm all like aaaaaa {@!a}" } }; my $a = A.new; say $a.push: 42
camelia rakudo-moar a5c46b: OUTPUT«[42]␤»
azawawi RabidGravy: thx 09:47
RabidGravy I do have a completely separate problem with GTK::Siimple as it is, it hangs "forever" precompiling 09:48
which is almost certainly something wrong with some repository 09:49
09:50 lizmat joined
azawawi RabidGravy: it takes a white 09:51
RabidGravy: s/white/while
lizmat waves from NLUUG Conference where [Tux] will give a presentation about Text::CSV in Perl 6: www.nluug.nl/activiteiten/events/v.../ab06.html 09:52
RabidGravy no, this is "forever" (like twenty minutes before I kill it,)
:) 09:54
anyway off out shopping
lizmat hmmm... RT #126391 09:58
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=126391
10:07 donaldh joined 10:10 donaldh left, donaldh joined
ab6tract RabidGravy: i could have sworn that at some point i was able to do `has %.hash handles Associative` but maybe it was only a dream... 10:12
but it's easy enough to get the semantics via handles <AT-KEY EXISTS-KEY ASSIGN-KEY> 10:13
10:17 donaldh left
ab6tract of course, then you need to remember <keys kv values> as well 10:17
azawawi 172 wallclock seconds after GTK::Simple refactor (classes/roles out) on 2016.05 10:18
10:19 CIAvash left
lizmat ab6tract: not sure about that 10:20
jnthn doesn't recall that ever being something that would work
timotimo i think keys kv values happens via Any, which your class likely already derives from
10:21 donaldh joined
jnthn You'd still need to delegate 'em to the right place though 10:21
lizmat as long you have a .pairs, I think all will derive ok
timotimo oh, right, you need to have the source of "what keys exist at all" in the original handles 10:23
we don't have a single underlying thing for that 10:24
like, no LOUD-KEBAB
DrForr Or -LOUD-ARROW-> :) 10:25
ab6tract jnthn, lizmat: okay, conceded that the memory is not based on reality. it was a good dream, though... 10:26
m: class B { has %!f handles <AT-KEY EXISTS-KEY ASSIGN-KEY pairs> }; my $b = B.new; $b<foo> = 42; say $b.keys 10:28
camelia rakudo-moar a5c46b: OUTPUT«0..0␤»
10:32 brrt joined 10:37 pierre_ joined 10:41 ab6tract left, grondilu joined 11:04 donaldh left
dalek k-simple: ff396b5 | finanalyst++ | README.md:
Improve README
11:06
k-simple: 585f611 | azawawi++ | README.md:
Merge pull request #36 from finanalyst/master

Improve README
11:09 ocbtec joined 11:19 donaldh joined 11:22 kid51 joined
azawawi dzone.com/articles/four-reasons-wh...mming-lang # Perl 6 is mentioned in comments 11:24
11:29 brrt left 11:30 donaldh left 11:36 cpage_ left 11:37 cpage_ joined 11:38 iH2O joined, donaldh joined, chris2 joined, pmurias joined 11:43 perlawhirl joined
grondilu frankly I'm not sure Python is that easy to learn. Sure, for basic stuff it *looks* easy, but the devil is in the details and things gets messy quite quick. I remember learning about its OO model and all the __method__ syntax for stuff and it seemed pretty complicated to me. 11:44
perlawhirl funny conversation to walk into... i was just discussing perl5 v. python to a guy at work 11:45
cosimo what is the __method__ syntax?
perlawhirl i'm comfortable with python, but some things would be downright difficult for a biginner... eg. var = sys.argc[1]... if you don't supply an arg it gives you one of pythons trademark ugly stack traces... followed by "Index Error", which for a beginner is very unhelpful 11:46
DrForr And I just had someone on FB ask me yesterday because I'm on "the Perl group" if I had any advice on how to learn Python.
perlawhirl i meant... argv, but my point stands
also! try re.compile('[') and look at the very unhelpful wall of garbled stack trace. whereas perl will tell you "Unmatched '[' in regex HERE<---" 11:48
11:48 kid51 left 11:49 donaldh left
grondilu cosimo: I hope I remember well but IIRC it's a special syntax for meta-method names 11:49
like __new__, __init__ and so on.
perlawhirl __repr__ and __str__, which are kinda like Perl 6's Str and gist methods 11:50
grondilu I used to be excited about python. It lasted about a month. Now I hate it. It's dull and verbose. To me it's the new Fortran. 11:51
11:54 iH2O left
azawawi github.com/azawawi/gtk-simple/blob.../README.md # finanalyst++ 11:56
cosimo it's not that bad
12:00 brrt joined
brrt what kind of article is that, even 12:02
i mean 12:03
psch "agile methodology is scalable" made me stumble
brrt "python is highly efficient" made me 12:04
and i /like/ python...
hmm, question
12:05 nadim left
brrt if we were to put out articles of *ahem* similar quality, but with similar ferocity, would it work? 12:05
does this work, for python, to compete for mindshare?
psch it probably would invite the same quality of comments, but more and more contrarian
i'm not really sure what "work" means here, though. will people talk about it? probably 12:06
but it probably won't motivate people to honestly examine what Perl 6 brings - or rather, only very few 12:07
but i guess that's true regardless, and putting out this kind of content definitely would increase exposure
brrt exposure is usually a good thing 12:08
DrForr WTH does "Python even uses real-time wordings" mean? It's written in that Indian English dialect that makes me want to facepalm. 12:09
12:11 nadim joined 12:13 wamba left
psch i understood it as "words that programmers use conversationally" or somesuch 12:14
although i don't quite know how "def" fits in there :)
pmurias grondilu: dull is kind of an advantage compared to some other things 12:15
DrForr Every section of that article uses circular reasoning. 12:18
12:26 mr-foobar left 12:32 huggable left 12:33 donaldh joined 12:42 brrt left 12:46 |2701 joined 12:47 pmurias_ joined 12:50 pmurias left
moritz ... and we all know that circular reasoning is the best, because it's circular! 12:54
El_Che_ moritz: don't be a square!
12:55 El_Che_ is now known as El_Che 13:01 woolfy joined 13:02 sufrostico joined
woolfy Tux++ now does a presentation at NLUUG conference about Text::CSV in Perl 6. :-) www.nluug.nl/activiteiten/events/v.../ab06.html 13:03
13:05 pmurias joined, pmurias_ left
DrForr I've got 4 proposals in for OSCON London. If I'd known last year's was in Amsterdam... 13:12
13:13 pmurias_ joined, pmurias left
RabidGravy Oooh that's a bit special, "RAKUDO_MODULE_DEBUG=1 perl6 -Ilib -MGTK::Simple -e1' seems to hang forever on attempt to write to STDOUT 13:13
DrForr (and that I thought I'd stand a chance of getting in the door...) 13:14
13:15 smls joined 13:17 brrt joined 13:19 pmurias joined, pmurias_ left 13:20 rindolf left 13:24 woolfy left, pmurias_ joined 13:25 pmurias left 13:26 awwaiid left, rindolf joined, cognominal left, awwaiid joined
gregf_ i guess the point azawawi was trying to make was ....'Perl6 is getting mentioned somewhere.. by some silly blogger'.. rather than ..'hey.. heres 4 reasons out of a million to make you feel good about python' ;) 13:26
13:28 cognominal joined
[Coke] alexdaniel: please don't "bombard" any of our backend support staff. 13:28
13:29 pmurias joined 13:31 brrt left 13:32 pmurias_ left 13:34 pmurias_ joined 13:37 pmurias left, cpage_ left 13:41 skids joined 13:45 pmurias joined, pmurias_ left
[Coke] thanks everyone getting Perl 6 out on the conf. circuit. 13:49
DrForr bows. And likewise to the others. 13:50
13:57 rindolf left 14:02 lizmat left 14:03 _4d47 joined, pmurias left 14:04 pmurias joined
RabidGravy I can't remember the last time I even went to a conference 14:05
14:05 acrussell joined
_4d47 p6: my @tens = 0, 10, 20, 30; @tens[2]:delete; dd @tens; 14:07
camelia rakudo-moar 498d0a: OUTPUT«Array @tens = [0, 10, Any, 30]␤»
azawawi RabidGravy: what's a conference? :) 14:08
RabidGravy :)
DrForr A way to get your company to pay for your beer? 14:09
gregf_ we have conferences every morning....er... standups i mean ;)
azawawi RabidGravy: seems that use-ing ::NativeLib is causing the slowness in the refactor in GTK::Simple. im testing it to improve performance atm 14:10
14:11 pmurias_ joined, pmurias left
tony-o DrForr: if you find a way for that outside of travel expenses please let me know 14:11
azawawi RabidGravy: travis-ci.org/azawawi/gtk-simple/b.../133113522 14:12
14:14 zakharyas joined
RabidGravy nicie! I'm wondering if the nqp and NativeCall can go from the main GTK::Simple if they are in all the other places they are needed 14:15
azawawi RabidGravy: im doing it :)
RabidGravy cool
azawawi but .precomp is certainly a problem in 2016.05 14:16
14:16 pmurias joined, woodruffw left
azawawi everytime i move subs from one class/module with atom open and run a prove... .precomp corruption 14:16
RabidGravy that's not good 14:17
llfourn azawawi: does it look like RT #128156 ?
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128156
azawawi yup same error message 14:19
14:19 woodruffw joined, pmurias_ left
llfourn yeah nine++ is looking into it 14:19
14:24 khw joined
azawawi nine++ # cool 14:24
14:24 kent\n joined 14:32 kent\n left 14:34 mohae joined 14:35 pierre_ left 14:36 cdg joined 14:39 lizmat joined 14:40 zakharyas left
_4d47 p6: my @tens = 0, 10, 20, 30, 40; @tens[3]:delete; dd @tens 14:41
camelia rakudo-moar 498d0a: OUTPUT«Array @tens = [0, 10, 20, Any, 40]␤»
_4d47 p6: my @tens = 0, 10, 20, 30, 40; @tens[4]:delete; dd @tens
camelia rakudo-moar 498d0a: OUTPUT«Array @tens = [0, 10, 20, 30]␤»
14:42 donaldh left
llfourn if you wanna remove it completely use splice I think 14:42
grondilu m: say 0, 10 ... 40
camelia rakudo-moar 498d0a: OUTPUT«(0 10 20 30 40)␤»
_4d47 looks like it change .elems but only for the last elems
llfourn mmm I think that's intended 14:43
14:43 donaldh joined
gfldex m: my @tens = 0, 10, 20, 30, 40; @tens[3]:delete; .say for @tens; 14:44
camelia rakudo-moar 498d0a: OUTPUT«0␤10␤20␤(Any)␤40␤»
llfourn m: my @tens = 0,10 ... 40; say @tens.splice(2,1); say @tens;
camelia rakudo-moar 498d0a: OUTPUT«[20]␤[0 10 30 40]␤»
14:45 pmurias_ joined, g4 left
ugexe m: my @a = 1,2,3,4,5; @a[1]:delete; .say for @a[0..*]; # >:) 14:46
camelia rakudo-moar 498d0a: OUTPUT«1␤»
psch ugexe++
that's pretty similar to what i was trying to hack together :)
14:47 pmurias left
ugexe m: my @a = 1,2,3,4,5; @a[1]:delete; .say for @a[0..4] 14:47
camelia rakudo-moar 498d0a: OUTPUT«1␤(Any)␤3␤4␤5␤»
ugexe .splice(0) follows example 1, .splice follows example 2 14:48
RT 127573
pierrot Good morning. I had asked something yesterday and CIAvash gave me an answer but without considering quoting. Which is the p6 equivalent to p5's quotemeta?
llfourn RT #127573
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=127573
psch pierrot: we don't have quotemeta. interpolation of variables inside a regex depends on how you put the variable into the regex 14:49
geekosaur pierrot, in general quotemeta isn't needed (for its intended purpose at least) because the default for interpolation is to interpolate as literal string match instead of regex. (there's an alternative interpolation syntax if you want it to be treated as a regex)
gfldex i somehow feel that representing a hole in an array with Any is wrong. Nil would fit better. Nothing is more hole-like and any possible value. 14:50
14:50 Actualeyes left
pierrot geekosaur and psch : yes, I learnt that yesterday. interpolation is enabled with <$var> 14:50
14:50 sufrostico left
gfldex s/and/then/ 14:50
psch m: my $x = '\w'; say '\w' ~~ /$x/; say 'a' ~~ /<$x>/
camelia rakudo-moar 498d0a: OUTPUT«「\w」␤「a」␤»
psch ah, yeah
m: my @a is default(10) = ^10; @a[1] = Nil; @a[2]:delete; .say for @a 14:52
camelia rakudo-moar 498d0a: OUTPUT«0␤10␤(Any)␤3␤4␤5␤6␤7␤8␤9␤»
psch that surprised me. i had thought :delete respects the default
ugexe Nil seems like it would muck up `is default`
this time i was beaten
lizmat psch: this feels like a bug to me 14:54
but it all depends on the semantics of :delete
m: my %h is default(10); say %h<a> 14:55
camelia rakudo-moar 498d0a: OUTPUT«10␤»
14:55 itaipu joined
lizmat hmmm 14:55
ugexe i would not expect :delete to set a default value
_4d47 find weird .elems respond differently when :delete on last item
moritz if you want that, there's an undefine() function for that
14:56 wamba joined
gfldex if you revert to the default, the Array loses his ability to have a hole. Unless you define Arrays with defaults to be hole-less. 14:56
moritz _4d47: if you want it to keep the element alive, you can always just set it to Nil
lizmat moritz: undefine is just another way to say = Nil
moritz right
lizmat multi sub undefine(Mu \x) is raw { x = Nil }
moritz and if you want to remove an element from the middle of the list, making the higher indexes change, you can use splice
so, whatever behavior you want, there are ways to get it :-) 14:57
there simply isn't a way to make every way behave in ways that don't surprise anybody
lizmat m: my @a is default(10) = ^10; @a[1] = Nil; @a[2]:delete; say @a[2] 14:59
camelia rakudo-moar 498d0a: OUTPUT«10␤»
_4d47 moritz: ok thanks, will use splice
gfldex m: my @a = 1,2,3; @a[1]:delete; say @a[1]; say @a[100]
camelia rakudo-moar 498d0a: OUTPUT«(Any)␤(Any)␤»
lizmat ok, so the Iterator is wrong
ugexe if your array ends with Anys they get cleaned up 15:00
psch with i, personally, find completely reasonable. otherwise .elems should always report Inf (at least on default(Any) arrays)
s/with/which/
15:01 ptolemarch joined
ugexe its just combined with rt 127573 can produce the type of .elems results that seem to match _4d47's confusion 15:02
pierrot geekosaur: I'd like to do something similar to: my $pattern=join ".*", map{quotemeta} @keywords;if ($text =~ m/$pattern/) { } In p6, CIAvash suggested: my $pattern = @keyworkds.join: '.*'; if $text ~~ /<$pattern>/ { } but would fail with quoting issues. 15:04
I'd like each individual element of @keywords to be treated as literal, but the whole string (with ".*" separating each element) to be treated as a regexp and I'm not sure how to do it. 15:05
15:05 rindolf joined
psch m: my @keywords = '\wfoo', "bar"; my $pat = "'" ~ @keywords.join("' .* '") ~ "'"; say '\wfoo and eventually bar' ~~ /<$pat>/ 15:06
camelia rakudo-moar 498d0a: OUTPUT«「\wfoo and eventually bar」␤»
psch pierrot: does that ^^^ help? 15:07
gfldex doc.perl6.org/language/subscripts#%3Adelete doesn't explain that holes are filled with Any. We seam not to explain (anywhere) what happens when Nil is assigned.
15:08 acrussell left
pierrot psch: Yes, it does. Thanks :) 15:08
gfldex m: my @a = 1,2,3; @a[1]:delete; say @a[1]:exists;
camelia rakudo-moar 498d0a: OUTPUT«False␤»
15:10 pmurias_ left
gfldex m: my @a = 1,2,3,Any; @a[1]:delete; say @a[1]:exists; say @a[3]:exists; 15:10
camelia rakudo-moar 498d0a: OUTPUT«False␤True␤»
15:11 Amnez777 left
gfldex m: my @a = 1,2,3,Any; @a[1]:delete; say @a[1]:exists; say @a[3]:exists; say .defined for @a; 15:11
camelia rakudo-moar 1ab1fb: OUTPUT«False␤True␤True␤False␤True␤False␤»
gfldex Interation turns holes into undefineness.
15:12 pmurias joined
psch m: my @a = 1,2,3,Any; @a[1]:delete; say @a[1]:exists; say @a[3]:exists; say ""; say .defined for @a; say @a[1]:exists; say ""; say @a[3]:exists 15:21
camelia rakudo-moar 1ab1fb: OUTPUT«False␤True␤␤True␤False␤True␤False␤False␤␤True␤»
psch eh, one of the extra says for clarity is actually at the wrong spot :| 15:22
anyway, i don't think iteration changes anything
Any is just undefined
lizmat not for .defined 15:23
but it does for just the for
psch right, there was the other WAT previously
pochi m: $?USAGE
camelia rakudo-moar 1ab1fb: OUTPUT«5===SORRY!5=== Error while compiling /tmp/YzfhVNKYiS␤Variable '$?USAGE' is not declared␤at /tmp/YzfhVNKYiS:1␤------> 3<BOL>7⏏5$?USAGE␤»
lizmat m: my @a is default(42) = ^5; @a[2]:delete; .say for @a; for @a.keys -> { say @a[$_] } 15:24
camelia rakudo-moar 1ab1fb: OUTPUT«0␤1␤(Any)␤3␤4␤Too many positionals passed; expected 0 arguments but got 1␤ in block <unit> at /tmp/Ma0GoNIFCk line 1␤␤»
15:24 patrickz joined, sufrostico joined
lizmat m: my @a is default(42) = ^5; @a[2]:delete; .say for @a; for @a.keys { say @a[$_] } 15:24
camelia rakudo-moar 1ab1fb: OUTPUT«0␤1␤(Any)␤3␤4␤0␤1␤42␤3␤4␤»
psch yeah, that is definitely weird
15:25 cognominal left, cognominal joined
psch m: my @a is default(42) = ^5; @a[2]:delete; @a[$_].say for @a.keys; 15:25
camelia rakudo-moar 1ab1fb: OUTPUT«0␤1␤42␤3␤4␤»
psch m: my @a is default(Mu) = ^5; @a[2]:delete; @a[$_].say for @a.keys; 15:26
camelia rakudo-moar 1ab1fb: OUTPUT«0␤1␤(Mu)␤3␤4␤»
dalek c: 5049338 | (Wenzel P. P. Peppmeyer)++ | doc/Language/subscripts.pod:
clarify that :delete can create holes that are bit skipped by iteration
15:27
gfldex looks like i need more tea
15:28 Azry_mobile joined
lizmat m: my Mu @a = ^5; @a[2]:delete; .say for @a; say @a[2] # seems it's always Any 15:30
camelia rakudo-moar 1ab1fb: OUTPUT«0␤1␤(Any)␤3␤4␤(Mu)␤»
gfldex m: my @a = 1,Nil,3; say @a[1]:exists; .say for @a; 15:32
camelia rakudo-moar 1ab1fb: OUTPUT«True␤1␤(Any)␤3␤»
gfldex So the value that indicates the absense of a value is present?
lizmat m: my Int @a = 1,Nil,3; say @a[1]:exists; .say for @a;
camelia rakudo-moar 1ab1fb: OUTPUT«True␤1␤(Int)␤3␤»
psch gfldex: assigning Nil always means "reset to default" 15:33
lizmat yes, if it exists, there's a container for it which has the default value
m: my Int @a is default(42) = 1,Nil,3; say @a[1]:exists; .say for @a;
camelia rakudo-moar 1ab1fb: OUTPUT«True␤1␤42␤3␤»
gfldex That means that :exists doens't test for the existence of a value but for a container that could contain the value or it's default. 15:35
psch fwiw, :exists and :delete (especially on arrays) are something i am staying clear of and don't want to argue for or against :) 15:37
lizmat well, in a case of a hash, it's clear what exists means
in the case of an array, less so
gfldex Nothing is hard. :-|
gregf_ coding is :| 15:38
ugexe only 1 thing is universally accepted as not easy 15:39
15:43 CIAvash joined 15:45 domidumont left
sjn ugexe: cache validation and off-by-one errors? ;) 15:47
dalek c: 892e14f | titsuki++ | doc/Language/glossary.pod:
Fix a typo "gitub" to "github"
15:48
c: fd8f366 | RabidGravy++ | doc/Language/glossary.pod:
Merge pull request #549 from titsuki/fix-typo

Fix a typo "gitub" to "github"
MadcapJake oh man, the "Python is Highly Scalable" paragraph in that article is completely bonkers
"When a client requires a large amount of development for a software application that does not require for the project to be complete, the application can be moved to live at any moment of the development process by completing a certain amount of modules of the application" O_O 15:50
DrForr The article just made up reasons.
15:50 Actualeyes joined
MadcapJake seriously that one sentence is just complete gobbledygook 15:51
tadzik wat
DrForr You could s/Python/ = 'Ruby' # and noone would notice.
RabidGravy read it four times to see if there was any sense to be extracted, failed
tadzik "when a client requires for a large building to be completed, you can just ship a standalone bathroom and call it a day"
huf i think it means that if the client wants something complicated, release some half-baked shit and they wont notice 15:52
most likely
MadcapJake every read makes me go from "WHAT?" to shear laughter, it's so completely nonsense
stmuk maybe its a Markov chain
huf it's a sortof depressive, nihilist twist on "release early, release often" :D
MadcapJake stmuk: I wouldn't doubt it, it's at that level of incomprehension
huf: lol that is hilarious
huf yeah but it's kinda real 15:53
client wants a bunch of undefined crap, you complete what you were able to figure out, the client sends incomprehensible feedback, you react by doing *something* 15:54
MadcapJake I like dark comedy so the more real, the more I'll laugh :)
RabidGravy yeah, it's aiming at rapid application development and continuous integration but somehow missing explaining either of those things
huf eventually the client just quiets down and goes away
psch "no bug reports means no bugs, right?"
MadcapJake RabidGravy: I think there's an element of modularity that the author is trying to describe too
huf psch: correction. no comprehensible bug report = no bug report
psch huf: that sounds more like corollary :) 15:55
MadcapJake I could seriously start a tumblr of some of the crazy nonsense people throw around in these "X reasons that X language is the BEST!" articles 15:56
psch .oO( Perl 6 reasons that Perl 6 language is the BEST )
MadcapJake lol 15:57
"Almost all of the syntax is very similar to "real-life" words." Oh. My. God. This article is a gold mine. 15:58
huf :D
when i ()()()() this morning i ()() ==
MadcapJake Ok, I seriously can't handle it. I'm starting a tumblr. Someone else has got to get as much joy out of this as I do. 15:59
RabidGravy :) 16:01
16:02 ssotka joined 16:03 gorgonzola joined
skids glfdex: Maybe link to docs.perl6.org/type/Nil when explaining :delete? 16:06
lizmat +1 from me 16:08
gfldex it's one sentence to tell the difference between assigning Nil and :delete 16:09
lizmat gfldex: but the only difference *should* be that :delete will make :exists for that element False 16:11
16:12 domidumont joined
lizmat it's only the iterator on Array that seems wrong (and I'm looking into fixing that) 16:12
azawawi RabidGravy: re GTK using only ::App, ::VBox and ::Button in 01-hello-world.pl6 => ~36 second (down from ~170 sec) parse time, ~3 second runtime (second time)
tadzik that's still a crazy parsetime 16:13
azawawi so moving classes/roles out of ::Simple 16:14
shows a big performance bug in rakudo
dalek c: 3d247b7 | (Wenzel P. P. Peppmeyer)++ | doc/Language/subscripts.pod:
clarify interaction between assignment of Nil and subscripts
16:15
azawawi i will try switching to moar-nom to verify whether it is fixed or not 16:16
RabidGravy azawawi, all good stuff though 16:17
gfldex lizmat: i'm not sure anymore of iteration of holes is wrong right now. If autoviv for elemets addressed with a subscript returns the default value, a hole in an Array should do so too. They are Arrays not linked lists.
RabidGravy azawawi, it could probably be shrunk a little by removing all of the unused native subs too 16:19
azawawi RabidGravy: im working on it github.com/azawawi/gtk-simple/commits/master :) 16:20
16:20 dwarring left
RabidGravy looks good 16:22
16:24 gorgonzola left 16:25 araujo_ joined 16:27 CIAvash left 16:28 smls_ joined, smls left 16:29 araujo left 16:31 Amnez777 joined 16:32 huggable joined 16:33 silug left 16:37 itaipu left 16:38 araujo_ left, araujo joined, araujo left, araujo joined 16:43 cognominal left 16:44 kaare_ joined 16:45 cognominal joined 16:47 donaldh left 16:48 silug joined 16:52 vike left 16:54 _4d47 left 16:57 labster joined 17:03 cognominal left 17:04 cognominal joined 17:05 kurahaupo joined, tharkun left, tharkun joined 17:06 brrt joined 17:07 dakkar left, MadcapJake left 17:08 jrusso joined, jrusso is now known as MadcapJake 17:14 lizmat left 17:21 ZoffixW joined
ZoffixW RabidGravy, which RPi did you install Perl 6 on? I'm wondering whether it'll work at all with Pi Zero 17:22
azawawi is there any performance advantage to using need or require over use?
ZoffixW wants to make his A/C Internet Connected :P
azawawi, highly doubt it, since you're loading the module at runtime 17:23
RabidGravy ZoffixW, I've got it installed on both a Rev. B and Pi 2, the former is way slow
azawawi ZoffixW: so we cant use 'require' to lazily load a module anymore, right? 17:24
ZoffixW azawawi, oh, I think that'll work just fine. And yeah, in that case it'll probably be a performance advantage, since you don't have to load the module when you don't need it 17:25
17:25 vike joined
psch conditional loading isn't quite lazy loading, is it? 17:26
RabidGravy "but" any symbols defined in the module won't be known at compile time, so you may have to jump through hoops
ZoffixW Then I don't know what lazy loading is :)
psch might just be overly picky there
azawawi so github.com/azawawi/gtk-simple/blob...Simple.pm6 is a bad practice 17:27
psch i admit that "lazy loading" as "runtime loading" is probably usually used for what i called "conditional loading" just now
e.g. "when we need it, we load it"
ugexe lazy loading (like what was attempted at one time) would load the symbols and everything still
psch ...that doesn't really clarify i think
more like "when we know we are going to use it, we load it explicitly"
whereas lazy loading to me reads more as "we know we will use it eventually, but until we do we don't load it" 17:28
which isn't what <use> currently does
mostly because of RabidGravy++'s point above
Juerd I find 'lazy loading' quite vague as a term. "On-demand loading" is much clearer but I never see that used.
Maybe it's just me
psch Juerd: no, i do agree. i think that's a good alternative
the distinction of "the language user does it manually" vs "the runtime does it automagically" is what i'd but between on-demand loading and conditional loading 17:29