Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-04-26

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 nif joined #perl6
00:09 jaldhar joined #perl6
00:17 replore joined #perl6
00:26 pun joined #perl6
00:37 fgomez joined #perl6
00:38 japhb_ joined #perl6
00:38 japhb_ sorear, pong
00:45 fgomez joined #perl6
00:46 dalek tablets: 862dc2d | (Herbert Breunung)++ | docs/appendix-a-index.txt:
00:46 dalek tablets: add more stuff from s32 Num
00:46 dalek tablets: review: https://github.com/perl6/tablets/commit/862dc2d025
00:54 scott_ joined #perl6
00:54 dalek tablets: e4dfb4f | (Herbert Breunung)++ | docs/appendix-a-index.txt:
00:54 dalek tablets: small fixes
00:54 dalek tablets: review: https://github.com/perl6/tablets/commit/e4dfb4f35f
00:59 dalek tablets: 07b6a0d | (Herbert Breunung)++ | docs/appendix-a-index.txt:
00:59 dalek tablets: repair old lowercase links
00:59 dalek tablets: review: https://github.com/perl6/tablets/commit/07b6a0dd57
01:09 dalek tablets: ed08b03 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
01:09 dalek tablets: more crosslinks for ops
01:09 dalek tablets: review: https://github.com/perl6/tablets/commit/ed08b03730
01:14 Maddingue joined #perl6
01:15 japhb_ sorear, you rang?
01:21 sorear japhb_: great timing, just got back
01:21 japhb_ :-)
01:21 sorear I'm curious to know more about perl6-bench and if I can use it in my workflow
01:21 japhb_ What's up?
01:21 lichtkind_ joined #perl6
01:21 japhb_ Ok, what would you like to know about it?
01:22 sorear Dunno, haven't looked too deeply at it
01:22 sorear oh, hey, it has a README, maybe I should have read that before asking :>
01:23 aloha joined #perl6
01:23 japhb_ heh
01:24 japhb_ Also, check the TODO for your likely next question(s).  ;-)
01:24 sorear mm, only one p6 benchmark?
01:25 japhb_ I was getting the structure set up, before launching into writing more benchmarks.
01:25 japhb_ The core concept was the comparison matrix of multiple compilers versus multiple benchmarks, working up from trivial to hard.
01:26 japhb_ Right now, there's several trivial tests, and one medium-difficult (from the compiler implementor perspective) test.  More tests to come (and I'm totally happy with code donations, of course).
01:27 japhb_ One interesting bit is that I realized I could compare Rakudo running NQP code versus nqp running NQP code.  (Aside from the todo item of incrementing bound variables.)
01:28 fgomez joined #perl6
01:29 fgomez joined #perl6
01:30 japhb_ sorear, I'm also happy to move the project under the perl6 project umbrella, if people agree on the basic concept.  But even if not, I'm likely to keep working on it, as right now performance is my big Perl 6 implementation hot button.
01:32 japhb_ So I want to fill out the space of tests enough to give implementors concrete things to work on optimizing.  For example, why is Rakudo crazy slow at rc-forest-fire?  Is there a particular weakness that could be addressed?  Can I write more focused tests that will highlight that weakness and give the Rakudo implementors something concrete to attack?
01:35 japhb_ Oh, I was a tad unclear a few minutes ago.  I was pointing out I could compare (NQP/nqp) <-> (NQP/Rakudo) <-> (Perl 6/Rakudo) to determine if (Perl 6/Rakudo) was slow because Perl 6 is relatively complex, or because Rakudo has a large slowdown above nqp, even on NQP code.
01:35 japhb_ (To a first approximation, of course.)
01:35 japhb_ Anyway, I need to decommute.  Any other questions, sorear?
01:38 havenn joined #perl6
01:38 japhb_ OK, I'll take that as a "No" for now ... decommuting &
01:57 japhb o/
01:57 sorear o/ japhb
02:04 dalek tablets: 488b754 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
02:04 dalek tablets: repair formating bits
02:04 dalek tablets: review: https://github.com/perl6/tablets/commit/488b754471
02:05 sorear japhb: the lack of ability to $i++ when $i is bound is not a rakudo bug
02:07 japhb sorear, er ... I don't think I said it was.  (Did I?)
02:07 sorear (Aside from the  todo item of incrementing bound variables.)
02:08 japhb see TODO in perl6-bench
02:11 benabik joined #perl6
02:12 sorear japhb: the documentation makes it sound like you have more than one bench test
02:12 * japhb blinks
02:13 japhb Er, I *do* -- some of them are -e tests, currently embedded in the 'bench' script itself.
02:13 sorear oh
02:13 sorear I was only looking at the files
02:14 japhb But as I said, the important part up to this point was to get the structure correct.  Handling -e tests, file-based tests, handling compilers that have to have a separate compile and run pass, managing multiple VMs for the same frontend, all that sort of stuff.
02:15 japhb You might want to get an idea of what happens by just turning off 'enabled' for any compilers you don't currently have installed, and running 'perl bench' to see what happens.  You might also want to turn down TEST_COUNT if you let Rakudo run the Perl 6 version of rc-forest-fire.
02:16 oiig_ joined #perl6
02:23 jaldhar joined #perl6
02:26 * japhb realizes that 'get the structure correct' is perhaps misleading for something that is being developed in a fast-iteration style
02:27 japhb It makes it sound like I planned it all out, which I didn't.
02:32 agentzh joined #perl6
02:45 tyatpi joined #perl6
02:45 fgomez joined #perl6
02:50 orafu joined #perl6
02:54 wolfman2000 joined #perl6
02:57 fgomez joined #perl6
03:08 cognominal_ joined #perl6
03:27 tyatpi joined #perl6
03:35 leprevost joined #perl6
04:23 shachaf joined #perl6
04:32 raiph joined #perl6
04:33 fgomez joined #perl6
04:49 thou joined #perl6
04:58 birdwindupbird joined #perl6
05:33 kaleem joined #perl6
05:56 benabik joined #perl6
06:08 wtw joined #perl6
06:27 machine1 joined #perl6
06:38 betterworld joined #perl6
06:51 ranguard joined #perl6
07:01 mucker joined #perl6
07:06 fhelmberger joined #perl6
07:10 brrt joined #perl6
07:14 araujo joined #perl6
07:14 araujo joined #perl6
07:19 NamelessTee joined #perl6
07:35 pernatiy joined #perl6
07:55 fgomez joined #perl6
08:04 machine1 joined #perl6
08:09 fglock joined #perl6
08:15 daemon joined #perl6
08:17 BooK joined #perl6
08:17 tadzik1 joined #perl6
08:18 _sri joined #perl6
08:18 plobsing_ joined #perl6
08:18 sunnavy joined #perl6
08:19 pjcj_ joined #perl6
08:19 Tene_ joined #perl6
08:19 Tene_ joined #perl6
08:20 odoacre_ joined #perl6
08:20 ivan``_ joined #perl6
08:25 mattp_ joined #perl6
08:27 kresike joined #perl6
08:31 groky joined #perl6
08:32 FACEFOX joined #perl6
08:32 ab5tract i was surprised to install rakudo yesterday and find that the binary is called 'perl6;
08:32 ab5tract s/;/'/
08:34 moritz we discuss this every two months in here :/
08:34 FACEFOX-DOT-COM joined #perl6
08:34 ab5tract moritz, sorry for the redundancy. was just shocked after all the discussion of 'rakudo' being an implementation and perl 6 being a specification
08:35 moritz ab5tract: IMHO the right approach would be to name the binary 'rakudo', and symlink it to 'perl6'
08:35 moritz ab5tract: but there is other precedence; lots of UNIX tools have multiple implementations, all with the same biniary name
08:36 ab5tract yes, that's true i guess.
08:36 ab5tract in general i don't like version numbers on my binaries though ;)
08:37 ab5tract but yes, there is a lot of precedence there
08:37 moritz there are also multiple python implementations, and at least one of them ships with a 'python' binary
08:37 zhutingting joined #perl6
08:37 moritz but somehow that fails to convince me
08:42 dalek star: a430d66 | moritz++ | skel/ (2 files):
08:42 dalek star: there are way too many places where we need to update version numbers
08:42 dalek star: review: https://github.com/rakudo/star/commit/a430d66ab4
08:44 cognominal___ joined #perl6
08:46 nwc10 joined #perl6
08:46 nwc10 moritz: w.r.t. commit a430d66 - http://perl5.git.perl.org/perl.git/blob/906024c7fead4086ed911b8052d784aa07c2f1e2:/Porting/bump-perl-version
08:47 moritz nwc10: I'd rather have some kind of templating system
08:47 moritz nwc10: but thanks for the hint anyway
08:48 nwc10 well, it was more "yes, that problem sounds familiar"
08:54 dalek star: bd2b55a | moritz++ | skel/docs/announce/2012.04:
08:54 dalek star: draft a 2012.04 release announcement
08:54 dalek star: review: https://github.com/rakudo/star/commit/bd2b55abf2
08:56 dalek star: b8438c1 | moritz++ | skel/Configure.pl:
08:56 dalek star: another forgotton version. Sigh.
08:56 dalek star: review: https://github.com/rakudo/star/commit/b8438c171a
09:01 moritz phenny: ask pmichaud to please enable the issues on github for rakudo/star
09:01 phenny moritz: I'll pass that on when pmichaud is around.
09:02 Woodi oo, new Star ! :)
09:02 Woodi hi :)
09:02 nwc10 what's the difference between Rakudo 2012.04.1 and Rakudo 2012.04?
09:03 nwc10 moritz: actually, the potentially more useful bit of advice I can give (which is unsolicited, I realise) is:
09:03 Woodi hmm
09:03 Woodi probably
09:03 moritz nwc10: https://github.com/rakudo/rakudo/blob/nom/docs/announce/2012.04.1 summarizes the difference
09:03 tadzik hello Woodi
09:04 Woodi there is not such thing like Rakudo 2012.04 :)
09:04 moritz Woodi: there isn't?
09:04 Woodi if you add 'Star' then it is
09:04 nwc10 before Dave wrote that bump version script, we were doing it by hand. The easiest "technique" was to find the commit that did the previous version bump, edit it, and reverse it, *plus*, look for any subsequent commits within the next "soon" that fixed errors
09:04 Woodi I can be wrong...
09:04 nwc10 and try to get all those fixes into this update commit
09:04 moritz Woodi: there isn't a rakudo star 2012.04 yet. I'm working on that.
09:04 Woodi hi tadzik :)
09:04 nwc10 iterate, repeat
09:04 nwc10 each new version bump - try to get better
09:05 moritz nwc10: sound saneish
09:05 nwc10 in other words, to follow that plan, the victim for the next star release should look back for the commits around this time, and try to get them all in one
09:05 nwc10 (until the templating solution is perfected)
09:06 nwc10 moritz: I think it might be useful to qualify in that Star announcement what that difference is
09:06 nwc10 eg provide that URL as a footnote too
09:07 moritz good idea
09:08 nwc10 possibly just the most useful sentances I spotted there:
09:08 nwc10 Rakudo 2012.04.1 is a point release in addition to the regular, monthly releases.  It contains some of the results of the Perl 6 Patterns hackathon in Oslo.
09:09 nwc10 (er, with s/This release/Rakudo 2012.04.1/)
09:09 dalek star: 3c2430e | moritz++ | skel/docs/announce/2012.04:
09:09 dalek star: [announce] link to rakudo 2012.04.1 release announcement
09:09 dalek star: review: https://github.com/rakudo/star/commit/3c2430eaaf
09:09 nwc10 I might be guessing wrong here, but I'd be surprised if I'm the only one going "hey, wait, what's the difference?"
09:10 nwc10 then again, I might. I sometimes spot little details :-)
09:10 nwc10 and obsess about them
09:11 daxim joined #perl6
09:11 moritz I wonder what the significance is. The star releases bundle some versions of some projects which we (the rakudo devs) recommend to our users, and from which we know that they work together
09:11 moritz is it really that important to know if the included compiler is 2012.04 or 2012.04.1, and what's up with them?
09:11 eternaleye joined #perl6
09:12 moritz but then again, our users are all programmers/geeks, and so do care about details
09:13 nwc10 it's the first time I've noticed that a Star release wasn't using the "regular" compiler release
09:13 nwc10 so I wondered "eh, what's different?"
09:13 moritz it has happened before though
09:14 moritz though the last time it was just a single patch that went into the rakudo release, iirc
09:14 moritz into the second rakudo release, that is
09:14 fglock how do different perl6 implementations share a PERL6LIB env variable, given there would be some implementation-specific modules?
09:15 moritz that was 2010.08, it seems
09:15 fglock such as a (possible) strict.pm module
09:15 moritz fglock: good question. Maybe we need RAKUDOLIB and NIECZALIB and PERLITO6LIB
09:16 eternaleye joined #perl6
09:17 tadzik which default to PERL6LIB if not present, maybe
09:17 dalek rakudo/nom: 256e1db | moritz++ | src/core/terms.pm:
09:17 dalek rakudo/nom: support RAKUDOLIB env variable in addition to PERL6LIB
09:17 dalek rakudo/nom:
09:17 dalek rakudo/nom: fglock++ asked how sharing of PERL6LIB works between compilers in the presence of compiler-specific modules. I believe this should be part of the answer
09:17 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/256e1db7b0
09:17 moritz tadzik: there's no reason not to have rakudo respect both
09:18 tadzik sure, that looks good
09:18 moritz this patch adds RAKUDOLIB paths before PERL6LIB
09:19 fglock moritz++ # just do it
09:19 moritz easy enough in this case :-)
09:20 moritz fwiw I'm not yet including MiniDBI in the star release, because I have no idea how it behaves when the C libs aren't present
09:22 tadzik they die, I think
09:22 tadzik "no libmysqlclient present", or so
09:23 moritz I think the test dies
09:23 moritz but what about the compilation?
09:23 moritz I don't think rakudo star's 'make install' runs the tests
09:23 tadzik I think the compilation may die as well
09:23 moritz tadzik: what's the URL of your smoker again?
09:23 tadzik or maybe not. It's not on zavolaj level, it comes from Nqp NativeCall
09:24 tadzik moritz: http://tjs.azalayah.net/new.html
09:24 ocharles joined #perl6
09:24 tadzik almost useful :) the tests results are from sunday or so
09:24 daxim tadzik, where's the repo for the software generating that page?
09:24 moritz "resolve stage has failed Dependency resolution has failed: stage build failed for NativeCall"
09:24 tadzik I'm currently at $dayjob, will re-run it once I get back home
09:25 tadzik moritz: that was before the nqp branch merge I think
09:25 moritz probably
09:25 tadzik daxim: https://github.com/tadzik/panda/blob/master/bin/masstest produces this
09:26 nwc10 left #perl6
09:34 cognominal_ joined #perl6
09:35 masak good practically-noon, #perl6
09:35 moritz \o masak
09:35 moritz masak: I have now watched the "Split or Steal" videos. The last one was awesome :-)
09:36 moritz and I actually predicted the outcome of that one correctly :-)
09:37 masak japhb++ # perf benchmark ambitions
09:37 masak moritz: yeah, it felt like a very rationalist move.
09:37 masak they pointed out in Schneier's comments that in a sense, it doesn't really matter which ball Nick chooses.
09:38 masak as long as he makes Ibrahim pick "split", of course.
09:38 frettled It wouldn't look half as neat if he'd picked "steal".
09:39 moritz yes, though it would be fine, as long as he actually split afterwards :-)
09:39 frettled yup
09:39 frettled By choosing "split", he also ensured that his _opponent_ wouldn't lose by his choice, no matter what it was :)
09:39 masak why the heck are people so surprised at finding the rakudo binary called 'perl6'? it's a Perl 6 implementation!
09:40 masak yeah. his strategy is aimed at causing Ibrahim to choose 'split'.
09:40 masak I like how he goes completely against the current and comes out a winner. that makes it look like a very rationalist move.
09:41 masak (remember, rationalists play to win) :)
09:41 tadzik who
09:41 tadzik who's suprised?
09:41 tadzik anyway, I should probably look at what this Split or Steal is :)
09:41 tadzik for again I don't know what are you guys talking about, as before I read HPatMoR ;)
09:43 moritz tadzik: https://www.schneier.com/blog/archives/2012/04/amazing_round_o.html
09:43 masak tadzik: http://irclog.perlgeek.de/perl6/2012-04-25#i_5491849
09:44 arnsholt moritz: I've got some uncommitted code in NQP I think fixes your sqlite problem
09:44 frettled You don't need to see all videos, though, tadzik :)
09:44 moritz arnsholt: \o/
09:44 masak tadzik: ab5tract was surprised in the backlog: http://irclog.perlgeek.de/perl6/2012-04-26#i_5498702
09:44 frettled ++arnsholt (preemptive arnsholt++)
09:44 arnsholt But I still feel like enough of a guest in jnthn's code that I'd prefer to have a chat with him about it first =)
09:45 masak frettled: though watching all the videos and getting a feel for what's par for the course makes watching the last video all the more surprising.
09:45 arnsholt I can put it in a branch if you wanna test it though
09:45 tadzik looks interesting
09:45 masak I must admit I had never grok'd how *unstable* a prisoner's dilemma situation is.
09:46 masak they do a good job at creating a "pure" prisoners-dilemma situation, in my opinion.
09:46 frettled If you're not careful, you'll end up watching "reality TV" shows, masak.
09:46 moritz masak: agreed
09:46 masak i.e. not much chance to get to know the other. not many "consequences" afterwards.
09:46 frettled …those are pretty good examples of complex and dynamic situations.
09:46 masak frettled: perish the thought :)
09:46 moritz masak: so far I had only appreciated the iterated prisoner's dilemma properly
09:47 masak I think some part of me would scream in horror and revulsion until I stopped watching reality TV shows again.
09:47 frettled masak: or until you've become a reality TV show vegetable, signing up for the next edition of Survivor Geeks or whatever ;)
09:53 masak ;)
09:55 ab5tract masak, i was surprised because the rakudo docs are so explicit about rakudo being an _implementation_, while perl 6 is a specification
09:56 tadzik well, renaming it to rakudo was considered
09:56 ab5tract which to me implies that i might have multiple perl 6 implementations on my system
09:56 tadzik the symlinking solution sounds fair
09:56 ab5tract in which case an environment variable or a symlink to indicate my preferred implementation would seem more appropriate
09:56 tadzik same how on most system cc -> gcc, awk -> gawk etc
09:57 masak ab5tract: aye. that's probably how it'll end up.
09:57 masak and that's what moritz said, and what tadzik just said.
09:57 ab5tract tadzik, indeed. but the env var solution is even better because users can choose
09:57 ab5tract actually, both is probably the best ;)
09:57 tadzik users can choose anyway
09:58 masak well, some might still expect a 'perl6' executable to be in the PATH. I certainly would.
09:58 tadzik or the actual perl6 binary can be a script that inspects the env variable and runs the appropriate implemetnatino
09:58 ab5tract masak, yeah well i'm not here trying to push an agenda or anything. you just asked why people were confused so i thought i would explain myself
09:58 masak but I agree that the current situation where Rakudo has a 'perl6' and Niecza doesn't is... odd and a bit unfair.
09:58 masak Pugs doesn't either, I guess.
09:58 masak ab5tract: nod
09:58 moritz well, niecza is generally unfriendly to invoke
09:59 brrt chiming in: niecza could be made friendly to invoke?
09:59 moritz 'mono $path/to/niecza/run/Niecza.exe script.pl' is just not as nice as {pugs,perl6} script.pl
09:59 moritz brrt: sure
10:00 masak moritz: I always set it up so that I have a script in the PATH which makes niecza friendly to invoke.
10:00 tadzik same here :)
10:00 masak but now that I think about it, that should probably be part of 'make install' in Niecza.
10:00 ab5tract moritz, in the case of niecza, making perl6 a helper app to choose a user-specified implementation could ease the invocation, no?
10:00 moritz masak: well, I have that too, but it's just not friendly that you have to do it yourself
10:01 moritz ab5tract: only if you want to invoke the currently chose compiler
10:01 moritz ab5tract: are you familia with debians 'alternatives' system?
10:01 moritz *familiar
10:02 moritz that's basically what I'd like every distribution to have, and we could chose to install one or more as 'perl6', and all with their own name too
10:03 * masak wonders interestedly what the first non-Star rakudo distribution will be
10:04 tadzik pandakudo!
10:04 moritz .oO( ActiveKudo )
10:05 moritz Mango Perl, inspired by Strawberry Perl :-)
10:05 tadzik :)
10:05 * masak .oO( Durian Perl ) o.O
10:06 arnsholt I think an eventual JVM distro should be called Krakatau
10:06 arnsholt So awesome it makes your computer explode =D
10:06 moritz masak: smelly perl? :-)
10:07 masak yes, Perl stinks. but it's the magic that counts.
10:08 moritz non-smelly software is pretty rare
10:09 masak the only alternative I've seen to a bit deep in the core of any bit piece of software that has a comment saying "// this is really ugly, and a hack, and probably wrong, too", is literal programming à la Donald Knuth, where you shine a spotlight at every piece of the code, and make it into an academic exposition.
10:10 masak er, s/literal/literate/
10:10 moritz if you live in a setting where the requirements never change, that's an option
10:11 masak by the way, "literate programming" is about as audacious as "the first postmodern language". "literate programming" implies that all other styles of programming are, in some sense, illiterate ;)
10:11 masak moritz: right. that's probably why Knuth doesn't feel a strong affinity towards extreme programming practices, either.
10:17 arnsholt TBH, I think Knuth in the same camp as Dijkstra and doesn't like CS students using computers for the first few years =)
10:19 ab5tract joined #perl6
10:20 joyce joined #perl6
10:22 dalek nqp/dyncall-wb: 480d22d | (Arne Skjærholt)++ | src/6model/reprs/CArray.c:
10:22 dalek nqp/dyncall-wb: [CArray] Refactor bind_pos_boxed/at_pos_boxed.
10:22 dalek nqp/dyncall-wb:
10:22 dalek nqp/dyncall-wb: Since we've added child_objs, we can cache the generated String objects as
10:22 dalek nqp/dyncall-wb: well, and eliminate the need for at/bind_pos_complex.
10:22 dalek nqp/dyncall-wb: review: https://github.com/perl6/nqp/commit/480d22de3c
10:22 dalek nqp/dyncall-wb: 3776cef | (Arne Skjærholt)++ | src/ (2 files):
10:22 dalek nqp/dyncall-wb: Check argument objects for changes after a C language call.
10:22 dalek nqp/dyncall-wb:
10:22 dalek nqp/dyncall-wb: Some refactoring of CArray to fit in with the write barriering.
10:22 dalek nqp/dyncall-wb: review: https://github.com/perl6/nqp/commit/3776cefbdf
10:22 arnsholt moritz: Have a look at that branch and see if it fixes sqlite
10:23 moritz arnsholt: will do, thanks
10:23 arnsholt If you do make dynext/nqp_group.so and then copy dynext/nqp_dyncall_ops.so to install/lib/parrot/4.3.0-devel/dynext you don't have to do the whole recompile-all-the-things dance
10:24 arnsholt s/so/bundle/ on OS X
10:24 GlitchMr joined #perl6
10:28 moritz lunch first :-)
10:34 moritz oh, by the way: http://moritz.faui2k3.org/tmp/rakudo-star-2012.04.tar.gz rakudo star preview
10:34 moritz testing very much appreciated
10:36 spider-mario joined #perl6
10:52 bbkr_ building it right now...
11:12 cognominal___ joined #perl6
11:19 masak today's autopun: http://apple.slashdot.org/comments.pl?sid=2811397&amp;cid=39802647
11:19 renormalist joined #perl6
11:20 masak (I haven't experienced Apple Newton's voice recognition, so I can't judge exactly how spot-on that is.)
11:24 tadzik is Newton the new Siri or something?
11:24 masak no, Newton is the old iPhone.
11:24 masak very old. like 10-15 years ahead of its time.
11:26 tadzik I see
11:26 masak http://en.wikipedia.org/wiki/File:Apple_Newton_and_iPhone.jpg
11:27 birdwind1pbird joined #perl6
11:28 tadzik ho, cool thing :)
11:28 masak :)
11:28 tadzik . o O ( Steampunk iPhone )
11:30 masak no, steampunk is more brass and wood and valves and pipes. like this: http://fabrazz.deviantart.com/art/Steampunk-iPhone-Case-198831687
11:31 bbkr_ moritz: i've found 2 errors so far in  star
11:31 bbkr_ https://gist.github.com/5aba31e819afe81a93a1
11:31 tadzik hehe
11:32 tadzik hmm, those look like module list updated only in one place
11:33 moritz I think I know what's wrong
11:34 moritz they are checked out as uri.git and jsonrpc.git
11:34 moritz bbkr_++ for noticing
11:34 bbkr_ also I've spotted many "Virtual call $.XXX may not be used on partially constructed objects"
11:35 dalek star: cbc422a | moritz++ | Makefile:
11:35 tadzik huh, non-nom modules included in Star?
11:35 dalek star: correct URI format in Makefile, bbkr++
11:35 dalek star: review: https://github.com/rakudo/star/commit/cbc422ad71
11:35 bbkr_ https://gist.github.com/cf28c70674629e6391b3 - looks like some modules failed to compile
11:36 tadzik oh, wait. HTTP::Easy is broken in this way, that's why I pulled it into bailador
11:36 masak moritz: was the Star release made already or not?
11:36 bbkr_ moritz: my fault, i've pasted .git extension in jsonrpc
11:36 tadzik Config::INI is also broken on nom, and ought to be removed, at least for nwo
11:37 tadzik ehh, HTTP::Easy actually not commited into bailador, or maybe that lies unpushed on my laptop :/
11:38 tadzik I guess I could fork HTTP::Easy, fix it, and we'll then ship the fork
11:39 alvis` joined #perl6
11:39 moritz masak: not yet released
11:39 tadzik moritz did that already: https://github.com/moritz/perl6-http-easy/
11:39 moritz oh, right :-)
11:40 tadzik could you put this one instead of the original in star?
11:40 moritz sure
11:40 tadzik then Bailador should work fine
11:40 tadzik also, could you remove Config::INI for now?
11:40 dalek star: 99e7a0a | moritz++ | Makefile:
11:40 dalek star: use my fork of HTTP::Easy
11:40 dalek star:
11:40 dalek star: advantage: it works :-)
11:40 dalek star: review: https://github.com/rakudo/star/commit/99e7a0aaaa
11:41 dalek star: 2474b03 | moritz++ | / (2 files):
11:41 dalek star: remove Config::INI for now, it does not work
11:41 dalek star: review: https://github.com/rakudo/star/commit/2474b03cd2
11:41 tadzik bbkr_: are you sure you have no MAKEFLAGS="-j2" set?
11:42 tadzik that will probably break module precompilation, they need to be compiled in order, and when you do that in pararell it usually doesn't end well
11:42 benabik joined #perl6
11:42 dalek star: 4b64d5a | moritz++ | skel/docs/announce/2012.04:
11:42 dalek star: mention Bailador in release announcement
11:42 dalek star: review: https://github.com/rakudo/star/commit/4b64d5a0ea
11:42 bbkr_ i will rebuild with forced -j 1
11:43 tadzik that should probably be forced in a makefile of some sort
11:44 tadzik when ufo && make is run
11:44 moritz hard to do in a portable way :(
11:44 tadzik indeed
11:44 moritz the proper fix would be for ufo to declare its dependencies
11:44 moritz erm, declare the dependencies of the modules
11:46 Su-Shee joined #perl6
11:46 Su-Shee hi all.
11:46 dalek ecosystem: 02fe05c | tadzik++ | META.list:
11:46 dalek ecosystem: Put a moritz's fork of HTTP::Easy instead of the mainline, which doesn't work on nom
11:46 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/02fe05c927
11:46 tadzik hey Su-Shee
11:46 tadzik oh, my karma^Wnotifications work again
11:46 moritz tadzik: I thought it always worked for the perl6/ repos, just not the rakudo repos?
11:47 tadzik hmm, I don't think so
11:47 tadzik but may be
11:49 moritz arnsholt: \o/ seems to work
11:49 moritz arnsholt: at least the connection is now a defined value
11:50 arnsholt Awesome!
11:51 arnsholt I've been pondering if we'll want to just use a singleton array as a standard pattern for the pointer to pointer pattern (which is fairly standard practice in C AFAIK), or if we want some kind of TransparentPointer
11:51 arnsholt Another thing I'd like to discuss with jnthn
11:53 jnthn Well, you could use the CArray repr but wrap it up in a different class.
11:53 jnthn So it's not either/or.
11:54 jnthn (Warning: I'm pretty sick today. Don't trust anything I say too much...)
11:54 arnsholt Ooh, that's certainly an idea
11:54 moritz ok, now I get a segfault in sqlite3_prepare_v2
11:55 arnsholt Then something's wrong O:)
11:55 moritz cktrace stopped: previous frame inner to this frame (corrupt stack?)
11:55 moritz s/^/Ba/
11:55 moritz arnsholt: might be me doing something wrong
11:55 arnsholt Oh, wow. That's certainly fun =)
11:55 arnsholt moritz: One of us is my guess =)
11:57 * moritz has an Abba song in his ear now, something like "one of us is dying, one of us segfaulting, waiting for a backtrace" or so
11:58 arnsholt Heh, fun =)
11:58 benabik I think it would depend on why it's a ptr-ptr.  If it's actually array of ptr, then it should be represented as such to P6.  If it's a parameter to be altered, then it should be `is rw`.
11:58 * masak plays some Abba
11:59 moritz benabik: that would be cute, yes
11:59 replore joined #perl6
12:00 arnsholt benabik: Yeah. In this context it's the output parameter pattern
12:00 arnsholt We have arrays of pointers now, so that's how moritz worked around it
12:00 benabik Yeah, it would be 'cute', but also appropriate and obvious to the user why it's that way.  :-)
12:01 arnsholt I'm not sure how well it'd generalize though
12:01 benabik I wonder if there's an easy way to do it.  Eh, I already have projects.
12:02 benabik It should generalize fairly well.  'is rw' passes a pointer to the original thing.
12:02 tadzik hmm, Emmentaler should have a layout like http://perl6.org/compilers/features probably. Then the columns will be builds/tests/something
12:02 arnsholt Sending off pointers to the C storage of things we've created in P6 makes me wary
12:03 moritz tadzik: prereqs/builds/tests
12:03 arnsholt I think forcing the user to be explicit about pointerness is probably a good idea
12:03 moritz that would favor the TransparentPointer approach
12:03 tadzik moritz: good point
12:03 moritz though of course 'is rw' is also explicit
12:04 benabik I suppose it could be a problem if it's keeping the pointer around for some reason.  Although that would be an issue with any passed pointer, not just double ones.
12:04 moritz arnsholt: can I get any debugging info from an OpaquePointer except for .defined?
12:08 pernatiy joined #perl6
12:10 moritz arnsholt: https://gist.github.com/2476861 is the new segfaulting test :-)
12:10 benabik I think you end up with possible problems whenever you start passing pointers out of the VM.  I don't see pointer pointers really being much worse.
12:10 moritz squared problems :-)
12:11 cognominal___ I had just a weird idea. Parrot is Sigourney Weaver, Alien is rakudo and 6model is Alien's DNA.  Fear intelligent design.
12:13 tadzik did Sigourney Weaver kill herself to stop the DNA from spreading? :)
12:13 cognominal I have not seen all the sequels.
12:14 tadzik duh, neither did I, but sorry if I spoiled anything
12:14 tadzik just something I recall hearing
12:14 masak I still haven't seen all of the third movie.
12:15 masak I'm interested but disgusted. I suspect some rainy day I'll finish it. :)
12:15 masak but I think it can safely be considered common knowledge at this point what happens in those movies.
12:15 masak there has to be some deadline even for spoiler warnings.
12:16 fglock Sigourney Weaver kills herself to stop the sequelae
12:16 moritz that's the best possible reason :-)
12:17 tadzik ohh, I could think of the few characters which should definitely do that
12:21 masak a friend and I discussed the overwhelming public good a World-wide Institute for the Prevention of Sequels could do.
12:21 cognominal could it kill SQL databases as well?
12:22 tadzik that's a cool book idea actually
12:23 moritz masak: I'm all for it. Except that there's a book to which I really, really want to read the not-yet-written sequel
12:23 masak well, they would still exercise good judgment, and not prevent all sequels.
12:24 masak just the ones that are obviously a bad idea to anyone with sense.
12:24 tadzik imagine this. A forest, a swamp, a small hut. A smoke coming out of pistol silencer, Fiona crying over Shrek dead body, and the guy in a mask saying "I'm terribly sorry, my lady, but it had to be done. It will make millions of people feel better"
12:24 moritz tadzik++
12:24 tadzik that could maybe evolve into a nice set of stories
12:24 masak tadzik: I'm sorry, that's the start of a great sequel.
12:24 cognominal the metaphor has come to me when I have seen how 6model is well decoupled from parrot. Thx to jnthn, rakudo will be soon able to feed into another host.
12:25 tadzik no no no
12:25 sjn joined #perl6
12:25 tadzik no sequels of *this* ;)
12:25 tadzik but I'm _so_ writing this once I get back home
12:25 tadzik and finish my Go slides
12:25 tadzik s/finish/start/
12:27 fglock what would be the second host for rakudo?
12:27 cognominal I wish it to be v8.
12:27 moritz fglock: probably JVM
12:28 moritz arnsholt: I've just valgrinded the segfaulting script
12:28 tadzik good, I was wondering if it's a secret :)
12:28 moritz ==2363==    at 0xCEC8B3E: bind_pos_boxed (in /home/moritz/p6/rakudo/install/lib/
12:28 moritz parrot/4.3.0-devel/dynext/nqp_dyncall_ops.so)
12:28 moritz ==2363==    by 0x8DAFD83: Parrot_repr_bind_pos_obj_p_i_p (in /home/moritz/p6/rakudo/install/lib/parrot/4.3.0-devel/dynext/nqp_ops.so)
12:28 tadzik ww?
12:28 cognominal with v8, it would eventually infect chrome and the whole web.
12:28 moritz tadzik: nothing has been decided yet. It's just a "probably"
12:28 tadzik I know :)
12:29 cognominal even Sigourney Weaver could not stop a chrome mediated infection.
12:29 moritz tadzik: sorry, that was meant for arnsholt. I really shouldn't copy&paste noisy stuff here
12:29 tadzik oh, I thought it's meant for #parrot ;)
12:30 sjn joined #perl6
12:35 sjn joined #perl6
12:39 wooden joined #perl6
12:39 wooden joined #perl6
12:40 lichtkind joined #perl6
12:40 sjn joined #perl6
12:40 lichtkind wouldnt be even nice if the html build script would be written in perl 6?
12:41 moritz which one?
12:43 pernatiy joined #perl6
12:45 sjn joined #perl6
12:49 dalek tablets: fd588cc | (Herbert Breunung)++ | docs/appendix-a-index.txt:
12:49 dalek tablets: add uplinks to nav menu inside the punctuation section for better navigation
12:49 dalek tablets: review: https://github.com/perl6/tablets/commit/fd588cccca
12:50 lichtkind moritz: for tablets which just starts the pandic generator
12:51 lichtkind but i have to tets how globbing works in perl 6
12:52 moritz lichtkind: currently there's also no Perl 6 compiler installed on fether2
12:52 moritz lichtkind: so you'd need to run that on a different machine, and then copy the results
12:53 arnsholt moritz: I think you missed the first line there? Is it read of uninitialised bytes somewhere?
12:53 moritz arnsholt: yes, Invalid read of size 8
12:54 moritz arnsholt: http://moritz.faui2k3.org/tmp/valgrind.log has the full story
12:54 fglock joined #perl6
12:55 arnsholt Address, 0x10, right
13:00 lichtkind moritz: allright
13:00 arnsholt moritz: Could be that I need to do a Parrot write barrier there as well, since I've mucked about with the objects
13:01 arnsholt Is your NQP and friends compiled with debugging symbols?
13:01 jnthn Reading from 0x10 considered bothersome...
13:01 arnsholt I guess not, since the valgrind log doesn't have line numbers
13:01 jnthn Sounds like an offset calc'd from a NULL pointer somewhere...
13:01 arnsholt Yeah, definitely
13:02 moritz I wonder why my NQP doesn't have debugging symbols
13:02 arnsholt There're a couple of 8 byte invalid reads before the fault, so it's probably a weird pointer somewhere
13:02 moritz judging from the valgrind output, parrot has debugging symbols
13:02 moritz and NQP usually just reuses parrot's compiler flags
13:03 arnsholt I don't think your parrot has debug flags
13:03 moritz hm, ok
13:03 arnsholt There's debug info for your libc, but not Parrot AFAICT
13:04 arnsholt I do --parrot-option='--ccflags=-g' in NQP's Configure.pl
13:05 mdcw` joined #perl6
13:05 Psyche^ joined #perl6
13:06 bluescreen10 joined #perl6
13:06 pernatiy joined #perl6
13:07 moritz http://moritz.faui2k3.org/tmp/rakudo-star-2012.04.tar.gz # release candidate
13:11 masak oh, so we haven't released yet.
13:11 masak right, that was the compiler release announcement I saw fly by on p6c.
13:12 * masak grabs and builds http://moritz.faui2k3.org/tmp/rakudo-star-2012.04.tar.gz
13:12 jnthn moritz: Just set off a build here on Win64.
13:12 * [Coke] cannot download that at work from the command line. (&#$ interactive web page on the proxy
13:13 arnsholt Right. I really want to make OS X Zavolaj look for dylibs as well
13:14 moritz how would that work?
13:14 moritz walk the library paths yourself, and pass the exact file name to dlopen if you find one?
13:14 arnsholt Special case it, probably
13:14 arnsholt If loading with the bare string doesn't work, try redoing it with .dylib appended
13:15 arnsholt But your script doesn't segfault on my laptop, unfortunately =/
13:15 moritz ok, doesn't sound too hard
13:16 * bbkr_ tests new candidate
13:16 cognominal joined #perl6
13:16 moritz arnsholt: fwiw this is not with your nqp branch directly, but with that branch merged into master
13:16 moritz arnsholt: otherwise it didn't satisfy rakudos' minimal NQP_REVISION
13:16 arnsholt Shouldn't make much of a difference I think
13:18 mdcw` joined #perl6
13:23 dalek tablets: f696010 | (Herbert Breunung)++ | docs/appendix-d-delta.txt:
13:23 dalek tablets: propagate .perl in perldelta
13:23 dalek tablets: review: https://github.com/perl6/tablets/commit/f69601041f
13:23 dalek tablets: bb46308 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
13:23 dalek tablets: added Rat.nude + Rat method crosslinks
13:23 dalek tablets: review: https://github.com/perl6/tablets/commit/bb46308d03
13:23 dalek tablets: f352364 | (Herbert Breunung)++ | docs/appendix-a-index.txt:
13:23 dalek tablets: polish .gist and .perl
13:23 dalek tablets: review: https://github.com/perl6/tablets/commit/f35236407c
13:26 masak lichtkind: isn't the concept of 'delta' steeped in the pre-tuning-fork ideas of Perl 6 being one version up from Perl 5?
13:27 PerlJam "pre-tuning-fork"?  That's an interesting way to look at it.
13:27 PerlJam "This bifurcation *resonates*"  :-)
13:27 masak also, the three last items in that file, advertised as "idioms", look to me like new bits of syntax, too small or too simple to be idioms.
13:28 moritz are there also pre-tuning knifes? sledge scalpels? ;-)
13:28 PerlJam moritz: all that is certain is .... there is no spoon
13:29 masak PerlJam: the "tuning fork" analogy is from this post: https://github.com/masak/strangelyconsistent-blog-posts/blob/master/the-wish-the-tuning-fork-and-the-one-true-heir.markdown
13:30 masak (linking to github as my blog domain seems to be irresponsive at present)
13:30 lichtkind masak: its supposed to do what a delat does , hej man i come from perl 5 what changes i should be aware of,
13:31 lichtkind masak: i mena delta, i optimize for understandibility
13:32 moritz lichtkind: that was a nice autopun
13:32 bbkr_ few "Use of uninitialized value in string eq at tools/build/module-install.pl line 106." in last candidate
13:33 tyatpi joined #perl6
13:33 PerlJam lichtkind: soon it will get to the point where it's easy to say "Everything is different, except these parts that are the same"
13:33 PerlJam s/easy/easier/
13:33 moritz bbkr_: yes, I got those too, but they are harmless
13:34 moritz at least I think so :-)
13:34 bbkr_ this one looks bad: Missing block at /Users/bbkr/Developer/Perl6/rakudo/install/lib/parrot/4.3.0/languages/perl6/lib/Panda.pm:88
13:35 moritz doesn't happen here
13:35 masak Perl 6 to me is the experiment of making improvements/changes without being circumscribed by concerns for backwards compatibility like Perl 5.
13:35 mikec bbkr_: when do you see that?
13:35 masak like, the (?:) et al forms of Perl 5 regexes clearly yearn to be something else :)
13:36 lichtkind PerlJam: i thought about that but, the delta is less about details but things that can you cost the fun during your first tries, is should just ease the migration and set your head right so that deeper concepts get later easier in
13:36 bbkr_ mikec: during make install after "/Users/bbkr/Developer/Perl6/rakudo/install/bin/perl6 --target=pir --output=/Users/bbkr/Developer/Perl6/rakudo/install/lib/parrot/4.3.0/languages/perl6/lib/Panda.pir /Users/bbkr/Developer/Perl6/rakudo/install/lib/parrot/4.3.0/languages/perl6/lib/Panda.pm"
13:37 mikec ah ok, haven't got that far yet
13:37 bbkr_ checking also newest Xcode now (bug above was on 4.2)
13:38 moritz doesn't sound like something a C compiler is responsible for
13:41 moritz arnsholt: I've recompiled everything with debug symbols, and added the new backtrace to https://gist.github.com/2476861#file_gdb_session.txt
13:42 jnthn moritz: Looks good here (the Star RC)
13:42 JimmyZ joined #perl6
13:43 mikec hmm, i can't load MiniDBD::Pg
13:43 moritz mikec: what's the error?
13:43 mikec 'No STable at index 12'
13:44 tadzik pararell build?
13:44 moritz or maybe some precompiled modules in ~/.perl6/lib ?
13:44 mikec i moved ~/.perl6
13:44 tadzik mikec: echo $MAKEFLAGS?
13:44 mikec this is just in the build dir
13:44 tadzik or do you do make -jx for x > 1?
13:45 mikec tadzik: empty, i just did make
13:45 moritz arnsholt: and http://moritz.faui2k3.org/tmp/valgrind2.log is the new valgrind run with line numbers
13:45 frettled Hold your horses, there's no stable?  *G,D&R*
13:46 tadzik :D
13:46 mikec haha
13:49 mikec just me, i take it?
13:49 tadzik it'd appear so
13:49 PerlJam frettled: we don't have any ponies apparently.
13:50 tadzik maybe the panda database should be called Stable
13:50 frettled PerlJam: and it's hard to ride a gnu well
13:50 tadzik as a container for ponies
13:51 PerlJam tadzik: but how does that jibe with kung fu panda?
13:52 tadzik no eye deer
13:54 masak r: say 100.base(8)
13:54 p6eval rakudo 256e1d: OUTPUT«144␤»
13:54 masak r: say "144".unbase(8)
13:54 p6eval rakudo 256e1d: OUTPUT«Method 'unbase' not found for invocant of class 'Str'␤  in block <anon> at /tmp/8YvYxPVA2y:1␤␤»
13:55 masak r: say "144".Int(8)
13:55 p6eval rakudo 256e1d: OUTPUT«Too many positional parameters passed; got 2 but expected 1␤  in method Int at src/gen/CORE.setting:3336␤  in block <anon> at /tmp/yjz0l37tut:1␤␤»
13:55 masak r: say "144".Int(:base(8))
13:55 p6eval rakudo 256e1d: OUTPUT«144␤»
13:55 masak heh.
13:55 moritz r: say :8('144')
13:55 p6eval rakudo 256e1d: OUTPUT«100␤»
13:55 masak right.
13:56 masak but if I don't know statically it's 8?
13:56 masak do I just give up and use &eval?
13:56 moritz r: my $eight = 8; say :$eight(8)
13:56 p6eval rakudo 256e1d: OUTPUT«Method 'postcircumfix:<( )>' not found for invocant of class 'Pair'␤  in <anon> at src/gen/BOOTSTRAP.pm:815␤  in any <anon> at src/gen/BOOTSTRAP.pm:811␤  in block <anon> at /tmp/pbpTW6aWQp:1␤␤»
13:56 masak right. :$eight is a Pair on its own.
13:56 masak you just went around the corner in the syntax corner case ;)
13:57 frettled Oh, we're still there?
13:57 moritz r: my $eight = 8; my $str = '144'; say eval ":$eight(\$str)"
13:57 p6eval rakudo 256e1d: OUTPUT«Method 'postcircumfix:<( )>' not found for invocant of class 'Int'␤  in <anon> at src/gen/BOOTSTRAP.pm:815␤  in any <anon> at src/gen/BOOTSTRAP.pm:811␤  in block <anon> at /tmp/hX4hC3tR12:1␤␤»
13:57 moritz r: my $eight = 8; my $str = '144'; say eval ":$eight\(\$str)"
13:57 frettled So, couldn't you create a macro for this?  :D
13:57 p6eval rakudo 256e1d: OUTPUT«100␤»
13:57 bbkr_ after build I get mysterious "No object at index 134"  when loading some modules, for example perl6 -e 'use JSON::Tiny;'
13:58 moritz bbkr_: :(
13:59 masak wfm
13:59 masak bbkr_: did you do 'make install'?
13:59 bbkr_ yes. and this bug is weird as same code works fine on another machine.
14:00 pernatiy_ joined #perl6
14:01 cognominal joined #perl6
14:02 bbkr_ after re-running make install it works fine
14:03 tadzik duh
14:04 lichtkind ist nude unnecesary if we have perl and gist?
14:04 moritz .nude is specific to rats
14:05 masak they're the only type with hair to begin with.
14:05 tadzik *chuckle*
14:05 moritz moritz@jacq:~/p6/star/rakudo-star-2012.04>./install/bin/perl6  -e 'use JSON::Tiny; say to-json [1, {a => 3}, Any]'
14:05 moritz [ 1, { "a" : 3 }, null ]
14:05 moritz works fine here
14:06 masak here too.
14:06 bbkr_ JSON::RPC works also :)
14:06 masak star: use JSON::Tiny; say to-json [1, {a => 3}, Any]
14:06 moritz should I release?
14:06 p6eval star 2012.02: OUTPUT«[ 1, { "a" : 3 }, null ]␤»
14:06 masak moritz: +1
14:07 moritz is there a reason not to tag releases in the star repo?
14:07 moritz there are no tags so far
14:08 PerlJam moritz: +1 for tagging, +1 for releasing
14:09 PerlJam it's a little weird in that the star repo doesn't actually contain the release, but the recipe for building the release.
14:09 PerlJam But all the more reason to tag it IMHO
14:09 benabik tag all the things!
14:09 moritz PerlJam: well, that's why we upload the releases :-)
14:10 moritz PerlJam: but I think that was the reason we didn't have any tags so far
14:10 PerlJam I think so too.
14:10 moritz because people would download them, and wondered why they couldn't type 'make
14:10 moritz I'll tag locally, and only push the tag if pmichaud++ gives his +1
14:11 masak sounds good.
14:11 PerlJam sound eminently sane
14:11 PerlJam moritz++
14:12 moritz alright, upload under way
14:15 moritz where do we send the release announcements? p6c and p6a?
14:15 jnthn yes, and post it on rakudo.org
14:15 dalek star: 8e7b450 | moritz++ | skel/docs/announce/2012.04:
14:15 dalek star: [announce] fix wording thinko
14:15 dalek star: review: https://github.com/rakudo/star/commit/8e7b45095c
14:15 bbkr_ star: use JSON::RPC::Client; JSON::RPC::Client.new(url=>"http://bbkr.org:8080").hi("everybody").perl.say
14:15 p6eval star 2012.02: OUTPUT«===SORRY!===␤Could not find JSON::RPC::Client in any of: lib, /home/p6eval/.perl6/lib, /home/p6eval/star/lib/parrot/4.1.0/languages/perl6/lib, .␤»
14:16 moritz bbkr_: that's still the old star
14:16 * bbkr_ waits patiently...
14:16 jnthn moritz: IN the announce
14:16 jnthn "The tarball for the February 2012"
14:16 moritz I HATE it
14:16 jnthn It mentions February in a couple of places :(
14:17 PerlJam moritz: isn't the list of places to announce in the release guide for R* ?  (Is there a release guide?)
14:17 dalek star: c92df22 | moritz++ | skel/docs/announce/2012.04:
14:17 dalek star: [announce] s:g/Februar/April/
14:17 dalek star: review: https://github.com/rakudo/star/commit/c92df22fba
14:19 smash joined #perl6
14:19 moritz http://rakudo.org/2012/04/26/announce-rakudo-star-2012-04-a-useful-usable-early-adopter-distribution-of-perl-6/
14:19 smash hello everyone
14:19 masak smash! \o/
14:20 moritz PerlJam: there's no release guide yet for star
14:23 PerlJam the R* release announcement makes me wish for a list of the improvements to the modules that R* contains since the last release
14:23 PerlJam or a statement about where to find such information
14:23 moritz we don't have such information, because module authors usually neither do releases nor keep a changelog
14:24 spider-mario star 2012.04 fails to compile with my system-wide parrot, I hope it’s just because it’s 4.2.
14:24 * masak decommutes
14:24 spider-mario (I’ve notified parrot’s packager for my distro)
14:24 moritz spider-mario: well yes, it was 4.3
14:24 moritz which is a "stable" release
14:24 * TimToady wonders what $cat.nude should return
14:25 spider-mario parrot in arch is still 4.2
14:25 spider-mario http://www.archlinux.org/packages/community/x86_64/parrot/
14:25 spider-mario I’ve “flagged the package as out-of-date”
14:25 daxim TimToady, a piece of fur.  it's no coincidence that kitten rhymes with mitten.
14:25 raiph joined #perl6
14:25 tadzik spider-mario: is sirmacik still maintaining star in AUR?
14:26 spider-mario tadzik : there’s rakudo-star, appearently not maintained (but not orphaned either), and rakudo, maintained by me
14:26 * TimToady thought the Duke made mittens out of the kittens' insides...
14:26 tadzik I see
14:26 spider-mario (rakudo used to actually be rakudo star and I hope to make it so again with 2012.04)
14:27 spider-mario (but I can’t update it yet because it fails to build with arch’s parrot)
14:28 PerlJam spider-mario++
14:28 spider-mario :)
14:28 moritz spider-mario: fwiw the only reasons to bump the parrot revision were macos build fixes, and then the parrot release
14:28 spider-mario oh
14:28 moritz spider-mario: so if you override the check, it might still work with 4.2
14:28 * TimToady was misreading Thurber, he perceives...
14:28 PacoAir joined #perl6
14:28 spider-mario it actually passes version checks
14:28 spider-mario but fails during actual compilation
14:29 spider-mario http://paste.pocoo.org/show/uLjrc1eKMTXgRHfyGJuZ/
14:30 moritz it passes version checks?
14:30 moritz that's scary
14:30 spider-mario nqp is 2012.04.1
14:30 lichtkind rakudo doesnt support the @a >>++ natation
14:30 lichtkind notation
14:30 spider-mario Verifying installation ...
14:30 spider-mario Using /usr/bin/nqp (version 2012.04.1).
14:30 moritz and nqp 2012.04.1 configures on parrot 4.2.0?
14:30 spider-mario yes
14:31 moritz once it's build, I'm not surprised that rakudo doesn't complain, because rakudo only checks nqp, not parrot
14:31 kaare_ joined #perl6
14:32 PerlJam r: my @a = 3..8; @a>>++; say @a;
14:32 p6eval rakudo 256e1d: OUTPUT«4 5 6 7 8 9␤»
14:32 spider-mario Using /usr/bin/parrot (version 0).
14:32 spider-mario that might be it.
14:32 PerlJam lichtkind: looks like it does to me.
14:32 lichtkind r: say (1..5) >>++;
14:32 spider-mario (that’s when building nqp 2012.04.1 with parrot 4.2.0)
14:32 p6eval rakudo 256e1d: OUTPUT«===SORRY!===␤Missing << or >>␤at /tmp/UDoHBSjW4M:1␤»
14:32 moritz spider-mario: ah, that explains it
14:33 moritz lichtkind: whitespace isn't allowed before postfix ops
14:33 lichtkind r: say (1..5)>>++;
14:33 p6eval rakudo 256e1d: OUTPUT«Cannot assign to a non-container␤  in sub postfix:<++> at src/gen/CORE.setting:2636␤  in sub hyper at src/gen/CORE.setting:10738␤  in sub METAOP_HYPER_POSTFIX at src/gen/CORE.setting:10697␤  in block <anon> at /tmp/KBAEzrD6n8:1␤␤»
14:33 TimToady "assign"?
14:33 moritz ++ assigns, sure
14:34 spider-mario well, I’ll wait for parrot in arch to be updated then. :)
14:34 TimToady only from the viewpoint of the implementor
14:34 lichtkind r: my @a = (1..5)>>++; say @a;
14:34 p6eval rakudo 256e1d: OUTPUT«Cannot assign to a non-container␤  in sub postfix:<++> at src/gen/CORE.setting:2636␤  in sub hyper at src/gen/CORE.setting:10738␤  in sub METAOP_HYPER_POSTFIX at src/gen/CORE.setting:10697␤  in block <anon> at /tmp/wG6aqEk17q:1␤␤»
14:34 tadzik lichtkind: Parcels are immutable
14:34 spaceships joined #perl6
14:34 moritz TimToady: I think it should really dispatch-fail
14:34 TimToady error messages are supposed to inform the user
14:34 spider-mario and I’ll enforce parrot>=4.3.0 in makedepends.
14:34 spider-mario hm, in depends, actually.
14:34 moritz because postfix:<++> has an 'is rw' parameter
14:35 TimToady that's the #1 failing of error messages: stating them from the viewpoint of the implementor rather than the user
14:35 moritz though currently rakudo allows the dispatch, but then fails to assign inside the routine
14:35 moritz Confused!
14:35 TimToady biab &
14:35 moritz n: (1..5)>>++
14:35 p6eval niecza v16-23-gaa61ed5:  ( no output )
14:36 moritz ah, and niecza doesn't do readonlyness properly
14:44 lichtkind tadzik: thanky i have czech that out
14:48 dalek tablets: 89be407 | (Herbert Breunung)++ | docs/appendix- (3 files):
14:48 dalek tablets: linkfixes
14:48 dalek tablets: review: https://github.com/perl6/tablets/commit/89be4074b6
14:51 dakkar joined #perl6
14:52 bluescreen10 joined #perl6
15:06 sergot joined #perl6
15:06 sergot hi o/
15:06 sergot o/ :)
15:06 tadzik hi-o
15:06 sergot Don't have enough time to blog.. I'll do this as soon as possible.
15:07 sergot Hope it's not a problem. :)
15:14 bluescreen10 joined #perl6
15:16 tokuhirom joined #perl6
15:17 cognominal jnthn, you got out of you way to make the type registrar fonction accessible with the name "_REGISTER_REPR". How do you access it from rakudo?
15:17 masak sergocie! \o/
15:19 timotimo so could i implement postfix:<++> to increase the value and return the increased value and implement prefix:<++> to increase the value and return the previous value?
15:19 timotimo and it would work as post- and predecrement?
15:19 timotimo like it would in c/c++?
15:20 tadzik I don't think that you need to implement that
15:20 tadzik r: my $a = 3; say $a++; say ++$a; say $a
15:20 p6eval rakudo 256e1d: OUTPUT«3␤5␤5␤»
15:20 timotimo of course it's already there
15:20 timotimo but the point i'm making is that i can do things myself that work in a similar way
15:20 tadzik oh, you mean swapping those
15:20 timotimo no, that's not what i meant
15:20 tadzik "so could i implement postfix:<++> to increase the value and return the increased value"
15:21 timotimo uh, that was just a brainfart
15:21 tadzik well, postfix:<++> is implemented in Perl 6 and you are able to redefine it the way you want it
15:21 tadzik r: sub postfix:<++>(Int $a) { say "not $a" }; my Int $a = 5; $a++
15:22 p6eval rakudo 256e1d: OUTPUT«not 5␤»
15:22 colomon I believe all you need to do is implement YouType.succ and Perl6 will handle the rest for you.
15:22 tadzik I think so
15:22 tadzik r: class A { method succ { say "succ" } }; my $a = A.new; $a++
15:22 p6eval rakudo 256e1d: OUTPUT«succ␤»
15:22 tadzik indeed
15:22 tadzik k: class A { method succ { say "succ" } }; my $a = A.new; $a++
15:22 timotimo the point is that perl6 easily lets me implement something like that, wherein in php or something i'd have to hack around in many source files
15:22 tadzik n: class A { method succ { say "succ" } }; my $a = A.new; $a++
15:22 p6eval niecza v16-23-gaa61ed5: OUTPUT«succ␤»
15:23 colomon r: class X { has $.x; method succ() { $.x += 2; }; }; # errr, never mind, tadzik is faster
15:23 p6eval rakudo 256e1d:  ( no output )
15:23 colomon r: class A { method succ { say "succ" } }; my $a = A.new;  ++$a
15:23 p6eval rakudo 256e1d: OUTPUT«succ␤»
15:23 tadzik :)
15:24 masak r: class A { method succ { "succ" } }; my $a = A.new; say ++$a
15:24 p6eval rakudo 256e1d: OUTPUT«succ␤»
15:24 masak r: class A { method succ { "succ" } }; my $a = A.new; say $a++
15:24 p6eval rakudo 256e1d: OUTPUT«A.new()␤»
15:24 masak \o/
15:24 masak r: class A { method succ { "succ" } }; my $a = A.new; say $a++; say $a
15:24 p6eval rakudo 256e1d: OUTPUT«A.new()␤succ␤»
15:24 masak yay
15:32 raiph http://ideone.com/ is running rakudo 2010.08
15:33 moritz that is, like, ancient
15:33 raiph i thought i might ping them to suggest an update to latest star
15:33 raiph all they ask is that there's a gentoo package
15:33 bumb joined #perl6
15:34 kaleem joined #perl6
15:36 raiph patrick lauer updated the gentoo rakudo package 5 hours ago to "2012.04.1"
15:36 raiph http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-lang/rakudo/rakudo-2012.04.1.ebuild?view=markup
15:36 moritz \o/
15:36 raiph though some things look odd to me
15:36 raiph eg PARROT_VERSION="4.1.0"
15:36 masak huh!
15:38 dalek tablets: 8fa0404 | (Herbert Breunung)++ | docs/appendix-d-delta.txt:
15:38 dalek tablets: links from delta to index
15:38 dalek tablets: review: https://github.com/perl6/tablets/commit/8fa0404dc2
15:38 dalek tablets: 3ab0a03 | (Herbert Breunung)++ | docs/appendix-g-glossary.txt:
15:38 dalek tablets: explaining 4 terms in glossary
15:38 dalek tablets: review: https://github.com/perl6/tablets/commit/3ab0a0362e
15:38 lichtkind raiph: hai
15:38 raiph but it seems like latest p6 on ideone would be great while try.rakudo.org is offline (and even if it were online)
15:38 raiph hi lichtkind
15:40 lichtkind raiph: do you have clues about complex numbers?
15:40 lichtkind i mean more than i :)
15:40 moritz but there isn't much more than i to complex numbers :-)
15:40 jnthn .oO( I know 2i if that helps...it's more than i... )
15:41 moritz r: say 2i > i
15:41 p6eval rakudo 256e1d: OUTPUT«Cannot call 'Real'; none of these signatures match:␤:(Mu:U \$v, Mu *%_)␤␤  in method Real at src/gen/CORE.setting:656␤  in sub infix:<>> at src/gen/CORE.setting:2393␤  in sub infix:<>> at src/gen/CORE.setting:2393␤  in block <anon> at /tmp/sdC6js5xMC:1␤␤»…
15:41 moritz can we please have that error message say 'Cannot call *method* 'Real'; ..." ?
15:41 raiph i know the square root of less than nothing about them
15:48 Psyche^ joined #perl6
15:49 moritz star: say 1
15:49 p6eval star 2012.04: OUTPUT«1␤»
15:49 moritz star: use JSON::RPC
15:49 p6eval star 2012.04: OUTPUT«===SORRY!===␤Could not find JSON::RPC in any of: /home/p6eval/.perl6/lib, /home/p6eval/star/lib/parrot/4.3.0/languages/perl6/lib, .␤»
15:50 moritz star: use JSON::RPC::Client; say 'alive'
15:50 p6eval star 2012.04: OUTPUT«alive␤»
15:50 moritz \o/
15:50 moritz and it seems rather snappy
15:52 moritz star: use NativeCall; sub fork() returns Int is native('') {*}; say fork()
15:52 p6eval star 2012.04: OUTPUT«Cannot locate native library '.so'␤  in method postcircumfix:<( )> at /home/p6eval/star/lib/parrot/4.3.0/languages/perl6/lib/NativeCall.pm6:102␤  in <anon> at src/gen/BOOTSTRAP.pm:815␤  in any <anon> at src/gen/BOOTSTRAP.pm:811␤  in block <anon> at /tmp/5NXBCusDCa:1…
15:52 moritz star: use NativeCall; sub fork() returns Int is native('C') {*}; say fork()
15:52 p6eval star 2012.04: OUTPUT«Cannot locate native library 'C.so'␤  in method postcircumfix:<( )> at /home/p6eval/star/lib/parrot/4.3.0/languages/perl6/lib/NativeCall.pm6:102␤  in <anon> at src/gen/BOOTSTRAP.pm:815␤  in any <anon> at src/gen/BOOTSTRAP.pm:811␤  in block <anon> at /tmp/gxKYFXuIQ8:…
15:52 jnthn star: use NativeCall; sub fork() returns Int is native {*}; say fork()
15:52 p6eval star 2012.04: OUTPUT«8502␤»
15:52 moritz oh, even nicer
15:53 moritz locally i get two lines of output, one from the parent, one from the child
15:54 moritz and the parent is always faster :-)
15:54 lichtkind why behave ^^ in not bool context differently than xor?
15:55 raiph bonsaikitten: ping
15:55 bonsaikitten raiph: yes?
15:55 moritz r: say 'abc' ^^ 0
15:55 p6eval rakudo 256e1d: OUTPUT«abc␤»
15:55 moritz r: say 'abc' xor 0
15:55 p6eval rakudo 256e1d: OUTPUT«abc␤»
15:56 moritz lichtkind: seems pretty much identical to me
15:56 moritz lichtkind: or what do you mean?
15:56 raiph bonsaikitten: did u see comments here a few mins ago about gentoo package?
15:56 lichtkind r: say 0 xor 6
15:56 p6eval rakudo 256e1d: OUTPUT«0␤»
15:56 lichtkind r: say 0 ^^ 6
15:56 p6eval rakudo 256e1d: OUTPUT«6␤»
15:57 lichtkind its a bug?
15:57 benabik r: say so 0
15:57 p6eval rakudo 256e1d: OUTPUT«False␤»
15:57 bonsaikitten raiph: ... yes, is there anything I can do for you?
15:57 lichtkind raiph: get you private messages?
15:58 thou joined #perl6
16:00 arnsholt moritz: It looks like the line numbers in nqp_dyncall_ops.c aren't very stable (it's an autogenerated file)
16:01 bonsaikitten raiph: ah, let me fix the dependencies a bit :)
16:01 brrt left #perl6
16:02 arnsholt Could you say what's in your file on lines 363, 341 and 345? Should be in dyncall_wb_ca
16:02 bonsaikitten raiph: and next time don't be shy, just file a bug (and it'll not be forgotten in the scrollback)
16:02 raiph karma bonsaikitten
16:02 aloha bonsaikitten has karma of -1.
16:03 bonsaikitten tehehe
16:03 raiph ++bonsaikitten
16:03 raiph karma bonsaikitten
16:03 aloha bonsaikitten has karma of -1.
16:03 raiph bonsaikitten++
16:03 raiph karma bonsaikitten
16:03 aloha bonsaikitten has karma of 0.
16:03 benabik raiph: aloha only recognizes postincrement
16:03 skids joined #perl6
16:03 bonsaikitten it is done.
16:03 raiph right. was checking.
16:03 raiph bonsaikitten++
16:03 arnsholt Ah, right. That's why preincrement is used for preemptive karma ^_^
16:06 pernatiy joined #perl6
16:07 lichtkind moritz: is ^^^wrong ?
16:07 lichtkind ahh i mean ^^
16:08 bbkr_ star: use JSON::RPC::Client; JSON::RPC::Client.new(url=>"http://bbkr.org:8080").hi("everybody").perl.say
16:08 p6eval star 2012.04: OUTPUT«"Hi everybody"␤»
16:08 bbkr_ \o/
16:09 timotimo oooh that's cute
16:12 bbkr_ it even supports named params and multis :)
16:13 bbkr_ star: use JSON::RPC::Client; JSON::RPC::Client.new(url=>"http://bbkr.org:8080").hi(name=>"everybody").perl.say
16:13 p6eval star 2012.04: OUTPUT«"Hello everybody"␤»
16:13 timotimo does it also give you introspection and such?
16:13 arnsholt moritz: Actually, I've managed to reproduce, so hold on a sec
16:15 tadzik huh, this is awesome
16:15 tadzik I wonder if panda could use it to fetch module metadata instead of maintaining one of its own
16:16 arnsholt Durr? Apparently the illegal pointer that's being dereferenced is the repr_data
16:18 bbkr_ timotimo: interesting idea! JSON-RPC has some names reserved for internal use which may be used to pass names and signatures. imagine $client.^methods way of checking what is supported by server :)
16:18 timotimo that's what i thought
16:21 arnsholt moritz: I officially have NO idea what's going on
16:21 arnsholt Or maybe I do...
16:24 * masak .oO( I officially CAN'T make up my mind. Or maybe I can... )
16:25 tadzik lol
16:25 sergot :)
16:25 arnsholt masak: Yeah, I'm kinda in over my head here
16:26 arnsholt But I may actually be learning to swim ^_^
16:26 arnsholt moritz: You around?
16:27 simcop2387 joined #perl6
16:28 bbkr_ timotimo: I've added your idea about introspection to TODO: https://github.com/bbkr/jsonrpc/blob/master/README.md
16:29 moritz arnsholt: yes-ish
16:30 moritz fwiw I'd to RPC introspection as $client.methods, not $client.^methods, because then you'd have a hard time introspecting the actual client object
16:31 arnsholt moritz: I think part of the problem is that there's a mismatch between the declared function signature and the arguments
16:32 arnsholt It's declared (OpaquePointer, Str, Int, CArray[OpaquePointer], CArray[OpaquePointer]), but you call it as (OpaquePointer, Str, Int, CArray, OpaquePointer)
16:32 tadzik masak: is https://twitter.com/carlmasak/status/195482023132016641 an autopun of yours, or do you really not remember?
16:32 arnsholt And since my code doesn't check the type of the object, just goes with the signature, weird shit happens
16:32 moritz oh
16:33 moritz so I should call it as CArray (the type object) as the last argument?
16:33 PerlJam tadzik: besides ... the egg came first.  reptiles were laying eggs long before there were chickens.
16:33 arnsholt moritz: Depends on what you want to do
16:33 tadzik PerlJam: that's what I've just replied :)
16:33 arnsholt CArray the type object will be NULL
16:33 moritz arnsholt: pass a NULL Pointer that doesn't cause a segfault
16:34 tadzik except that I said "dinosaurs", because dinosaurs are way more cool
16:34 arnsholt Right. Then it should be just the CArray type object I think
16:34 tadzik I used to use fishes as an example, but <see above>
16:34 arnsholt But that segfaults. Right
16:34 bbkr_ moritz: indeed, two client objects connected to two different servers cannot have different set of ^methods. on the other hand i'm not fan of hardcoding method names with special meaning as this is supposed to be multiplatform communication and other languages won't understand p6 gist syntax
16:34 arnsholt But if it makes you feel better, I think I know why it segfaults =)
16:34 arnsholt (And it's my fault)
16:35 moritz ok, it stops segfaulting here when I pass in CArray[OpaquePointer]
16:35 moritz in the long run, we want to type-check those parameters, I suspect
16:36 arnsholt Yeah, definitely
16:37 masak tadzik: I really do not remember. I even suspect different people say different things with equal certainty. it was not meant as an autopun.
16:37 tadzik I see
16:37 arnsholt But it's odd that CArray[OpaquePointer] is OK, but CArray with no type parameter doesn't
16:37 tadzik well, I replied to you anyway :)
16:37 Timbus joined #perl6
16:37 tadzik zavolaj tests failing, yep?
16:38 moritz tadzik: on linux you need to set LD_LIBRARY_PATH=.
16:38 arnsholt tadzik: That's not good. But are you on 32-bit or 64-bit?
16:38 arnsholt Oh, right. There's that as well
16:38 timotimo http://www.downforeveryoneorjustme.com/perlcabal.org :(
16:39 tadzik arnsholt: 64
16:39 tadzik meh
16:39 tadzik it's hard when we cannot setenv() from Perl 6
16:40 arnsholt Yeah, it's a bit inconvenient
16:40 arnsholt OTOH, if the tests pass after you set it, I'm happy =)
16:40 moritz perlcabal.org back up.
16:41 timotimo thank you
16:41 tadzik arnsholt: well, I'm not happy :) and panda is not happy, so users will not be happy
16:42 tadzik I wonder how hard setenv() can be. I'll look into it on TODO+1
16:42 arnsholt Oh, right. I'd forgotten about that aspect of it
16:43 arnsholt But if you already have NativeCall installed setenv() is REAL easy O:)
16:43 tadzik heh
16:45 timotimo what was the adress for that list of what every special character could mean in perl6? it was on some wiki type website
16:47 dalek nqp/dyncall-wb: e99865a | (Arne Skjærholt)++ | src/ops/nqp_dyncall.ops:
16:47 dalek nqp/dyncall-wb: No need to write barrier non-concrete objects.
16:47 dalek nqp/dyncall-wb: review: https://github.com/perl6/nqp/commit/e99865a687
16:48 arnsholt moritz: Pull in that commit, and the segfaults on type-object-argument should go away
16:48 moritz ok, now I need to figure out why it segfaults in SQLite.pm6 but not in my reduced test version
16:48 timotimo moritz: wouldn't the client object ideally have exactly the methods the server offers? thus making $client.methods and $client.^methods be the same?
16:48 moritz timotimo: wouldn't the client have .disconnect, and the server not (for example)?
16:49 timotimo oh. hm.
16:49 timotimo so maybe it would offer client.^disconnect or something? because disconnect is - to me - one meta level away from the other methods
16:50 tadzik hoho, Null PMC Access
16:50 tadzik didn't see that one for some time
16:50 timotimo at least there should be a difference between methods for the client object and methods "via" the client object
16:51 arnsholt moritz: Keep me posted =)
16:52 tadzik r: sprintf ';'
16:52 p6eval rakudo 256e1d:  ( no output )
16:52 tadzik hrm
16:52 arnsholt And thanks a bunch for using my code. Very nice to have help with finding bugs
16:52 tadzik r: say sprintf ';', "foo"
16:52 p6eval rakudo 256e1d: OUTPUT«;␤»
16:52 tadzik r: say sprintf(';', "foo")
16:52 p6eval rakudo 256e1d: OUTPUT«;␤»
16:52 tadzik -_-
16:52 moritz arnsholt: copying over nqp_dyncall_ops.so should be enough, right?
16:52 moritz r: sprintf '%x'
16:52 p6eval rakudo 256e1d: OUTPUT«Null PMC access in get_integer()␤  in sub sprintf at src/gen/CORE.setting:1973␤  in block <anon> at /tmp/kn6lE7RMIn:1␤␤»
16:52 tadzik close enough
16:53 moritz arnsholt: because with that I still get the segfault in SQLite.pm6 :/
16:53 tadzik ll-exceptions tells me "';' is not a valid sprintf format"
16:53 sftp joined #perl6
16:55 mspaulding joined #perl6
16:55 arnsholt moritz: make dynext/nqp_group.so && cp ... yeah
16:56 fglock joined #perl6
16:57 benabik nqp: say pir::sprintf(';');
16:57 p6eval nqp: OUTPUT«Confused at line 1, near "say pir::s"␤current instr.: 'nqp;HLL;Grammar;panic' pc 22008 (src/stage2/gen/NQPHLL.pir:7047) (src/stage2/gen/NQPHLL.pm:329)␤»
16:57 benabik nqp: say(pir::sprintf(';'));
16:57 p6eval nqp: OUTPUT«error:imcc:The opcode 'sprintf_p' (sprintf<1>) was not found. Check the type and number of the arguments␤   in file '(file unknown)' line 38␤»
16:57 benabik nqp: say(pir::sprintf__ss(';'));
16:57 p6eval nqp: OUTPUT«error:imcc:The opcode 'sprintf_s_sc' (sprintf<2>) was not found. Check the type and number of the arguments␤        in file '(file unknown)' line 36␤»
16:57 moritz arnsholt: oh, probably my fault. The SQL statement isn't defined
16:57 benabik Blah.
16:58 arnsholt moritz: Oh, right. Might be a problem, yeah
16:59 arnsholt But it'd be interesting to know if it's zavolaj or sqlite that blows up
16:59 arnsholt I'm thinking zavolaj
16:59 moritz well, it segfaulted from within sqlite
16:59 moritz ok, now it parses 14 of the first 15 tests before segfaulting \o/
17:00 arnsholt Yay!
17:00 benabik tadzik: What I was trying to show with the nqp lines above is that it's probably complaining about Parrot's sprintf op, not P6's sprintf function
17:01 tadzik yes
17:02 benabik That said, I have no idea why ; would be an invalid format.
17:02 tadzik I have no idea what happens in my code :)
17:05 benabik Ah.  It's complaining about a '%;'
17:05 tadzik it is?
17:06 benabik Yeah, the 'not a valid sprintf format' message is after it's parsed the %
17:07 tadzik interesting
17:07 fgomez joined #perl6
17:09 thelazydeveloper joined #perl6
17:09 benabik I suppose I could make it include the % in the error message, but I don't have enough information to print the entire format there, just the current character.
17:09 arnsholt moritz: But if the segfault happens inside sqlite, I blame sqlite =)
17:10 tadzik aaaargh, wtf
17:10 moritz well, passing a NULL pointer as the statement text just wasn't smart :-)
17:10 arnsholt Troo, troo
17:11 benabik tadzik: I'll look into improving the message.  But my guess is that you have a '%;' in your format string somewhere and it's not getting caught by P6 before it gets to Parrot, which throws an exception.
17:11 tadzik https://gist.github.com/2501044
17:11 tadzik I have no idea what's going on here
17:11 benabik Is $tmpl-project changing?
17:12 tadzik no
17:12 tadzik not because of say(sprintf()), I'm sure
17:12 benabik Oh.  It said 2nd call and I thought you meant "2nd call to gen-result"
17:13 tadzik nope, it's just one call there
17:13 tadzik gist updated with the template
17:13 benabik Was just about to ask.  :-D
17:13 raiph timotimo: http://tablets.perl6.org/appendix-a-index.html ?
17:14 timotimo that's not the one i meant, but that's still pretty cool
17:15 moritz did you mean the periodic table of operators?
17:17 raiph tablets.perl6.org is the replacement for the likes of http://www.perlfoundation.org/perl6/index.cgi?witch
17:17 tadzik benabik: ooh, found it :/
17:17 tadzik benabik: it was the other call to sprintf, which had another template, which had '70%' in it :/
17:17 tadzik so you were right :)
17:17 timotimo ah, witch, that's what i meant
17:17 benabik tadzik: Yeah, that's poor.
17:18 moritz and now the segfault is because I don't pass enough arguments to a C function
17:18 lichtkind r:  say 0 ^^ 4
17:18 p6eval rakudo 256e1d: OUTPUT«4␤»
17:18 benabik tadzik: That said, Rakudo might want to handle the exception from sprintf better.
17:18 tadzik indeed
17:19 lichtkind moritz: is that wrong ?
17:19 moritz lichtkind: I don't think so
17:19 lichtkind so why it differs from xor?
17:19 moritz r: say 0 xor 4
17:19 p6eval rakudo 256e1d: OUTPUT«0␤»
17:20 moritz r: say (0 xor 4)
17:20 p6eval rakudo 256e1d: OUTPUT«4␤»
17:20 moritz lichtkind: doesn't seem to differ, except in precedence
17:20 timotimo heh, nice catch
17:20 timotimo how did you find that?
17:20 moritz timotimo: whom did you just ask?
17:20 timotimo moritz, i asked moritz
17:21 moritz timotimo: ah. Eagle-eye method :-)
17:21 lichtkind moritz: right :)
17:21 moritz it's not hard to find which function it segfaults in
17:21 moritz and then one just has to look careful
17:22 lichtkind r:  say (0 xor 4)
17:22 p6eval rakudo 256e1d: OUTPUT«4␤»
17:22 lichtkind r:  say (-1 xor 4)
17:22 p6eval rakudo 256e1d: OUTPUT«Nil␤»
17:22 lichtkind r:  say (-1 xor -3)
17:22 p6eval rakudo 256e1d: OUTPUT«Nil␤»
17:22 lichtkind r:  say (-1 xor 0)
17:22 p6eval rakudo 256e1d: OUTPUT«-1␤»
17:22 timotimo huh?
17:23 timotimo that one i don't understand
17:23 timotimo it's not bitwise or something, is it?
17:23 moritz no
17:23 lichtkind no
17:23 moritz it boolifies both args
17:23 moritz and -1 is True, 0 is False
17:23 moritz so it returns the True
17:23 timotimo oh, if both are true, it returns nil, because what else shoud it do, right?
17:24 moritz yes, it has to return some False value
17:24 moritz r: say so Nil
17:24 p6eval rakudo 256e1d: OUTPUT«False␤»
17:25 timotimo r: say (Nil xor True)
17:25 p6eval rakudo 256e1d: OUTPUT«True␤»
17:25 timotimo :p
17:25 moritz "yeah, right" :-)
17:25 lichtkind r:  say (0 xor 0)
17:25 p6eval rakudo 256e1d: OUTPUT«0␤»
17:27 mdcw` joined #perl6
17:28 moritz now it changed from segfault to "Malformed UTF-8 string"
17:39 moritz interesting, it succeeds in fetching all columns from the first row
17:39 moritz and then complains about the first column in the second row
17:40 sivoais joined #perl6
17:42 masak lichtkind: even in Perl 5, the word-y boolean ops have looser precedence than infix:<=>, and the symbol-y boolean ops have tighter.
17:42 masak that's why we have two sets of them.
17:44 timotimo oh, right, like "or die ..."
17:45 masak right.
17:45 masak if you do `open my $fh, '<', $file || die ...`, then the infix:<||> glues together $file and die
17:45 dalek tablets: 9bbadd3 | (Herbert Breunung)++ | docs/appendix- (2 files):
17:45 dalek tablets: explaining xor better
17:45 dalek tablets: review: https://github.com/perl6/tablets/commit/9bbadd342a
17:46 masak which could be what you want (if $file can be falsy and you want to die in those cases) -- but it probably isn't.
17:49 masak lichtkind: s/none empty/non-empty/
17:57 sivoais joined #perl6
17:57 Timbus joined #perl6
18:02 Chillance joined #perl6
18:10 erkan joined #perl6
18:10 erkan joined #perl6
18:13 tadzik once again I ponder a thought of removing from ecosystem those projects which I don't remember ever running (or building)
18:14 moritz tadzik: +1
18:14 colomon +1
18:14 tadzik and again, after a quick consideration, I say no.
18:14 tadzik ...wait, what? :)
18:14 tadzik the reason for my mixed feelings is that it'd be me who'll have to decide who to throw away
18:14 moritz there's no value provided to the users in offering modules that don't work
18:14 colomon well, I'd  be conservative about what you take out
18:15 tadzik don't we have phasers today?
18:15 PerlJam tadzik: annotation is better than removing IMHO.
18:15 colomon but for instance, if a project doesn't work and hasn't been modified since the rakudo alpha days, it probably shouldn't be in the ecosystem
18:15 PerlJam colomon: that sounds rather arbitrary to me.
18:15 moritz tadzik: you mean, "didn't we have #phasers 45 minutes ago"?
18:15 tadzik moritz: possibly :)
18:16 PerlJam I mean, there are bits of code that were created in the days of alpha that do still run today.
18:16 Su-Shee hello, user here! ;) as a user, I take less modules working well over having more any time.
18:16 colomon PerlJam: sure, but I explicitly said "doesn't work"
18:16 PerlJam oh, so you did :)
18:17 colomon and it's not like he's talking about destroying the project; just taking it off the list of projects
18:17 tadzik okay. I'll start writing up a list, and will reconsider them with you all
18:19 PerlJam colomon: but it's easier to get some love when people can see you when you're broken  :-)
18:20 colomon yes, but that's sort of my point: it's been pretty obvious these things are broken for YEARS.
18:20 colomon I'm not sure what else you could do to get the authors to fix things up.
18:20 moritz send patches :-)
18:20 PerlJam okay, maybe it's just my predilection to keep things rather than throw them away that's guiding me now.
18:20 colomon moritz: there is that.  :)
18:21 PerlJam I'm a packrat, but I do eventually throw away useless stuff.  :)
18:21 sivoais joined #perl6
18:21 moritz PerlJam: we're not throwing away anything. We just don't display the links on the frontpage
18:21 colomon PerlJam: look at it from the perspective of a newcomer to Perl 6.  "Awesome!  There's a library that does exactly what I need!  oh, except it doesn't work, and hasn't in years." (Or quite possibly ever.)
18:22 colomon I guess some sort of "status" flag could be used to the same effect.
18:22 PerlJam moritz: aye.  I'm just thinking out loud about the stuff in my brain  :)
18:22 [Coke] If we're going to track /dead/ projects, that's fine, but keep them hidden by default.
18:23 tadzik http://tjs.azalayah.net/index.html look what I can has
18:23 PerlJam What we need is some sort of "autocuration" so that tadzik (or anyone else) doesn't have to *do* anything.
18:23 jnthn tadzik: NICE! :)
18:23 jnthn tadzik++
18:24 moritz PerlJam: I think that's overengineering right now
18:24 tadzik note to self: sprintf() is not, _not_, *not* a substitute for a templating system
18:24 PerlJam tadzik: sweet.  I have one feature suggestion.  Make the module name link to the repo
18:24 PerlJam (rather than the link at the end)
18:24 tadzik PerlJam: approved. I'll fix it in a second
18:24 jnthn tadzik: Bailador claims it doesn't prep ok in there, though it does actually work these days, I thought?
18:25 Su-Shee EMMENTHALER? whose idea was that? ;)
18:25 * masak 's
18:25 benabik That makes me think of cheese.
18:25 tadzik jnthn: yeah, it's just that the official repo of HTTP::Easy is still broken
18:25 colomon tadzik: you need it to say "Rakudo" somewhere around there .... after all, the ABC module works fine under Niecza.  (And ideally we'll get the NIecza stats up there sometime soon too.)
18:25 * Su-Shee rolls a full wheel of gouda in front of masak's door. ;)
18:25 jnthn tadzik: ah, k
18:25 tadzik masstest must've used the old db
18:25 masak Su-Shee: it comes from this post: http://strangelyconsistent.org/blog/cheese-speleology
18:25 tadzik colomon: indeed, will fix it in a second
18:26 tadzik colomon++ # the good niecza sheriff
18:27 masak colomon++
18:27 moritz and the legend is still out of date
18:27 moritz colomon: what's blocking ABC on rakudo?
18:28 tadzik heh, it also says that panda doesn't build
18:28 tadzik it must have something to do with trying to precompile it while running it
18:28 colomon moritz: something is mucked up in Rakudo's module handling
18:28 [Coke] tadzik: that looks familiar. ;
18:28 [Coke] ;)
18:28 moritz colomon: hm, ok
18:29 tadzik [Coke]: does it?
18:29 tadzik (I lean towards hardcoding panda to OK-OK-OK :P)
18:29 colomon moritz: symptoms are that ABC::BrokenRhythm uses ABC::Note, but in that file ABC::Note is not correctly recognized as a class name
18:29 [Coke] tadzik: (http://perl6.org/compilers/features)
18:29 tadzik oh, yes :)
18:29 moritz colomon: I see
18:29 moritz tadzik: what a coincidence :-)
18:30 jnthn colomon: Is that when you're compiling the modules?
18:30 moritz it is
18:30 * moritz just tried
18:30 jnthn colomon: I fixed a pre-comp bug just like that at the hackathon.
18:30 moritz jnthn: happens with newest rakudo too
18:30 jnthn shit.
18:30 moritz on the upside, it's easy to reproduce
18:30 colomon jnthn: it may even have started happening at the hackathon, it ran fine on February's Rakudo.
18:31 moritz git clone git://github.com/colomon/ABC.git && cd ABC && ufo && make
18:31 jnthn heh
18:31 masak still needs golfin'
18:31 jnthn Not sure ufo actually runs on my platform :)
18:32 moritz I guess the global merging or module isolation or so doesn't quite work
18:32 masak ufo was only ever meant as a developer tool. I repeat this sometimes, though I'm not sure it helps :)
18:33 jnthn moritz: Is it a pre-comp only issue?
18:33 tadzik colomon: what can you tell me about Vector?
18:33 jnthn moritz: Or a general one?
18:33 colomon jnthn: I think it happens regardless of pre-comp
18:33 moritz jnthn: trying...
18:34 jnthn colomon: OK, if so then it's not the thing I fixed at the hackathon...
18:34 moritz the first few test files run OK without precompilation
18:35 tadzik here are my candidates for deletion: https://gist.github.com/2501759
18:35 moritz jnthn, colomon: seem to (mostly) work without precomp, and doesn't error out while compiling that module
18:35 tadzik I didn't include anything that belongs to one of the active perl6/module developers, so if you feel that you have a module that should not probably be in the ecosystem, please add it to a list
18:36 colomon jnthn: moritz++, he's right
18:36 colomon so I guess it is pre-comp
18:36 colomon tadzik: Vector versus Math::Vector?  Or Math::Vector?  (I forget whether the older one is in the ecosystem.)
18:36 tadzik colomon: Vector
18:37 birdwindupbird joined #perl6
18:37 colomon tadzik: it should go, it's completely replaced by Math::Vector
18:37 tadzik okay
18:37 moritz wow, that's weird
18:38 moritz I've reduced ABC::BrokenRythm to just the class declaration and a sub with the ABC::Note in the signature
18:39 moritz and when I remove the 'use ABC::Stem;' line (and that type isn't used anywhere), I get a totally different error
18:39 colomon tadzik: it would be really cool if the Emmentaler index linked to what error produced a given red state.  ;)
18:39 tadzik colomon: I'm working on it :)
18:39 tadzik well, _slowly_
18:39 colomon tadzik++
18:39 tadzik colomon: how do you feel about writing a Test::Harness in Perl 6? :)
18:40 moritz tadzik: your module removal list looks quite OK to me
18:41 colomon tadzik: hmmm.  what would be involved?  I thought panda already did that, more or less...
18:41 masak moritz: you know this already, but that needs to go into RT somehow.
18:42 moritz masak: I'll try to reduce it a bit more
18:42 tadzik colomon: it just runs 'prove', but it's quite hard to tell e.g. how many tests did fail, or which ones
18:43 colomon moritz: I completely rewrite the problem methods to be one method with a case statement, and when I did that, the when blocks failed because the parser treated, say, ABC::Note as a sub name rather than a type.  (at least, I think that was the gist of my conversation with sorear, the actual error message was completely obscure.)
18:43 masak moritz++
18:44 colomon tadzik: I don't think I'll have time for a few days, but I'd certainly be interested in taking a look at the problem.  :)
18:44 tadzik I see :)
18:44 tadzik maybe I should set a prize for the one who implements it first
18:44 tadzik and something better than "I'll teach you an optimal way to tie a shoe". That didn't convince anybody last time I tried it
18:49 dalek ecosystem: 9091395 | tadzik++ | / (2 files):
18:49 dalek ecosystem: Remove DateTime::Parse, as it's gone from Github
18:49 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/9091395ff6
18:49 dalek ecosystem: f9e7ef7 | tadzik++ | / (14 files):
18:49 dalek ecosystem: Remove not working and unmaintained modules. My heart bleeds
18:49 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/f9e7ef791f
18:49 tadzik that leaves us up to 6 modules in the SHELTER
18:49 tadzik Digest-sum  io-prompt  lolsql  messagepack-pm6  november  SQL-Grammar
18:50 jnthn eek, one of those is mine :)
18:50 tadzik I know :)
18:51 * jnthn suspects it shouldn't be ahrd to fix
18:51 jnthn And clearly it's a critical part of any langauge's ecosystem ;)
18:52 jnthn oh, it even has all +s
18:52 jnthn Just no META.info I guess
18:53 masak heh, is november still around? who maintains that module, I wonder? :P
18:54 icwiener joined #perl6
18:54 tadzik jnthn: all +s because it has no tests, I'm afraid ;P
18:54 tadzik masak: there were commits younger than a year ago, so I decided to keep it
18:55 SIGS3GV joined #perl6
18:56 [Coke] hey, moritz, jnthn, pmichaud - if parrot stopped shipping an nqp, that wouldn't impact rakudo at all, neh?
18:56 tadzik haha. Yapsi spits out, like, ALL THE WARNINGS :)
18:57 timotimo so in theory i should be able to use code from any other language that runs on parrot in rakudo, shouldn't i? does that currently work?
18:57 masak Yapsi should have a much better chance at working than November.
18:58 tadzik timotimo: in theory, yes. In practice no, it does not work
18:58 benabik timotimo: There's a lot of sharp corners there because Rakudo has a custom object model.
18:58 timotimo i feared that :(
19:00 answer_42 joined #perl6
19:01 Tene http://jsil.org/try/ -- CLR->javascript written by an acquaintence of mine
19:01 masak Rakudo having a custom object model should be the least of Parrot's problems.
19:02 masak Parrot is *about* language integration. that's why it was built.
19:02 masak even the April Fool's joke was about that.
19:02 Tene You'd think that, if you hadn't tried to get support for working on language interop in parrot.
19:02 masak it worked for a while, thanks to Tene++
19:02 masak and then it bitrotted.
19:02 tadzik PerlJam: I think source-url in Grammar::Profiler::Simple is broken
19:03 timotimo i remember seeing the ruby/perl gist by tene
19:03 raiph_ joined #perl6
19:03 timotimo that was most probably pre-nom and would have to be ported?
19:03 * PerlJam looks
19:04 tadzik PerlJam: some casing issues, I think
19:04 Tene timotimo: rather more than just that.
19:04 PerlJam ah, capitalization
19:04 PerlJam yep, that's it.
19:04 tadzik cool. I'll re-run masstest at least once again today, so it should be all pluses :)
19:05 Woodi you earlier mention Alien 3 movie and Ellen Ripley suicide... Yes, she jumped into fluid metal container to prevent alien inside her to run away but we can say that before she touch fluid she was killed by alien going out...
19:05 Woodi and Alien 4 is worth to see :)
19:05 PerlJam fixed
19:06 [Coke] Woodi: i respectfully disagree. ;)
19:06 tadzik http://tjs.azalayah.net/index.html updated
19:06 [Coke] in fact, I'd skip 3 also.
19:06 [Coke] just read the precis.
19:08 Woodi I do not remember exact pictures but in movies ppls die fast when it is needed :)
19:08 masak I'll probably watch Alien 3 at some point just to confirm that [Coke] is right. might skip 4, though.
19:09 Woodi however to back to "programming", a lot of "toys" to program in Alien series :)
19:10 * [Coke] is reminded to put A2 back in the to-watch pile.
19:10 [Coke] "Game over, man! GAME OVER!"
19:10 jasonmay joined #perl6
19:11 Woodi and "toys" is from "Batman" - Joker played by Nicolson says "From where hi have that toys ??" - about Batman tools :)
19:11 Woodi and Predators have toys :)
19:11 answer_42 left #perl6
19:11 tadzik moritz: could you merge https://github.com/moritz/perl6-http-easy/pull/1 ?
19:12 jasonmay left #perl6
19:12 moritz I'm very close to forking modules into the perl6 organization, and just give everyone on the p6 team commit access
19:12 Woodi but seriously I thinking about file format to describe graph of connected tools/machines,  eg for kitchen automation...
19:12 tadzik sounds sane
19:13 tadzik moritz++ thanks
19:13 raiph_ option to use putty or openssh
19:14 raiph_ i've got putty installed
19:14 raiph_ oops. (meant to be /msgs to lichtkind)
19:20 moritz ok, on bug submitted
19:20 jnthn moritz: the ABC one?
19:20 moritz jnthn: one of them, yes :-)
19:21 jnthn moritz: Thanks
19:21 jnthn I'll get to it at some day other than today.
19:21 * jnthn is sick :(
19:21 moritz :(
19:21 jnthn My concentration level is such that it took me half an hour to find and fix an obvious bug in a 10 line SQL query earlier today :/
19:21 moritz jnthn: hope you recover soon
19:21 jnthn moritz: Same.
19:22 jnthn The worst part is that it's runining my sleep...which is what one tends to need to recover from stuff. :/
19:22 moritz :(
19:23 colomon :(
19:23 tadzik hugme: hugme jnthn
19:23 hugme tadzik:
19:24 tadzik hugme: hug jnthn
19:24 * hugme hugs jnthn
19:24 tadzik I hope you get well soon
19:25 moritz second bug report submitted
19:26 jnthn Thanks.
19:26 moritz it's the one that colomon++ observed
19:26 moritz and maybe the two have the same origin
19:28 raiph_ hugme: hug jnthn++ # for double karma?
19:28 * hugme hugs jnthn++
19:32 masak hugs... *and* karma? :P
19:33 moritz we care about our core developers :-)
19:33 raiph_ masak: what nebulous sense my footnote/rehearse/read notion yesterday(?) made to me faded. but now i get macro/quasi :)
19:34 tadzik moritz: I'm wondering if modules.perl6.org and emmentaler should be merged into one thing
19:35 masak raiph_: \o/!
19:35 masak raiph_: tell me how they work, and I'll implement them right away :P
19:35 moritz tadzik: it's useful for sure to have some cross-linking
19:36 raiph_ masak: lol
19:36 tadzik moritz: I'm thinking that modules.perl6.org could have a sort of street lights next to the current badges, green for OK, yellow for tests failing, red for not building, or something like this
19:36 moritz tadzik: I'm not sure what the best way is to make it happen, I just know that I don't want the actual smoking to happen on feather2, which hosts modules.perl6.org
19:36 tadzik yeah, I remember
19:37 moritz tadzik: yes, that's a good idea
19:37 moritz but it wouldn't be a problem to do the smoking somewhere else, and rsync the results
19:37 tadzik I'm sure masstest will eventually (tomorrow maybe) produce json instead of HTML, so modules.perl6.org script could just process it
19:37 tadzik yes
19:39 FACEFOX joined #perl6
19:39 FACEFOX joined #perl6
19:43 FACEFOX joined #perl6
19:43 colomon moritz++ # thanks for golfing and reporting
19:43 FACEFOX joined #perl6
19:44 masak moritz++ indeed
19:45 FACEFOX joined #perl6
19:45 cognominal joined #perl6
19:45 FACEFOX joined #perl6
19:46 FACEFOX joined #perl6
19:48 FACEFOX joined #perl6
19:54 xinming joined #perl6
19:57 flussence .oO( I have more than a little suspicion that one user doing the quit flooding is only here for SEO spamming purposes... )
20:00 tadzik newest test results on http://tjs.azalayah.net/index.html
20:02 masak flussence: I had just decided that if he came back, I'd op and kickban him.
20:03 moritz tadzik++
20:04 moritz we really need to fix the NativeCall tests on linux
20:05 tadzik we need setenv
20:05 tadzik I'll look at it now
20:05 moritz we could use NativeCall to call setenv :-)
20:05 tadzik heh, yes :)
20:06 moritz star: use NativeCall; sub setenv(Str, Str, Int) returns Int is native; setenv('LD_LIBRARY_PATH', '.', 1); say 'alive';
20:06 p6eval star 2012.04: OUTPUT«===SORRY!===␤Missing block␤at /tmp/VTDZMzU3Xo:1␤»
20:06 moritz star: use NativeCall; sub setenv(Str, Str, Int) returns Int is native {*}; setenv('LD_LIBRARY_PATH', '.', 1); say 'alive';
20:06 p6eval star 2012.04: OUTPUT«alive␤»
20:07 tadzik hmm
20:07 tadzik I think it should be possible to make %*ENV a proxy object, which STORE will use setenv() from Parrot (if there is one)
20:08 moritz of course it kinda defeats the point of t/01-argless.t if you have to do a call with several arguments first to be able to do an argless call :-)
20:08 moritz yes, there's the env pmc
20:10 moritz I wonder if we can simply substitute the $!storage of a Hash with the Env PMC
20:11 jnthn No because containers.
20:12 jnthn (e.g. you'd only be able to bind to it)
20:12 jnthn well, to change existing elements anyway.
20:12 jnthn Needs doing with Proxy OR just leave it as is and do what pmichaud++ suggested
20:13 jnthn (which is that things like run first call an UPDATE_ENV that goes through current %*ENV and diddles the contents of the Parrot Env PMC before we call the outside world)
20:14 moritz thing is, we need to ensure an updated environment for every dyncall too
20:14 tadzik Proxy may be wrong after all
20:15 moritz and I wouldn't particularly mind %*ENV to be special-ish
20:15 tadzik imagine the following: { my %*ENV; %*ENV<foo> = 5; } say %*ENV<foo>
20:15 moritz like being Str-typed
20:15 tadzik it would probably print 5, and shouldn't
20:15 raiph_ r: macro f { quasi { state $a = 0; if $a++ { quasi { say 1 } } else { quasi { say 2; say f } } } }; f # dihwidt
20:15 p6eval rakudo 256e1d: OUTPUT«(signal SEGV)»
20:15 moritz well, there can only be one environment per process
20:16 timotimo whoops, heh
20:16 moritz tadzik: no, 'my %*ENV' would declare a bog-standard hash with no special features whatsoever
20:16 raiph_ masak: golfing...
20:16 tadzik hm, true
20:16 tadzik then where's the dynamicness of %*ENV?
20:17 PacoAir_ joined #perl6
20:17 moritz well, it's an ordinary dynamic var
20:18 moritz but only the setting-provided instance would be bound to the program's env variables
20:18 tadzik mhm
20:19 moritz you simply cannot have multiple dynamic vars bound to the same global, have them all distinct all DWIM
20:19 moritz *and all DWIM
20:19 masak raiph_: I think calling a macro from inside a quasi isn't going to do what you want yet.
20:19 FACEFOX joined #perl6
20:25 imarcusthis joined #perl6
20:27 raiph joined #perl6
20:29 tadzik r: https://gist.github.com/2502814
20:29 p6eval rakudo 256e1d: OUTPUT«Method 'set_string_keyed' not found for invocant of class 'Env'␤  in block <anon> at /tmp/cgaWePZijI:2␤␤»
20:29 tadzik http://docs.parrot.org/parrot/latest/html/src/pmc/env.pmc.html states otherwise
20:29 tadzik am I doing something wrong Perl6-wise?
20:29 moritz yes
20:29 moritz set_string_keyed is a VTABLE, not a normal method
20:29 tadzik oh
20:30 moritz use nqp::bindkey_s instead
20:30 moritz erm, no _s I think
20:30 tadzik will do, thanks
20:30 * moritz -> sleep
20:31 tadzik yay, works
20:31 tadzik g'night moritz
20:32 sergot good night moritz
20:32 masak dream of a dwindling RT queue, moritz.
20:49 tadzik > print %*ENV<HOME>, " "; %*ENV<HOME> = "/not/home/tadzik"; say %*ENV<HOME>
20:49 tadzik /home/tadzik /not/home/tadzik
20:49 tadzik \o/
20:49 tadzik spectesting
20:51 masak \o/
20:51 dalek nqp/toqast: 53d95cc | masak++ | t/qast/qast.t:
20:51 dalek nqp/toqast: [t/qast/qast.t] added a test for a unary op
20:51 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/53d95cc57c
21:00 tadzik meh, apparently that doesn't help zavolaj at all
21:01 tadzik see https://gist.github.com/2503199
21:01 tadzik arnsholt: ping
21:04 tadzik and apparently that works in Perl 5, so it may be a parrotbug
21:08 japhb tadzik, re: http://irclog.perlgeek.de/perl6/2012-04-26#i_5501834 , if you go with colored circles for status, as the token color-blind person here, I must say I would MUCH prefer a circular version of the capsule indicators used on http://perl6.org/compilers/features and http://tjs.azalayah.net/index.html to blank circles or street lights.  The combination of good color choices (a little tweaking of either the red or green would push it to
21:08 japhb really excellent) and visually distinctive symbols makes it *much* easier to see what's going on.
21:08 tadzik japhb: thanks, I'll keep that in mind
21:10 tadzik does t/spec/S16-filehandles/filestat.t fail for anyone else?
21:10 masak japhb++ # token color-blind person here
21:10 japhb :-)
21:11 oiig_ joined #perl6
21:11 dalek rakudo/setenv: 7845b8d | tadzik++ | src/core/terms.pm:
21:11 dalek rakudo/setenv: Implement setting env variables by modifying %*ENV
21:11 dalek rakudo/setenv: review: https://github.com/rakudo/rakudo/commit/7845b8db47
21:11 tadzik yay, notifications work again
21:12 benabik Shouldn't that be %ENV does role?
21:12 benabik I thought but returned a new object.
21:13 tadzik I think does does
21:13 tadzik well, uh, you know
21:13 tadzik r: my $a = 5; $a but role { method foo { say "foo
21:13 p6eval rakudo 256e1d: OUTPUT«===SORRY!===␤Unable to parse blockoid, couldn't find final '}' at line 2␤»
21:13 tadzik r: my $a = 5; $a but role { method foo { say "foo" } }; $a.foo
21:13 p6eval rakudo 256e1d: OUTPUT«Method 'foo' not found for invocant of class 'Int'␤  in block <anon> at /tmp/Agmd_m_UbL:1␤␤»
21:14 tadzik hm
21:14 tadzik r: my $a = 5; $a does role { method foo { say "foo" } }; $a.foo
21:14 p6eval rakudo 256e1d: OUTPUT«foo␤»
21:14 tadzik then I don't know how this works :)
21:15 tadzik oh, maybe that's the point. It doesn't
21:15 tadzik *facedesk*
21:16 sergot tadzik++
21:17 masak right. 'but' is a clone plus a 'does'.
21:17 tadzik too late for me, I guess
21:17 tadzik right
21:17 * tadzik recompiles
21:17 masak so if you're not assigning the result, you're just throwing it away.
21:17 masak definitely merits a sink-context warning, methinks. :)
21:18 PacoAir joined #perl6
21:18 tadzik it's funny how I implemented a no-op and then was quite convinced that it's working as it should
21:19 colomon n: my $a = 5; $a but role { method foo { say "foo" } }; $a.foo
21:19 p6eval niecza v16-23-gaa61ed5: OUTPUT«Unhandled exception: Unable to resolve method foo in class Int␤  at /tmp/GUAuekIAbd line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3840 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3841 (module-CORE @ 65) ␤  at /home/p6…
21:19 colomon n: my $a = 5; $a does role { method foo { say "foo" } }; $a.foo
21:19 p6eval niecza v16-23-gaa61ed5: OUTPUT«Unhandled exception: Cannot use 'does' operator with an immutable object␤  at /home/p6eval/niecza/lib/CORE.setting line 1364 (die @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 1303 (infix:<does> @ 6) ␤  at /tmp/_ZBHAK4u1o line 1 (mainline @ 2) ␤  at…
21:22 dalek rakudo/setenv: 616b622 | tadzik++ | src/core/terms.pm:
21:22 dalek rakudo/setenv: Fix a braino. benabik++ for noticing
21:22 dalek rakudo/setenv: review: https://github.com/rakudo/rakudo/commit/616b6222cd
21:23 benabik tadzik: Does your example work now?
21:23 tadzik which one? :)
21:23 tadzik everything seems to work now
21:24 tadzik > %*ENV<FOOBAR>="dupa"; shell 'echo $FOOBAR'
21:24 tadzik dupa
21:24 tadzik but I still don't know how to fix zavolaj
21:26 tokuhirom joined #perl6
21:26 tadzik when I set LD_LIBRARY_PATH before running make test, it works. When I set it in NativeCall.pm, it doesn't
21:27 jnthn Setting it in LD_LIBRARY_PAT
21:27 jnthn ffs
21:27 jnthn Setting it in NativeCall.pm is probably not right
21:27 jnthn It probably wants setting in the test file itself.
21:27 tadzik that doesn't help either
21:27 masak phenny: pl en "dupa"?
21:27 phenny masak: "ass" (pl to en, translate.google.com)
21:27 jnthn phenny! How rude!
21:27 phenny jnthn!
21:27 tadzik yes, it's the "d" word again, sorry
21:27 masak phenny: pl ru "dupa"?
21:27 phenny masak: "задница" (pl to ru, translate.google.com)
21:28 tadzik is that pronounced "żopa"?
21:28 jnthn No, but żopa is Russian for "ass", iirc :)
21:28 tadzik ;)
21:28 * masak thought it was жопа
21:28 masak right.
21:28 tadzik phenny: "задница"?
21:28 phenny tadzik: "ass" (ru to en, translate.google.com)
21:28 benabik I wonder if it has to be set before the program is loaded.  :-/
21:28 benabik dyld is picky
21:28 jnthn benabik: I was wondering that.
21:28 tadzik the error comes from NQP's NativeCall
21:29 tadzik it's nqp::buildnativecall() that dies
21:29 jnthn tadzik: Right, that's when it goes off to the OS to ask it for the symbol.
21:29 tadzik right
21:29 benabik Based on prior experience with dyld, I would not be surprised if it caches the value of DYLD_LIBRARY_PATH during program start.
21:30 benabik Prior experience mostly being "dyld does whatever is least convenient"
21:30 benabik I believe it's considered a safety feature so rogue plugins can't alter the search path for the entire program.
21:31 jnthn http://stackoverflow.com/questions/856116/changing-ld-library-path-at-runtime-for-ctypes
21:31 jnthn That's one answer that seems to say "no, this won't cut it"
21:31 benabik Bonus!  It's not just dyld.
21:31 tadzik well, shit
21:32 jnthn ooc
21:32 jnthn Does
21:32 jnthn is native('./thelib') not cut it?
21:33 tadzik it does
21:33 * tadzik wordless
21:33 jnthn Wonder what happens on Windows...
21:33 tadzik well, it least we have a better %*ENV now
21:34 tadzik that could be specialcased probably
21:34 tadzik but does it break on windows? Maybe there'll be no problem
21:34 benabik Dead ends that add useful features aren't dead ends?
21:35 tadzik sure
21:35 jnthn sub Argless() is native('./01-argless') { * }
21:35 jnthn Worked :)
21:35 tadzik okay :)
21:35 tadzik I even have a zavolaj commit bit
21:36 jnthn I'll leave you to it...I'm drugging myself up and hoping for at least some sleep tonight.
21:37 tadzik sure thing
21:38 dalek tablets: 5a098ab | (Herbert Breunung)++ | docs/appendix-a-index.txt:
21:38 dalek tablets: describing signature notation in index
21:38 dalek tablets: review: https://github.com/perl6/tablets/commit/5a098abec4
21:38 tadzik still, 05-arrays.t fails for me
21:38 tadzik oh, ok, there's been commits
21:39 Juerd Which synopsis describes "is native"? Looks very interesting.
21:39 Juerd Or some other document perhaps
21:39 tadzik I think the answer is "none" :)
21:40 masak Juerd: it's not Perl 6, it's zavolaj.
21:40 masak https://github.com/jnthn/zavolaj
21:40 benabik Which even comes with a README
21:42 Juerd Impressive
21:52 Juerd https://github.com/mberends/MiniDBI/blob/master/lib/MiniDBD/mysql.pm6  # wowowow.
21:54 Juerd https://github.com/mberends/MiniDBI/blob/master/lib/MiniDBD/SQLite.pm6  # Whoaaa
21:55 tadzik :)
21:55 masak ain't it great?
21:56 tadzik ==> Succesfully installed NativeCall :)
21:57 Juerd So... should I build MiniDBIx::Simple, or is a sane interface part of the actual plan?
21:57 tadzik the slot for Bailador::Plugin::Database is still free :)
21:58 Juerd That's a bit too bailador specific for my taste :)
21:59 * masak .oO( shoulda called the Dancer clone Syrio::Forel instead... )
21:59 tadzik oh, well, I'd comment that but that'd be a spoiler :)
22:01 masak heh.
22:02 dalek tablets: 6f48f3e | (Herbert Breunung)++ | docs/appendix- (2 files):
22:02 dalek tablets: linking all logical ops
22:02 dalek tablets: review: https://github.com/perl6/tablets/commit/6f48f3e317
22:07 sergot Good night o/
22:10 thou joined #perl6
22:13 masak 'night, #perl6
22:18 dalek perl6-bench: c81d1d3 | (Geoffrey Broadwell)++ | / (2 files):
22:18 dalek perl6-bench: For NQP tests, change $i++ to $i := $i + 1 .  The difference in a small loop is well within measurement error, so might as well get closer to Rakudo compatibility
22:18 dalek perl6-bench: review: https://github.com/japhb/perl6-bench/commit/c81d1d30ff
22:18 dalek perl6-bench: 79afd70 | (Geoffrey Broadwell)++ | nqp/rc-forest-fire:
22:18 dalek perl6-bench: Change method new into method init in nqp/rc-forest-fire to paper over difficulty writing a method new that works under both nqp and Rakudo
22:18 dalek perl6-bench: review: https://github.com/japhb/perl6-bench/commit/79afd704fc
22:18 dalek perl6-bench: bd1524b | (Geoffrey Broadwell)++ | nqp/rc-forest-fire:
22:18 dalek perl6-bench: Work around NQP/Perl 6 incompatibility in MAIN args: NQP includes the script name at the front, but Perl 6 does not
22:18 dalek perl6-bench: review: https://github.com/japhb/perl6-bench/commit/bd1524b926
22:18 dalek perl6-bench: fb0e794 | (Geoffrey Broadwell)++ | TODO:
22:18 dalek perl6-bench: NQP-on-Rakudo TODO items down
22:18 dalek perl6-bench: review: https://github.com/japhb/perl6-bench/commit/fb0e794e41
22:19 tadzik good night, internet
22:32 dalek perl6-bench: de83393 | (Geoffrey Broadwell)++ | TODO:
22:32 dalek perl6-bench: Add two more TODO items; fix list bullet characters
22:32 dalek perl6-bench: review: https://github.com/japhb/perl6-bench/commit/de833934e5
22:32 dalek perl6-bench: 123cb68 | (Geoffrey Broadwell)++ | bench:
22:32 dalek perl6-bench: Add 1e6 version of empty_loop test, to see performance of simple loop when startup time is (mostly) taken away
22:32 dalek perl6-bench: review: https://github.com/japhb/perl6-bench/commit/123cb68bb7
22:38 skids joined #perl6
22:42 dalek tablets: 871de1a | (Herbert Breunung)++ | docs/appendix- (2 files):
22:42 dalek tablets: better explained: and or ... (seq op)
22:42 dalek tablets: review: https://github.com/perl6/tablets/commit/871de1a56e
23:00 dalek tablets: 488393a | (Herbert Breunung)++ | docs/appendix- (2 files):
23:00 dalek tablets: polish for logical ops
23:00 dalek tablets: review: https://github.com/perl6/tablets/commit/488393af19
23:05 whiteknight joined #perl6
23:07 lichtkind karma lichtkind
23:07 aloha lichtkind has karma of 11.
23:08 lichtkind karma Herbert Breunung
23:08 aloha Herbert Breunung has karma of 296.
23:29 vlixes joined #perl6
23:29 spider-mario parrot 4.3 is in arch’s [community-testing] repo. :)
23:29 spider-mario when it hits [community], I’ll be able to upgrade nqp and rakudo in the AUR.
23:30 spider-mario (unless it happens before monday. it’ll then have to wait until monday.)
23:44 whiteknight Is there anybody around who is familiar with NQP's regexes?
23:48 benabik joined #perl6

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

Perl 6 | Reference Documentation | Rakudo