Perl 6 - the future is here, just unevenly distributed

IRC log for #perl11, 2015-07-02

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

All times shown according to UTC.

Time Nick Message
00:35 davido_ joined #perl11
02:32 travis-ci RPerl build passed. Will Braswell says 'Generator, C++ Ops C++ Types, Misc, Part 4'
02:32 travis-ci https://travis-ci.org/wbraswell/rperl/builds/69227947 https://github.com/wbraswell/rperl/compare/cad718028d3d...698e0336096f
07:26 willthechill holy cow
07:27 willthechill it passed because of Inline::C v0.76 presumably
07:27 willthechill ingy++
07:27 willthechill and Inline::Filters v0.17
07:28 willthechill rurban++
08:09 basiliscos joined #perl11
09:16 rurban joined #perl11
09:54 rurban joined #perl11
10:27 bulk88 hi
10:29 willthechill I'm about to put beta3 up on CPAN in a few mins
10:56 ToApolytoXaos joined #perl11
12:21 rurban joined #perl11
12:46 basiliscos joined #perl11
13:37 willthechill rurban++
13:37 willthechill bulk88: okay maybe after a nap  :)
15:02 rurban joined #perl11
15:06 rurban I'm not sure if the new Inline::C is really kosher. I've got some strange regressions
15:11 sivoais joined #perl11
16:33 basiliscos joined #perl11
17:50 rurban joined #perl11
17:58 rurban joined #perl11
17:58 rurban joined #perl11
19:45 willthechill ToApolytoXaos: v1.0b3 release!
19:45 willthechill cpanm WBRASWELL/RPerl-1.000_003.tar.gz
19:46 ToApolytoXaos brilliant! :D
19:46 ToApolytoXaos shall I uninstall the one I have built myself?
19:49 willthechill yes please totally delete and uninstall everything 100%
19:49 willthechill if you used local::lib, then    rm -Rf ~/perl5
19:53 willthechill ToApolytoXaos: you still need to follow the INSTALL notes...     https://github.com/wbraswell/rperl/blob/master/INSTALL
19:54 ToApolytoXaos OK, did any step changed? I'm asking because I have them right in front of me
19:56 willthechill yes a few minor changes
19:56 willthechill added astyle to step 0
19:56 ToApolytoXaos ok
19:56 willthechill use step 2a instead of 2b
19:57 willthechill and step 3 has several new manual test commands to run after successful install and automated testing is complete
19:57 willthechill so make sure you follow the INSTALL link I sent you, should say today's date at the top of the INSTALL file
19:58 willthechill I'll be online all day if you have any questions
19:58 willthechill :-)
20:06 ToApolytoXaos sure mate, I'm starting the procedure right now
20:08 ToApolytoXaos so, let me get this straight
20:08 ToApolytoXaos should I go straight to 2a?
20:23 ToApolytoXaos willthechill?
20:26 willthechill just a moment
20:27 willthechill no you do not skip straight to 2a
20:27 travis-ci RPerl build passed. Will Braswell says 'CPAN Distribution Release, RPerl v1.0 Beta 3'
20:27 travis-ci https://travis-ci.org/wbraswell/rperl/builds/69344450 https://github.com/wbraswell/rperl/compare/698e0336096f...96d2ead81b88
20:27 willthechill yay the build passed!  :-)
20:27 willthechill ToApolytoXaos: no you do not skip to 2a
20:27 ToApolytoXaos I have a failed message
20:28 willthechill you have failed likely because you skipped steps
20:28 ToApolytoXaos ! Finding Inline on cpanmetadb failed.
20:28 ToApolytoXaos --> Working on Inline
20:28 willthechill to back to step 0 and start over
20:29 ToApolytoXaos I have astyle installed
20:36 ToApolytoXaos "it got stuck in building and testing Perl-1..."
20:36 ToApolytoXaos lol it got stuck in "building and testing Perl-1" I wanted to say...
20:38 willthechill stuck?
20:38 willthechill it takes about 20 minutes
20:38 willthechill could take much longer if your system is low on resources
20:38 ToApolytoXaos oh...
20:39 ToApolytoXaos well, my PC has i5 with 8GB RAM at DDR3...I guess it's a decent one :/
20:39 willthechill you should be able to look at your CPU meter and process analyzer to clearly see it is running and doing stuff
20:39 ToApolytoXaos it finished
20:39 willthechill oh good!
20:39 willthechill you mean it finished successfully, and it wasn't really stuck after all?
20:39 ToApolytoXaos 53 distributions installed
20:39 ToApolytoXaos is this correct?
20:40 willthechill sounds good to me
20:40 willthechill I don't keep count of CPAN modules
20:40 ToApolytoXaos OK, what's next?
20:40 willthechill it is an ever-changing target
20:40 ToApolytoXaos good.
20:40 willthechill step 3?
20:41 ToApolytoXaos alright
20:46 ToApolytoXaos willthechill: I got weird things for my eyes; let me pastebin them for you
20:47 ToApolytoXaos impossible...
20:47 ToApolytoXaos what is necessary to display the values separated by newline? :(
20:47 ToApolytoXaos now I can't copy the output from terminal
20:49 willthechill I'm not sure I understand?
20:50 ToApolytoXaos I was sure about it
20:50 ToApolytoXaos I copied / pasted the step #3
20:50 ToApolytoXaos and I got errors
20:50 willthechill okay well you should only copy/paste one command at a time
20:50 willthechill that way we know which command gives the errors
20:50 ToApolytoXaos alright
20:50 * ToApolytoXaos starts all over again...
20:51 willthechill also you CAN'T copy-paste multiple commands from the INSTALL file, because I included the dollar-sign $ command prompt in my document, which would mess up if you pasted it that way
20:51 willthechill so you must NOT copy the dollar-sign $ command prompt when you copy/paste each command out of the INSTALL doc and into the terminal
20:52 ToApolytoXaos http://paste.debian.net/278115/
20:52 ToApolytoXaos and I did not copied / pasted inside my terminal
20:52 willthechill you are not in the correct directory
20:53 ToApolytoXaos where should I be?
20:53 willthechill Specified RPerl source code input file 'RPerl/Algorithm.pm' does not exist
20:53 ToApolytoXaos I got lost...
20:53 willthechill step 3 says the following...
20:53 willthechill # Run RPerl test commands from within RPerl installation directory
20:53 willthechill $ cd ~/perl5/lib/perl5  # for step 1A local::lib installs
20:53 willthechill # OR
20:53 willthechill $ cd OTHER_RPERL_INSTALL_DIRECTORY
20:53 ToApolytoXaos aaaah
20:54 willthechill each line which begins with dollar-sign $ command prompt is 1 command, copy the whole line except NOT the dollar-sign $ itself
20:55 willthechill some lines may have hash-sign # comments on the same line as the command, they can be copied/pasted without causing errors in the terminal (I think)
20:55 willthechill or you can just not copy the comment parts
20:56 willthechill if you can get all the way through with step 3 properly, then you will be the VERY FIRST PERSON (other than me) to see RPerl actually compile and speed up code!
20:57 ToApolytoXaos everything works as expected; congrats!
21:00 ToApolytoXaos joined #perl11
21:02 rurban joined #perl11
21:10 willthechill ToApolytoXaos: please post the runtimes of step 3, test command sequence 2
21:11 willthechill only 2 runtimes, slow runtime before compile and fast runtime after compile
21:11 willthechill rurban: you got the link to RPerl v1.0b3 on CPAN?
21:11 willthechill need testing to happen!  :-)
21:11 ToApolytoXaos willthechill: will you excuse me for 5 minutes? brb
21:11 willthechill rurban: cpanm WBRASWELL/RPerl-1.000_003.tar.gz
21:12 willthechill ToApolytoXaos: sure no problem, I often walk away from my computer so please be patient if you send me a message and I do not reply immediately, thanks!  :-)
21:54 ToApolytoXaos sequence #2: elapsed: 5.43418502807617
21:55 willthechill ToApolytoXaos: sequence #2 should give you 2 different numbers, one for slow pre-compile and one for fast post-compile
21:56 willthechill you have only posted 1 number, we are looking for 2 numbers
21:56 ToApolytoXaos that was the slow part
21:56 ToApolytoXaos here's the fast part
21:56 willthechill okay great
21:56 ToApolytoXaos elapsed: 0.0318710803985596
21:56 willthechill okay great
21:57 willthechill that's 170x speedup
21:57 willthechill great!  :-D
21:57 ToApolytoXaos as it is, without optimization, am I correct?
21:57 willthechill I don't understand your questions
21:57 willthechill *question
21:57 ToApolytoXaos is my English so bad? :(
21:59 ToApolytoXaos joined #perl11
21:59 ToApolytoXaos you said it's 170x speedup and I said "as it is, without optimization"
21:59 willthechill *nods* yes okay
21:59 ToApolytoXaos "am I correct?"
22:00 ToApolytoXaos I meant the generated C++ code is not optimized
22:00 willthechill well that's the problem, I don't know which "optimization" you are referring
22:00 willthechill I am not yet altering the algorithm or employing any advanced C++ optimization techniques, no
22:00 willthechill it is a direct 1-to-1 mapping of RPerl to C++
22:00 ToApolytoXaos that's what I meant
22:00 willthechill all the speedup comes from C++
22:02 willthechill I am curious what your timings will be with a larger data size?  say 10,000 elements instead of 5,000 elements
22:02 ToApolytoXaos so, if I, for instance, would like to add a small portion of inline assembly that C++ allows me to use, I won't be able to do so?
22:03 willthechill if you are trying to manually write Inline code yourself, then you're doing it wrong
22:03 ToApolytoXaos I guess
22:03 willthechill you can manually write Inline code all day, that's existed for many years
22:03 willthechill AGAIN the whole point of RPerl is to NEVER WRITE ANY INLINE CODE EVER AGAIN
22:03 willthechill because writing Inline and XS and C and C++ simply SUCKS compared to writing Perl
22:04 ToApolytoXaos so with RPerl I will be able to use...which features of C++ exactly? :/
22:04 ToApolytoXaos sure, I agree with you!
22:04 willthechill you are not trying to "use features of C++", you are trying to "use feature of RPerl" which just-so-happen to be compiled into C++ by the RPerl backend
22:05 willthechill look at Bubble.pm
22:05 ToApolytoXaos right away
22:05 willthechill the compile it with rperl and look at Bubble.h and Bubble.cpp
22:05 willthechill (or if you already compiled it, then Bubble.h and Bubble.cpp will already exist)
22:05 willthechill Bubble.pm shows you the simplest form of what you can do with RPerl v1.0
22:05 willthechill Bubble.h and Bubble.cpp show you the C++ code generated as output
22:07 ToApolytoXaos wow...it's a mixture of RPerl and C++
22:07 ToApolytoXaos am I correct?
22:07 willthechill but Bubble.pm only uses a fraction of the RPerl grammar which isn't fully implemented yet for CPPOPS_CPPTYPES, so really RPerl v1.0 grammar is quite powerful, just not silly with all the crazy high magic of normal "line noise" Perl 5
22:08 willthechill what is a mixture?
22:08 willthechill the .h and .cpp files contain pure C++ code
22:08 ToApolytoXaos maybe I got lost somewhere
22:08 ToApolytoXaos give me a second
22:08 willthechill it LOOKS like RPerl code because I've designed the compiler that way
22:09 ToApolytoXaos integer_arrayref get_integer_data() { return this->integer_data; }
22:10 ToApolytoXaos the integer_arrayref isn't it an RPerl identifier?
22:10 willthechill integer_arrayref is both a C++ type and a Perl type
22:11 willthechill they are made to match exactly and have exactly the same functionality
22:11 willthechill like I said, "I designed the compiler that way"
22:11 ToApolytoXaos ah I see
22:11 ToApolytoXaos I guess I speak with a programming Guru! O.o
22:13 willthechill almost but not quite there yet!
22:14 ToApolytoXaos I have a very long looooong way to walk to see your shadow.
22:15 willthechill LOL thanks for the compliments, but we have a looooooong way to walk to fix Perl!
22:18 ToApolytoXaos no worries; here, you can take my duct tape :D hahahaha
22:18 ToApolytoXaos so, you implemented RPerl in Perl I presume, am I presuming correct?
22:18 ToApolytoXaos because to my naive and innocent eyes everything looks Perl-ish
22:19 willthechill according to github, RPerl is currently 92.8% Perl and 7.2% C++
22:20 willthechill according to my own estimates, of the 92.8% of Perl, about 80% of it is either already-parseable RPerl or can be made to be so with relatively little effort
22:20 willthechill so soon RPerl will (probably) be over halfway self-compiling, also known as "bootstrapping"
22:21 willthechill of course the goal for any language to be "mature" is to be 100% bootstrapping, so as not to rely on any other language!
22:22 willthechill however RPerl uses Inline and EYAPP and other super-complicated high-magic Perl libraries, and it may be a decade or more until we can upgrade those to be RPerl-parseable
22:22 ToApolytoXaos brilliant!
22:23 ToApolytoXaos that's a very detailed feedback, thank you!
22:25 willthechill well, glad to be of service!
22:25 ToApolytoXaos if I'm not mistaken, it builds as C++11?
22:26 willthechill affirmative, C++11 required
22:27 ToApolytoXaos more than awecome
22:27 ToApolytoXaos *awesome
22:28 willthechill haha yes well there will be some people who do not like C++11
22:28 willthechill but thankfully most people not have access to C++11 compilers thanks to g++ and Strawberry Perl
22:30 ToApolytoXaos I'm sure more and more are using it now due to important additions / changes in the language
22:30 ToApolytoXaos and one of those additions is lambdas
22:33 willthechill haha yes you have already mentioned to me lambdas
22:34 willthechill the only C++ features I care about are those necessary to implement RPerl
22:34 willthechill subsequently, the only C++11 features I care about are those necessary to implement RPerl
22:34 willthechill I'm not saying I don't care about lambdas, I'm just saying I currently have no known need for them
22:35 ToApolytoXaos I understand
22:36 ToApolytoXaos and my concern is the same as yours; performance
22:36 ToApolytoXaos there are many benchmarks and comparison charts that demonstrate "before" and "after" C++11
22:37 ToApolytoXaos for instance, using move semantics and lambdas in contrast to (or with?) C++03
22:37 ToApolytoXaos the execution time is massively greater than that of C++03
22:37 ToApolytoXaos especially the example of copy constructor vs std::move() was simply mindblowing!
22:38 willthechill well if that ever helps us to speed up RPerl then I'm all for it!
22:41 ToApolytoXaos :) awesome!
22:45 ToApolytoXaos just continue your amazing work and as soon as I have valid results, I will demonstrate them to you
22:46 willthechill valid results?
22:46 willthechill don't try to do anything in the RPerl system code, for now just try to create new RPerl application code
22:46 willthechill Bubble.pm works
22:47 willthechill Merge.pm and Quick.pm don't work yet
22:47 willthechill and the other sort algorithms have no code yet at all
22:47 willthechill try that
22:47 willthechill seek first to understand RPerl as a user
22:49 ToApolytoXaos I did not mention RPerl, but C++ mate; relax lol
22:50 willthechill okay well I didn't know which "valid results" you were talking about
22:52 ToApolytoXaos this http://stackoverflow.com/questions/14293151/missing-performance-improvements-with-c11-move-semantics
23:03 ToApolytoXaos is (const string) "RPerl is cute" the way you print a string message?
23:03 ToApolytoXaos or only when you return it?
23:12 ToApolytoXaos anyway, I need to rest my brain a bit. see you hopefully tomorrow mate
23:12 ToApolytoXaos keep up the good work

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