Perl 6 - the future is here, just unevenly distributed

IRC log for #pdl, 2013-12-08

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

All times shown according to UTC.

Time Nick Message
02:45 jberger_ :-)
04:18 Mithaldu woo, i got tutorial 22 to render something
04:18 Mithaldu somewhat wrong, but i am seeing things!
04:49 vicash joined #pdl
13:02 vicash joined #pdl
15:58 chm joined #pdl
15:59 chm Mithaldu jberger_: What do you think about this idea?  http://mailman.jach.hawaii.edu/pipermail//pdl-porters/2013-December/006109.html
16:00 chm Am I way off base that this could work?  What about the Mo[o[se]] idea?
16:00 Mithaldu afaik you can't overload the . operator because its tied to stringification
16:01 chm use overload says it can be overloaded.  The routine for the overload would have to make the magic happen...
16:01 Mithaldu mhm, maybe i'm wrong
16:02 Mithaldu anyhow, personally i don't think this is worth spending time on
16:02 Mithaldu like, this is NOT easily solved
16:02 Mithaldu the easiest solution i can think of is the one thing a dude did on the p5p list (maybe ask them for the mails)
16:02 jberger see also dots pragma that almost was accepted
16:02 Mithaldu and that was found to have many subtle bugs
16:02 Mithaldu yes that
16:03 jberger its not a simple thing
16:03 jberger and IMO not necessary
16:03 jberger -> is perl's .
16:03 chm What if the use case were restricted to PDL only?
16:03 Mithaldu secondly, there are much bigger issues, like the data in piddles not being stored in the same manner its presented in when printing a piddle
16:04 jberger I think it would be more confusing than helpful
16:04 sivoais wasn't there a patch that used ~ instead of ->
16:04 jberger if a non-perler comes to Perl because of PDL and suddenly there are two different and imcompatible ways to invoke a method I would be confused out of my mind
16:05 Mithaldu chm: how many people actually mentioned that as a point of non-acceptance, and where?
16:06 jberger tbh anyone who can't grasp -> vs . is someone who shouldn't be jumping languages (and I mean this in a context greater than just PDL)
16:06 chm All good points, the only upside (rather than the intellectual exercise) was mainly to allow python, ruby, java folks to perhaps see PDL as a "modern language"
16:06 jberger different languages have different syntax
16:07 chm I admit this is fishing but since no none PDL users and very few PDL users have actually indicated
16:07 chm anything about what they like or don't like about perl/PDL it is pretty much guessing to try things out.
16:07 jberger chm, oh carp, I forgot to answer your questionaire!
16:08 jberger at work I get my personal email on my phone now, and I have done this several times to several people, I get the message, but the response will be too hard to swipe type, and then I forget about it
16:08 chm If you look at the download from sf.net, PDL-2.006 had 449 downloads which puts a lower bound on the number of PDL users....
16:08 * jberger hangs head
16:09 jberger 449 downloads from sf.net! really?!
16:09 chm That means there are a lot of people who have at least tried PDL but never bother to give feedback in any way.
16:09 jberger I always forget that there are people who install via anything expect CPAN and maybe distro package managers
16:10 jberger *except
16:10 chm And PDL-2.007 is about 200 and climbing since Oct.
16:11 chm And actually, I never install from sf.net since cpan is much easier and getting better all the time.
16:11 jberger right
16:11 chm It would be no contest if the requisite Alien:XXX were implemented  :-)
16:12 jberger as I have said, I build Alien::Base so that it would be dead easy for people who use the relevant libraries to build the alien modules
16:13 jberger this is already the list: https://metacpan.org/requires/distribution/Alien-Base?sort=[[2,1]]
16:14 chm Yes, I know.  But mostly the Alien modules I have tried blort on strawberry perl or a non-unix system.
16:14 chm And, yes, it is a pain but until that is fixed and the Alien modules actually finish the job
16:14 chm we'll never get to the one-click install for cpan modules with external dependencies.
16:15 Mithaldu jberger: you should link to that in the alien::base docs
16:15 jberger Mithaldu, to the reverse deps page on metacpan?
16:15 Mithaldu yes
16:16 Mithaldu point it out as working examples to interested users
16:17 jberger not a bad thought
16:17 chm It is very difficult to implement complete Alien::XXX without access to all platforms.
16:17 jberger LuaJIT: https://metacpan.org/source/SMUELLER/Alien-LuaJIT-v2.0.2.1/Build.PL # cool
16:17 chm If you throw in the fact that windows is basically a crippled development platform, it
16:17 jberger chm, think about how hard it was to build Alien::Base without access to all platforms!
16:18 Mithaldu chm: so many frowns
16:18 chm is easy to see why no traction is there among more serious perl developers.
16:18 Mithaldu also, you need to stop writing paragraphs :P
16:19 jberger chm, I was very disappointed during development to see that strawberry bundles mingw/dmake but not msys (ie. a full bash system capable of running configure scripts)
16:20 chm jberger: I have been meaning to help out with getting Alien::Base working with windows but no cycles
16:20 Mithaldu also, not having access to other platforms is not that bad, that's what pull requests are for
16:20 jberger chm, the easy way is to build windows binaries and have Alien::Base prefer those on windows platforms
16:20 chm PDL fixed 64bit index support and OpenGL for modern API are my goals by the end of the year.
16:21 Mithaldu that's not only the easy, but the preferred way, because all windowses have a compatible ABI
16:21 Mithaldu so from win95 to win7 you don't need to recompile
16:21 chm As long as you don't use C++
16:21 Mithaldu ?
16:21 jberger Mithaldu, yes, but it was tantalizingly close to actually working
16:21 chm Then you are stuck
16:22 jberger I really should contact the Strawberry team and ask them if they would consider including msys
16:22 Mithaldu what makes c++ different?
16:22 Mithaldu jberger: there is no "team"
16:22 jberger who is it then?
16:22 Mithaldu go into #win32, stay there, and poke kmx
16:22 chm You can't mix and match C++ compilers as there is no standard abi
16:23 Mithaldu he has slow answering times, but usually does answer after a week or os
16:23 Mithaldu chm: that's only for .lib files though, right? not dll/exe?
16:23 chm I ran into that with OpenCV which recently dropped their C bindings in favor of C++
16:23 chm Now things are really messed up getting it working for windows.  Either you build it all yourself
16:24 Mithaldu also, woo, i get to add constants to OpenGL.pm because GL_DRAW_FRAMEBUFFER is missing
16:24 chm with gcc or you have to build a strawberry perl with MSVC++.  Yuck!
16:25 Mithaldu right, so that's about the .a/lib files
16:25 chm Mithaldu: I'm not sure about lib vs dll since I'm not a C++ programmer.
16:26 Mithaldu chm: uh, well
16:26 Mithaldu .a/lib is needed if you wish to statically link a library into something you're compiling
16:27 Mithaldu i can see how mixing compilers will make that hard
16:27 Mithaldu .dll is the standard interface for dynamic linking on windows
16:27 vicash Mithaldu,chm: there are various differences when it comes to C++ between Windows and Linux. DLL/Lib is the same problem. a VS2007 dll will not work with a VS2008 DLL unless the C++ Runtime for 2007 and 2008 are both present
16:27 Mithaldu and afaik you can take a win95 zlib dll and it will work on windows 7
16:27 chm jberger: I don't think a full msys would help since it would make a mess of anyone trying to make sense of the environment.
16:28 Mithaldu vicash: that's not a blocker though
16:28 chm win32, unix, unix-ish, all, none, subtly broken?
16:28 Mithaldu the vs2008 will work as long as you got the dependencies
16:28 vicash Then there is memory allocation. In Windows if you use malloc for example in 1 DLL and try to free it from another DLL then there will be a crash. windows posix implementation is nuts
16:28 chm Got to go, nice chatting.  o/
16:28 Mithaldu ciao
16:28 jberger o/
16:28 Mithaldu vicash: that sounds pretty bad anyhow
16:28 vicash actually that is a "feature"
16:29 vicash windows memory allocation is through HeapMemoryAlloc() which allows each DLL writer to create their own Heap
16:29 vicash when you compile a DLL for distribution and have used malloc() you end up creating a new heap for that DLL
16:29 Mithaldu vicash: look, lets condense this to what i was trying to say:
16:30 Mithaldu on linux, if you want to have a .so/ELF
16:30 Mithaldu you need to recompile it on EVERY version of EVERY distro because the chance of of it flat out not working by way of irrecoverable and unfixable segfault is certainty
16:30 vicash that is only if the GLIBC version changes
16:31 vicash which it does on most distros unfortunately
16:31 Mithaldu on windows, as long as your dll/exe is not particularly weird, it will work on all OS versions from now until 20 years back, and at most ask for some dependencies
16:31 Mithaldu so
16:31 vicash yes agreed for the Win32 bit
16:31 Mithaldu if your goal is to make binaries available with Alien::
16:31 Mithaldu you want to do it via precompiled on windows
16:32 Mithaldu it might still blow up
16:32 Mithaldu but the weather is pretty good
16:32 vicash yes.. Dll's work best interchangeably with Windows if they use a C interface rather than a C++ interface.
16:33 vicash i.e, exported functions are C compliant. then you will not have blowups
16:34 vicash Has anyone thought of using Amazon's EC2 micro-tier for compiling PDL for different Windows versions ? I use it for my company's software when I need to create a build for specific Windows..
16:35 Mithaldu c is the best language, yeah :)
16:35 Mithaldu vicash: i have a windows so i don't need to, but it sounds like a good idea
16:36 vicash yea especially if you dont leave it running for hours and only spin it up when there is a need to make a release or during release candidate testing.
16:37 Mithaldu the most important question would be:
16:37 Mithaldu is there an image ready with compile toolchains?
16:38 vicash One can create an image and install the toolchain for free. If all we are using is C++/C compilers then Visual Studio express should suffice or maybe cygwin if going that route.
16:38 vicash However, if you're going the Mingw route then that can be compiled on Linux. I have compiled Win32 code in both 32 and 64 bit mode on Linux using Mingw on Linux and it worked out of the box on Windows.
16:42 Mithaldu nifty
16:42 Mithaldu tbh, i think there would be an image with tools already
16:42 Mithaldu we can't be the first people to think of this :)
16:44 vicash of course not and there is an API using Perl. I think Net::Amazon::EC2  or similarly named that you can use to query every image that is available from Amazon -- their own and community supplied images that you can then copy and invoke through your own account key.
16:45 Mithaldu oh that sounds cool :D
16:45 vicash yes it is. you can even choose to select whether you want to spin up the instance in EU region or US region using the API.
17:01 Mithaldu i'm still amazed that me bolting shit sideways onto OpenGL.pm actually works
17:41 Mithaldu chm: small consideration about overloading operators: i just found a bug in my code where i had accidentally passed an array reference into a piddle and it made it all the way through this line without throwing an error: [ list( $self->CameraPos * -1 ) ]
17:43 Mithaldu and in other news, i have a working shadowmap projection now :D
17:44 Mithaldu framebuffer acrobatics and all
17:47 Mithaldu as in: this shit works: http://ogldev.atspace.co.uk/tutorial23.png
17:47 Mithaldu next up! http://ogldev.atspace.co.uk/tutorial24.jpg
17:57 jberger joined #pdl
18:02 sivoais is that a tank model? :-)
18:05 Mithaldu yep
18:05 Mithaldu not mine
18:05 Mithaldu but it's an md2 that i loaded and rendered
18:06 Mithaldu only one binary dependency inbetween to make it json
18:52 jberger joined #pdl

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