»ö« 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.
Geth doc: 3f1e54ae26 | COMBORICO++ (committed using GitHub Web editor) | doc/Language/regexes.pod6
'/ /' and 'rx/ /' clarified purpose of use
05:16
doc: ef1904306c | COMBORICO++ (committed using GitHub Web editor) | doc/Language/regexes.pod6
Update regexes.pod6
synopsebot Link: doc.perl6.org/language/regexes
doc: f3cf4dd102 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | doc/Language/regexes.pod6
Merge pull request #1982 from COMBORICO/patch-2

  '/ /' and 'rx/ /' clarified purpose of use
Failure in tests has nothing to do with the PR, so I'm merging it. Thanks!
jmerelo squashable6: status 05:21
squashable6 jmerelo, ⚠🍕 Next SQUASHathon in 1 day and ≈4 hours (2018-05-05 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
Geth doc: 33283d3e6c | (Luca Ferrari)++ | doc/Type/Map.pod6
Move Map postcircumfix {} example in the class description.

Move it out from the Map.ACCEPTS method. Close issue #1986
06:37
synopsebot Link: doc.perl6.org/type/Map
doc: 2b9349195f | (Luca Ferrari)++ | doc/Type/Map.pod6
Add postcircumfix Map{} with list of keys.
doc: 8b7304c4eb | (Luca Ferrari)++ | doc/Type/Map.pod6
Clarify the immutabily concept of Map with a straight example.
06:38
grondilu Hello. Anybody got a recent success compiling rakudo on LSFW?
I got :
/usr/bin/perl Configure.pl --optimize --prefix=/usr/local --make-install
Welcome to MoarVM!
Updating submodules .................................... ^CCommand failed (status 2): /usr/bin/perl Configure.pl --optimize --prefix=/usr/local --make-install
Command failed (status 7424): /usr/bin/perl Configure.pl --prefix=/usr/local --backends=moar --make-install --git-protocol=https --gen-moar
Had to ^C as it was stalling when trying to update submodules 06:39
jmerelo grondilu: sorry, what is LSFW? 06:41
jmerelo It seems to be failing in the configure stage, which is written in perl. What version of perl are you using? 06:41
grondilu "Linux Subsystem For Windows" 06:42
This is perl 5, version 22, subversion 1 (v5.22.1) built for x86_64-linux-gnu-thread-multi
(with 68 registered patches, see perl -V for more detail)
Copyright 1987-2015, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at www.perl.org/, the Perl Home Page.
(oops, sorry. perl -v was more verbose than expected)
jmerelo grondilu: that should be good to go. Where does it stop?
grondilu at "Updating submodules....." 06:43
jmerelo grondilu: this is what it does in that stage github.com/MoarVM/MoarVM/blob/3619...ure.pl#L74 06:44
grondilu: do you have git installed?
grondilu could be yes
sorry meant just yes 06:45
jmerelo grondilu: you know you can download the Rakudo Star distro already compiled and in .msi form, right? rakudo.org/files
grondilu could be a permission issue. Trying to install in $HOME
lookatme we call it WSL(Windows Subsystem for Linux)
jmerelo grondilu: good luck! 06:46
grondilu lookatme: oh my bad
lookatme grondilu, and there some problem when compile rakudo under WSL 06:47
grondilu I managed once. But it did not work this morning. 06:48
lookatme grondilu, github.com/nxadm/rakudo-pkg/releases maybe you can using the prebuilt binary
grondilu WSL is getting better quick though. For instance right now I'm using irssi under it. Not so long ago irssi did not work properly there. 06:49
lookatme oh 06:50
grondilu oh it was indeed a permission issue. Configure.pl worked fine on $HOME 06:59
lookatme oh, try sudo -s and bash config.status again 07:01
jmerelo grondilu: great to hear that :-) 07:04
grondilu compilation worked and ./perl6 executed well 07:09
grondilu tries again to compile it from /usr/local/src 07:12
grondilu chmods g+w a bunch of directories in /usr/local 07:32
"Hash key must be concrete strings" : paste.ubuntu.com/p/zTFdrHpzRm/ 07:35
I think my successful compilation earlier relied on a previous install of either nqp or MoarVM
and I removed those installs for cleaness purpose 07:36
jmerelo grondilu: really have no idea... This is where it's called cry.nu/coverage/roast/libmoar/cove...ash.h.html 07:43
grondilu: maybe file an issue in MoarVM? 07:44
grondilu meh, I'll try again in a few days, see if it happens again. 07:48
jmerelo grondilu: again, good luck. 07:49
samcv jmerelo: grondilu the latest coverage reports are here moarvm.github.io/coverage/ 08:18
El_Che grondilu: my packages work on WSL (if you're looking for pkg and not the process)
samcv (it uses the nqp tests to generate the coverage info)
El_Che "09:36 < grondilu> and I removed those installs for cleaness purpose" <-- rakudo, needs moarmv and nqp in a hardcode place (chosen by --prefix if not default). You can delete the src but not the compiled target 08:20
(dunno if you're talking about that, just in case)
jmerelo samcv: those coverage reports were the only place where I found the error mesage grondilu got. I wasn't looking for coverage reports per se, but thanks. 08:23
AlexDaniel squashable6: next 08:25
squashable6 AlexDaniel, ⚠🍕 Next SQUASHathon in 1 day and ≈1 hour (2018-05-05 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
samcv oh 08:26
heh
jmerelo samcv++
samcv looks like google hasn't indexed our coverage reports 08:28
Geth doc: 39543f694d | (Elizabeth Mattijsen)++ | doc/Language/5to6-perlfunc.pod6
Refer to the CPAN Butterfly Plan for moreifunctions

Now that they've become available.
08:39
synopsebot Link: doc.perl6.org/language/5to6-perlfunc
Geth doc: 774789c6ad | (Luca Ferrari)++ | doc/Type/Buf.pod6
Improve Buf.subbuf-rw documentation.

Code snippets tested on moar-2018.03. Align method prototype from the source. Close #1974
09:16
synopsebot Link: doc.perl6.org/type/Buf
doc: 1dc88f2dc3 | (Luca Ferrari)++ | doc/Type/Buf.pod6
Align subbuf-rw sub declarations.

See issue #1974
doc: 7ec81b2341 | (Luca Ferrari)++ | doc/Type/Buf.pod6
Buf.reallocate example improved.

Show that the buffer can be enlarged.
09:26
doc: ef2eb3887e | (Luca Ferrari)++ | doc/Type/Buf.pod6
Reword Buf.reallocate.

As detailed
  <github.com/perl6/nqp/blob/master/d...telems>
the new items will have a null virtual machine dependent value.
jmerelo A little howto for tomorrow's squashathon dev.to/jj/squashing-perl-6-documen...-time-4ojn 09:31
jmerelo p6: say 256.base(2) ~ " issues to solve in perl6/doc " 09:39
camelia 100000000 issues to solve in perl6/doc
lizmat weekly: dev.to/jj/squashing-perl-6-documen...-time-4ojn 10:04
notable6 lizmat, Noted!
lizmat too bad I couldn't put this in the previous weekly
jmerelo lizmat: I just wrote it today... 10:08
lizmat yeah, I got that :-) 10:09
jmerelo lizmat: I have been wanting to write it for a long time, but life gets in the way... Today it had to get out, so, well...
lizmat SDD # Squashathon Driven Development
afk for a bit& 10:10
jmerelo lizmat++ :-) 10:16
AlexDaniel jmerelo: “finishing on Sunday morning” 10:24
jmerelo: officially the idea is that Saturday is the squashathon day, the reasons it spans from Friday to Sunday is timezones 10:25
jmerelo: also “Coordination will be done through the #perl6 dev channel”, actually we have #perl6 and #perl6-dev 10:26
jmerelo: squashathons are coordinated on #perl6, which is not a dev channel
AlexDaniel “Search for it in the general Github search.” btw we also have this: 10:29
greppable6: ‘.ACCEPTS’
greppable6 AlexDaniel, Found nothing!
AlexDaniel greppable6: ‘.PULL’
greppable6 AlexDaniel, Found nothing! 10:30
AlexDaniel rly?
greppable6: ‘shell(’
greppable6 AlexDaniel, Sorry, can't do that
AlexDaniel ah
oops
greppable6: \.ACCEPTS
greppable6 AlexDaniel, 30 lines, 12 modules: gist.github.com/88e44d0314f73d4325...addbc9e253
AlexDaniel .tell jmerelo irclog.perlgeek.de/perl6/2018-05-03#i_16124307 10:36
yoleaux AlexDaniel: I'll pass your message to jmerelo.
AlexDaniel .tell jmerelo btw I added a link to your article to github.com/rakudo/rakudo/wiki/Mont...Squash-Day , it's pretty cool
yoleaux AlexDaniel: I'll pass your message to jmerelo.
AlexDaniel jmerelo++
Geth perl6.org: ab5043b6ed | (Claudio Ramirez)++ | 2 files
update rakudo-pkg info
12:03
unclechu hey guys, i'm using perl6 as a calculator for date and time, e.g. perl6 -e 'DateTime.new(DateTime.new(q/0000-01-01T16:30:00Z/) - DateTime.new(q/0000-01-01T01:15:00Z/)).say' 12:04
ktown m: DateTime.new(DateTime.new(q/0000-01-01T16:30:00Z/) - DateTime.new(q/0000-01-01T01:15:00Z/)).say 12:05
camelia 1970-01-01T15:15:00Z
unclechu but i'm wondering if i can describe time easier, like `Duration.new(q/3:30/) - Duration.new(q/1:15/)`, it isn't a legal code but demonstration how i would like to use it?
is there a way to write it down shorter? 12:06
without filling ISO date with zeros 12:07
Geth rakudo.org: 92fa1cf3a6 | (Claudio Ramirez)++ | templates/files-rakudo-third-party.html.ep
update rakudo-pkg info
12:09
AlexDaniel m: say DateTime.new(:year, :2hour, :15minute) 12:21
camelia 0001-01-01T02:15:00Z
Geth perl6.org: 099503acd2 | (Claudio Ramirez)++ | source/downloads/index.html
shorten button
12:32
AlexDaniel unclechu: I don't know if there's any neat way to do that
AlexDaniel m: dd DateTime.new(:year, :16hour, :30minute) - DateTime.new(:year, :1hour, :15minute) 12:33
camelia Duration.new(54900.0)
AlexDaniel ↑ that's not too bad though 12:34
unclechu :m say DateTime.new(DateTime.new(:year, :15hour, :30minute) - DateTime.new(:year, :1hour, :15minute)) 12:42
AlexDaniel, thanks, that's better
AlexDaniel m: say DateTime.new(DateTime.new(:year, :15hour, :30minute) - DateTime.new(:year, :1hour, :15minute)) 12:43
camelia 1970-01-01T14:15:00Z
unclechu :m say DateTime.new(DateTime.new(:year, :15hour, :30minute) - DateTime.new(:year, :1hour, :15minute)).hh-mm-ss 12:45
AlexDaniel unclechu: it's “m:” not “:m” 12:46
unclechu m: say DateTime.new(DateTime.new(:year, :15hour, :30minute) - DateTime.new(:year, :1hour, :15minute)).hh-mm-ss
camelia 14:15:00
unclechu silly me :)
buggable New CPAN upload: P5getprotobyname-0.0.1.tar.gz by ELIZABETH cpan.metacpan.org/authors/id/E/EL/...0.1.tar.gz 13:36
buggable New CPAN upload: P5getgrnam-0.0.4.tar.gz by ELIZABETH modules.perl6.org/dist/P5getgrnam:cpan:ELIZABETH 13:56
jmerelo O/ 15:55
yoleaux 10:36Z <AlexDaniel> jmerelo: irclog.perlgeek.de/perl6/2018-05-03#i_16124307
10:36Z <AlexDaniel> jmerelo: btw I added a link to your article to github.com/rakudo/rakudo/wiki/Mont...Squash-Day , it's pretty cool
jmerelo AlexDaniel`: Thanks! Hope it helps tomorrow 15:56
Will change that.
jmerelo greppable6: ~~ 16:00
greppable6: ComUnit 16:01
greppable6: CompUnit
greppable6 jmerelo, Found nothing!
jmerelo, 418 lines, 78 modules: gist.github.com/48604c2445258702b3...d6c956c851
jmerelo, 10251 lines, 698 modules: gist.github.com/35124b916a96e596a1...b8fe318d71
jmerelo .tell Alexdaniel: it's updated now. Any suggestion will be appreciated/welcome/give you a prize of a couple of beers payable when we meet. 16:07
yoleaux jmerelo: What kind of a name is "Alexdaniel:"?!
jmerelo .tell Alexdaniel it's updated now. Any suggestion will be appreciated/welcome/give you a prize of a couple of beers payable when we meet.
yoleaux jmerelo: I'll pass your message to Alexdaniel.
lizmat jmerelo: I think it's actually AlexDaniel 16:24
jmerelo lizmat: With the capital D, right?
.tell AlexDaniel it's updated now. Any suggestion will be appreciated/welcome/give you a prize of a couple of beers payable when we meet. 16:25
yoleaux jmerelo: I'll pass your message to AlexDaniel.
jmerelo Anyway, here's the write up on how to help with the Squashathon. dev.to/jj/squashing-perl-6-documen...-time-4ojn any other suggestion will be appreciated.
squashable6: status
squashable6 jmerelo, ⚠🍕 Next SQUASHathon in ≈17 hours (2018-05-05 UTC-12⌁UTC+14). See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
comborico1611 I feel rx { } is so much clearer than / /. I'm very pleased that I am given the option. 16:32
jmerelo comborico1611: that's Perl
there are always many ways to do it :-) 16:33
comborico1611 Same thing with \- and '-'
Yes, it is wise. The best option will eventually rise to the top by reason of popularity of use.
timotimo why not rx"foo" :D 16:47
Voldenet I prefer rx ! ! 16:50
mr_ron I came up with a blog posting about getting advent Grammar::Modelica to finish parsing the Modelica Standard Library but wonder if it might make sense to put it on the perl6advent blog. 16:51
perl6monger.software-path.com/2018...6-grammar/
timotimo you mean as an edit to the post? 16:52
mr_ron Not as an edit. It looks to big for a comment. I was thinking of separate post referring to the original. 16:53
timotimo hm, so far i believe we've only posted to that blog during actual pre-christmas times
not sure how well that change would work
mr_ron There were two posts that weren't during December but I now see that those were special cases. 16:55
comborico1611 Is there any way to add "expressions" to a Character Class. Example: '\d ** 4'. 16:56
timotimo how did these special cases differ from your proposed post?
comborico1611: can you explain with an example what you want?
i mean, \d ** 4, you can do that
what did you want that you can't find out how to do? 16:57
comborico1611 So the entire rx would look like this: rx { <[ (\d ** 4) '-' \d\d '-' \d\d }
The idea being use each unit as a character.
timotimo no, character classes are not for that kind of thing
but you can re-use regexes inside other regexes
comborico1611 Crazy.
mr_ron The two posts bracketed the Dec 2015 release of Perl 6. 16:58
timotimo m: my regex four { \d \d \d \d }; my regex two { \d\d }; say "2018-04-03" ~~ rx{ <&four> '-' <&two> '-' <&two> }
camelia 「2018-04-03」
timotimo m: my regex four { \d \d \d \d }; my regex two { \d\d }; say "2018-04-03" ~~ rx{ <four> '-' <two> '-' <two> }
camelia 「2018-04-03」
four => 「2018」
two => 「04」
two => 「03」
timotimo no need to use the & there, it'll only cause it to not capture 16:59
comborico1611 Thanks. Yup, that's the ticket!
timotimo that's also how you would design a grammar
m: my regex four { \d \d \d \d }; my regex two { \d\d }; say "2018-04-03" ~~ rx{ <year=.four> '-' <month=.two> '-' <day=.two> } 17:00
camelia No such method 'four' for invocant of type 'Match'. Did you mean 'floor'?
in block <unit> at <tmp> line 1
timotimo oops
m: my regex four { \d \d \d \d }; my regex two { \d\d }; say "2018-04-03" ~~ rx{ <year=&four> '-' <month=&two> '-' <day=&two> }
camelia 「2018-04-03」
year => 「2018」
month => 「04」
day => 「03」
comborico1611 I see. Yeah, I hear about these grammars, here and there.
timotimo here you get year, month, and day instead of four, two, and two 17:00
comborico1611 It's too bad IRC doesn't have like a <code> tag. So much more difficult to read in-line. 17:01
timotimo that's true, irc only has conventions
comborico1611 timotimo: What are the < > groupings called, as in <four> '-' <two>... 17:03
timotimo that's the multi-purpose syntax for lots of different things
comborico1611 Would [ ] also work? 17:04
timotimo no, that'll give you, for example, a character class that matches an f, an o, a u, or an r
comborico1611 Okay, thanks! 17:05
comborico1611 Out for lunch! 17:07
mr_ron Does it make sense to put my blog posting on r/perl6? 17:18
siigl p6: say 3 17:32
camelia 3
isigl_ p6: say [*] 1..5; 17:39
camelia 120
masak p6: say [*] reverse 1..5 17:40
camelia 120
masak works backwards too :)
isigl_ great to know. Thanks!
masak p6: say [*] "12345".comb 17:42
camelia 120
sena_kun m: class A { has $.a is rw }; my $a = A.new(:a(1)); A.^attributes(:local)[0].set_value($a, 2); $a.a = 3; 17:47
camelia Cannot modify an immutable Int (2)
in block <unit> at <tmp> line 1
Voldenet what does :local do in this context? 17:51
m: class A { has $.a is rw }; my $a = A.new(:a(1)); A.^attributes[0].set_value($a, 2); $a.a = 3; 17:52
camelia Cannot modify an immutable Int (2)
in block <unit> at <tmp> line 1
Voldenet it seems roughly the same, but is it?
sena_kun m: class A { has $.a is rw }; say A.^attributes; say A.^attributes(:local);
camelia (Mu $!a)
(Mu $!a)
sena_kun hmm, don't see it in the docs. don't mind me, it was some kind of shady magic here. :) 17:53
Voldenet Aha, there's docs for it 17:54
>The :local named argument limits the returned methods to those defined in the Programmer class and excludes the inherited methods.
sena_kun yup 17:55
_sfiguser hello all, is there something comparable to numpy for perl6 ? 18:30
which is continuously updated not an ancient relic i mean 18:31
AlexDaniel . 18:34
yoleaux 16:07Z <jmerelo> AlexDaniel: it's updated now. Any suggestion will be appreciated/welcome/give you a prize of a couple of beers payable when we meet.
16:25Z <jmerelo> AlexDaniel: it's updated now. Any suggestion will be appreciated/welcome/give you a prize of a couple of beers payable when we meet.
lizmat _sfiguser: I'm afraid I'm too unfamiliar with numpy to be able to answer that question 18:43
moritz I'm not aware of any dynamic language that has libraries comparable to numpy/scipy 18:44
Petit_Dejeuner julia probably has something in the stdlib 18:45
There's this, but it still looks immature. github.com/pierre-vigier/Perl6-Math-Matrix 18:47
boucher Hey folks, trying to wrap my head around Perl 6, hope someone wouldn't mind answering a few questions about how hyper and reduce can/do combine...? 18:55
moritz boucher: we can certainly try 18:56
boucher In particular, I assume the outcome of a non-associative operation, like [>>-<<] is kinda undefined?
Petit_Dejeuner Is there a way to handle a failed call to 'open' with a statically typed variable? I have code like 'my IO::Handle $f = open $name', but if $name does not exist, then a Failure object is passed back and the type check fails. 18:57
"statically" or whatever you call it
I could just catch the type error, but that's a pretty broad error to catch. 18:58
lizmat Petit_Dejeuner: with open($name) -> $handle { }
AlexDaniel Petit_Dejeuner: what about my IO::Handle $f = try open ‘blah’;
Petit_Dejeuner: it will be Nil if unsuccessful
lizmat AlexDaniel: open doesn't throw
moritz boucher: I don't even know what's that supposed to do :-)
AlexDaniel ah
lizmat: uh oh… but… it works? 18:59
moritz you can always "use fatal;"
then it throws
AlexDaniel m: my IO::Handle $f = try open ‘blah’; say 42
camelia 42
AlexDaniel m: my IO::Handle $f = try open ‘blah’; say $f
camelia IO::Handle is disallowed in restricted setting
in sub restricted at src/RESTRICTED.setting line 1
in method gist at src/RESTRICTED.setting line 33
in block <unit> at <tmp> line 1
AlexDaniel e: my IO::Handle $f = try open ‘blah’; say $f
evalable6 (Handle)
AlexDaniel it works? But why?
timotimo i interpret that as "a list of same-shaped vectors or hashes or whatever ought to be subtracted in a row"
moritz AlexDaniel: "open" generally behaves differently with camelia
AlexDaniel moritz: but there it is with evalable 19:00
lizmat AlexDaniel: I think it's the try sinking the Failure 19:00
and then catching thar
*that
boucher Heh, well, okay, suppose I say [+] ^10 That gives 45, as I'd expect.
boucher If I say [>>+<<] ^10 that also gives 45, and even though I don't think Rakudo Perl yet does autothreading, in theory, it should attempt to parallelize the reduction if it can. 19:02
timotimo ah, no that's a misunderstanding
[>>+<<] is actually just a regular [ ] but the operator inside is for lists/hashes instead of single values
observe:
boucher Ah. 19:03
timotimo m: my @input = <a b c>; my @other = <1 2 3>; my @result = @input >>~<< @other; say @result.perl
camelia ["a1", "b2", "c3"]
boucher Is there a syntax for parallel reduction?
timotimo so you can use [>>+<<] the following way:
m: my @inputs = <a b c>, <x y z>, <1 2 3>, <9 8 7>; say [>>~<<] @inputs;
camelia (ax19 by28 cz37)
boucher Ah, I see. 19:04
timotimo m: my @values = ^100_000; say @values.race.sum; # not sure if that's implemented
camelia 4999950000
timotimo looks like that's single-threaded still 19:05
probably just an NYI 19:06
but here's a silly work-around
boucher Yeah, autothreading's probably going to be a nightmare to implement properly. It sounds nice, but I wonder if I'll ever be able to trust it to be efficient without holding its hand.
timotimo m: my @values = ^100_000; say @values.rotor(1000).race.map({ $_.sum }); 19:07
camelia (499500 1499500 2499500 3499500 4499500 5499500 6499500 7499500 8499500 9499500 10499500 11499500 12499500 13499500 14499500 15499500 16499500 17499500 18499500 19499500 20499500 21499500 22499500 23499500 24499500 25499500 26499500 27499500 28499500 …
timotimo m: my @values = ^100_000; say @values.rotor(1000).race.map({ $_.sum }).sum;
camelia 4999950000
timotimo needs much more values to actually benefit from multi-threading at all 19:08
boucher Yeah, obviously.
timotimo actually, it seems like sum is so much faster than the rest, that it doesn't benefit even for 10k chunks out of 10 million values
lizmat weekly: perl6monger.software-path.com/2018...6-grammar/
notable6 lizmat, Noted!
timotimo oh, i need to set batches to 1
i can't get it noticably above 130% cpu usage 19:09
not sure what part of this is splitting the values up at the beginning, though
lizmat timotimo: yeah, that's because the work each job does is not enough, so there's always a thread available to pick the next one
so we never get more threads
timotimo yeah, that's what i expected 19:10
Petit_Dejeuner The 'with' worked, but is there no easier way to get open to raise an exception when it fails? 19:12
Like X::IO::DoesNotExist ?
lizmat like moritz suggested: 'use fatal' 19:13
Petit_Dejeuner That's an X::AdHoc. 19:15
_sfiguser guys i would like to start with perl and donìt know if to start with 6 or 5, any suggestion^ 19:16
?
Petit_Dejeuner Which is better, but still not super helpful since (afaik) there's no information on the cause of the error in the type.
Unless I parse some kind of error string.
lizmat Petit_Dejeuner: yeah, I'm surprised we don't have a typed error for that 19:17
moritz Petit_Dejeuner: that is indeed not awesome
_sfiguser: what do you want to do in the end?
_sfiguser data analysis
data science and machine learning
lizmat hmmm... it appears the error comes from the bowels of nqp / MoarVM: 19:18
CATCH { .fail }; nqp::open(...)
moritz _sfiguser: I think currently Perl 5 and Python both do better in that area than Perl 6 19:19
Petit_Dejeuner _sfiguser: For Machine Learning, Python has all the libraries afaict.
moritz TensorFlow in particular, and numpy/scipy 19:20
Petit_Dejeuner lizmat: Is this sort of thing (the error type) even worth changing at this point? I assume changing 'open' will break a bunch of code.
lizmat yeah, maybe something for 6.d 19:21
shinobicl What is really required for data analysis, besides statistics/GPU libraries? are some specific data structures needed for this? 19:36
buggable New CPAN upload: P5getpwnam-0.0.3.tar.gz by ELIZABETH modules.perl6.org/dist/P5getpwnam:cpan:ELIZABETH
El_Che shinobicl: python needs a lot of C libs for speed (huge arrays and the like) 19:38
yoleaux 12:03Z <AlexDaniel> El_Che: prerelease is up and tested :) That's pretty cool. I'd try to do these regularly, and maybe I'll even automate it
El_Che \o/
boucher Data structure-wise, vector and matrix support, optionally sparse, is handy. I like a good graph theory framework too. 19:40
buggable New CPAN upload: P5built-ins-0.0.15.tar.gz by ELIZABETH cpan.metacpan.org/authors/id/E/EL/....15.tar.gz 19:46
moritz also you want lots of linear algebra libs like matrix multiplication, inversion, LU and LR decomposition etc.
determinants, eigenvector decomposition etc. 19:47
boucher Yeah, I figured since the question was about data structures, that all the things that can be done to the data was covered by "statistics/GPU libraries" 19:48
shinobicl mmm that sounds fun to build :) I wonder if i could speed up my module Data::StaticTable to be of any use for this. I know is more like a toy module, but might be a good start to build something decent. 19:49
boucher But yeah...even though Perl was my first love, I admit I use Python most of the time for stuff like this. 19:50
boucher I started off with Perl 4...nearly, goodness, 25 years ago already, but I haven't dipped my toe seriously into Perl 6 until this year, fearing it was too in flux to bother with. 19:56
skids You did manage to miss most of the rug-pulling, I think. 20:00
boucher (Or for a period, dead/infinitely postponed/abandoned, but it seems like things are shaking out in a positive direction)
I'm a bit of a conservative programmer. It took me forever to embrace many of Perl 5's additions, even. 20:02
skids I think there's a strong committment now to keeping "it" working fast if "it" was already working fast, "it" being whatever feature. 20:03
boucher But things like grammars and junctions definitely attracted me as things that neither Perl 5 nor Python do especially elegantly by themselves, that I want to have as a core language feature. 20:04
boucher I certainly appreciate performance, and it's why I'm interested in autothreading whenever it happens, but for me, Perl was always about the efficiency with which *I* could express something in code, with the efficiency of the code itself being somewhat secondary in most situations. 20:07
boucher It's always nice if I don't find myself having to turn to external libraries or rewriting in C or whatever to make it more performant, but Perl was never my first choice for heavy lifting...it was my swiss army knife. And now, it has way more nifty tools packed into it. 20:09
boucher In fact, it's about as daunting as www.amazon.com/dp/B001DZTJRQ/ 20:12
boucher So I'm not entirely sure it still fits in my pocket, but I'm gonna try. 20:12
skids shinobicl: in addition to whatever the vector crowd needs for libs, there is some heavy lifting to do on the native types and CStruct to fix bugs that can be a real turn-off for anyone working with structured data. e.g. RT#124088 and the NYI bits of HAS attributes. 20:25
synopsebot RT#124088 [open]: rt.perl.org/Ticket/Display.html?id=124088 [SEVERE] Unsigned int in highest bit length, stays negative
buggable New CPAN upload: P5built-ins-0.0.16.tar.gz by ELIZABETH cpan.metacpan.org/authors/id/E/EL/....16.tar.gz 20:36
john___ 21:22
comborico1611 How do you apply SUBST to all, not just first occurrence? 22:13
timotimo also pass :g 22:14
comborico1611 m: my $string = 'abcdefgcd'; $string = $string.subst('cd', 'CD');
camelia ( no output )
comborico1611 m: my $string = 'abcdefgcd'; $string = $string.subst('cd', 'CD'); say $string
camelia abCDefgcd
timotimo m: my $string = 'abcdefgcd'; $string = $string.subst('cd', 'CD', :g);
camelia ( no output )
timotimo m: my $string = 'abcdefgcd'; $string = $string.subst('cd', 'CD', :g); say $string
camelia abCDefgCD
timotimo m: my $string = 'abcdefgcd'; $string .= subst('cd', 'CD', :g); say $string
camelia abCDefgCD
comborico1611 :g is the global adverb?
That thing is tricky to understand. 22:15
Thanks!
timotimo :g is just the same as g => True
i.e. pass a named parameter named "g" with the value "True"
comborico1611 I'm not very familiar with => except for in hashes. 22:17
But I got your example in my notes in the book now. 22:18
comborico1611 With an accrediation to you. : -_) 22:18
timotimo there's no need for that ;)
comborico1611 I like to do that. Just help me remember people, as well. 22:18
timotimo OK :) 22:19
comborico1611 And I know who to blame for bad info... haha.