Perl 6 - the future is here, just unevenly distributed

IRC log for #pdl, 2014-12-24

| Channels | #pdl index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:41 test joined #pdl
00:52 sivoais it's up!!! <https://metacpan.org/release/ZMUGHAL/Statistics-NiceR-0.02>, <https://metacpan.org/release/ZMUGHAL/Data-Frame-0.001>. Time to write a blog post!
01:05 mohawk https://www.youtube.com/watch?v=_j9QeUoPOi4
01:59 sivoais blogged <http://enetdown.org/dot-plan/posts/2014/12/24/a_fast_and_natural_interface_to_R_from_Perl/>
02:00 sivoais now to post to ALL THE places
02:02 mohawk sivoais++
02:04 sivoais jberger: do you think cross-posting perldl and quantified-onion would be OK?
02:05 mohawk just do it anyway
02:05 mohawk DO IT NOW
02:05 sivoais :-D
02:06 sivoais GET TO THE CHOPPA
02:07 jberger sivoais: sure
02:10 mohawk doesn't seem worth it now you've got permission
02:10 mohawk but oh well
02:12 sivoais hehe
02:17 * sivoais forgot to test on Windows...
02:18 sivoais As long as R.exe is in the %PATH%, I think it should work...
02:18 sivoais I've never actually used R on Windows
02:24 * sivoais . o O ( Alien::Rstats )
02:25 mohawk ha ha
02:25 mohawk go on, try on windows now
02:25 mohawk or should i?
02:25 mohawk eh, go on then
02:26 sivoais but that means I have to go get my VM...
02:26 sivoais bah. OK, let's have a go
02:28 mohawk trying cpanm Statistics::NiceR on active now....
02:29 mohawk it's getting the latest Inline::C
02:29 mohawk ...released by me
02:29 mohawk i'm quite a big deal round here, don't'y'know
02:30 sivoais don't you love that... :-) going in to update all your modules and seeing your own stuff pop up.. "why yes, I did release a new version..."
02:32 mohawk taking its own sweet time on upgrading EUMM
02:32 mohawk which is a dep of I::C
02:32 mohawk thanks to work i did
02:33 mohawk did i mention what a big deal i am?
02:33 mohawk (the above is ironic, for the north americans)
02:34 sivoais :-P
02:34 jberger http://www.quickmeme.com/img/5f/5fe03ddff8bc25ec63b2ae5db308290ee87ceeea1c6f1c1c4d0a035b1af7e66e.jpg
02:35 mohawk jberger++ # the honourable exception
02:36 mohawk it's just finishing up with I::C
02:36 mohawk god only knows how long it'll take with PDL
02:38 sivoais yeah, it's still going with PDL for me... oh, and I can see that dmake.exe running
02:38 sivoais ;-)
02:40 mohawk starting to wonder whether i should have used --notest
02:41 sivoais wouldn't help... PDL is still *compiling* for me
02:41 mohawk well check you out
02:41 mohawk I::C hasn't finished yet
02:41 mohawk NOW it's on PDL
02:41 mohawk ....'s dependencies
02:42 mohawk GAHH
02:43 sivoais PDL failed a couple of its tests
02:45 mohawk doh
02:45 mohawk it's now doing actual PDL
02:45 mohawk bet we wish right now that PDL was less gigantic, eh
02:45 * sivoais is on Strawberry Perl
02:45 mohawk someone should do something about that
02:45 sivoais hehe, yarp *touches nose*
02:45 mohawk Module::Compile failed
02:45 sivoais oh what?!
02:49 mohawk PDL failed
02:49 mohawk forcing
02:50 mohawk install failed
02:50 mohawk well that sucks
02:52 * mohawk does the ol' switcharoo to EUMM 7.04 and tries PDL on strawperl
02:59 sivoais looks like it might just work! :-D
03:00 sivoais now to install R and see if that help
03:04 mohawk how does activeperl stores its config?
03:04 mohawk i need to switch to nmake
03:05 mohawk ActivePerl::Config
03:05 mohawk ffs
03:06 mohawk and it's overriding my configured make
03:06 mohawk nice work, active
03:11 mohawk so activeperl failed
03:11 sivoais what. R on windows installs both i386 and x64 versions. And somehow that messes with how I get the CFLAGS and LIBS
03:11 mohawk nmake bug
03:11 mohawk now trying on strawperl with gmake
03:11 sivoais (╯°□°)╯︵ ┻━┻
03:12 mohawk i'm only seeing mojibake
03:12 sivoais it's a table flip :-P
03:12 sivoais <http://irclog.perlgeek.de/pdl/2014-12-24#i_9847657>
03:13 mohawk ha ha, nice
03:13 sivoais comes in very handy while programming
03:13 mohawk ha ha!
03:14 mohawk https://www.youtube.com/watch?v=sPnGC1__Xqg&amp;feature=youtu.be&amp;t=18s
03:18 sivoais hmm, how do I tell the difference between a 32/64-bit Perl?
03:18 sivoais I see some things in Config, but is there a robust way?
03:19 mohawk the arch name on perl -V?
03:20 mohawk perl -V:archname
03:20 jberger sivoais: Config should be thought of as the canonical souce, no?
03:20 mohawk if it's not, you're kind of in deep shit ;-)
03:21 jberger the Config module is build from Perl build configuration as it is being built
03:21 jberger IIUC
03:21 sivoais so... $Config{archname} =~ /64/
03:23 vicash $Config{archname} =~ /x86_64|x86-64|amd64/
03:24 vicash sivoais: you want to be specific with archname since ARM64 is a thing and there might be someone obscure trying to run your stuff on it
03:26 vicash btw sivoais: read your blog on mutt+gmail and i am curious how do you manage to view emails which have embedded images in them ? and by that i mean not signatures but actual things like say personal photos or something.. i have been thinking of moving off of Thunderbird but i can't do it...
03:27 sivoais vicash: oh, I just open the attachments and open them using the mailcap entries. I don't get many people sending me photos though. PDFs on the other hand...
03:28 vicash sivoais: also what is the quantified onion ?
03:30 sivoais vicash: it's a mailing list that needs more posts :-) <https://groups.google.com/forum/#!forum/the-quantified-onion>
03:31 vicash sivoais: so one of my apps financeta has a custom language written using Pegex that compiles to PDL ..
03:31 vicash i looked at NiceR
03:31 mohawk Caught Statistics::NiceR::Error::RInterpreter: R executable not found
03:31 vicash and i am thinking next year (so close !), once i have documented the language maybe we can compile to R too
03:31 mohawk so that'll explain why it's not working
03:32 mohawk you do need an alien module for that
03:32 sivoais vicash: nice! that's got lots of financial modelling packages
03:32 mohawk even if it just fails to install if not installed
03:33 sivoais mohawk: yeah, I'm working on it for Windows. Not the Alien:: dist yet. Just trying to figure out the %PATH% and arguments
03:33 mohawk ok
03:33 mohawk well, i don't have R installed, so, y'know
03:33 vicash File::Which can help look in %PATH%
03:33 vicash in a cross-platformy way
03:34 * sivoais nods
03:34 mohawk yay cross-platform!
03:34 sivoais but the default R installer doesn't put it in the %PATH%
03:34 sivoais so I'll have to try the default locations in my first go
03:35 sivoais BUT... if you install both i386 and x64, you have to specify which one you want to link with first O_O
03:36 vicash that is a standard problem on a 64-bit Windows running a 32-bit perl anyway
03:37 vicash so you should just say 32-bit perl => 32-bit R and 64-bit perl => 64-bit R...
03:37 sivoais yep, that's the plan. writing up the logic now
03:38 vicash and if on 64-bit perl there is no 64-bit R and there is a 32-bit R then use 32-bit R with warnings
03:38 vicash because if the user is doing > 4GB memory usage then there will be a fuckup somewhere
03:40 sivoais yeah. I was reading through the source code for R. R's original design for their internals was quite limited in how big their containers could get.
03:41 sivoais they had to extend it by making a second field to hold the length in their struct if it was larger than their original limit
03:42 vicash haha...
05:56 sivoais mohawk: ok, I think I might have fixed up the build some more, but it also requires Rtools <https://github.com/zmughal/p5-Statistics-NiceR#windows>
05:56 sivoais I think.
05:56 sivoais I tried it and it gets all the way to the linker and fails.
06:13 sivoais err, I think the DLL might need to be added to the %PATH%
06:16 mohawk nice
06:16 * mohawk sobs
06:17 mohawk sivoais, i was happy to help testing pure(ish) perl stuff, but i'm not keen on installing stuff just for this
06:17 mohawk the sobbing was out of sympathy, for the avoidance of doubt
06:18 sivoais mohawk: no problem... I think I need to set MYEXTLIB  for Inlne::C?
06:19 sivoais that's what I'm getting from <http://www.nntp.perl.org/group/perl.inline/2011/11/msg4051.html>
06:20 mohawk not sure that's what that's for
06:21 mohawk the module (singular) that i'm aware of that uses it is SDBM_File
06:21 sivoais this is what I get <https://gist.github.com/zmughal/52273812e49eca97d55c>
06:22 sivoais essentially, it compiles, but then it can't find the symbols. I added the directory to the %PATH% so it can get the DLL at runtime
06:24 sivoais it just doesn't link to the R.dll :-O
06:25 sivoais i'll look into it later
06:51 sivoais wooo got it!
06:51 sivoais but now my build system looks super ugly
06:51 mohawk bah
06:51 mohawk how ugly are we talking?
06:52 sivoais let me show you...
06:53 sivoais mohawk: <https://github.com/zmughal/p5-Statistics-NiceR/blob/e63ae4c6b3638576d5a621a5cd09ca1de09a77e8/lib/Statistics/NiceR/Inline/Rinline.pm>
06:54 sivoais I can fix it, but I was just muddling around right now
06:54 sivoais and there's this weird issue
06:55 sivoais When I set MYEXTLIB to "C:\Program Files\R\R-3.1.2\bin\x64\R.dll" gives me an error on the part where it has a space
06:55 sivoais so I replace s|Program Files|PROGRA~1|
06:57 sivoais > dmake:  Error: -- `C:\Program' not found, and can't be made
06:59 mohawk can't rely on users clicking the right checkbox
06:59 mohawk ha, welcome to my fucking world
06:59 mohawk 1) look in EUMM's MM_Win32::quote_dep for right way to get ShortPathName
07:00 mohawk 2) looks like you're right about MYEXTLIB needing quoting
07:00 mohawk for now, please do use the shortpathname as above
07:00 mohawk and file a gh issue on EUMM
07:00 mohawk i'll fix it in minutes few
07:00 sivoais ok :-)
07:00 mohawk there's a dev release coming soon with a fuck-ton of changes in, all by me
07:01 mohawk this change you need to access is also by me
07:01 sivoais also, can there be multiple DLLs in MYEXTLIB ?
07:01 mohawk and i'll fix it
07:01 mohawk sivoais, i think so
07:01 mohawk as long as they're in filename rather than -l format
07:01 mohawk don't quote me on that
07:01 mohawk but i did shove MYEXTLIB around as part of XS 2/3 (see EUMM PRs)
07:02 mohawk actually
07:02 sivoais would they be concatenated into a single string or would they go in an arrayref
07:02 mohawk for now, don't use ShortPathName
07:02 mohawk instead, you quote MYEXTLIB yourself
07:02 mohawk because what if there's more than one?
07:02 sivoais yep
07:03 sivoais because if they are in a single string...*ouch*
07:03 mohawk you may be asking yourself a) did i fire 5 shots or 6? b) how do i call the right quote_* function to access this EUMM functionality?
07:04 mohawk answer is, look at top of EUMM's t/lib/MakeMaker/Test/Setup/XS.pm
07:04 mohawk make sure you get git latest, i just found a bug in it
07:04 mohawk so
07:05 mohawk use that invocation to get an MM->new object
07:05 mohawk ooer
07:05 mohawk is this going to be a make dependency, or a shell var?
07:05 mohawk i think it's both?
07:06 mohawk if so, then you won't really be able to do right thing from outside
07:07 sivoais mohawk: both! :-O
07:07 mohawk yeah, it's both
07:07 sivoais MYEXTLIB and %PATH%
07:07 mohawk so get the shortpath, use that for now
07:07 mohawk and please file an issue
07:08 sivoais the full name works fine in %PATH%...but if the full name could work for MYEXTLIB, that'd be awesome
07:08 sivoais filing the bug now
07:08 mohawk then i can make it a listref, and then make a DEP var, and a normal var, and quote them appropriately
07:08 mohawk please note i said the above, in case i forget
07:08 sivoais I'll link to the IRC convo!
07:08 mohawk don't
07:09 mohawk just excerpt that line
07:09 sivoais oh
07:09 sivoais ok
07:10 mohawk for now, several things, shortpathed, should work right
07:10 mohawk but i want to make the shortpathing unnecessary, and that will involve an arrayref
07:10 mohawk please put that line in
07:10 mohawk and only that ;-)
07:13 sivoais <https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/issues/184>
07:14 mohawk nice work
07:15 mohawk i think this is the first instance of a potentially list-valued var that's also potentially space-containing
07:15 mohawk a listref (as i insist on calling them) is the way
07:15 sivoais *I* don't need it to have multiple DLLs yet, but I can see that being an issue for complex builds.
07:19 mohawk hmm
07:19 mohawk well, it does say LIB not LIBS
07:19 mohawk ha
07:19 sivoais yeah, hehe
07:19 mohawk i could just treat it as one
07:20 mohawk after all, EUMM has previous been all about the one-lib-per-dir
07:20 sivoais and create a option that Does The Right Thing?
07:20 mohawk no
07:20 mohawk i propose to treat it as one
07:20 mohawk and if someone asks for multi, then that would be MYEXTLIBS
07:20 mohawk treated differently
07:21 mohawk no break with back-compat
07:21 mohawk that's kind of a big deal with toolchain stuff
07:21 sivoais yeah, that's what I was thinking. create a new option
07:21 mohawk chm, i know more than you about back-compat, thanks to my EUMM work - works more widely than PDL
07:21 mohawk i'll follow up on the issue
07:22 sivoais sweet
07:22 * sivoais is happy that it works on Windows
07:22 mohawk it's a fine hair to split, but fuck it ;-)
07:23 sivoais Might as well do it right at some point. Knock off those sharp edges.
07:24 mohawk there has not been really any demand for MYEXTLIB in the 20 years or so of EUMM's life
07:24 mohawk i don't see a sudden rush now
07:25 sivoais really? I believe that is the only way to compile on Windows with a DLL? Am I wrong about that?
07:26 mohawk you're not wrong
07:26 mohawk however
07:27 mohawk what's the whole Alien thing about?
07:27 sivoais which Alien thing?
07:28 sivoais the entire project?
07:28 mohawk what i mean is, that is about linking in external shiz without (as far as i know) using the MYEXTLIB facility
07:29 mohawk no/yes?
07:29 sivoais ah, yes. it should be, but certain native libraries don't build .lib/.a files
07:29 mohawk grin
07:29 mohawk i don't think they have to
07:30 mohawk most linkers are (as far as i know) ok with a .dll/.so as an arg
07:30 mohawk anyway
07:30 mohawk i somehow doubt you're the first person to want to link against an external lib
07:30 sivoais which means the .dll path needs to resolved
07:30 sivoais hah, yeah
07:30 mohawk i think your way forward is to add some -Ldir -llibname magic to your WriteMakefile options
07:31 mohawk the docs will tell you how
07:34 mohawk and therefore replace the MYEXTLIB thing?
07:45 sivoais not sure at this time. It looks like the MS linker and MinGW GCC linker support different linking capabilities with DLLs
07:47 sivoais and it looks like Alien::SDL2 / Alien::PNG actual give the module user the full path to the .so/.dll files (  Alien::SDL2->config('ld_shared_libs'); , Alien::SDL2->config('ld_shlib_map');
07:47 sivoais )
07:47 mohawk ok
07:48 mohawk so go for the shortpath option for now
07:51 mohawk sivoais, ps - nice research ;-)
14:19 opkick [pdl] wchristian pushed 6 new commits to master: http://git.io/UHXFxw
14:19 opkick pdl/master 8fac648 Ed J: Support ExtUtil::Depends by making PDL::Install::Files.
14:19 opkick pdl/master d31375c Ed J: Test, implement support for "use Inline with=>q(PDL)".
14:19 opkick pdl/master f4fddbe Ed J: Doc better Inline interface.
14:37 Mithaldu woo, the synch works
15:19 opkick [pdl] wchristian pushed 2 new commits to master: http://git.io/OUUlPg
15:19 opkick pdl/master 505da5a Chris Marshall: Update VERSION etc for PDL-2.007_05 release...
15:19 opkick pdl/master 7604e03 Chris Marshall: Update VERSION to 2.007_06 for more development
16:01 rindolf joined #pdl
18:07 sivoais Using Rust from Perl and Julia <http://paul.woolcock.us/posts/rust-perl-julia-ffi.html>
19:02 mohawk holy fuck
19:02 mohawk my code's on master
19:04 mohawk 2.008 is when shiz starts to happen
19:04 jberger mohawk++
19:05 mohawk jberger, you're very kind
19:05 mohawk jberger, chm's email says "Still no volunteer to support and maintain the page on github"
19:05 jberger I don't know what he is asking about
19:06 jberger who "maintains" the current site?
19:06 mohawk strictly, he's not asking, it's an excuse
19:06 mohawk regardless
19:06 jberger I've ported the site from PHP
19:06 mohawk i am suggesting you volunteer to be the maintainer
19:06 jberger to static js
19:06 jberger there is no server
19:06 mohawk dude, i know
19:06 jberger there's nothing to maintain
19:06 mohawk that's why "maintainer" will be a really, really easy job
19:07 mohawk ergo
19:08 mohawk are you willing to be the maintainer? :-)
19:11 jberger I'm not sure why this whole thing rubs me the wrong way, why does he need me to say it?
19:12 jberger nevermind, I'll just say it I suppose
19:12 jberger but I keep coming back to "who maintains the current site?"
19:13 mohawk jberger, you're preaching to the choir on that one as well ;-)
19:14 jberger why would I take all the time to create the darned thing and just abandon it? then again, if all it needs is the news updated, in the same way that the current site does, why does anyone need to volunteer
19:15 jberger but then again, he made it quite clear in the last email, moving the site to github pages does not herald a move to github as primary repository, and so, I'm not sure I care
19:15 mohawk bite the bullet, my friend
19:15 mohawk baby steps
19:15 jberger that hope was what made me do the work to port the site, not so that I can volunteer to update the news banner for the rest of my days
19:20 mohawk sivoais, on openhub have you claimed your PDL commits?
19:27 mohawk ingy, module::compile is causing problems for PDL CPAN install? https://sourceforge.net/p/pdl/bugs/365/
19:27 mohawk it's only missing a dep on Module::Install (apparently)
19:41 sivoais mohawk: I have not.
19:41 * sivoais is writing some more PDL3 thoughts
19:42 mohawk then get to that chopper, my friend
19:47 mohawk looks like ingy has been sitting on this module::compile issue since Sep
19:47 mohawk that doesn't seem ideal, since it's breaking PDL
20:18 mohawk i've PRed a fix and zild upgrade
20:21 sivoais mohawk++ <https://github.com/ingydotnet/module-compile-pm/pull/4>. It's a 3-in-1!
20:23 mohawk yes it is
20:23 mohawk it's actually a "strike", since it knocks down all the pins in one
20:23 mohawk can't believe ingy left his module not installing from CPAN since Sep
20:26 jberger especially with his cpan-day rampage
20:27 mohawk damn good point
20:27 mohawk problem with that is that fixing bugs isn't necessarily "cool" ;-)
20:28 sivoais hehe
20:35 drrho joined #pdl
20:52 mohawk oh god
20:52 mohawk why doesn't https://metacpan.org/source/CHM/PDL-2.007/Basic/Lite.pm just use require?
20:56 mohawk and this is probably that FCES thing: https://metacpan.org/source/CHM/PDL-2.007/Basic/PDL.pm
20:57 mohawk i have only two words:
20:57 mohawk WHY GOD WHY
21:11 ingy ________________________________________
21:11 ingy < Module-Compile-0.35.tar.gz Released!!! >
21:11 ingy ----------------------------------------
21:11 ingy \   ^__^
21:11 ingy \  (oo)\_______
21:11 ingy (__)\       )\/\
21:11 ingy ||----w |
21:11 ingy ||     ||
21:12 mohawk ingy++
21:12 sivoais \o/
21:24 mohawk this is why they call me the badger-master supreme
21:29 mohawk you're welcome, chm

| Channels | #pdl index | Today | | Search | Google Search | Plain-Text | summary