Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-01-14

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:09 xinming joined #perl6
00:11 lue I noticed in S03 -- Multiplicative Precedence that numeric bitwise and thru  numeric shift right seemingly randomly list those infixes as infix:['op'] instead of infix:<op> . Any reason as to why? (In particular, why not infix:«op»?)
00:17 geekosaur less confusing?
00:21 patspam joined #perl6
00:21 geekosaur also I think at one point (and still?) code was intended to be?) generated from the spec or vice versa and guillemots didn't work in some/all implementations
00:23 lue Probably not anymore, considering it's the first I've heard mention of spec from code (or vice versa). In any case, I think in cases where <> can't be used ( e.g. the +> op ), «» would look better. But that's just me.
00:30 slayer101_ joined #perl6
00:48 terrence joined #perl6
00:56 hypolin joined #perl6
00:59 anuby joined #perl6
01:27 anuby joined #perl6
01:32 _jaldhar joined #perl6
01:43 Ayiko joined #perl6
01:45 thou joined #perl6
01:45 slayer101_ joined #perl6
01:58 benabik joined #perl6
01:59 jaldhar joined #perl6
02:10 FROGGS_ joined #perl6
02:11 jaldhar joined #perl6
02:17 dayangkun joined #perl6
02:41 thou joined #perl6
02:42 grondilu why STD.pm is called so?  Why not Perl6.pm?
02:43 geekosaur because it's not actually a perl 6 implementation, just a parser test for the standard
02:43 geekosaur or a validator if you prefer
02:43 grondilu ok
02:44 geekosaur (I think if you search the specs you'll find that dialects are perfectly acceptable; STD.pm defines the standard dialect which is IIRC named STD)
02:56 tewk joined #perl6
03:00 tewk https://gist.github.com/d9edb0871e19d2f915b5
03:00 tewk Cannot look up attributes in a type object in method send at src/gen/CORE.setting:8084
03:01 tewk I'm trying to teach myself perl6.  I don't understand the above error message.
03:21 jaldhar joined #perl6
03:28 slayer101_ joined #perl6
03:35 skids tewk: In Perl6 each class has its own undefined value, which is the class itself.  If you try to access an attribute in one of these, that is the error you get.
03:35 skids r: class A { has $.a }; my A $defined_a .= new(); $defined_a.say; my A $undefined_a; $undefined_a.a.say;
03:35 p6eval rakudo c3f565: OUTPUT«A.new(a => Any)␤Cannot look up attributes in a type object␤  in method a at src/gen/CORE.setting:1847␤  in block  at /tmp/BvgehAewPV:1␤␤»
03:37 skids So the "Type Object" in the above that the error message is talking about is the class A, which is being used as the undefined value for the uninitialized variable $undefined_a
03:41 tewk skids: that makes sense.
03:42 tewk my new method isn't initializing the $!conn attribute.
03:50 Pleiades` joined #perl6
04:25 slayer101_ joined #perl6
04:30 preflex_ joined #perl6
04:34 tewk IO::Socket::INET .get is returning a binary string.  How do I convert that to a string or number?
04:42 sorear .decode(ENCODING)
04:54 tewk No such method 'decode' for invocant of type 'Str'
05:01 wtw joined #perl6
05:04 sorear then it's not a binary string
05:04 sorear binary strings have type 'Buf'
05:06 doy i think there's a recent open rakudobug about socket reads returning binary data as Str
05:07 tewk doy: Yeah I saw that,  I thought there might be a work around.
05:08 tewk I essentially want to get the numeric value of the binary string or 'Str' or whatever it is.
05:09 tewk I'm really liking perl6. is
05:09 tewk getrange: 1 3
05:09 tewk niecza faster than rakudo?
05:12 am0c joined #perl6
05:17 xenoterracide joined #perl6
05:17 skids r: my $a = "\x2567"; $a.encode("utf16").say # If we don't insert a BOM, rfc says big-endian encoding should be used, but Wikipedia notes that M$ has managed to make that a bad assumption.
05:17 p6eval rakudo c3f565: OUTPUT«Buf:0x<67 25>␤»
05:21 skids Hmm also 'For Internet protocols, IANA has approved "UTF-16", "UTF-16BE", and "UTF-16LE"' (case insensitive), so is there any good reason for Perl6 to buck that?
05:23 doy r: my $a = "\x2567"; $a.encode("UTF-16").say
05:23 p6eval rakudo c3f565: OUTPUT«encoding 'utf-16' not found␤  in method encode at src/gen/CORE.setting:4556␤  in block  at /tmp/uiCASzRq9A:1␤␤»
05:25 tewk https://github.com/supernov​us/perl6-http-easy/issues/6 contains a workaround
05:26 skids anyone got rakudo on a be machine?  Interested to know what .encode("utf16") does there.
05:28 thou joined #perl6
05:28 xenoterracide joined #perl6
05:30 skids r: my $a = "\x2567"; $a.encode("binary").decode.say
05:30 p6eval rakudo c3f565: OUTPUT«Lossy conversion to single byte encoding␤  in method encode at src/gen/CORE.setting:4556␤  in block  at /tmp/1XP32B4xgK:1␤␤»
05:30 skids not a good workaround.
05:32 telex joined #perl6
05:36 alec joined #perl6
05:38 telex joined #perl6
05:44 lue r: my $a = "\x2567"; $a.encode("iso-8859-1").decode.say
05:44 p6eval rakudo c3f565: OUTPUT«Lossy conversion to single byte encoding␤  in method encode at src/gen/CORE.setting:4556␤  in block  at /tmp/JPq_J9M2oq:1␤␤»
05:49 alec__ joined #perl6
05:55 lue erm, the table of precedences in S03 lists the feed operators as sequencers (one step above terminators), but their description is in the terminator section. Is this a mistake?
06:08 skids r: Buf.new(0xe2,0x8d,0x85).decode.say; Buf.new(0xc3,0xa2,0xc2,0x8d).decode.say; # Typing a U+2345 into a telnet session connected to IO::Socket::INET yields the latter.
06:08 p6eval rakudo c3f565: OUTPUT«⍅␤â␤»
06:09 FROGGS_ there is a new rakudo branch (froggs_multibyte), which fixes a bug when it comes to unicode chars
06:10 moritz is it mergable?
06:10 moritz good morning :-)
06:10 FROGGS_ I'd say yes, but it would be awesome if you take a look first
06:10 FROGGS_ morning ;o)
06:11 FROGGS_ tests are in roast in same branchname
06:15 FROGGS_ gtg to airport, yee ya later
06:23 jaldhar joined #perl6
06:28 stevan_ joined #perl6
06:31 benabik joined #perl6
06:42 preflex joined #perl6
06:51 FROGGS[mobile] joined #perl6
06:57 SamuraiJack joined #perl6
07:06 isBEKaml joined #perl6
07:09 quester joined #perl6
07:09 isBEKaml hello, #perl6!
07:10 isBEKaml Slightly OT: This made news on reddit - http://www.reddit.com/r/perl/comments/16h8cc/pe​rl_is_not_dead_it_is_a_dead_end_forking_perl_5/
07:12 isBEKaml I found his talk amusing, it'd be interesting to see what comes out of moe. :)
07:15 wk joined #perl6
07:45 grondilu rn: my @a = map { 1/$^k }, 1 .. *;  # isn't that supposed to be lazy and thus not time out?
07:46 p6eval niecza v24-17-gd343a2a: OUTPUT«(timeout)Potential difficulties:â�¤  @a is declared but not used at /tmp/OE7HXdB9xi line 1:â�¤------> [32mmy [33mâ��[31m@a = map { 1/$^k }, 1 .. *;  # isn't tha[0mâ�¤â�¤Â»
07:46 p6eval ..rakudo c3f565: OUTPUT«(timeout)»
07:46 quester phenny: tell masak Thank you for submitting the macro call with $_ bug (#116370).  Later I tried checking whether any of the existing bugs that mention "quasi" were related and my brain exploded.  Now that I look at it again, I doubt if any of them are really related.
07:46 phenny quester: I'll pass that on when masak is around.
07:50 jokar joined #perl6
08:13 wtw joined #perl6
08:25 quester left #perl6
08:26 maja_ joined #perl6
08:38 tadzik "I had the feeling that in the long run (...) Perl 5 was a dead end". -- moritz++ august this year
08:38 tadzik moritz: you predicted all this, didn't yuo :)
08:38 tadzik (the discussion in http://perlmonks.org/index.pl?node_id=987033)
08:40 moritz tadzik: I didn't predict the Scala part :-)
08:42 tadzik details, details :)
08:42 nwc10 of course Perl 5's a dead end. What is Perl 6 all about? :-)
08:51 moritz nwc10: many people in the Perl 5 community believe otherwise (or don't care to admit it, or whatever)
08:51 moritz or they think that Perl 6 is an even deader end than Perl 5 :-)
08:51 FROGGS[mobile] joined #perl6
08:53 nwc10 I suspect that many people don't think. Or, more accurately, don't think through the implications of what they want.
08:54 nwc10 And, I am going to stick hard on "many". Given the sampling I've had from various smart constructive productive people who should know better.
08:56 moritz to be honest, I didn't recognize Perl 5 as a dead end before I got involved with Perl 6
08:56 moritz but then I knew little about programming languages back then
08:57 Su-Shee well there is "dead end" in technical terms and "dead end" in terms of usage..
08:58 moritz I mean in the technical evolution
08:58 nwc10 Su-Shee: yes, thanks. Forgot that. COBOL usage is just fine
08:59 Su-Shee moritz: yes, that's what the slides are about.. just mentioning it that there are two discussion in the perl world...
08:59 Su-Shee nwc10: I have no idea how dead-endish cobol is in technical terms..
08:59 moritz Su-Shee: though in the (very) long run, technical dead-end implies usage dead-end too
08:59 nwc10 and if you believe the figures Tiobe pull from somewhere warm, dark and smelly, C is the most $something programming language again
09:00 nwc10 despite the fact that the new C11 standard is mostly "that bit of C99 we said is mandatory, but no-one implemented. Well, it's optional now"
09:00 Su-Shee moritz: I agree.
09:00 moritz well, Tiobe's methodology is just crap
09:00 nwc10 I don't know either, but I doubt that the language has changed in years
09:00 moritz basically they search for "$language programming" on google, and count the results
09:00 nwc10 moritz: warm, dary and smelly. :-)
09:01 Su-Shee moritz: just now I'm writing some install docs for python, perl and ruby.. with python and ruby for example things like the csv and json module are part of "core" - with perl I still have to install such common stuff
09:01 Chillance joined #perl6
09:01 nwc10 moritz: No, I think that's what they *claim* they do. Real science can be replicated. They can't. http://blog.timbunce.org/2008/04/12/tiobe-or​-not-tiobe-lies-damned-lies-and-statistics/
09:02 Su-Shee nwc10: I don't care for TIOBE; I go look for myself, especially when it comes to judging "tech" in europe. the typical anglosaxon discussion about "but there are plenty of perl jobs!" drives me crazy...
09:02 FROGGS[mobile] joined #perl6
09:02 jnthn morning o/
09:02 cogno joined #perl6
09:02 moritz \o jnthn
09:02 nwc10 Su-Shee: depends where you are. There seem to be plenty of Perl jobs in Vienna and in London
09:02 nwc10 and that massive sucking noise from Amsterdam
09:02 Su-Shee nwc10: that is ONE company.
09:02 nwc10 jnthn: it won't last :-)
09:02 Su-Shee ONE
09:03 Su-Shee nwc10: also, London is part of the anglosaxon world :)
09:03 nwc10 Su-Shee: I'm well aware that it's one company
09:03 nwc10 but, that ONE company actually causes problems for the other firms in Amsterdam that use Perl, as they can't recruit. So give up.
09:04 Su-Shee nwc10: here - roughly speaking - it's split between tons of java jobs (really tons), pleny of PHP, plenty of c/c++ (though no domain perl has ever been in), and the startuppy stuff rails/node/sometimes python
09:04 jnthn nwc10: ...the morning? :)
09:05 jnthn nwc10: Good thing is, there's a new one each day :)
09:05 nwc10 jnthn: yes. Afternoon is already sneaking up from behind, ready to mug it
09:05 Su-Shee though perl jobs on jobs.perl.org tripled in 2012.. a whopping 6 instead of 2. ;)
09:05 DrEeevil haha, I know that One Company :)
09:05 nwc10 Su-Shee: and in two years time the startuppy stuff will be on something differently trendy?
09:05 Su-Shee DrEeevil: by now, we all have friends and relatives there ;)
09:05 DrEeevil hehe
09:05 Su-Shee nwc10: as long as it's web based..
09:06 DrEeevil Su-Shee: I've considered letting them absorb me, but I'm too lazy for that
09:07 Su-Shee nwc10: another thing I'm looking at: which language is used as a "binding" for tools, apps, libs - that has been perl, now it's python usally. or what languages are used to be embedded? (lua, js). or what languages are books written in by language-independent subjects? (python)...
09:07 nwc10 I suspect it's not "anglosaxon world" I suspec that it's clustered.
09:07 nwc10 Cambridge has few to zero Perl jobs
09:08 Su-Shee nwc10: or, the broad range of tools to use in everyday tech companies.. how many of those are perl-based? nagios certainly. spamassassin. and then it gets fewer and fewer...
09:08 Su-Shee nwc10: doesn't cambridge count more as a typical university-influenced city?
09:08 nwc10 and who isn't writing them?
09:09 Su-Shee nwc10: "me", so to speak.
09:09 Su-Shee nwc10: thought the question is: would I write it in perl - having one eye on career and reputation and such - would you?
09:10 nwc10 I would. But also, I have a reputation. I'm not typical.
09:10 DrEeevil Su-Shee: if the problem fits perl well ... why use something else?
09:13 Su-Shee DrEeevil: because I wonder how many people choose a perl tool these days.. if you already have 3/4 of your toolchain and devops stuff and whatnot in e.g. ruby..
09:13 Su-Shee nwc10: it was an example ;)
09:14 DrEeevil Su-Shee: less and less, but for text processing it's still about the easiest and fastest
09:14 DrEeevil ruby ... bah ...
09:14 DrEeevil don't write shell in ruby, please. it only makes people sad.
09:15 Su-Shee it's a very nice language.
09:16 Su-Shee I've written some code in r, perl, python and ruby and js over the last weeks and the ruby stuff usally is not just shorter than perl but also very readable. ;)
09:16 Su-Shee (unless it's R, but that's specifically made for my stuff.. :)
09:16 DrEeevil no, it's not nice
09:17 DrEeevil especially once you try to rely on the ecosystem (dare I say gem ?)
09:17 Su-Shee DrEeevil: so, what is not nice about _the language_?
09:17 DrEeevil Su-Shee: back read it wards! is brain not like order
09:18 Su-Shee DrEeevil: ?!
09:18 DrEeevil it is exactly how I would not write :)
09:18 DrEeevil maybe I'm not japanese enough ...
09:18 Su-Shee yeah because %hash.keys is UTTERLY different from hash.keys .. ;)
09:18 DrEeevil 5.times( ...)
09:18 DrEeevil *stab*
09:19 Su-Shee what? it even reads out loud properly?!
09:19 DrEeevil also most of the ruby I've had to read was written by people that found php too difficult
09:19 DrEeevil "asdfgh".times() does what?
09:19 DrEeevil :)
09:19 isBEKaml joined #perl6
09:20 Su-Shee DrEeevil: oh so now it's the language's fault if people write shitty code in it? didn't we have that exact same argument about perl? ;)
09:20 Su-Shee DrEeevil: but whatever..
09:21 DrEeevil Su-Shee: well, the grammar trips me up, and then it's bad code too
09:21 DrEeevil at least perl tends to remove the bad coders because things just get unmaintainable :)
09:22 FROGGS[mobile] the question is more: can you write good code in it
09:22 cognominal joined #perl6
09:23 DrEeevil FROGGS[mobile]: in theory yes, but like java you won't be able to use any thirdparty libs and so on
09:23 FROGGS[mobile] you cant write beautiful and readable code in php for example
09:23 DrEeevil which then makes it a very frustrating exercise
09:24 FROGGS[mobile] thats a point then
09:24 bitonic joined #perl6
09:25 FROGGS[mobile] but its the ppls fault if they write ugly stuff when it can be better
09:25 DrEeevil hrm. most people learn by example
09:25 DrEeevil so if you never see "good" code, how do you end up figuring out what it is?
09:26 FROGGS[mobile] you dont want to see what my collegue is doing :o)
09:26 tadzik yeah, and then they go to #perl and say "what's wrong with my «open F, $user_input»"
09:26 FROGGS[mobile] hmm
09:26 tadzik "people write bad code in it" is not an argument for anything
09:26 tadzik imho
09:27 DrEeevil tadzik: I've seen people use perl because "bash can't do string manipulation"
09:27 FROGGS[mobile] DrEeevil: I believe you can imagine how it can look like by looking at the syntax
09:27 isBEKaml I'd say it's not the language's fault that people write bad code in it. That feels like ranting to the wall, IMHO.
09:27 DrEeevil so they just called perl to do $1 --blah $2 $3
09:27 tadzik DrEeevil: I sometimes use Perl beacuse I can't write a loop in bash :>
09:27 DrEeevil tadzik: ugh. uhm. bad boy ;) but at least you don't use ruby for bash loops
09:28 tadzik I never remember the syntax
09:28 isBEKaml tadzik: heck, I don't remember the syntax for anything. :)
09:28 isBEKaml tadzik: I can't even (...)
09:28 rhr joined #perl6
09:28 tadzik bash is weird
09:29 FROGGS[mobile] well, that might be the language's fault
09:29 tadzik I usually refuse to call bash a programming language :)
09:29 DrEeevil it's very useful glue :)
09:29 moritz bash is primary a shell, only secondary a programming language
09:29 arnsholt Shell script is evil. I write programs in shell only very reluctantly
09:31 DrEeevil arnsholt: if everyone thought like that we'd have a lot less silly code around
09:31 nwc10 DrEeevil: the (frustrating) hosting company that ex-employer used (politics) wrote shell scripts that used perl as a better sed
09:32 DrEeevil nwc10: that's not so bad ...
09:32 nwc10 I should add that I approved of this foot in the door, and hoped that they'd end up using Perl for more
09:35 DrEeevil it's better than cronjobs written in php
09:36 FROGGS[mobile] we haz them ó.ò
09:37 FROGGS[mobile] I replaced a few with perl5 jobs, but not all yet
09:37 DrEeevil FROGGS[mobile]: do you need an angry german-yelling admin/devops person to clean up? ;)
09:42 Psyche^ joined #perl6
09:42 FROGGS[mobile] well, thats me, I'm all-in-one
09:43 FROGGS[mobile] our admins are really just windows and network admins
09:47 dakkar joined #perl6
09:48 kaleem joined #perl6
09:55 dalek roast: 055cb13 | (Timo Paulssen)++ | S04-declarations/my.t:
09:55 dalek roast: check for anonymous &, too.
09:55 dalek roast: review: https://github.com/perl6/roast/commit/055cb137e0
09:57 bbkr__ good morning perl6
09:58 jnthn o/ bbkr__
09:58 tadzik hi bbkr__
10:00 dalek roast: 60bc178 | (Timo Paulssen)++ | S04-declarations/my.t:
10:00 dalek roast: remove warnings (use of Any in string context)
10:00 dalek roast: review: https://github.com/perl6/roast/commit/60bc178bee
10:14 pmurias joined #perl6
10:14 pmurias hi
10:16 pmurias jnthn: is the way you are supposed to use,get and release memory different in how JVM expects you too and nqp-jvm does different?
10:16 daniel-s joined #perl6
10:16 pmurias jnthn: that's what chromatic claims in his blog post
10:19 arnsholt I asked about thata while back. It seems noone's entirely sure what he's thinking of, ATM
10:20 nwc10 that was my impression too
10:20 arnsholt http://irclog.perlgeek.de/​perl6/2013-01-10#i_6316569
10:20 jnthn Uh, talking about how *the developer* releases memory on the JVM is a weird thing to do given that it has automatic memory management.
10:21 jnthn And when you do .CREATE on a P6opaque, you create a single, perfectly normal, JVM object.
10:21 jnthn Which uses fields (yes, JVM level fields) for storing attributes.
10:21 jnthn Including "has num $!x;" mapping down to a double field.
10:22 nwc10 crazy talk. It will never catch on.
10:22 jnthn About the only thing you could possibly complain about being unusual is that it creates that instance through the reflection interface. That, too, is something that can be optimized away to a normal "new" op if needed.
10:23 SmokeMachine joined #perl6
10:23 jnthn So, in summary, chromatic is - one again - talking bullshit about my work.
10:23 jnthn *once
10:24 arnsholt Oh, well. Development is proceeding nicely, which is good
10:25 arnsholt And at the present speed, I may have to try to submit a Java talk after all =D
10:25 arnsholt The call for speakers opens february 1st
10:25 nwc10 development would accelerate if more people played with it
10:25 arnsholt Yeah, it's on my todo-heap
10:25 tadzik arnsholt: call for what speakers?
10:25 arnsholt tadzik: JavaZone
10:26 arnsholt Big Norwegian Java conference =)
10:26 tadzik will they show a new movie? :)
10:26 arnsholt I sure hope so =D
10:27 arnsholt At any rate, it might be amusing to submit a Perl talk to a Java conference
10:27 jnthn arnsholt: When is the conference
10:27 jnthn ?
10:29 nwc10 http://jz13.java.no/ -- 11-12th September, 2013
10:29 jnthn Oh, that's ages in the future!
10:29 nwc10 what matters more is when the call for papers closes
10:32 arnsholt I'm not sure, unfortunately
10:32 arnsholt AFAICT, the website only says that it opens on the 1st of february
10:39 timotimo ah, but of course nqp-jvm is written in nqp, too
10:41 arnsholt Sure. The idea is to sell it as a "new JVM language" talk
10:41 arnsholt And hope that the sheer unexpectedness of seeing Perl and JVM in the same sentence gets them to accept the talk ^_^
10:43 jnthn :D
10:44 jnthn It's very possible the NativeCall stuff could be ported by then also :)
10:44 arnsholt Yeah, I'd kind of like it to be
10:44 arnsholt 'Cause then the talk goes from "mildly interesting" to "has awesome features"
10:45 nwc10 which native is native? Java? Or C?
10:45 arnsholt NativeCall is C-interop
10:45 moritz we'll have a SemiNativeCall for calling Java then? :-)
10:45 arnsholt Hehe
10:45 au maybe we can call it Lingo or something :)
10:46 hoelzro has anyone had a chance to try the pygments highlighter I wrote?
10:46 hoelzro I was hoping for a little more feedback at this point =/
10:46 arnsholt So, in nqp-jvm-prep, it wants src/*.java to compile to bin/*.class, and uses 3rdparty/bcel/bcel-5.2.jar as the only external dependency?
10:47 tadzik hoelzro: I'll try it on some of my code once I get back home
10:47 jnthn arnsholt: yeah
10:47 hoelzro \o/
10:47 SmokeMachine joined #perl6
10:47 jnthn hoelzro: Linky?
10:47 arnsholt Hmm. That shouldn't be too hard to hack into the Makefile
10:48 hoelzro jnthn: https://bitbucket.org/hoelzro/pygments-main
10:48 MayDaniel joined #perl6
10:48 jnthn arnsholt: Go for it, the current build story is le suck, as nwc10++ found out ;)
10:48 hoelzro I sent a link out 2 weeks ago to perl6-users and on perl.reddit.com
10:48 timotimo hoelzro: any tips on how to try it out successfully?
10:48 nwc10 arnsholt: right now it's also hardcoding a call to `javac`, which I supplied as a shell scrip wrapping gcj
10:48 nwc10 but those seemed to be the only fun bits
10:49 hoelzro timotimo: just download it and run python2 pygmentize -l perl6 $perl6_file
10:49 nwc10 oh, and you need a *really* new nqp. newer than Rakudo defaults to
10:49 timotimo sounds good :)
10:49 tadzik hoelzro: is it in this py-pan, so you can pip install it?
10:50 hoelzro tadzik: I'm not familiar with python module installation (last I tried I started to cry blood), but it's not officially released yet if that's what you're asking
10:50 hoelzro I want people to try it before I ask upstream to merge it
10:50 timotimo pip can take a hg:// for installation
10:51 hoelzro oh, neat
10:51 tadzik kewl
10:51 hoelzro does pip suck less than easy_install?
10:51 hoelzro easy_install is a bit of an oxymoron, in my experience.
10:52 timotimo jnthn: i asked a java-savvy friend how to best do the java building in nqp-jvm. he suggests sbt (scala build tool), because it doesn't need any configuration files or commandline args whatsoever
10:53 tadzik I think pip is sort of a cpanm of python
10:53 timotimo hoelzro: it sucks a bit less, but it doesn't handle binaries well. (actual binaries, that is. not python scripts with a #!)
10:54 hoelzro I see
10:54 SmokeMachine joined #perl6
10:54 timotimo so for almost all projects you want to install, pip is good. it can even uninstall packages!
10:55 timotimo hoelzro: the way $*W is highlighted is strange. the $ and W are dark red, the * in the middle is bright red and underlined
10:56 hoelzro interesting...can you paste the script you're highlighting?
10:56 hoelzro I'd like to collect a body of examples for regression testing
10:56 hoelzro I have a neat little suite of scripts to check for regressions
10:56 timotimo it's just rakudo/src/Perl6/Actions.pm
10:57 jnthn Good news:
10:57 timotimo it can probably be very easily golfed
10:57 jnthn On 04:58 PM, December 19, 2012 UTC, you have submitted a reclassification request to Trend Micro. We have processed your request and below is the result.
10:57 jnthn URL hxxp://rakudo.org
10:57 jnthn New Safety Rating (originally rated as "Dangerous" by Trend Micro)
10:57 jnthn Safe
10:57 hoelzro interesting...
10:58 timotimo hoelzro: $<colonpair> has got a problem, too. the $ and colonpair are dark red, the < is like the * in $*W and the > is white
10:58 jnthn So now the RT ticket about rakudo.org being blacklisted can be closed :)
10:58 arnsholt jnthn: Is compiling the Java code from the Makefile a must-have, or is ant an alternative as well?
10:58 hoelzro how odd...I thought I tested that!
10:58 timotimo other than that the highlighting seems pretty perfect
10:58 nwc10 is there a regression test for it? :-)
10:59 hoelzro \o/
10:59 timotimo (and now it turns out i've been checking out the branch *without* your work on it :P)
11:00 hoelzro ?
11:00 jnthn arnsholt: Makefile is probably what most people who build Rakudo today will expect/be ready for, I guess.
11:00 arnsholt Yeah, and there's other stuff depending on the Makefile
11:00 jnthn arnsholt: I'm not sure that telling people "please go install this other build tool" will help adoption...
11:01 arnsholt There is that, but it's complaining about ant would be kind of like complaining about make for building C libs
11:02 arnsholt The thing is that doing it via the Makefile is likely to be brittle
11:02 timotimo can't the makefile just call ant?
11:02 arnsholt That was my idea
11:02 timotimo ah, ok
11:02 arnsholt Have a build.xml that compiles src/ to bin/ and then "bin: ; ant" in the Makefile
11:02 jnthn ant doesn't come with a JVM install, though?
11:03 arnsholt No, in that sense it's third-party
11:03 jnthn Is ant easily installable?
11:03 arnsholt It's possible to do in the Makefile, but then you'd have to communicate the dependency graph between Java files in the Makefile to get the code to compile properly I think
11:03 bbkr_ joined #perl6
11:03 arnsholt Yeah, ant is pretty straightforward
11:05 arnsholt For Unixen it's in the package manager, but Windows as well isn't too hard IIRC
11:05 Su-Shee_ joined #perl6
11:06 nwc10 which means you're assuming local root. Which is reasonable. But not 100%
11:06 nwc10 the machine I built it on, I'm not root
11:06 arnsholt If you don't have root you'll have to install it to $HOME, yeah
11:07 nwc10 the clincher here seems to be "dependency graph between Java files"
11:07 arnsholt Yeah
11:07 arnsholt With ant you can just say "compile all the Java files in src/ to bin/"
11:07 arnsholt Which cuts down on drudgery
11:08 nwc10 so, making it easy for the Makefile to use a locally installed ant if necessary feels like the trade off to shoot for
11:10 arnsholt FWIW, installing Ant as non-root is a matter of downloading and unzipping, adding a directory to $PATH and adding an envvar (assuming you have a working Java)
11:11 tadzik my experience with javac is that when you tell it to compile a .java file, it automagically compiles all the deps as well
11:12 arnsholt I thought javac was supposed to do that, but I get lots of errors about symbols it can't find
11:12 arnsholt Might be because of packages
11:12 jnthn Can't you feed an entire list of .java files to javac?
11:12 arnsholt Yeah, I can
11:13 arnsholt But then I'd scavenge the list of files with `find src -name \*.java` which isn't terribly Windows-friendly
11:15 jnthn dir src\*.java /b/s :)
11:16 tadzik use perl -MFile::Find :P
11:17 nwc10 which would work on VMS too
11:17 jnthn :)
11:17 nwc10 OK, except for the command line quoting being different again
11:18 tadzik just harcode it and add a commit-hook :P
11:24 Ulti joined #perl6
11:26 arnsholt Yeah, looks like javac doesn't autoresolve across packages
11:27 arnsholt javac -cp 3rdparty/bcel/bcel-5.2.jar -d bin src/org/perl6/nqp/{sixmode​l{,/reprs},runtime}/*.java does the trick
11:27 jnthn oooh!
11:28 jnthn javac: file not found: src\org\perl6\nqp\{sixmode​l{,\reprs},runtime}\*.java
11:28 jnthn Dang!
11:28 arnsholt I assume that kind of quoting doesn't work on Windows? =)
11:28 whiteknight joined #perl6
11:28 * arnsholt is overly familiar with bash
11:28 arnsholt (Which is why I refuse to program in it unless I can't avoid it)
11:29 arnsholt jnthn: Is there some documentation I can read about the Windows make?
11:30 arnsholt So I at least can try to make my Makefile hacks compatible
11:30 jnthn http://msdn.microsoft.com/e​n-us/library/dd9y37ha.aspx
11:30 isBEKaml joined #perl6
11:30 isBEKaml arnsholt++ # hacking with ants. :P
11:31 isBEKaml tadzik: javac doesn't compile in all dependencies, it looks into the classpath you provide and if none of those files were compiled, compiles them. Maybe, since you talk of dependency management, you're looking for maven? :)
11:32 isBEKaml tadzik: maven.apache.org
11:38 SmokeMachine joined #perl6
11:39 sisar joined #perl6
11:39 tadzik isBEKaml: well, I only parrot what I was doing when writing my uni project in Java
11:39 tadzik I used vim, makefile, prove and it worked fine :)
11:39 isBEKaml tadzik: from ye olden days. :)
11:39 FROGGS[mobile] joined #perl6
11:40 tadzik well, it's actually almost my present days :)
11:40 cognominal joined #perl6
11:41 SmokeMac_ joined #perl6
11:41 isBEKaml tadzik: ah, a recent grad. I see. Sure, it's all just stringing together paths and duct tape. (about vim, make et al)
11:41 tadzik not a grad yet :)
11:42 tadzik I'm like in the middle of my studies
11:43 isBEKaml tadzik: Oh, you're having fun times - what with hacking perl6 and university parties. :P
11:44 SmokeMa__ joined #perl6
11:44 tadzik and examstorm
11:44 tadzik january is dark and full of terrors
11:45 isBEKaml yo, winter? :D
11:45 tadzik yeah
11:47 moritz WINTER IS COMING
11:52 isBEKaml|2 joined #perl6
11:53 thou joined #perl6
12:00 SmokeMachine joined #perl6
12:05 SmokeMachine joined #perl6
12:09 SmokeMac_ joined #perl6
12:12 dayangkun joined #perl6
12:14 dbr joined #perl6
12:16 isBEKaml arnsholt, jnthn: considering what you've said here: http://irclog.perlgeek.de/​perl6/2013-01-14#i_6330114 - does this fit the requirement? https://gist.github.com/4529686
12:17 isBEKaml Feel free to use it as you see fit. :)
12:20 jnthn isBEKaml: I think not quite, at a guess
12:21 moritz nr: state sub f() { say 42 }; f()
12:21 p6eval rakudo c3f565: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤Cannot use 'state' with sub declarationâ�¤at /tmp/nXkQePCodf:1â�¤------> [32mstate sub f() { say 42 }[33mâ��[31m; f()[0mâ�¤    expecting any of:â�¤        postfixâ�¤        infix or meta-infixâ�¤        infix stopperâ�¤        statement endâ�¤     …
12:21 p6eval ..niecza v24-17-gd343a2a: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤Illegal scope state for subroutine at /tmp/ERbPfR6RDh line 1:â�¤------> [32mstate sub f[33mâ��[31m() { say 42 }; f()[0mâ�¤â�¤Undeclared routine:â�¤    'f' used at line 1â�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/bo…
12:21 moritz perl 5.17.4 introduces lexical subs, including 'state sub'
12:21 jnthn Compiling lib/QAST/JASTCompiler.nqp depends on JASTNodes.pbc having been compiled (e.g. the pir => pbc step)
12:22 isBEKaml jnthn: Ah, I just thought I could separate out parrot and nqp build steps.
12:22 isBEKaml jnthn: You could just club the two together.
12:23 jnthn Are they executed in order?
12:23 arnsholt jnthn: Does nmake have functions like GNU make
12:23 arnsholt $(foreach ) and such?
12:24 isBEKaml jnthn: not quite, you can look at "depends" attribute to ensure that.
12:24 isBEKaml jnthn: apart from that, each step is executed in order.
12:25 isBEKaml jnthn: that is, each step in a single task.
12:25 jnthn isBEKaml: sorry, I was unclear. Yes, I meant within a target
12:25 jnthn arnsholt: I...don't remember seeing those
12:25 arnsholt Probably not then
12:26 baest_ joined #perl6
12:27 SmokeMachine joined #perl6
12:27 arnsholt Whee!
12:28 arnsholt Tests running, without opening Eclipse =D
12:29 arnsholt And all tests successful \o/
12:29 timotimo i used intellij. where do the .class files need to end up or what do i have to configure for the tests to run?
12:29 timotimo i seem to have a folder structure like out/production/nqp-jvm-prep/o​rg/perl6/nqp/sixmodel/reprs: KnowHOWAttribute.class etc.
12:29 arnsholt class files go in bin/
12:30 arnsholt jnthn: Mind if I change the prerequisite of test to all?
12:30 timotimo so mkdir bin/ && cp **/*.classs bin/
12:30 arnsholt Pretty much, yeah
12:32 FROGGS[mobile] joined #perl6
12:32 timotimo it fails to rm some .class files, then fails to find the class RunTest.
12:32 isBEKaml jnthn: here's another attempt: https://gist.github.com/4529740
12:32 isBEKaml arnsholt: \o/
12:35 arnsholt https://gist.github.com/4529769
12:36 arnsholt jnthn: ^^^ (I can make a pull-request or somesuch as well, if you prefer)
12:39 jnthn arnsholt: Changing that is fine
12:40 jnthn +21  src/org/perl6/nqp/sixmodel/*.java \
12:40 jnthn that line looks odd... :)
12:40 arnsholt Er, yeah
12:40 arnsholt Looks like a pasto
12:41 jnthn arnsholt: Gave you a commit bit
12:41 arnsholt (I'm a bit annoyed there's no "upload file to gist" feature on gist.github.com)
12:41 dalek nqp-jvm-prep: d493855 | (Arne Skjærholt)++ | Makefile:
12:41 dalek nqp-jvm-prep: Enable Makefile to compile Java sources.
12:41 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/d493855756
12:42 arnsholt Even easier for all involved, I guess
12:42 isBEKaml arnsholt: yeah, I was also annoyed looking at too many 212121s on gist.github.com pastie, until I realised they were all tabs. :)
12:42 arnsholt Oh! Is that what happened
12:42 arnsholt Good catch
12:42 arnsholt jnthn: I almost added a .PHONY directive as well, but looks like nmake doesn't have that feature
12:43 jnthn No, don't think it does
12:43 stevan__ joined #perl6
12:44 jnthn mkdir -p bin
12:44 jnthn A subdirectory or file bin already exists.
12:44 isBEKaml jnthn: -p creates it if it doesn't already exist.
12:44 jnthn oh my...on Windows it makes a subdir called -p :P
12:44 isBEKaml jnthn: I'm not sure if windows has it. :)
12:44 jnthn No.
12:45 isBEKaml jnthn: thought so.
12:45 arnsholt Ah, bah. UNIX-centrism strikes again!
12:45 moritz perl -MExtUtils...
12:45 jnthn moritz: yeah, that may be the way to go
12:46 * mst starts to think we should bundle bash with windows perl as well as make
12:46 arnsholt Yeah
12:46 isBEKaml mst: doesn't strawberry already do that? I mean, gmake?
12:46 arnsholt (@moritz, originally, but I guess mst's solution works as well =)
12:47 mst isBEKaml: yes, that's why I suggested bash *as well as*
12:47 nwc10 what can bash do that perl can't?
12:47 nwc10 try ExtUtils::Command::mkpath
12:47 isBEKaml mst: I should read, sorry.
12:47 nwc10 (not tested. By inspection)
12:48 mst isBEKaml: ... the laugh that response gave me totally made it worth it, don't worry about it :D
12:48 nwc10 and probably use it in preference to any command line commands.
12:49 SmokeMachine joined #perl6
12:49 isBEKaml mst: :D Well, git windows includes bash.
12:49 isBEKaml mst: but that is very clingy about git.home.
12:57 SmokeMachine joined #perl6
12:57 dalek nqp-jvm-prep: a7b5c94 | (Arne Skjærholt)++ | Makefile:
12:57 dalek nqp-jvm-prep: Use ExtUtils::Command instead of Unix-centric mkdir flags.
12:57 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/a7b5c942eb
12:58 Pleiades` joined #perl6
13:03 jnthn arnsholt: Spews warnings, but seems to work \o/
13:04 jnthn arnsholt++
13:07 arnsholt Yeah, piles and piles of warnings
13:07 arnsholt But those are problems with the Java code, not the build ;)
13:09 jnthn Right
13:09 jnthn I fixed 'em
13:10 arnsholt One advantage of console-based build systems: Warnings are annoying enough that you're incentivised to fix 'em =D
13:11 dalek nqp-jvm-prep: 901b289 | jnthn++ | src/org/perl6/nqp/ (5 files):
13:11 dalek nqp-jvm-prep: Fix warnings.
13:11 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/901b289e3f
13:15 SmokeMachine joined #perl6
13:18 SmokeMac_ joined #perl6
13:22 SmokeMachine joined #perl6
13:28 cognominal joined #perl6
13:29 SmokeMac_ joined #perl6
13:36 Woodi arnsholt: imagine warnings in GUI based building system :)
13:37 tadzik popups
13:37 Woodi assuming they are not devnulled :)
13:37 jnthn no, they're not that annoying. They're too easy to ignore.
13:37 jnthn In VS at least
13:37 tadzik popups :>
13:37 jnthn Which is why I've found myself at places with thousands (literally) of compile time warnings. :/
13:38 Woodi jnthn: but that warnings are not gui one :)
13:39 jnthn Woodi: The GUI does show them. There's just a way to hide them all.
13:39 mtk joined #perl6
13:40 tadzik yay, I can now run 'make test' on nqp-jvm-prep repeatedly and get excited all day long
13:41 jnthn tadzik: It'd be even more exciting if you implemented some of the LHF :D
13:41 jnthn Or HHF :P
13:41 SmokeMachine joined #perl6
13:42 tadzik that'd be lovely, but I have some exams to pass and projects to finish :/
13:42 tadzik maybe there'll be something left for me in Feb
13:42 jnthn Ah yes, do pass the exams :)
13:48 moritz Result: PASS.
13:48 moritz :-)
13:50 Woodi Su-Shee: you are right - there is something strange in devs attitude to Perl... IMO Perl is considered a wizards language, plain programming don't need such "low-level power"...
13:53 FROGGS joined #perl6
13:53 Woodi maybe Perl have a unsafe tint on it... when it started to run out of chroot and there was no way to keep it there ppls switched...
13:53 timotimo https://rt.perl.org/rt3/Ti​cket/Display.html?id=74430 - this seems to be fixed now:
13:54 timotimo r: sub foo(@items is copy) { say @items[0..^1]; say @items; }; my @items = 'a'..'g'; foo(@items); say @items;
13:54 p6eval rakudo c3f565: OUTPUT«a␤a b c d e f g␤a b c d e f g␤»
13:54 timotimo should i write a test and close the ticket?
13:54 pmurias joined #perl6
13:55 pmurias jnthn: do you think QAST would be suitable to compiling perl5 to it?
13:56 moritz timotimo: yes
13:57 timotimo will have the necessary tuit in about an hour
13:57 PacoAir joined #perl6
13:57 moritz nqp: say(nqp::rand_i())
13:57 p6eval nqp: OUTPUT«Error while compiling block : Error while compiling op call: Error while compiling op rand_i: No registered operation handler for 'rand_i'␤current instr.: '' pc 44583 (src/stage2/QAST.pir:15561) (src/stage2/QAST.nqp:2360)␤»
13:59 moritz nqp: say(pir::rand__NN(1e20))
13:59 p6eval nqp: OUTPUT«error:imcc:syntax error, unexpected NREG, expecting '(' ('$N5001')␤ in file '(file unknown)' line 149004695␤␤»
13:59 dalek nqp: 81d9937 | (Paweł Murias)++ | t/nqp/59-nqpop.t:
13:59 dalek nqp: Add a test for nqp::existskey.
13:59 dalek nqp: review: https://github.com/perl6/nqp/commit/81d99374fa
14:00 SmokeMachine joined #perl6
14:01 jnthn pmurias: QAST wasn't intended to be Perl 6 specific, just well suited to Perl 6. It doesn't commit to too much. People used PAST to do other languages, and QAST isn't so far from it.
14:01 jnthn pmurias: So yes, should be workable. In fact, the P5Regex subset we support compiles to QAST.
14:04 atrodo joined #perl6
14:06 tadzik hm hm
14:06 tadzik now, someone could write a Perl5 backend that emits QAST :>
14:06 hash_table joined #perl6
14:06 SmokeMac_ joined #perl6
14:14 cognominal joined #perl6
14:15 SmokeMachine joined #perl6
14:16 isBEKaml joined #perl6
14:28 kaare_ joined #perl6
14:28 SunilJoshi joined #perl6
14:30 * [Coke] catches back up with realtime.
14:32 xinming joined #perl6
14:33 dalek perl6-roast-data: 53f28a0 | coke++ | / (4 files):
14:33 dalek perl6-roast-data: today (automated commit)
14:33 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/53f28a0583
14:33 dalek perl6-roast-data: 9944c00 | coke++ | / (4 files):
14:33 dalek perl6-roast-data: today (automated commit)
14:33 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/9944c002b1
14:34 bluescreen10 joined #perl6
14:35 skids joined #perl6
14:38 SmokeMachine joined #perl6
14:39 arlinius joined #perl6
14:46 pmurias tadzik: you mean frontend?
14:47 tadzik hm, no
14:47 arnsholt Middle-end, perhaps?
14:47 tadzik parser from perl 5, but building QAST instead of the usual optree
14:48 arnsholt It'll be squeezed between the parser and the actual code-emitter
14:48 tadzik I don't think anyone wants to rewrite the parser and keep it compatible :)
14:48 ilogger2 joined #perl6
14:48 arnsholt Yeah, I'm not sure how feasible it is to replace the opcode emitting to something else
14:50 SmokeMac_ joined #perl6
14:50 tadzik ah well, it may be emiting code while running it, or whatnot
14:51 pmurias just writing a new parser seems saner
14:51 tadzik didn't TimToady++ write one during PRS?
14:52 arnsholt Yeah, I think STD_P5 is a more viable approach
14:52 pmurias there is Perlito5
14:52 stopbit joined #perl6
14:55 SmokeMachine joined #perl6
14:56 rurban tadzik: I want to rewrite the parser and keep it compatible. Larry also
14:56 PerlJam you want to rewrite Larry and keep him compatible?
14:57 tadzik may be hard to rewrite Larry in his runtime
14:57 rurban I'll try Ian Piumarta's peg/leg for parsing
14:58 rurban I think it will be better and cleaner. (And faster of course)
14:58 isBEKaml joined #perl6
14:58 tadzik oh, that looks interesting
14:59 tadzik I wish I knew about this before I stared my uni project in lex and yacc
15:00 rurban look for potion (why the lucky stiff's project)
15:00 rurban https://github.com/fogus/potion
15:00 colomon joined #perl6
15:04 arnsholt Doing it in lex and yacc you're going to run into a lot of the same problems that plague perl, really
15:04 arnsholt The lexer is lex-based I think
15:04 arnsholt Can't remember if yacc is involved as well, but it might be
15:06 FROGGS joined #perl6
15:09 rurban Did you guys also see Stevan Little's moe (perl5 in scala)?
15:09 Su-Shee rurban: yes \o/ the slides and the repo are making the rounds. :)
15:10 * PerlJam saw it this morning, in fact.
15:10 rurban I'll have something more realistic and better some time soon.
15:12 PerlJam better how?
15:13 rurban smaller, faster, less insanity
15:14 rurban no XS, only FFI. everything is an object (as in parrot) and typed. immutable strings. gc, auto-threaded
15:14 rurban Jitted for intel
15:15 PerlJam sounds awesome.
15:15 Su-Shee rurban: BETTER AND more REALISTIC? that's.. gimme gimme gimme? :)
15:15 timotimo rurban: your project is for perl5 compatibility, too, right?
15:16 rurban better is easy. more realistic than scala and jvm is also easy.
15:16 SmokeMachine joined #perl6
15:16 * PerlJam tentatively believes in rurban's dream.
15:16 rurban yes, codename p2
15:16 Su-Shee rurban: are you going to name it "country AND western Perl"? ;)
15:16 timotimo it's that easy?
15:16 rurban p2 - a modern perl
15:16 PerlJam timotimo: it's just *THAT* easy!
15:16 rurban floats and regex are hard
15:16 timotimo sounds like something out of a steve jobs keynote
15:17 Su-Shee rurban: I remember vaguely having read your name in context of FFI support some time ago already...
15:17 rurban I'll just steal from the best
15:17 awwaiid joined #perl6
15:17 PerlJam rurban: That's the way to do it.  (After looking at the moe repo, I wondered why stevan didn't steal more)
15:17 rurban But a nqp backend could also be possible
15:18 rurban https://github.com/rurban/pot​ion/blob/master/INTERNALS.md
15:30 SmokeMac_ joined #perl6
15:39 SmokeMachine joined #perl6
15:43 SmokeMac_ joined #perl6
15:43 bluescreen10 rurban: how soon? any repo to have a sneak peak?
15:43 dalek nqp-jvm-prep: 488ad0f | (Jonathan Stafford)++ | / (4 files):
15:43 dalek nqp-jvm-prep: fixes documentation of nqp::sha1
15:43 dalek nqp-jvm-prep:
15:43 dalek nqp-jvm-prep: Fixes documentation of nqp::sha1 (it's a serialization context opcode, not a
15:43 dalek nqp-jvm-prep: string opcode), and reorganizes its test code.
15:43 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/488ad0f6a8
15:43 dalek nqp-jvm-prep: f76ad1b | (Jonathan Stafford)++ | / (4 files):
15:43 dalek nqp-jvm-prep: implements nqp::exit
15:43 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/f76ad1bfd0
15:43 dalek nqp-jvm-prep: 5208842 | (Jonathan Stafford)++ | / (4 files):
15:43 dalek nqp-jvm-prep: implements nqp::sleep
15:43 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/5208842563
15:43 dalek nqp-jvm-prep: fa69397 | (Jonathan Stafford)++ | / (6 files):
15:43 dalek nqp-jvm-prep: Merge remote-tracking branch 'upstream/master'
15:43 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/fa69397fa8
15:43 dalek nqp-jvm-prep: e2419b4 | jonathan++ | / (6 files):
15:43 dalek nqp-jvm-prep: Merge pull request #6 from thecabinet/master
15:43 dalek nqp-jvm-prep:
15:43 dalek nqp-jvm-prep: cleanup of nqp::sha1; implement nqp::exit and nqp::sleep
15:43 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/e2419b4b5e
15:44 rurban a month or so. perl examples/benchmarks/fib.pl 28 0.439s parrot examples/benchmarks/fib.pir 28 1.746s  potion examples/benchmarks/fib.pn 28 0.013s
15:44 hash_table joined #perl6
15:44 rurban jvm not yet
15:45 moritz what's potion?
15:45 rurban https://github.com/rurban/potion/
15:45 rurban A fast little language
15:45 dalek nqp-jvm-prep: 3be0d3b | jnthn++ | docs/LHF.md:
15:45 dalek nqp-jvm-prep: arnsholt++ did this task.
15:45 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/3be0d3ba83
15:45 rurban by some famous ex-ruby guy
15:45 PerlJam apparently something why did before he dropped off the face of the universe
15:46 rurban felix is also good, but needs ocaml for bootstrapping
15:46 bluescreen10 rurban: and you trying to add p5 syntax and semantics to it?
15:47 SmokeMachine joined #perl6
15:47 rurban yes
15:47 rurban plus more
15:47 [Coke] p: say 9426 / 24593
15:47 p6eval pugs: OUTPUT«0.38327979506363599​39820274061724881063717␤»
15:47 rurban types (str, int, num as objects), dlcall (ffi)
15:47 bluescreen10 rurban: that's an interesting experiment
15:48 rurban and threads and a GC
15:48 PerlJam rurban: beware the "pre-announcement"
15:48 rurban DESTROY methods run at scope exit
15:48 SmokeMa__ joined #perl6
15:48 rurban it will under ofun.pm
15:48 rurban it will be ...
15:50 [Coke] pugs'll be back to 38% tomorrow or so, I think.
15:55 Su-Shee [Coke]: you're reactivating pugs? :)
15:56 [Coke] Su-Shee: it's been on life support for a while. it runs a little under 40% of the number of spec tests that rakudo does at this point.
15:56 PerlJam Su-Shee: he's keeping pugs on life-support
15:56 Su-Shee oha :)
15:56 [Coke] Su-Shee: see https://github.com/coke/perl6-roast​-data/blob/master/perl6_pass_rates
15:57 [Coke] making it easy for someone who speaks haskell to fix things up.
15:58 [Coke] (and, to be fair, au++ is doing all the hard work on the haskell side. I just fudged a lot of tests and automated a test suite run.)
15:58 * [Coke] thinks both he and au think they got the easy job on that one.
15:59 au that's the best kind of division :)
16:00 * PerlJam thinks both [Coke] and au are correct.  ;)
16:00 [Coke] agreed!
16:02 [Coke] au: I tried to get it running on my laptop, no love with the macport ghc.
16:02 [Coke] Might I have better luck with http://www.haskell.org/platform/ ?
16:02 au very probably.
16:03 au also try "cabal install regex-pcre-builtin-0.94.4.4.8.31 Pugs" to get the UTF8 build
16:04 * [Coke] will try that when he's off $work network. Danke.
16:04 au glad to help :)
16:05 au have a good localtime hackers \o &
16:05 PerlJam au: you too!
16:06 SmokeMachine joined #perl6
16:07 preflex joined #perl6
16:09 rurban haskell ghc got much faster recently I heard. Are there benchmarks against parrot/rakudo?
16:10 [Coke] pugs has historically been pretty fast in the subset of perl6 it provides. pretty sure there are no recent benchmarksl.
16:21 uniejo joined #perl6
16:21 SmokeMac_ joined #perl6
16:24 SmokeMa__ joined #perl6
16:28 dalek roast: dee9fde | (Timo Paulssen)++ | S06-traits/is-copy.t:
16:28 dalek roast: test for RT #74430: index and is copy interaction
16:28 dalek roast: review: https://github.com/perl6/roast/commit/dee9fdeb68
16:33 MayDaniel joined #perl6
16:39 timotimo feels nice to close old bugs without having to change anything in the code, but something's lacking :|
16:39 timotimo (my rakudo-internal-knowledge is, for instance)
16:39 FROGGS timotimo: well, you learn the internals by looking/checking these tickets
16:40 timotimo well, in this case i didn't even see the internals, i just wrote a test because the problem had already been fixed ;)
16:40 timotimo usually the code to reproduce the bugs are in the ticket, too (which is great!), so i don't even have to hunt
16:40 timotimo is the code itself the best (only?) place for learning how QAST works?
16:40 FROGGS ya, I mean you learn about the traits and how they should work and how it is in real life...
16:41 timotimo :D
16:41 jnthn timotimo: https://github.com/perl6/nqp/b​lob/master/docs/qast.markdown is not complete, but a start
16:41 timotimo (idly thinking about the rakudo internals tour screencast - wether or not creating a tiny language that emits QAST would be a good idea or silly/inappropriate-for-the-format)
16:42 timotimo ah, i went straight for QAST::Want, and that's one of the few undocumented ones. just my luck! :D
16:42 timotimo but thanks very much! seems like a good start indeed.
16:44 SmokeMachine joined #perl6
16:48 alester joined #perl6
16:48 SmokeMachine joined #perl6
16:49 kaleem joined #perl6
16:50 SmokeMachine joined #perl6
16:52 cognominal joined #perl6
16:53 SmokeMachine joined #perl6
16:54 * [Coke] wonders what version of pugs the evalbot is running.
16:54 SmokeMachine joined #perl6
16:55 timotimo didn't it use to say that at the beginning of the result?
16:55 timotimo pugs: say "hello coke"
16:55 p6eval pugs: OUTPUT«hello coke␤»
16:55 timotimo apparently not!
16:56 [Coke] r: say "eek"
16:56 p6eval rakudo c3f565: OUTPUT«eek␤»
17:01 SamuraiJack joined #perl6
17:03 Targen joined #perl6
17:03 SmokeMachine joined #perl6
17:05 FROGGS joined #perl6
17:07 SmokeMac_ joined #perl6
17:10 FROGGS okay, so whats our plan for today?
17:10 jnthn Mine is finish $dayjob tasks, cook some mushroom/bacon pasta stuff, nom it, then hack Perl 6 things :)
17:11 FROGGS "nom it", I see a connection there
17:11 SmokeMachine joined #perl6
17:11 jnthn ;)
17:11 Su-Shee I see more of a bacon connection.. ;)
17:13 skids I have always suspected "nom" did not actually stand for "new object model"
17:14 timotimo it was all a ruse!
17:14 TimToady well, it's perfectly okay for something to mean more than one thing at once
17:14 FROGGS --> http://de.webfail.com/dd0c76cf3a4
17:15 TimToady Just because I'm tired when I yawn doesn't mean you're not boring... :)
17:18 [Coke] p: say 9475 / 24593
17:18 p6eval pugs: OUTPUT«0.38527223193591672​42711340625381206034237␤»
17:19 SmokeMachine joined #perl6
17:22 nwc10 TimToady: do you remember which bugtracker the IDs such as NETaa13369 are? eg at this line http://perl5.git.perl.org/perl.g​it/blob/perl-5.001:/Changes#l661
17:23 SmokeMachine joined #perl6
17:30 TimToady probably ClearCase
17:30 SmokeMac_ joined #perl6
17:31 TimToady the NET is for NetLabs
17:31 * [Coke] has horrible CC flashbacks.
17:38 nwc10 TimToady: aha. thanks. So, all internal?
17:40 SmokeMachine joined #perl6
17:41 TimToady yeah
17:42 nwc10 ah OK. thanks.
17:42 TimToady data probably scrapped by Seagate Software or Veritas long ago
17:43 SmokeMachine joined #perl6
17:46 SmokeMac_ joined #perl6
18:00 SmokeMac_ joined #perl6
18:02 uniejo joined #perl6
18:09 sjn joined #perl6
18:10 Pleiades` joined #perl6
18:11 SmokeMachine joined #perl6
18:14 SmokeMachine joined #perl6
18:17 diakopter nqp-jvm could use a make clean
18:17 jnthn Indeed. Go for it. :)
18:17 jnthn (can make it portable same way the mkdir is)
18:18 SmokeMachine joined #perl6
18:19 thou joined #perl6
18:20 SmokeMachine joined #perl6
18:22 SmokeMachine joined #perl6
18:23 Khisanth joined #perl6
18:32 SmokeMachine joined #perl6
18:33 Pleiades` joined #perl6
18:34 preflex joined #perl6
18:34 SmokeMachine joined #perl6
18:35 gogolum joined #perl6
18:38 SmokeMachine joined #perl6
18:38 FROGGS joined #perl6
18:39 uniejo joined #perl6
18:40 diakopter dalek lost my push to nqp-jvm
18:42 SmokeMachine joined #perl6
18:45 SmokeMachine joined #perl6
18:46 diakopter jnthn: are you going to rename nqp-jvm-prep to nqp-jvm?
18:47 jeffreykegler joined #perl6
18:49 jeffreykegler Is there a Perl 6 spec for the format of its abstract syntax tress?
18:49 sjn joined #perl6
18:49 jeffreykegler I'd be interesting in the concrete ones too, but I read that there is no such thing in Perl 6
18:49 jeffreykegler * tress -> trees
18:50 diakopter see the classes here: https://github.com/perl6/nqp/tree/master/src/QAST
18:51 jeffreykegler diakopter: thanks
18:51 nwc10 that's an answer for "Rakudo", not for "Perl 6". Because (you're right), it's not specified as part of Perl 6
18:52 jeffreykegler diakoper read me right, I was interesting in anything Perl6-centric
18:52 jeffreykegler * interesting -> interested
19:00 groky joined #perl6
19:00 Guest5388 joined #perl6
19:02 TimToady our intent was to let the various implementations negotiate that, but mostly only rakudo has been negotiating lately...
19:04 jeffreykegler TimToady: as usual I am here trying to borrow ideas
19:04 jeffreykegler I want to see how the Perl 6 folks are doing it
19:04 jeffreykegler OO and all that
19:05 jeffreykegler My idea is that my parser could get a start on the work of the semantics
19:05 jeffreykegler Not finish it just start
19:06 jeffreykegler The advantage is the "head start" could be coded in C and/or XS
19:06 spider-mario joined #perl6
19:06 * nwc10 thought that niecza was still on speaking terms
19:08 SmokeMachine joined #perl6
19:11 TimToady sure, but sorear++ is interested in many things, not just ASTs :)
19:16 * jnthn back from dinner
19:16 jnthn diakopter: no
19:17 jnthn The repo description is still in sync with intent: "Preparatory work for NQP and Rakudo on JVM. Temporary repo; will be incorporated into NQP eventually" :)
19:18 diakopter oh; missed that
19:18 sjn joined #perl6
19:18 dalek perl6-roast-data: 1617365 | coke++ | / (4 files):
19:18 dalek perl6-roast-data: today (automated commit)
19:18 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/16173653b3
19:21 SmokeMac_ joined #perl6
19:25 Chillance joined #perl6
19:28 japhb_ joined #perl6
19:28 SmokeMachine joined #perl6
19:33 kivutar joined #perl6
19:34 jeffreykegler joined #perl6
19:41 arlinius joined #perl6
19:46 wk joined #perl6
19:46 Ulti I wish you guys hadn't spoken about perl golfing... I've spent a whole day trying to get the best golf for nCk  ;___;
19:48 jnthn .oO( ...the hole day... )
19:49 Ulti lol
19:49 SmokeMachine joined #perl6
19:50 nwc10 good news - he's here all week
19:50 huf i thought he was jnthn
19:50 Ulti I really don't understand how the top golfers do it, unless they get around having to write 'print'
19:51 huf say?
19:51 Ulti I'm also hoping perl6 is a lot less golfable than perl5, I think the olde perl golf is probably what gives Perl the bad rap to the outside world
19:51 Ulti huf its all perl 5.8 on codegolf.com
19:51 huf hmm, it might count, but i think the insane amount of cargo culted broken perl4 code is more responsible
19:52 PerlJam you're both wrong.  :)
19:52 huf :)
19:52 Ulti yeah I imagine perl4 is still wandering around in production some place (scary)
19:52 b1rkh0ff joined #perl6
19:53 PerlJam Ulti: there's an old node on perlmonks (I think) that explains how the best golfers do it.
19:53 nwc10 I've heard specific rumours of at least one place still using some Perl 4. Can't confirm it though
19:53 Ulti I'm in the top 30% for this golf at least... yay
19:55 Ulti PerlJam: I dont think I want to get too pro otherwise it will bleed into my every day programming :)
19:55 Ulti I'd rather do some perl6 and write cleaner perl :D
19:55 nwc10 me too
20:02 SmokeMac_ joined #perl6
20:03 SmokeMa__ joined #perl6
20:10 * jnthn grumbles about the API for SCs...
20:11 SmokeMachine joined #perl6
20:11 jnthn Guess I should actually take a moment to design it.
20:12 jnthn (It...evolved...)
20:12 nwc10 a bad workman blames his tools. A bad programmer blames evolution? :-)
20:13 jnthn Something like :)
20:13 nwc10 sure, it isn't intelligent design, but look on the bright side. At least it's not flying spaghetti monster code.
20:13 * masak attempts to think of a joke about "unintelligent designer" that doesn't come across as a giant insult, but fails
20:13 phenny masak: 07:46Z <quester> tell masak Thank you for submitting the macro call with $_ bug (#116370).  Later I tried checking whether any of the existing bugs that mention "quasi" were related and my brain exploded.  Now that I look at it again, I doubt if any of them are really related.
20:13 jnthn It's also not spread over a bunch of places, so it's not hard to sort it out.
20:14 jnthn .oO( The fact it isn't spread all over the place is probably a sign of at least something being right... :) )
20:14 nwc10 masak: I had a hard enough time figuring out that response. There must be a better one, but it eluded me
20:15 Khisanth joined #perl6
20:20 Rotwang joined #perl6
20:24 Targen joined #perl6
20:28 masak 'night, #perl6
20:28 FROGGS gnight
20:43 Khisanth joined #perl6
20:46 [Coke] nwc10++ # latest perl5 status report.
20:48 fgomez joined #perl6
21:00 Rotwang1 joined #perl6
21:05 SmokeMac_ joined #perl6
21:07 kivutar joined #perl6
21:07 mikemol joined #perl6
21:14 dalek nqp: 7c8021d | jnthn++ | src/ (2 files):
21:14 dalek nqp: Replace a couple of pir op uses with nqp ops.
21:14 dalek nqp:
21:14 dalek nqp: Just some assorted ones where we already have the NQP op defined.
21:14 dalek nqp: review: https://github.com/perl6/nqp/commit/7c8021d9e4
21:14 dalek nqp: 4e51b4c | jnthn++ | src/QAST/Operations.nqp:
21:14 dalek nqp: Add an nqp:: op API for working with SCs.
21:14 dalek nqp:
21:14 dalek nqp: It replaces a rather non-uniform mix of v-table calls, method calls
21:14 dalek nqp: and pirops. Probably there are a few more needed, but this covers the
21:14 dalek nqp: majority.
21:14 dalek nqp: review: https://github.com/perl6/nqp/commit/4e51b4c51b
21:14 dalek nqp: aa64ea7 | jnthn++ | src/stage0/ (9 files):
21:14 dalek nqp: Update bootstrap so we can use the SC ops in NQP.
21:14 dalek nqp: review: https://github.com/perl6/nqp/commit/aa64ea7bfc
21:14 dalek nqp: ff51c75 | jnthn++ | src/ (2 files):
21:14 dalek nqp: Start using the nqp:: ops for SC handling.
21:14 dalek nqp: review: https://github.com/perl6/nqp/commit/ff51c75d9e
21:14 dalek nqp: 9815308 | jnthn++ | t/serialization/0 (3 files):
21:14 dalek nqp: Start updating SC tests to use new ops.
21:14 dalek nqp: review: https://github.com/perl6/nqp/commit/9815308a7f
21:16 Rotwang1 is there working LWP::Simple for rakudo 2012.12 somewhere on the internetz?
21:17 tadzik I think moritz++'s version is the one closest to working
21:18 tadzik not sure where it lives now though
21:18 japhb_ [Coke] or nwc10 : Link to perl5 status report in question?
21:20 nwc10 I assume that he means this: http://news.perlfoundation.org/2013/01​/improving-perl-5-grant-report-12.html
21:21 japhb_ Thank you!
21:21 Rotwang1 tadzik: it is nowhere to be found, I'll just use sockets then
21:21 Rotwang1 [;
21:23 tadzik :P
21:23 tadzik moritz: ping-o
21:23 tadzik or maybe the stock one just works with rakudo fresh enough
21:23 tadzik Rotwang1: thing is, sockets were mostly broken recently
21:23 tadzik Parrot changing API and this sort of crap
21:24 Rotwang1 ok
21:24 Rotwang1 so is there anything I can use to fetch data from a webserver?
21:25 PerlJam Is that really the interesting part that must be in Perl 6?
21:25 tadzik well, does LWP::Simple not work for you?
21:26 tadzik PerlJam: everything is interesting in Perl 6 :)
21:26 Rotwang1 tadzik: no it doesn't
21:26 tadzik Rotwang1: how fresh is your rakudo?
21:26 PerlJam If it were me, I'd usually just use curl or something to get the data I wanted and Perl 6 would then manipulate it in various ways.
21:26 Rotwang1 2012.12 with parrot 4.10
21:27 tadzik "RT #116288: $socket.read($bytes) now retruns $bytes btyes, if available" commit is from Wed Jan 9
21:27 mikemol joined #perl6
21:27 tadzik so you either have to go bleeding-edge-ish, or just use Perl as a glue and use curl like PerlJam says :)
21:28 Rotwang1 tadzik: what does panda use?
21:28 tadzik Rotwang1: oh, it uses Parrot's LWP::UserAgent via pir
21:28 Rotwang1 ok
21:28 dalek nqp-jvm-prep: 7cc3f08 | jnthn++ | lib/QAST/JASTCompiler.nqp:
21:28 dalek nqp-jvm-prep: Compile QAST::WVal.
21:28 dalek nqp-jvm-prep:
21:28 dalek nqp-jvm-prep: Note that there's no SC support yet so it doesn't actually work when
21:28 dalek nqp-jvm-prep: run. However, since compiling attribute access depends on it, it was
21:28 dalek nqp-jvm-prep: obscuring the many other things that need work in nqp-mo.pm.
21:28 dalek nqp-jvm-prep: review: https://github.com/jnthn/nqp​-jvm-prep/commit/7cc3f084bf
21:29 tadzik Rotwang1: https://github.com/tadzik/panda/blo​b/master/lib/Panda/Ecosystem.pm#L12
21:29 tadzik may be good enough for your purposes
21:31 timotimo i don't really get why this function has to be PIR :|
21:31 tadzik I should maybe release it as a module :P
21:32 tadzik timotimo: well, couple of reasons
21:32 tadzik 1) wget isn't available everywhere
21:32 tadzik 2) LWP::Simple has quite a lot of dependencies
21:32 tadzik 3) LWP::Simple is broken more often than I feel comfortable with
21:32 tadzik 4) Panda runs only on Rakudo-on-Parrot anyway
21:33 gfldex joined #perl6
21:33 Rotwang1 why "Panda runs only on Rakudo-on-Parrot"?
21:34 tadzik because Niecza doesn't support typed exceptions, to which Panda moved some time ago
21:34 tadzik and I didn't try any other implementation than those 2
21:35 Khisanth joined #perl6
21:35 slayer101_ joined #perl6
21:35 timotimo i may have miscommunicated my confusion. why exactly is it PIR code, rather than perl6 code?
21:35 timotimo is LWP::UserAgent written in raw PIR? who would do such a thing?
21:35 Rotwang1 isn't that the point of having man
21:35 tadzik timotimo: it's a Parrot module, yes
21:35 Rotwang1 crap
21:35 PerlJam welcome to the wonderful world of bleeding-edge software
21:35 tadzik not a Perl 6 module
21:35 timotimo all right
21:36 Rotwang1 isn't that the point of having many perl6 implementations, that you should actually abstract from how is it implemented?
21:36 tadzik so it's either written in raw PIR... or worse
21:36 [Coke] one of the points of parrot is provide libs that can be shared across multiple languages.
21:36 tadzik Rotwang1: it is. But I think it was the best possible choice given the circumstances
21:36 tadzik Rotwang1: if panda actually ran on anything other than Rakudo, I would figure out something else
21:36 Rotwang1 tadzik: ok
21:37 tadzik like falling back to Perl 5 :>
21:37 tadzik no, that wouldn't be to smart
21:37 tadzik thing is, I can't quite rely on LWP::Simple currently
21:38 tadzik http://feather.perl6.nl/~sergot/​modules/module/HTTP::Client.html has some new branch which looks promising, but I don't think it's there yet
21:39 Rotwang1 I'll use curl for now then
21:39 tadzik supernovus writes good stuff, so I hope HTTP::Client 2.0 will be there sooner than later :)
21:39 tadzik and I'll happily move my code to it
21:40 tadzik oh, Rotwang1
21:40 tadzik did you see https://github.com/azawawi/perl6-net-curl/?
21:40 tadzik I didn't know we have such thing :)
21:42 timotimo seen azawawi
21:42 aloha azawawi was last seen in #perl6 21 days 6 hours ago saying "jnthn previously suggested adding a web API for perl6-debug... once that's there, i will be more than happy to integrate it.".
21:42 timotimo oh, he's the one who worked on that web based perl6 editor, isn't that right?
21:43 Rotwang1 tadzik: looks like what I need, thanks
21:43 Rotwang1 I hope it works
21:43 tadzik http://feather.perl6.nl/~sergot/modules/ indicates that smoketests pass for it
21:43 tadzik last update 2012-12-13 though
21:44 tadzik sergot: *poke* :)
21:44 Rotwang1 I like how examples are in c
21:45 timotimo tadzik: there is only one test file and that tests if use The::Module works
21:45 tadzik heh
21:45 tadzik bah
21:45 timotimo Rotwang1: it seems like those examples were taken from curl itself and partially translated to perl6
21:45 timotimo (https.p6, for instance)
21:45 Rotwang1 indeed
21:54 timotimo masak: hey, looking at https://rt.perl.org/rt3/Ti​cket/Display.html?id=77272 right now. rakudo now shows line number and file like you wished (although it's at the very end of the output". is that good enough for you or would you prefer the position info in front or something?
21:54 timotimo (although the position indicator seems a bit off. it shows ------> and then nothing, although the line does have some content (doesn't even show BOL or EOL)
21:56 gogolum joined #perl6
22:03 [Coke] rakudo: class A is NoSuchType {}
22:03 p6eval rakudo c3f565: OUTPUT«[31m===[0mSORRY![31m===[0m�Cannot call 'trait_mod:<is>'; none of these signatures match:�:(Mu:U $child, Mu:U $parent)�:(Attribute:D $attr, :rw(:$rw)!)�:(Attribute:D $attr, :readonly(:$readonly)!)�:(Attribute:D $attr, :box_target(:$box_target)!)�:(Routine:D $r, …
22:04 timotimo it doesn't show up in p6eval, because it's like 100 lines before it gets to the line/file
22:04 jnthn 100? :)
22:13 Rotwang1 left #perl6
22:18 SmokeMachine joined #perl6
22:19 rindolf joined #perl6
22:20 rindolf joined #perl6
22:37 SmokeMachine joined #perl6
22:38 bluescreen10 joined #perl6
22:39 slayer101_ joined #perl6
22:49 Pleiades` joined #perl6
22:50 tgt joined #perl6
22:52 snearch joined #perl6
22:54 dalek nqp: fb2b87e | jnthn++ | src/how/NQPAttribute.pm:
22:54 dalek nqp: Toss some dead code.
22:54 dalek nqp: review: https://github.com/perl6/nqp/commit/fb2b87e5e0
22:54 dalek nqp: caa866f | jnthn++ | src/how/ (5 files):
22:54 dalek nqp: Various cleanups and simplifications in MOP code.
22:54 dalek nqp: review: https://github.com/perl6/nqp/commit/caa866f0d6
22:54 dalek nqp: 8319c39 | jnthn++ | src/how/NQPModuleHOW.pm:
22:54 dalek nqp: Eliminate a now-unrequired hack.
22:54 dalek nqp: review: https://github.com/perl6/nqp/commit/8319c39fd9
22:54 dalek nqp: 4084b68 | jnthn++ | src/how/ (4 files):
22:54 dalek nqp: A further round of MOP code simplifications.
22:54 dalek nqp:
22:54 dalek nqp: We've relied in various places on methods that Parrot's PMCs provide,
22:54 dalek nqp: but that it's not reasonable to expect a ground-up 6model runtime to
22:54 dalek nqp: offer. In general, the only things that define internal methods are
22:54 dalek nqp: the KnowHOW and KnowHOWAttribute, from which everything else is built.
22:54 dalek nqp: By keeping the MOP simpler, it means we can keep the runtime leaner
22:54 dalek nqp: and write more of NQP in NQP. This isn't the entire set of changes we
22:54 dalek nqp: need, but many of them.
22:54 dalek nqp: review: https://github.com/perl6/nqp/commit/4084b683eb
22:54 jnthn For the curious: every object-y thing in nqp-jvm is a 6model object of some kind.
23:17 japhb_ jnthn++ # I've been wondering which of the ways to push/count elements/etc in NQP was the "official"/"best" way, and which ones were historical.  Thanks for clearing that up!
23:17 jnthn japhb_: Please note that the answer in MOP code is not automatically the answer in normal code.
23:18 japhb_ *sigh*, you would have to say that, wouldn't you?
23:19 japhb_ japhb-- # Assuming simplicity where reality is involved
23:19 jnthn japhb_: Well, NQP doesn't try to have all the conveniences that full Perl 6 does, but the NQP MOP code is a level below that.
23:20 jnthn That said, the ones in the MOP are probably the lowest level and probably the most efficient :)
23:20 japhb_ Sure, but I wondered whether '@foo[+@foo] := ', '@foo.push()', or 'nqp::push(@foo,)' was most efficient ... and I would really hope the way that the MOP does it is in fact the most efficient.  ;-)
23:21 japhb_ ... and there we go.  :-)
23:21 jnthn The @foo[+@foo] thing is a huge hack from the days when NQP did some funky things with regard to auto-viv.
23:21 jnthn There's never a reason to do it these days.
23:21 japhb_ excellent
23:21 japhb_ It felt very PHP-ish
23:23 jnthn I've one more round of MOP simplification to do (but not tonight) with regard to hash iteration.
23:25 jnthn Then it'll mostly be a case of chugging through my heavily commented out version of it.
23:25 jnthn It's nice how much I can uncomment already...
23:26 Pleiades` joined #perl6
23:28 * japhb_ was just discussing the progress today with a few people very interested in seeing Perl 6 on JVM.  They asked "Is this just being thought about, or in design, or what?"  It felt really good to say "Oh no, multiple commits a day, actually."
23:29 jnthn Yeah, it's going fairly smoothly so far. Touch wood.
23:30 * japhb_ knocks on his forehead
23:30 jnthn The thing that's gonna be a pain in the butt to crank out is the deserialization code.
23:31 skids joined #perl6
23:32 diakopter what, parsing in java isn't super-fun?
23:33 jnthn heh
23:33 jnthn It's a binary format. I don't have to parse :D
23:33 jnthn No, it's just keeping all the fixups straight.
23:34 jnthn With a level of indirection less than I have to play with on the Parrot impl.
23:34 slayer101_ joined #perl6
23:34 Khisanth joined #perl6
23:35 japhb_ .oO( If any programming problem can be solved with another layer of indirection, what happens when you remove a layer? )
23:35 jnthn That's why I'm not looking forward to it :P
23:40 timotimo removing a layer is totally a programming problem, so ... :)
23:42 huf maybe there's always a fixed number of layers, and when you remove one from somewhere, it gets added somewhere else
23:43 timotimo that doesn't seem right. i only seem to see examples of layers being added, almost never removed
23:44 huf somewhere, there must be a pile of very simple, very performant code
23:44 huf they sing a hymn to praise creation
23:44 huf but nobody is there to hack on them, because we're all busy adding layers
23:45 timotimo heh.
23:47 FROGGS joined #perl6
23:48 * colomon 's Chrome keeps on ramping up to 100% CPU usage and staying there.  :(
23:49 colomon Any programming problem can be created by removing a layer of indirection?
23:51 jnthn :)
23:51 jnthn OK, time for some rest here
23:51 slayer101_ joined #perl6
23:52 jnthn &
23:53 japhb_ o/
23:54 japhb_ huf: That very simple, very performant code is running in a Forth somewhere.  ;-)
23:54 sorear colomon: have you played with the chrome task manager/
23:55 FROGGS_ joined #perl6

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

Perl 6 | Reference Documentation | Rakudo