Perl 6 - the future is here, just unevenly distributed

IRC log for #perl11, 2015-05-12

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

All times shown according to UTC.

Time Nick Message
01:28 travis-ci RPerl build failed. Will Braswell says 'Data Type, Update number_to_string() With Underscores, Part 3'
01:28 travis-ci http://travis-ci.org/wbraswell/rperl/builds/62164368 https://github.com/wbraswell/rperl/compare/b7ac563470be...876f567d84a6
03:03 willthechill dang
03:37 travis-ci RPerl build passed. Will Braswell says 'Travis-CI, Enable C++11 Support, Part 3'
03:38 travis-ci http://travis-ci.org/wbraswell/rperl/builds/62175522 https://github.com/wbraswell/rperl/compare/36b6ac5189e9...5850397769cd
03:40 willthechill yippee
03:57 travis-ci RPerl build passed. Will Braswell says 'Travis-CI, Enable C++11 Support, Part 5'
03:57 travis-ci http://travis-ci.org/wbraswell/rperl/builds/62176754 https://github.com/wbraswell/rperl/compare/9fb0f6e079b7...9e04c206ff55
04:06 travis-ci RPerl build failed. Will Braswell says 'Travis-CI, Enable C++11 Support, Part 6'
04:06 travis-ci http://travis-ci.org/wbraswell/rperl/builds/62177429 https://github.com/wbraswell/rperl/compare/9e04c206ff55...5a170ae3e4fe
04:08 willthechill aww dang
04:16 davido__ joined #perl11
04:43 travis-ci RPerl build passed. Will Braswell says 'Travis-CI, Enable C++11 Support, Part 8'
04:43 travis-ci http://travis-ci.org/wbraswell/rperl/builds/62178719 https://github.com/wbraswell/rperl/compare/38be724f41f8...5e195080748b
04:47 willthechill great
06:34 davido___ joined #perl11
07:08 rurban joined #perl11
09:33 travis-ci RPerl build passed. Will Braswell says 'Data Type, Update integer_to_string()s With Underscores, Part 2'
09:33 travis-ci http://travis-ci.org/wbraswell/rperl/builds/62203954 https://github.com/wbraswell/rperl/compare/094f81d5b3c0...ab97de68735f
14:57 basiliscos joined #perl11
16:41 ToApolytoXaos joined #perl11
16:52 basiliscos joined #perl11
17:40 basiliscos joined #perl11
18:58 willthechill yay
19:00 willthechill ToApolytoXaos: we are now using full -std=c++11 instead of old partial -std=c++0x
19:00 willthechill required upgrading g++ on travis-ci
19:00 ToApolytoXaos no way!
19:00 ToApolytoXaos which language features are you going to use?
19:00 willthechill yes because std::string::pop_back() is in c++11 but not c++0x
19:00 ToApolytoXaos i thought RPerl was using a subset of C++
19:01 ToApolytoXaos i see
19:01 willthechill yes RPerl only utilizes a tiny subset of C++
19:01 willthechill I just mean now we have the ability to use any part of C++11
19:01 willthechill whereas before it was only partial
19:01 ToApolytoXaos awesome
19:01 willthechill I discovered this because of pop_back()
19:02 willthechill so now we know at least one C++ function (pop_back()) which is in g++ c++11 but not g++ c++0x
19:02 willthechill to be honest I thought they were equivalent
19:02 willthechill because many people SAY they are equivalent
19:02 willthechill but they are not!
19:02 willthechill :)
19:02 willthechill clearly they are not equivalent
19:02 willthechill between g++ 4.6 and g++ 4.8 the transition was made
19:03 willthechill so now we are on g++ 4.8 for our travis-ci build bot cloud
19:03 ToApolytoXaos maybe you meant C++1y >= C++11
19:04 ToApolytoXaos yes, the changes got applied in 4.8
19:05 ToApolytoXaos anyway, this is very good news!
19:05 ToApolytoXaos the next thing we need to check is what actually breaks the code when you beautify it a bit lol
19:05 willthechill no it is not c++1y
19:05 ToApolytoXaos no worries
19:05 willthechill I specifically mean c++0x to c++11
19:06 willthechill and I'm surprised that you are still confused about the code beautification
19:06 willthechill all the code is already properly indented and formatted
19:06 willthechill those long one-line debug statements are the only exception
19:06 willthechill and, as I said, you can reformat the code all day long in your local copy
19:07 willthechill just don't try to push any reformatted code back into the main repo
19:07 ToApolytoXaos i'm not confused mate; i just recalled what you said about not touching the code because it breaks, remember?
19:07 willthechill the code can break easily because it must pass through several different language parsers
19:07 ToApolytoXaos true
19:08 willthechill g++, Inline::CPP, Perl 5 core, etc.
19:08 willthechill the reason the debug statements are on one lone line each is so that they can be easily added or removed or commented
19:08 ToApolytoXaos ah i see
19:08 willthechill obviously when I wrote the debug statements I originally had them beautified with indentation, etc.
19:09 willthechill then once the debugging features worked correctly, I hit 'J' a bunch of times in my vi editor until they were on one long line
19:09 willthechill then I can just type '//' or '#' to enable or disable quickly
19:09 willthechill so, again, go ahead and reformat the code as much as you like, just keep it in your local repo
19:09 willthechill you will eventually learn that this is not standard C++ code we're dealing with here
19:09 willthechill this is C++ & Inline & Perl core code
19:10 willthechill and RPerl as well
19:10 willthechill it is a 4-way code merge
19:10 willthechill 4-way difficulty, ha!
19:11 ToApolytoXaos okay :D i won't try anything for the moment
19:11 willthechill I spent years learning through painful trial-and-error to discover what sub-sub-sub-subset of those 4 languages actually worked
19:11 ToApolytoXaos that's great
19:11 willthechill so when you look at the C++ code and say "THAT'S NOT RIGHT!" my response is "actually it is perfectly right"
19:11 ToApolytoXaos i love research
19:12 willthechill well you should continue your research into type() and types()
19:12 willthechill those are ripe learning for you
19:12 willthechill because you need to learn how to build Perl data structures
19:13 willthechill and those subroutines type() and types() will teach you how Perl data structures work in the RPerl compiler
19:13 ToApolytoXaos don't worry; i plan to use RPerl for my future projects, therefore I will be forced to learn it sooner or later.
19:14 ToApolytoXaos to me Perlish syntax resembles so much to IR for some reason. i have seen some backend compiler code and indeed it resembles greatly to Perl
19:15 ToApolytoXaos so, imagine people start using RPerl for their future projects; that would be mindblowing!
19:16 ToApolytoXaos like HippyVM that uses RPython to implement PHP
19:16 ToApolytoXaos hahahaha!
19:17 willthechill normal high-magic Perl 5 syntax is usually seen as "line noise" to outsiders because of the high use of sigils and special characters
19:17 willthechill RPerl syntax is meant to resemble procedural pseudo-code
19:17 willthechill procedural/OO pseudo-code, that is
19:18 willthechill neither Perl 5 nor RPerl syntax is particularly meant to resemble a bytecode or intermediate representation code, as you say
19:18 willthechill both Perl 5 and RPerl have their own internal bytecode formats
19:18 ToApolytoXaos i think you are emotionally reacting now lol
19:18 willthechill not not at all
19:18 ToApolytoXaos as i said, it *resembles*
19:18 ToApolytoXaos it's not a variant or whatsoever
19:18 willthechill just pointing out the syntax family resemblances
19:19 willthechill in other words, I've heard hundreds of descriptions of Perl syntax, none of which were "it looks like IR"
19:19 willthechill so I'm a bit surprised and confused by your statement
19:19 willthechill but that's okay!  haha
19:19 ToApolytoXaos let's keep the surprised part and discard the confused one, shall we?
19:20 willthechill well sure, I'd be less confused if you explained how or why you think something in Perl or RPerl looks like bytecode
19:20 willthechill then maybe I can understand!  :)
19:20 ToApolytoXaos sigils of course
19:22 willthechill oh well then that goes back to the "line noise" theory
19:22 willthechill thank you for clarifying!
19:22 willthechill anyway, moving on, I was not aware of HippyVM's existence
19:22 willthechill good for them, using RPython
19:22 basiliscos joined #perl11
19:23 ToApolytoXaos we could say the same about Java, don't you think? (about noise)
19:23 willthechill even though I only use Perl (and Perl-derivatives), I'm glad to see the RPython project succeed
19:23 willthechill I have very little comment about non-Perl languages
19:23 willthechill because my mother taught me that if I don't have anything nice to say, then don't say anything at all, haha!  ;)
19:24 ToApolytoXaos with your permission, i would like to use the "we, our" term(s): WE are going to make RPerl even better, so OUR projects will become superior than them :D
19:27 willthechill haha sure
19:29 ToApolytoXaos i would like to see booking.com seniors' (Perl) faces when RPerl will be officially released
19:29 ToApolytoXaos by the way, i wanted to ask
19:30 ToApolytoXaos what kind of C++ parts CPP::Inline is NOT using and for what reason?
19:30 ToApolytoXaos i'm really interested to learn more about it
19:30 ToApolytoXaos oh, i almost forgot
19:31 ToApolytoXaos i showed some one line Perl codes to a friend of mine and got really mad; i told him to visit my uni to borrow "Learning Perl" book and got really hooked already!
19:31 ToApolytoXaos so, he might experiment with RPerl in the future
19:32 ToApolytoXaos i will do my best to convince him
19:32 willthechill wow that's great
19:32 willthechill Inline::CPP mostly just handles the subroutine headers and class definitions
19:32 willthechill anything inside the C++ subroutine bodies can take advantage of full C++11 features
19:33 willthechill of course, the C++11 features must match up with the goals of Perl 5 core and RPerl
19:33 willthechill because, as I said, 4-way language merge
19:38 ToApolytoXaos are there any future plans to simplify those steps to less N-way(s)?
19:39 willthechill haha impossible
19:39 willthechill okay I take it back
19:39 willthechill eventually we will rid ourselves of all the old Perl 5 core code
19:40 willthechill then it will only be 3-ways
19:40 willthechill but that will take years
19:40 willthechill that is the long-term goal of rewriting all of Perl 5 core in self-compiling RPerl code
19:40 willthechill but don't hold your breath, it took 27 years to write Perl 5 core, it will take many more to rewrite it
19:41 ToApolytoXaos lol
19:41 ToApolytoXaos i don't see it this way though
19:41 ToApolytoXaos the way i see it is totally opposite than your point of view
19:41 ToApolytoXaos what i mean by that
19:43 ToApolytoXaos when you / we, the team / contributors (testers et al) eventually stabilize RPerl and have evidences that indeed "it just works", I'm sure many old Perl folks will come back, out of curiosity to test this new toy
19:43 ToApolytoXaos and when they generate their first samples that would truly outperform some legacy code of theirs, then for sure they will start coming back to Perl-domain languages and start using RPerl the right way
19:44 ToApolytoXaos i don't remember the name of the company, but i do remember reading an article about the backend development of the so-called company that was consisted of 4 to 5 different machines working with Perl exclusively
19:45 willthechill yes I agree with your sentiment
19:45 ToApolytoXaos fetching data, sorting them out, discarding duplicates, and eventually caching content
19:45 willthechill but I fail to see how that relates to the monumental task of rewriting the Perl 5 core using RPerl
19:45 ToApolytoXaos have i said anything about rewriting the core?
19:45 ToApolytoXaos i said backend as of backend services
19:45 ToApolytoXaos implemented in vanilla Perl
19:46 willthechill well then maybe we are talking about 2 different things
19:46 ToApolytoXaos not entirely
19:46 ToApolytoXaos there *are* important parts that are inside the core that need to get reimplemented
19:46 ToApolytoXaos yes, with that i agree
19:46 ToApolytoXaos but to reimplement everything...wow, that would be just crazy
19:47 ToApolytoXaos unless we have 20 million dollars to fund developers to start working on it full time
19:52 willthechill brb got a phone call
19:53 willthechill you asked me a question about reducing the 4-way combination of C++ & Inline::CPP & Perl 5 core & RPerl to be less-than-4-ways
19:53 willthechill I replied that yes, eventually we can remove all the Perl 5 core code by rewriting it all in RPerl
19:54 willthechill which would put us with a 3-way combination of C++ & Inline::CPP & RPerl
19:54 willthechill that is my point
19:54 willthechill you said you see something "totally the opposite than your point of view", and I don't know which point of view you are the opposite of?
19:57 ToApolytoXaos "<willthechill> but don't hold your breath, it took 27 years to write Perl 5 core, it will take many more to rewrite it"
19:57 ToApolytoXaos to that was the "point of view" reply
19:59 willthechill ah yes, well even if we have a multi-million-dollar budget and my hand-picked team of top Perl 5 core developers working full-time, it will take years
19:59 willthechill hopefully far less than 27 years, haha!
19:59 ToApolytoXaos lol
20:12 rurban joined #perl11
20:15 basiliscos joined #perl11
20:17 ToApolytoXaos anyway, I'm off for today mate. see you tomorrow, keep up the good work.
21:17 willthechill bulk88 & rurban: is use of the Padwalker still considered unstable and fragile?
21:32 bulk88 ive never used it personally, if i need to use it,b i probably should reconsider why the code that needs it is on my disk in the first place
21:33 bulk88 OOPled backwards is POO
21:33 bulk88 *OOP  is POO spelled backwards
21:39 willthechill are you saying you don't like object-oriented programming?  if so, what does that have to do with the stability of Padwalker?
21:39 willthechill I'm asking about Padwalker because it is one off the few potential ways to return the name of a variable
21:39 willthechill like get_var_name($foo) returns '$foo'
21:40 willthechill but I think Padwalker will maybe break with different versions of Perl and/or compilers and/or operating systems
21:40 willthechill and I don't want to introduce breaking code into RPerl
22:05 willthechill bulk88: PadWalker seems to work painlessly for me on Linux, can you please install PadWalker on your Windows machine and see if you can run this test script?
22:05 willthechill http://pastebin.com/mqDWCRMG
22:13 bulk88 the most common use I've seen of padwalker is to modify the internals of objects that aren't blessed hashes, but instead are closure based objects, so devs engage in an arms race
22:13 bulk88 ill run your scrip tin a min
22:15 bulk88 P5.21 Win32
22:15 bulk88 C:\Documents and Settings\Owner\Desktop>perl n16.pl
22:15 bulk88 $foo: 23
22:15 bulk88 C:\Documents and Settings\Owner\Desktop>
22:25 willthechill bulk88: yay it works!  :D
22:26 willthechill okay great then for now I'm gonna move forward with using PadWalker until I hear otherwise
22:26 willthechill thank you sir!
22:40 basiliscos joined #perl11

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