Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2013-10-23

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:01 prevost joined #perl6
00:12 Psyche^ joined #perl6
00:17 BenGoldberg joined #perl6
00:21 BenGoldberg nqp: my $a := {}; say($a.HOW.name($a))
00:21 camelia nqp-parrot: OUTPUT«Can only use get_how on a SixModelObject␤current instr.: '' pc 53 ((file unknown):51099996) (/tmp/ulfQ2swVFX:1)␤»
00:21 camelia ..nqp-moarvm, nqp-jvm: OUTPUT«BOOTHash␤»
00:23 japhb__ timotimo: Yeah, I would completely believe that.
00:27 [Coke] can we get an nqp ruling on https://github.com/perl6/nqp/issues/122 ? (should we reject the ticket or not?)
00:27 BenGoldberg Mouq++ for improving evalbot :)
00:29 lue [Coke]: I'd expect it to work like tadzik intended.
00:30 [Coke] Yes, but are you willing to code it? ;)
00:30 FROGGS joined #perl6
00:31 lue *mumbles* I was just commenting that it should not be rejected. (Should I leave similar comment on the issue proper?)
00:32 [Coke] would you rank it as a "must have" or "nice to have" ?
00:32 [Coke] I would say it's at least nice to have.
00:33 lue Me personally? "nice to have" [ although I suspect tadzik would say "must" ;) ]
00:33 stevan_ joined #perl6
00:41 japhb arnsholt, jnthn: What (if anything) is the native call story for C++ APIs?
00:42 [Coke] updated https://gist.github.com/coke/6799633 with missing docs +/or ops
00:43 tadzik what does tadzik intend, what is a must? {:
00:43 lue tadzik: broken for @arr -> $b, $c? in NQP (see [Coke]'s link a few lines up)
00:55 tadzik oh :)
00:56 tadzik well, I asked jnthn about it on RaNIW, and his answer was "that should work". So, when it didn't, I opened a bug
00:56 [Coke] we have shell, shell1, and shell3 opcodes - shell1 is deprecated in favor of shell3 ... when shell1 is gone, there is no need for shell. Should we deprecate that also in favor of just shell3?
00:56 [Coke] tadzik: can you add that comment to the ticket, then?
00:57 [Coke] actually, I can just cut and paste, if you like.
00:58 tadzik feel free :)
01:02 Mouq joined #perl6
01:02 * Mouq hops back on for a fleeting moment
01:02 dalek nqp: 6f4f4d5 | coke++ | docs/ops.markdown:
01:02 dalek nqp: document nqp::x_posixerrno
01:02 dalek nqp: review: https://github.com/perl6/nqp/commit/6f4f4d5a8a
01:02 dalek nqp: cc173db | coke++ | docs/ops.markdown:
01:02 dalek nqp: document nqp::shell
01:02 dalek nqp: review: https://github.com/perl6/nqp/commit/cc173dbd53
01:03 dalek nqp/stdsigspace: 11affd8 | Mouq++ | src/QRegex/P6Regex/ (2 files):
01:03 dalek nqp/stdsigspace: Make sigspace after $<var> = binding significant
01:03 dalek nqp/stdsigspace:
01:03 dalek nqp/stdsigspace: Doing this required complexifying the grammar some, but in the process I
01:03 dalek nqp/stdsigspace: was at least able to simplify the $<quantified_atom> action
01:03 dalek nqp/stdsigspace: review: https://github.com/perl6/nqp/commit/11affd8ae2
01:03 dalek nqp/stdsigspace: 4768ece | Mouq++ | t/qregex/rx_modifiers:
01:03 dalek nqp/stdsigspace: Get tests up to spec
01:03 dalek nqp/stdsigspace: review: https://github.com/perl6/nqp/commit/4768ece4f8
01:03 dalek nqp/stdsigspace: f069cce | Mouq++ | src/vm/ (19 files):
01:03 dalek nqp/stdsigspace: Update bootstrap files with STD-compliant sigspace
01:03 dalek nqp/stdsigspace:
01:03 dalek nqp/stdsigspace: Only Parrot and JVM. I cannot currently build NQP on MoarVM, but should
01:03 dalek nqp/stdsigspace: anyone else be willing generate the bootstrap files for it (and please
01:03 dalek nqp/stdsigspace: do), the basic process is:
01:03 dalek nqp/stdsigspace:
01:03 dalek nqp/stdsigspace:     git checkout 3b73abb0c src/NQP/Grammar.nqp
01:03 dalek nqp/stdsigspace:     make bootstrap-files
01:03 dalek nqp/stdsigspace:     git checkout -- .
01:03 dalek nqp/stdsigspace:
01:03 dalek nqp/stdsigspace: Otherwise, solves GH #140
01:03 dalek nqp/stdsigspace: review: https://github.com/perl6/nqp/commit/f069cce33a
01:03 Mouq ^^^
01:05 Mouq If anyone could do that, it would be awesome. The next step is updating Rakudo
01:07 Mouq Oh, wait. I forgot, you actually have to make bootstrap-files one more time after that to get it working properly.
01:08 [Coke] waterbed documentation - I document something, it passes a test. However, it turns out that the documented op isn't implemented on one of the backends...
01:08 [Coke] Mouq: maybe ping in #moarvm also?
01:09 BenGoldberg The shell3 op (at least on the jvm) does something a bit broken on windows -- it replaces every / in cmd with a \.  This means that if my original command is "echo /", it'll print a backslash.
01:10 Mouq [Coke]: Probably a good idea; will do. I just wanted to throw this out there before I go to bed again
01:10 Mouq Well, try to
01:13 BenGoldberg nqp: nqp::shell( "echo /" )
01:13 camelia nqp-parrot: OUTPUT«Error while compiling block : Error while compiling op shell (source text: "nqp::shell( \"echo /\" )"): Operation 'shell' requires 3 operands, but got 1␤current instr.: '' pc 55082 (src/stage2/QAST.pir:20123) (src/stage2/QAST.nqp:3316)␤»
01:13 camelia ..nqp-moarvm: OUTPUT«Arg count 1 doesn't equal required operand count 4 for op 'shell'␤compile_mastop␤»
01:13 camelia ..nqp-jvm: OUTPUT«/␤»
01:14 [Coke] moarvm requires -4- arguments? *boggle*
01:37 daniel-s joined #perl6
01:37 monkey joined #perl6
01:39 monkey left #perl6
01:45 diakopter [Coke]: I'm guessing it's counting the output register
01:48 FROGGS joined #perl6
01:51 diakopter nqp-m: say(nqp::shell('','',''))
01:51 camelia nqp-moarvm: OUTPUT«This representation (P6str) does not support elems␤frame_name_0␤»
01:52 diakopter nqp-m: say('alive'); say(nqp::shell('','',''))
01:52 camelia nqp-moarvm: OUTPUT«This representation (P6str) does not support elems␤frame_name_0␤alive␤»
01:52 diakopter [Coke]: yeah
01:52 diakopter it takes three
01:53 diakopter (it compiled and ran with 3)
02:11 jdv79_ left #perl6
02:28 FROGGS joined #perl6
02:51 FROGGS joined #perl6
02:59 benabik joined #perl6
03:05 fridim_ joined #perl6
03:06 dayangkun joined #perl6
03:12 slavik joined #perl6
03:38 preflex_ joined #perl6
03:49 FROGGS joined #perl6
04:51 moritz \o
04:57 dansamo joined #perl6
05:09 kaleem joined #perl6
05:20 stevan_ joined #perl6
05:25 [Sno] joined #perl6
05:44 SamuraiJack joined #perl6
05:58 cognominal joined #perl6
06:32 dansamo joined #perl6
06:33 daniel-s_ joined #perl6
06:41 darutoko joined #perl6
06:45 stevan_ joined #perl6
06:53 jnthn o/
06:54 arnsholt 'lo
06:55 dalek rakudo/unified-build: e2940b8 | moritz++ | / (3 files):
06:55 dalek rakudo/unified-build: [configure] fix various regressions from last night
06:55 dalek rakudo/unified-build:
06:55 dalek rakudo/unified-build: * fill in nqp_j
06:55 dalek rakudo/unified-build: * avoid name collision in src/gen/ModuleLoader.nqp
06:55 dalek rakudo/unified-build: review: https://github.com/rakudo/rakudo/commit/e2940b8986
06:55 dalek rakudo/unified-build: 9ed418d | moritz++ | tools/build/Makefile- (2 files):
06:55 dalek rakudo/unified-build: [build] avoid more name conflicts
06:55 dalek rakudo/unified-build: review: https://github.com/rakudo/rakudo/commit/9ed418dd26
06:57 zakharyas joined #perl6
06:59 Rotwang joined #perl6
06:59 cognominal joined #perl6
07:03 FROGGS joined #perl6
07:13 LWA joined #perl6
07:14 fhelmberger joined #perl6
07:37 denis_boyun joined #perl6
07:39 masak moritz++ # http://perlgeek.de/blog-en/perl-6/2013-a-regex-optimization.html
07:56 pmurias joined #perl6
07:57 pmurias [Coke]: re shell/shell3 actually it's shell3 that is supposed to be removed once we remove shell1
07:58 pmurias [Coke]: shell3 is not meant to be explicitly used by the user, it's an implementation detail
08:02 moritz huh? once we remove shell1, shell3 is supposed to be removed?
08:02 moritz so, nothing left?
08:02 pmurias shell will be left
08:03 moritz ah
08:03 moritz shell shall be left.
08:05 dalek nqp: 6e4050a | (Pawel Murias)++ | docs/ops.markdown:
08:05 dalek nqp: Fix nqp::shell docs.
08:05 dalek nqp: review: https://github.com/perl6/nqp/commit/6e4050a3b2
08:05 pmurias moritz: shell1 and shell3 are just implementation details, all the users should be using the number less versions
08:10 * moritz is shell3 shocked
08:10 pmurias is anything still using the 1 argument version?
08:16 dalek rakudo/unified-build: b0c90ed | (Elizabeth Mattijsen)++ | src/core/Parcel.pm:
08:16 dalek rakudo/unified-build: Implement Parcel.rotate
08:16 dalek rakudo/unified-build:
08:16 dalek rakudo/unified-build: One wonders whether the internal logic would warrant an nqp::rotate op, which
08:16 dalek rakudo/unified-build: could then be shared with List.rotate
08:16 dalek joined #perl6
08:17 masak lizmat++ # sharing wonder
08:17 sqirrel joined #perl6
08:23 donaldh joined #perl6
08:26 moritz seeing a mixed build of rakudo-j and rakudo-p is somewhat scary
08:26 moritz the stagestats from two setting compilations interwoven
08:29 moritz postgresql++ # separate char_length and bit_length functions
08:29 FROGGS moritz: you build it at the same time?
08:30 masak hm, why did lizmat++'s commit go on the unified-build branch?
08:30 moritz FROGGS: sure, that's what 'make -j3' is for :-)
08:30 masak it seems unrelated to unifying the build.
08:30 moritz masak: I merged nom into unified_build to see if that makes the spectest failures go away
08:30 FROGGS moritz: maybe you have to draw a table where every build has its own column :D
08:31 masak moritz: oh! ok.
08:33 daxim joined #perl6
08:34 moritz FROGGS: I won't do anything about it; that's the price people pay for parallel builds
08:34 moritz just wanted to remark that it looks weird to me in general
08:35 moritz also for some reason if I run the two spectests in parallel, the  the "... ok" columns aren't aligned :-)
08:41 moritz meh, spectest froze laptop :(
08:41 dakkar joined #perl6
08:41 moritz ah, I was able to kill it
08:42 moritz the problem is that I can't use 'ulimit', because the JVM I'm using refuses to run in ulimit'ed shell
08:42 moritz even if I give it 2GB of virtual memory, it OOMs on printing the usage message
08:49 FROGGS moritz: it was more like a joke
08:49 FROGGS because I don't think it is that easy to do that at all
08:50 dmol1 joined #perl6
08:51 moritz FROGGS: good :-)
08:58 diakopter moritz: which jvm?
08:59 diakopter (you can probably guess I'll recommend oracle-jdk7-installer if you're using openjdk) ;)
09:00 diakopter oh, speaking of which... need to re-enable those repos after dist-upgrading host07...
09:01 diakopter rebooting host07; hope it comes back
09:01 moritz diakopter: openjdk-7
09:02 moritz diakopter: I tried oracle-jdk7-installer but it ran dog slow
09:02 moritz diakopter: was slower than parrot to parse rakudo's setting
09:02 diakopter erm, weird
09:02 moritz aye
09:03 arnsholt diakopter: You're on Windows though, aren't you?
09:03 diakopter I'm on a lot of things...
09:09 camelia joined #perl6
09:09 diakopter rj: 1
09:10 arnsholt jnthn: So, you know that odd string bug I've been talking about? I'm an idiot. That is all =)
09:11 camelia joined #perl6
09:11 diakopter rj: 1
09:12 diakopter moritz: I must be forgetting something about the evalbot
09:12 camelia rakudo-jvm fd3e68: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
09:12 diakopter erm
09:12 diakopter rj: 1
09:12 camelia rakudo-jvm fd3e68: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
09:12 diakopter rj: say 1
09:12 camelia rakudo-jvm fd3e68: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
09:14 jnthn japhb: No current plans on C++ native calling 'cus name mangling is compiler-dependent.
09:15 arnsholt Compiler version even. IIRC the standard encourages mangling schemes to be incompatible
09:15 kaleem joined #perl6
09:15 jnthn arnsholt: You're harsh to yourself too :P
09:15 jnthn arnsholt: But glad you got to the bottom of it
09:16 dalek nqp: 948a58c | (Arne Skjærholt)++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/NativeCallOps.java:
09:16 dalek nqp: Fix a braino in NativeCallOps' converting into NQP objects.
09:16 dalek nqp: review: https://github.com/perl6/nqp/commit/948a58c75b
09:16 arnsholt Take a look at that commit and judge for yourself. It's a bit stoopid =)
09:16 moritz rj: 1
09:16 camelia rakudo-jvm fd3e68: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.␤»
09:17 diakopter 2013-10-23 09:16:53 (17.1 MB/s) - ‘jdk-7u45-linux-x64.tar.gz’ saved [138094686/138094686]
09:17 jnthn tssk, one of my students just gave me a "solve this to get hired" problem from a newspaper to do as my exercise while they do theirs
09:17 jnthn Cheeky :)
09:17 arnsholt =D
09:18 moritz jnthn: "I like my job very much, thank you!" :-)
09:18 diakopter moritz: does it rely on evalserver?
09:19 moritz diakopter: aye
09:19 diakopter oh; how do I launch that
09:19 moritz that's wy eval-client.pl give you the exception
09:20 arnsholt If I weren't very happy in my academia job, someone linked me a job recently I probably could've applied to. Knowledge of writing compilers/interpreters was apparently a plus
09:21 moritz diakopter: as user p6eval_eval run perl ~p6eval/evalbot/runtime/run-rakudo-jvm-evalserver
09:21 * moritz does it
09:21 moritz probably best with nohup
09:21 diakopter "wut's nohup"
09:22 moritz diakopter: a small tool that takes care that the process doesn't die when the parent process exits
09:22 moritz rj: 1
09:22 camelia rakudo-jvm fd3e68: ( no output )
09:22 moritz rj: say 42
09:22 camelia rakudo-jvm fd3e68: OUTPUT«42␤»
09:24 diakopter oh goodie
09:25 moritz run-rakudo-jvm-evalserver detects when the ~/rakudo-jvm/revision while changes, and then kills and restarts the eval server
09:25 diakopter neat
09:25 diakopter nqp-m: say(nqp::shell('clang --version',[],[]))
09:25 camelia nqp-moarvm: OUTPUT«cannot stringify this␤frame_name_0␤»
09:25 diakopter nqp-m: say(nqp::shell('clang --version','',[]))
09:25 camelia nqp-moarvm: OUTPUT«-2␤»
09:26 diakopter nqp-m: say(nqp::shell('clang --version',[],''))
09:26 camelia nqp-moarvm: OUTPUT«cannot stringify this␤frame_name_0␤»
09:26 diakopter how does one use shell
09:26 diakopter shell3, I guess I mean
09:26 moritz rj: say 2
09:26 camelia rakudo-jvm fd3e68: OUTPUT«2␤»
09:28 dayangkun joined #perl6
09:29 diakopter moritz: did you see my comment on https://github.com/perl6/nqp/commit/8dacbf60a5457577e44f7ae9a137111d14c3eaca
09:30 moritz diakopter: yes, just haven't got around to act on it
09:31 diakopter oh; it's just  release($lit, $MVM_reg_str);  at the end of that block
09:32 diakopter (in case you didn't already know) :D
09:32 moritz I didn't; still need to boot into the system where I have my Moar-enabled nqp dev environment
09:33 moritz (after those bloody windows updates are through; did I say yesterday there were 8 of them? 11 now...)
09:37 diakopter heh
09:42 dansamo joined #perl6
09:43 iSlug joined #perl6
09:43 dalek nqp: 6fbabeb | moritz++ | src/vm/moar/QAST/QASTRegexCompilerMAST.nqp:
09:43 dalek nqp: [moar] release register, diakopter++
09:43 dalek nqp: review: https://github.com/perl6/nqp/commit/6fbabebccf
10:01 xinming joined #perl6
10:16 lizmat japhb__: re "just got this deprecation error: "Method gimme (from List) called at:  lib/Panda/App.pm, line 54 Please use 'tc' instead." "
10:16 lizmat 1. it shouldn't be an error
10:17 lizmat 2. it should only report to STDERR *after* running the program without complaining
10:17 lizmat 3. I guess there is an "ucfirst" used in panda somewhere
10:18 lizmat modules/panda/lib/Panda/App.pm
10:18 lizmat 68:                    say $k.ucfirst => $v;
10:18 dalek panda: 7a81193 | moritz++ | / (2 files):
10:18 dalek panda: s/ucfirst/tc/
10:18 dalek panda: review: https://github.com/tadzik/panda/commit/7a81193793
10:18 moritz inconceivable!
10:18 moritz oops, I accidentally upgraded Shell::Command too
10:19 masak incommittable!
10:19 masak moritz: ooc, was that the result of a 'git add <everything>'?
10:20 moritz masak: git commit -am '...' (a very bad habit, I know)
10:20 masak aye
10:20 moritz in my defense I did a 'git pull --rebase' first
10:20 masak le staging area is thy frynd.
10:20 lizmat japhb__: it also looks to me that that warning is from an older version of rakudo, not the most recent one
10:20 moritz which complains about uncommitted changes... EXCEPT FOR SUBMODULE CHANGES
10:21 moritz so normal extra changes wouldn't have made it into that commit
10:21 masak "in my defense, I did another dangerous thing before closing my eyes and doing the dangerous thing" :P
10:22 moritz nah, pull --rebase isn't dangerous
10:22 masak agree.
10:22 masak but using it to test *whether you have a clean status* is... interesting.
10:23 masak I tend to use 'git status' for that.
10:23 masak anyway, carry on :) moritz++ for making commits.
10:24 lizmat japhb__: fwiw, I'm making a separate test file for deprecations right now
10:24 masak atomic commits are nice, but they're not the end-all-and-be-all of programming.
10:30 Subhash joined #perl6
10:30 Subhash Hi, anyone there ?
10:31 lizmat .oO( I think I am )
10:31 moritz not sure where that "there" is :-)
10:31 moritz I am here, but you aren't
10:32 lizmat I'm lizmat and you're not
10:32 * lizmat wonders who got the SNL reference there
10:33 woolfy Like "I'm Chevy Chase and you're not"
10:33 woolfy (I got the SNL reference because lizmat is sitting across the table and told me just that)
10:34 woolfy (I dislike SNL because it is lame, not funny, boring, repetitive, full of blah, so I refuse to watch, let lizmat watch it on her own!)
10:34 moritz woolfy: you are, like, totally cheating
10:34 moritz and wtf is SNL?
10:34 woolfy moritz: and very proud of it!
10:35 moritz ah, saturday night live
10:37 colomon not just SNL; SNL from the 70s.
10:37 lizmat yeah, season 1..5
10:38 colomon Did Chevy stay all the way to season five?  I thought it was only a couple of years.
10:38 * colomon is not the family's SNL expert
10:39 lizmat http://en.wikipedia.org/wiki/Saturday_Night_Live_Samurai  :-)
10:42 lizmat colomon: not sure, I'm only halfway through season 2 atm
10:42 colomon I'm not sure we've even unwrapped the season 2 DVDs.  Season 1 is pretty awesome, though.
10:43 * lizmat watches SNL mostly on long flights or in the bath
10:44 lizmat hmmm... about to write my first heredoc in Perl6, looking at the spec, and it doesn't work
10:46 REPLeffect joined #perl6
10:47 stevan_ joined #perl6
10:48 colomon the spec doesn't work, or rakudo doesn't?
10:50 lizmat can't get to work S02:259 to wowkk
10:50 synopsebot Link: http://perlcabal.org/syn/S02.html#line_259
10:51 lizmat S02:4433 does work
10:51 synopsebot Link: http://perlcabal.org/syn/S02.html#line_4433
10:52 FROGGS ohh, I'd say multiple heredocs are NYI
10:52 lizmat well, the single case then
10:52 FROGGS I have not seen anything in the code that pointed to it
10:53 lizmat anyways, I just realize that I can't use heredocs anyway, as I need to check a string that doesn't end in a newline
10:53 lizmat :-(
10:53 jnthn Odd, I thought we largely passed the heredoc tests.
10:54 * lizmat looks at t/spec/S02-literals/heredocs.t
10:55 lizmat no tests for multiple heredocs in there
10:58 * lizmat adds it to her list of tests to add
11:00 lizmat hmmm... I can also do q:to/TEXT/.chop  :-)
11:01 lizmat maybe q:to:chop/TEXT/ would be more in line
11:08 diakopter lizmat: wow, Mavericks is more responsive-feeling in a couple ways
11:08 lizmat yes, doesn't it ?
11:09 lizmat cannot really run a spectest yet, as I still have spotlight running an index
11:09 diakopter also, the windows 8 VM feels more responsive too, but it was also upgraded to 8.1, so who knows which contributed that
11:09 lizmat I mean, I can, but the numbers wouldn't make sense
11:09 FROGGS lizmat: multiple heredocs are working
11:10 lizmat then adding tests for them should not be a problem  :-)
11:10 FROGGS the problem with S02:259 is, that it uses ' as delim
11:10 synopsebot Link: http://perlcabal.org/syn/S02.html#line_259
11:10 lizmat I guess a spec fix is in order, then
11:10 FROGGS and the parser thinks (correctly?) that to'CODE is the adverb to q rather than to
11:12 FROGGS so, putting space after to fixes it, except that the ok() and todo() subs are not the ones we have in Test.pm
11:13 FROGGS lunch &
11:21 pernatiy joined #perl6
11:29 lizmat actually, that would have to be q:chop:to/TEXT/
11:29 lizmat having it as an adverb, would allow the chopping to be done at compile time, no ?
11:29 moritz no
11:30 moritz because the string isn't available at compile time
11:30 moritz (in case something is interpolated)
11:30 lizmat well, the last, constant part, of the string, would be, no ?
11:30 lizmat that's the only thing that would need chopping
11:52 denis_boyun joined #perl6
12:00 FROGGS lizmat: this might work out in your case, but if the last line of the heredoc has a variable at the end, the content of the variable might need chopping too
12:01 lizmat in that case, it would generate differently, like adding a .chop at the end
12:01 lizmat actually, that is not true
12:01 lizmat a heredoc *always* has a newline at the end
12:01 FROGGS true
12:01 lizmat so if the last thing in a heredoc is a variable
12:02 lizmat it can just not add the newline at the end
12:03 FROGGS ahh, hmmm, chop just chops one thing at the end
12:03 FROGGS so it would work out
12:10 dalek roast: 9de409a | (Elizabeth Mattijsen)++ | S02-types/isDEPRECATED.t:
12:10 dalek roast: Tests for "is DEPRECATED" on class, attribute, sub and method
12:10 dalek roast: review: https://github.com/perl6/roast/commit/9de409a82f
12:10 lizmat should be properly fudged for niecza and pugs
12:35 ajr joined #perl6
12:35 arnsholt How do I include commits that are in the upstream in the options for my rebase --interactive?
12:35 * arnsholt wants to commit git thoughtcrime =)
12:36 masak arnsholt: maybe cherry-pick them in, and then rebase --interactive?
12:36 masak arnsholt: you can cherry-pick anything you can reach by SHA-1.
12:37 arnsholt Hmm. Don't really have to cherry pick though, I'd just like to rewrite the history of the master branch a bit
12:37 arnsholt (That is, remove a WIP commit I used to shuffle some stuff from $work-machine to $laptop)
12:41 masak arnsholt: oh! well, just 'git rebase --interactive <somewhere far enough back>', and then 'git push --force', I guess.
12:42 arnsholt Oh!
12:42 moritz though note !rewrite_public_history
12:42 arnsholt I thought I'd tried that. Apparently not ^_^
12:42 moritz meh, no gitinfo bot in here :-)
12:42 arnsholt Yeah, I know
12:43 arnsholt The public in this context is only me, so it's probably ok (MJD even said so =D)
12:43 masak moritz: the '!' feels especially apt for that one ;)
12:43 moritz masak: :-)
12:44 masak arnsholt: yeah, the nice thing is that "public" has so many flavors, and they all lead to different behavior with wrecking public history.
12:44 masak arnsholt: specifically, if you're a one-person team, then doing asocial stuff is vacuously OK. :)
12:44 masak anti-social*
12:46 arnsholt Yeah, it's a very private kind of public =)
12:47 masak the private/public is the first-approximation lie-to-children that can then be revised.
12:51 * moritz fondly remembers the day he force-pushed a branch to parrot/master that was about 50 commits behind the current origin/master
12:52 masak o.O
12:52 masak I... guess it seemed like a good idea at the time? :P
12:53 moritz that was when somebody over-enthusiastically merged the 'sixparrot' branch by [Coke]++ into master
12:53 moritz even though it was only meant as an experiment, and there was no concensus among the parrot folks etc.
12:53 moritz so [Coke]++ wanted it undone, but wasn't confident enough in his git skills to do undo it himself
12:54 moritz and I thought that removing commits that were only a few minutes old was preferably to having ~50 commits + a huge revert commit in the history
12:54 moritz nobody complained.
12:58 masak ah.
12:59 masak oh, so it was intentional.
13:09 pecastro joined #perl6
13:09 denis_boyun joined #perl6
13:12 masak and, crucially, those commits were still in the branch if someone wanted them.
13:12 masak so the only thing that was *really* lost (or, because this is git, "lost") was the merge commit.
13:19 PacoAir joined #perl6
13:20 stevan_ joined #perl6
13:21 LWA joined #perl6
13:26 LWA joined #perl6
13:27 moritz and the merge commit was pretty trivial, considering that master was merged into the branch first
13:27 iSlug joined #perl6
13:29 xinming_ joined #perl6
13:34 timotimo arnsholt: note you can just put any sha1 into the editor when you're git rebase -i-ing
13:37 colomon joined #perl6
13:39 dalek rakudo/nom: 8141135 | (Elizabeth Mattijsen)++ | src/core/Str.pm:
13:39 dalek rakudo/nom: Remove superfluous DEPRECATED Str.capitalize (caught by Cool instead)
13:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/8141135731
13:46 bluescreen10 joined #perl6
13:49 kaleem joined #perl6
13:50 darutoko joined #perl6
13:59 dalek rakudo/nom: 62f1b47 | (Elizabeth Mattijsen)++ | src/core/Deprecations.pm:
13:59 dalek rakudo/nom: Fix problem with .^name sometimes not working
13:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/62f1b475c7
13:59 kaare_ joined #perl6
14:03 kaleem joined #perl6
14:05 btyler joined #perl6
14:05 masak s/Fix/Work around/ # :)
14:16 lizmat troo
14:17 masak oh, and lizmat++
14:17 masak (even during busy times like these, I enjoy seeing commits flow by on nom)
14:22 benabik joined #perl6
14:24 mathw o/
14:28 iSlug joined #perl6
14:29 dalek rakudo/nom: 4ab8aa7 | (Elizabeth Mattijsen)++ | src/core/PseudoStash.pm:
14:29 dalek rakudo/nom: Remove superfluous DEPRECATED PseudoStash.exists (caught by EnumMap)
14:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4ab8aa7ee4
14:32 cibs_ joined #perl6
14:36 dalek roast: 7b9f474 | (Elizabeth Mattijsen)++ | S02-types/deprecations.t:
14:36 dalek roast: Tests for deprecated core features
14:36 dalek roast: review: https://github.com/perl6/roast/commit/7b9f474cd0
14:36 ajr joined #perl6
14:39 FROGGS joined #perl6
14:46 pmurias joined #perl6
14:47 masak mathw! \o/
14:47 pmurias would having a nqp port of scons to replace Makefiles be usefull to people?
14:49 dalek rakudo/nom: 2ce544a | (Elizabeth Mattijsen)++ | t/spectest.data:
14:49 dalek rakudo/nom: Add deprecation tests
14:49 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2ce544a74d
14:52 FROGGS pmurias: if we would not need make-tools then yes
14:53 FROGGS like Module::Build is preferable for non-XS Perl5  modules
14:53 lizmat FROGGS: I'm not sure that's still the consensus at #p5p
14:53 nwc10 well
14:53 nwc10 specifically to core perl
14:53 FROGGS lizmat: might be just my opinion, yes
14:54 nwc10 1) Module::Build isn't useful for bootstrapping
14:54 nwc10 2) it can't parallelise, unlike make
14:54 nwc10 but I doubt that an scons implemented in NQP would have the first problem
14:54 nwc10 and the second may not be an issue
14:55 lizmat cycling&
14:55 nwc10 also, be clear what is an install tool, and what is an authoring tool
14:55 nwc10 Module::Build tries to be both
14:55 masak it's an intriguing thought. my first reaction was "no, we're stuck with make, let's not fight that".
14:55 masak but since NQP is bootstrapped, we have NQP as a dependency anyway. might as well implement a build tool on top of it.
14:56 masak whether that's a good use of tuits or not is another matter, but hey -- flood filling and -Ofun apply.
14:56 nwc10 also, a failing of Module::Build is that it doesn't actually need to run as 2 steps
14:56 nwc10 I don't know if scons is sensible in this fashion
14:56 masak 2 steps as in "calculate dependencies" -- "execute dependencies"?
14:56 FROGGS nwc10: what two steps?
14:56 nwc10 well,
14:56 FROGGS ahh
14:57 nwc10 Makefile.PL - figure out stuff, and write out rules on how to build it
14:57 nwc10 Makefile - build it
14:57 masak right.
14:57 nwc10 which means, if Makefile.PL gets it wrong, you can edit the Makefile
14:57 masak ufo is what we have for the first one in Perl 6.
14:57 masak it's basically a toposort.
14:57 FROGGS right, you basically can't edit M::B's config_data
15:00 FROGGS I would recommend that we only switch to something else from Makefiles when we really can expect a benefit
15:01 nwc10 which means that it might as well have run the build when the user typed ./Build.PL
15:02 jnap joined #perl6
15:04 pmurias nwc10: scons does seem to first calcuate the order of dependencies and then runs them (it does it all in one process)
15:05 masak pmurias: having that exposed through a testable API sounds like a great good.
15:05 arnsholt Another option to make is djb's redo
15:05 masak pmurias: I imagine that's the flexibility that would be needed to add parallelization afterwards.
15:06 arnsholt (Or is it do? I can't remember)
15:06 masak arnsholt: redo sounds familiar.
15:06 masak arnsholt: a third option is the rake/jake family of tools. basically an API/DSL for dependency tracking.
15:08 pmurias masak: I would prefer to avoid DSLishnes at first
15:09 arnsholt masak: Yeah, the DJB text describing it is http://cr.yp.to/redo.html and a Python implementation is https://github.com/apenwarr/redo
15:09 nwc10 pmurias: yes, make does that too. What I meant was the steps are "configure" and "build", and `Configure.pl && make` or `perl Makefile.PL && make` do the in two
15:09 nwc10 but `./Build.PL && ./BUILD` realy doesn't give you anything you can usefully do at that '&&'
15:11 benabik I've wondered if a redo done in C & merged with busy box would be useful.  Avoid small piles of forks to shell and treating calls to redo utilities as built-ins.
15:12 masak pmurias: well, you need some format or other. :) "DSL" here mostly means "it's pure Ruby/JavaScript/nqp"
15:13 pmurias masak: pure nqp is what I want
15:14 pmurias masak: instead of ruby clumsily mascarading as Makefile ;)
15:15 jnthn wow, lots of backlog produced while I was teaching :)
15:15 nwc10 If writing this is more fun than not-perl-6, then it's useful
15:16 nwc10 if it distracts from something else that is more useful to bootstrapping Star on JVM and MoarVM, then it's not-as-useful
15:16 nwc10 but I'm just grandstanding, and contributing little other than chat and distractions
15:16 masak pmurias: from what you're saying your goals are, I'd recommend having at least a cursory look at rake and jake.
15:16 * masak is grandstanding too, basically the only thing he has time for these days :/
15:17 timotimo .o( It's Buildsystem Time with Finn and Jake! )
15:17 pmurias ncw10: I plan to implement it myself, so I shouldn't hinder others much
15:18 pmurias nwc10: and it should stop my hate of Makefiles from hindering me from working on nqp-js ;)
15:20 jnthn decommute &
15:21 japhb__ jnthn, arnsholt: re: http://irclog.perlgeek.de/perl6/2013-10-23#i_7752092 , I wonder if a SWIG or Inline:: style approach would serve for C++ calling.
15:22 timotimo or something like pypy's Reflex-based c++ interop stuff that someone's been working on for a long time now
15:23 arnsholt timotimo: How's that work?
15:24 timotimo you have to generate some extra information at compile-time
15:24 arnsholt japhb__: That'd probably work, but it should build on top of NativeCall I think
15:28 japhb__ Sure.  And a quick look at some search results for pypy reflex indicate that reflection-based approach might meld well with NativeCall too.
15:28 japhb__ (Haven't looked at the API in detail, of course)
15:29 denis_boyun joined #perl6
15:31 japhb__ (still backlogging) moritz, did you notice that you didn't upgrade Shell-Command, but rather downgraded it?
15:32 [particle] joined #perl6
15:32 ajr_ Don't succumb to the temptation to re-invent wheels, unless it's somehow going to produce real benefits.
15:33 japhb__ lizmat, yeah, the Rakudo that gave me that gimme -> tc deprecation warning might have been slightly out of date, glad to know it's better now.
15:33 japhb__ ajr_: To whom was that addressed?
15:35 LWA joined #perl6
15:35 ajr_ generally, but the idea seemed to have been introduced by pmurias. If he was responding to a suggestion made while I was offline, to the original.
15:35 cibs joined #perl6
15:39 moritz japhb__: oh, that wasn't intentional; I'll re-upgrade Shell-Command
15:41 japhb__ moritz: Ah, good.
15:42 japhb__ s/good/thank you/  # More what I meant
15:42 dalek panda: 292ce21 | moritz++ | ext/Shell__Command:
15:42 dalek panda: Revert accidential downgrade of Shell::Command
15:42 dalek panda:
15:42 dalek panda: japhb++
15:42 dalek panda: review: https://github.com/tadzik/panda/commit/292ce21c13
15:44 japhb__ Re: http://irclog.perlgeek.de/perl6/2013-10-23#i_7752789 , why is the desugaring of .^name necessary?  How can it fail?
15:51 moritz japhb__: on rakudo-parrot for non-sixmodel objects like RPA
15:53 masak oh!
15:53 masak I thought it was a circularity saw issue.
15:53 moritz r: say nqp::list().^name
15:53 masak well, in a way it is, but...
15:53 camelia rakudo 2ce544: OUTPUT«No such method 'dispatch:<.^>' for invocant of type 'ResizablePMCArray'␤  in block  at /tmp/SsFmLdQhv1:1␤␤»
15:54 benabik r: my $rpa = nqp::list(); say $rpa.HOW.name($rpa)
15:54 camelia rakudo 2ce544: OUTPUT«Cannot assign a non-Perl 6 value to a Perl 6 container␤  in block  at /tmp/0pioDM1LyX:1␤␤»
15:54 benabik r: my $rpa := nqp::list(); say $rpa.HOW.name($rpa)
15:54 camelia rakudo 2ce544: OUTPUT«Can only use get_how on a SixModelObject␤  in block  at /tmp/joW0ELYK5l:1␤␤»
15:54 japhb__ moritz: Gotcha, thank you.  I had forgotten I had to deal with that kind of Parrot not-6model stuff for .DUMP.
15:55 benabik It seems .HOW.name also fails on non-6mo
15:55 moritz benabik: but it will succeed on NQP-based objects
15:56 japhb__ benabik: At least the error makes more sense to someone who doesn't know that .^ is a dispatcher, not a rewrite.
15:57 japhb__ Wait, weren't we supposed to switch to QRPA instead of RPA for nqp::list() ...?  Or did that plan change while I was away?
15:58 * japhb__ finally reaches real time
16:00 moritz japhb__: the real use case is probably not RPAs, but NQP objects that we get through the bootstrapping process
16:00 moritz and those support .HOW.name but not .^name
16:00 japhb__ nodnod
16:00 moritz can anybody please review https://github.com/rakudo/rakudo/pull/217 ?
16:00 masak japhb__: welcome to real time. the trick isn't reaching it, the trick is staying there :)
16:00 japhb__ heh
16:01 moritz it looks good at first glance, but I'm not very deep in that code atm
16:01 japhb__ masak: Every so often I get far enough behind that I basically have to throw my hands up and time warp.  But I'm trying not to do that today.  :-)
16:02 ssutch joined #perl6
16:03 japhb__ Why no yoleaux of late?  Is the bot dead, or have we decided not to use it anymore, or is it just that we lost it and can't seem to get it back?
16:09 masak the more time I spend on other channels on freenode, the more I realize what an oasis of civilization #perl6 is.
16:10 * TimToady is too repressed to give that an appropriate response :)
16:10 * japhb__ is afraid to ask which channel brought that on
16:11 TimToady .oO(#moarvm? :)
16:11 masak no, #moarvm is fine. it's a subsidiary of the #perl6 culture :)
16:12 masak it was #node.js in this case, but it doesn't much matter. it's most of them.
16:12 masak the conversation went something like this: <masak> hey, [description of problem]. help? ... *silence* <masak> ok, I solved it myself <some_random_dude> that reminds me of a joke. [joke, not funny]
16:14 TimToady ah well, SNL isn't for everyone...  :P
16:16 masak de gustibus not erat disputandum -- doubly so for jokes.
16:16 masak non*
16:17 daxim nom.
16:17 TimToady well, we also believe that disputandum non est de gustibus here
16:18 TimToady there there maybe some who would dispute that :)
16:18 TimToady *may be
16:20 * masak .oO( Illegitimi non disputandum )
16:21 TimToady Purge the ruby!
16:24 btyler joined #perl6
16:29 daxim Take Off Every 'RUBY'!! You know what you doing.
16:30 * rurban looks like he is the only one on #ruby also
16:32 TimToady oh, wait, ruby is corundum, not carborundum...
16:32 TimToady Unpurge the ruby!
16:34 spider-mario joined #perl6
16:36 * TimToady works on his arb-heit today...
16:37 ajr joined #perl6
16:47 SamuraiJack joined #perl6
16:48 grondilu joined #perl6
17:00 dalek Heuristic branch merge: pushed 28 commits to rakudo/moar-support by jnthn
17:02 japhb That's promising ....
17:02 jnthn Just tracking latest
17:03 japhb awww
17:03 FROGGS how do I do that heuristic branch merge again?
17:03 jnthn FROGGS: Push > 15 commits at once :P
17:03 japhb FROGGS, that's just dalek noticing a big push.
17:03 FROGGS ahh
17:03 japhb It's avoiding spamming the channel
17:04 jnthn japhb: Well, good news is that pulling in latest doesn't regress the current Rakudo on Moar progress
17:04 japhb \o/
17:09 japhb Are these still the current instructions for teaching dalek about a new repo?  https://github.com/perl6/mu/blob/master/misc/dalek-push.txt
17:10 moritz japhb__: yes
17:11 jnthn moritz: For testing unified build stuff, whta do I need?
17:11 jnthn moritz: unified-build branches on rakudo and nqp repo?
17:11 moritz jnthn: yes
17:11 jnthn Can I rely on --gen-nqp or so?
17:11 moritz jnthn: I hope you can rely on --gen-nqp=unified-builld
17:11 diakopter moritz: nqp/rakudo-parrot don't have libicu linked
17:11 diakopter on host07
17:12 diakopter how to I fix
17:12 moritz install libicu-dev
17:12 dalek p6-pb: 14f11c4 | (Geoffrey Broadwell)++ | docs/ROADMAP:
17:12 dalek p6-pb: Add a ROADMAP with milestones before first release
17:12 dalek p6-pb:
17:12 dalek p6-pb: This doc contains a first cut at the major milestones required before
17:12 dalek p6-pb: cutting a first major release, as agreed by ssutch and japhb.
17:12 dalek p6-pb: review: https://github.com/samuraisam/p6-pb/commit/14f11c4f4a
17:12 dalek p6-pb: 7fc6651 | (Geoffrey Broadwell)++ | README.md:
17:12 dalek p6-pb: Add a README.md
17:12 dalek p6-pb:
17:12 dalek p6-pb: This version is relatively short but covers all the bases for now,
17:12 dalek p6-pb: including linking to the ROADMAP doc.  Using Markdown format to be
17:12 dalek p6-pb: more friendly to GitHub users.
17:12 dalek p6-pb: review: https://github.com/samuraisam/p6-pb/commit/7fc665133b
17:12 dalek p6-pb: 1ca9062 | (Geoffrey Broadwell)++ | docs/overview:
17:12 dalek p6-pb: Stub in an overview doc
17:12 dalek p6-pb:
17:12 dalek p6-pb: This stub just points users to the official Google documentation,
17:12 dalek p6-pb: especially the Developer Guide and FAQ, noting that the actual Perl 6
17:12 dalek p6-pb: API docs will be here of course.
17:12 dalek p6-pb: review: https://github.com/samuraisam/p6-pb/commit/1ca90628bd
17:12 ssutch oops
17:13 japhb__ Looks right to me, ssutch.  ;-)
17:13 ssutch i guess test sends 3 pushes
17:13 ssutch more lines than i was expecting
17:13 japhb__ (It always brings in the first few when you first set it up, IIRC).
17:13 moritz diakopter: and then reconfigure parrot
17:18 diakopter error: ICU header '/usr/include/unicode/utypes.h' not found
17:18 diakopter error: ICU header '/usr/include/unicode/uchar.h' not found
17:18 diakopter Something is wrong with your ICU installation!
17:19 jnthn moritz: OK, running perl Configure.pl --gen-nqp=unified-build --backends=parrot,jvm
17:19 diakopter moritz: I installed that package but parrot's configure is looking for those headers and can't find them (because they're not there)
17:19 moritz diakopter: I'll take a look
17:20 diakopter rnp: 1
17:20 camelia rakudo 2ce544, niecza v24-98-g473bd20, pugs: ( no output )
17:20 diakopter rakudo: 1
17:20 camelia rakudo 2ce544: ( no output )
17:20 * moritz does an  apt-get install apt-file; apt-file update; apt-file search uchar.h
17:21 diakopter ^ should run rakudo-parrot and rakudo-jvm
17:21 diakopter r-p: 1
17:22 diakopter r-j: 1
17:22 diakopter rp: 1
17:22 camelia rakudo-jvm 2ce544: ( no output )
17:22 diakopter rj: 1
17:22 camelia rakudo-jvm 2ce544: ( no output )
17:22 diakopter o_O
17:22 jnthn moritz: Hm. "C:/consulting/ui-test/rakudo/install: No such file or directory at Configure.pl line 65."
17:23 jnthn Sorry, lines just before that error are:
17:23 jnthn Building NQP ...
17:23 jnthn C:\Perl64\bin\perl.exe Configure.pl --prefix=C:/consulting/ui-test/rakudo/instal
17:23 jnthn l --backends=parrot,jvm --make-install
17:23 timotimo what goes into the decision "should this repo have new commits reported to #perl6?"?
17:23 moritz diakopter: huh, looks like new versions of libicu-dev on parrot install the files into /usr/include/x86_64-linux-gnu/unicode/uchar.h
17:24 jnthn timotimo: "If we report them here, will pepole scream at us?" :)
17:24 moritz and parrot looks in the path without the x86_64-linux-gnu
17:24 japhb__ timotimo: My personal feeling: "Is it Perl 6 related, and likely to be interesting to more people in #perl6 than just the author?"
17:24 timotimo mhm, all right
17:25 diakopter moritz: meh just make symlinks
17:25 diakopter maybe patch parrot ... another time :P
17:26 Rotwang joined #perl6
17:26 japhb__ If you're referring to p6-pb, it's a significant set of Perl 6 modules in which at least 3 people in #perl6 have expressed interest publicly, so it easily crossed that barrier for me.  :-)
17:26 diakopter timotimo: report all the things
17:26 jnthn Can somebody on non-Windows run this:
17:27 * FROGGS is missing input
17:27 diakopter (no output)
17:27 jnthn perl -e "use Cwd qw(abs_path); abs_path('dir-that-does0not-exist')"
17:27 * jnthn is missing good internets on the train :P
17:27 FROGGS jnthn: no output
17:27 * diakopter throws you up an internet
17:28 jnthn On Windows that dies.
17:28 arnsholt Works on Linux
17:28 jnthn dir-that-does-not-exist: No such file or directory at -e line 1.
17:28 jnthn grr :)
17:28 moritz grr indeed
17:28 jnthn That's an absolute pain...
17:28 diakopter we must conclude that Windows is deadlier.
17:28 FROGGS abs_pain(), yeah
17:29 FROGGS windows is the blakberry of the OSes :P
17:29 jnthn Anyway, that's The Immediate Issue.
17:31 moritz so, what's the solution? Writing our own abs_path?
17:31 FROGGS just a -e before that?
17:31 diakopter wrapping it in eval?
17:31 moritz but we want the absolute path even if it doesn't exist
17:31 geekosaur abs_path is hard to do sensibly on all platforms, sadly
17:32 FROGGS moritz: don't think that will ever work
17:32 dalek nqp/unified-build: 30e90a8 | jonathan++ | Configure.pl:
17:32 dalek nqp/unified-build: Work around abs_path Windows issue.
17:32 dalek nqp/unified-build: review: https://github.com/perl6/nqp/commit/30e90a8d64
17:32 jnthn *groan* :)
17:33 moritz diakopter: symlink in place
17:33 jnthn ok, now it says I need a --gen-parrot...
17:33 moritz do you?
17:33 * jnthn adds that
17:33 jnthn trying ;)
17:33 jnthn yeah, looks like giving that to Rakudo's Configure passes it along and it' doing it
17:33 diakopter moritz: running configure..
17:34 moritz diakopter: wait, abort that
17:34 diakopter it ran
17:34 moritz you need to get the --prefix right etc.
17:34 diakopter making now
17:34 diakopter did
17:34 moritz p6eval@host07:~/evalbot/build-scripts$ ls wipe-and-rebuild-nom.sh
17:34 moritz wipe-and-rebuild-nom.sh
17:34 moritz that's the script you should run, once the Configure.pl worked once
17:34 diakopter boo :)
17:35 diakopter k
17:42 cxreg should the project title for rakudo on github be changed?
17:42 cxreg "Rakudo Perl -- Perl 6 on Parrot"
17:42 jnthn yes :)
17:43 cxreg also, is there going to be an effort to get the niecza work combined with nqp?
17:43 FROGGS "Rakudo Perl -- Perl 6 on <place your beer here>"
17:43 FROGGS cxreg: very unlikely
17:43 benabik Perl 6 on Milk Stout?
17:44 FROGGS hehe
17:44 jnthn YePerl 6 on Yeti!
17:45 jnthn cxreg: Added "and JVM"
17:45 FROGGS someone should have named nqp "drugs" or "speed"
17:45 cxreg jnthn++ # although only a temporary truth
17:45 FROGGS well, that is how it is
17:45 jnthn Or "A Compiler Implementation Dream" :D
17:45 cxreg :D
17:45 FROGGS we are all just temporary :o)
17:46 FROGGS hehe
17:48 FROGGS moritz: it looks like nqp built nqp-j and nqp-m already, and is working on nqp-p atm on my linux box
17:48 cxreg jnthn: any plans to make an object code backend to nqp?
17:48 cxreg i honestly have no idea how hard that would be
17:49 jnthn Hard. If we get there, it'll probablyu be through one of the VMs we target providing AOT comp...
17:49 cxreg maybe something in the llvm suite?
17:50 FROGGS moritz: is it intention that nqp-m is installed as "nqp" ?
17:50 moritz FROGGS: if you specify a list of backends, the first one is installed as "nqp"
17:51 FROGGS but that is my configure line: perl Configure.pl --backends=parrot,jvm,moar
17:51 jnthn llvm use is an FAQ here by now. :) The problem is that it's so ll you pretty much have to build most of the things we need to in Moar anyway...
17:51 FROGGS and it started to build jvm, then moar and I still see the output of parrot as the last step
17:51 arnsholt I've been assuming that Perl 6 to native code compilation will end up being kind of like Common Lisp
17:52 FROGGS moritz: I think I re-check
17:53 arnsholt For example installing SBCL from scratch (that is, no previous CL available) goes like this: 1) Install clisp 2) Use clisp to build SBCL
17:53 diakopter for moar I suspect it'll be every routine pre-jitted with lists of offsets to fixup pointers
17:54 diakopter (also stored in the bytecode, which is in turn a binary blob in a .c)
17:54 spider-mario joined #perl6
17:55 diakopter (seems the most straightforward path)
17:55 diakopter (to me)
17:55 [Sno] joined #perl6
17:55 FROGGS moritz: should it start to build the first backend specified?
17:55 panchiniak joined #perl6
17:56 FROGGS moritz: first lines of configure + make: https://gist.github.com/FROGGS/23780de7d47ef19e3ff7
17:57 jnthn diakopter: aye, though for now I'd planned that we'll only JIT specializations...
17:57 jnthn Though if it's worth if we can of course JIT the general case too
17:58 diakopter "pre-just-in-time-d" hm :)
17:58 jnthn :)
17:58 jnthn oh finally this crappy connection cloned a Parrot
17:59 diakopter jnthn: quick, save a pristine copy of the clone
17:59 jnthn too late, it started building :)
17:59 jnthn but pristine with git is easy enough :)
17:59 diakopter usually..
17:59 jnthn And I can always git clone from my local copy now I have one :)
18:00 jnthn oh, wait, I already had one...d'oh... :)
18:00 cxreg #parrot is a sad sad place these days
18:00 * jnthn is forgetting what he has/hasn't cloned onto this new laptop yet :)
18:01 FROGGS moritz: I updated the gist, see the first line after the [...]
18:01 [Coke] so, about pmuria's shell point - I didn't think shell1 and shell3 were never meant to be used by the user. (certainly we cannot stop them) - isn't it more effecient for them to use the opcode they mean instead of having a varargs version?
18:01 [Coke] *pmurias's
18:02 jnthn [Coke]: Such vararg are compile-tikme resolved anyways
18:02 [Coke] Also: even if we never mean users to use them, we should still document them as "internal, please do not use"
18:03 * diakopter considers making dalek report only on parrot/parrot to #parrot
18:03 cxreg diakopter++
18:04 [Coke] diakopter++
18:07 sqirrel joined #perl6
18:08 moritz FROGGS: so nqp-p is installed as nqp-p, right?
18:08 moritz looks fine to me
18:09 FROGGS moritz: but you said the first to --backends will be installed as nqp
18:10 moritz FROGGS: ok, that as an oversimplification. It's not actually installed as nqp, there's just an ./nqp runner built in the current source directory
18:10 moritz s/as/was/
18:12 ajr joined #perl6
18:12 moritz FROGGS: and 'make install' doesn't even build that runner, just 'make'
18:13 moritz (I can change that if desired)
18:13 * benabik dislikes `make install` building things.
18:13 jnthn moritz: Well, get to "NQP has been built and installed."
18:13 jnthn moritz: Then it tries to do C:/consulting/ui-test/rakudo/install/bin/nqp-j.exe
18:13 jnthn When it should be .bat I guess
18:15 jnthn moritz: Any idea where abouts I should look to fix this?
18:17 jnthn hm, and where on earth does $impls come from...
18:19 FROGGS there is a tools/build/install-jvm-runner.pl, but this would install a .bat file
18:19 moritz jnthn: either in Configure.pl or in in tools/lib/NQP/Configure.pm (both rakudo repo)
18:20 dalek rakudo/unified-build: cc3d1ce | moritz++ | tools/lib/NQP/Configure.pm:
18:20 dalek rakudo/unified-build: blind try at a Windows fix
18:20 dalek rakudo/unified-build: review: https://github.com/rakudo/rakudo/commit/cc3d1ce775
18:20 moritz jnthn: maybe this fixes it
18:24 jnthn That helps
18:25 jnthn Now for some reason it rockets through the build building nothing... :S
18:25 jnthn unltil it tries to run perl6 on the JVM to build the setting...
18:26 moritz jnthn: look at the generated Makefile. What's NQP_J set to?
18:26 jnthn J_NQP?
18:26 moritz or that, yes
18:26 * moritz a bit confused
18:26 jnthn J_NQP   = C:/consulting/ui-test/rakudo/install/bin/nqp-j.bat
18:27 moritz and does that exist?
18:27 jnthn ah, and changing those to \ fixes it, it seems...
18:27 moritz oh
18:27 moritz there's an nqp::makefile marker in some of the Makefile-*.in
18:28 moritz try adding that to tools/build/Makefile-common.in too
18:28 jnthn ok
18:28 jnthn will try it once it gets through the build.provided it does after this hand hack
18:29 moritz ok, I was wrong, currently it's in Makefile-Parrot.in
18:29 moritz maybe it needs to go into Makefile-{JVM,common}.in
18:30 jnthn java -Xss1m -Xms500m -Xmx1600m -Xbootclasspath/a:.;
18:30 jnthn ...
18:30 jnthn That's the reason it's not in Makefile-JVM at present
18:30 jnthn That / there musn't be \'d
18:31 moritz if it's just that one variable, we can substitute that in rakudo's Configure.pl
18:35 jnthn True
18:35 jnthn It has done the JVM build and is mostly through the Parrot one now
18:35 moritz \o/
18:35 stevan_ joined #perl6
18:39 [Coke] f~.
18:39 jnthn And they make test
18:39 [Coke] O_o
18:39 jnthn So, it is just that one thing
18:39 jnthn moritz: How'd you suggest I fix it?
18:40 LWA joined #perl6
18:40 jnthn oh, I may see it
18:40 moritz jnthn: like this :-)
18:40 dalek rakudo/unified-build: eb6c75e | moritz++ | Configure.pl:
18:40 dalek rakudo/unified-build: try to fix NQP path on windows
18:40 dalek rakudo/unified-build: review: https://github.com/rakudo/rakudo/commit/eb6c75e459
18:41 * [Coke] proffers https://gist.github.com/coke/7124190 as an update to the shell docs.
18:42 jnthn moritz: trying :)
18:42 jnthn hah, that's almost exactly the patch I wrote here :)
18:42 jnthn Looking better \o/
18:42 moritz \o/
18:42 [Coke] seen moritz?
18:42 jnthn So, looks like the branch is working nicely on Windows now :)
18:43 [Coke] (crap, don't even have a bot that can rat out the missing bot.)
18:43 geekosaur preflex: seen moritz
18:43 preflex moritz was last seen on #perl6 55 seconds ago, saying: \o/
18:43 jnthn perflex: seen yoleaux
18:43 jnthn gha
18:44 jnthn preflex: seen yoleaux
18:44 preflex yoleaux was last seen on #perl6 1 day, 11 hours, 54 minutes and 30 seconds ago, saying: jnthn: I'll pass your message to lue.
18:44 jnthn yoleaux: AND YOU FAILED ME.
18:44 geekosaur you b0rked it!
18:46 moritz oh, I just realized that the branch likely doesn't install the 'perl6' binary
18:46 moritz it just builds it
18:46 [Coke] preflex: seen pmurias?
18:46 preflex pmurias was last seen on #perl6 3 hours, 28 minutes and 36 seconds ago, saying: nwc10: and it should stop my hate of Makefiles from hindering me from working on nqp-js ;)
18:47 jnthn moritz++ # all the awesome work on this so far
18:47 [Coke] jnthn: do you agree that there are some opcodes not meant to be called by users?
18:47 jnthn moritz: Yeah, confirm that patch gets things looking good.
18:47 benabik joined #perl6
18:47 moritz git diff --shortstat nom...unified-build 12 files changed, 442 insertions(+), 469 deletions(-)
18:48 moritz didn't even increase the total LOC count (yet) :-)
18:48 jnthn [Coke]: nqp:: ones? There's some you probably need to know are VM specific...
18:48 jnthn [Coke]: but that's just a handful
18:49 jnthn [Coke]: Do you have a particular case in mind?
18:49 [Coke] jnthn: like nqp::shell3
18:49 jnthn Dunno about that specifically; I do know that some ops that can work "vararg" are simple facades to two underlying ones with a number in.
18:49 jnthn substr and index are the two I know of
18:50 moritz jnthn: so once I patch the build system to actually install a 'perl6' / 'perl6.exe' binary, are you fine with merging the branches?
18:50 [Coke] that's basically what this is. 3 just means "the 3 arg version"
18:50 [Coke] jnthn: but the underlying ones are just as valid as the vararg one, typically?
18:50 jnthn moritz: Yeah, I don't see why not
18:50 diakopter +11
18:51 jnthn [Coke]: I guess, though they're not really idiomatic :)
18:51 jnthn [Coke]: On the shell one though, I *think* that the shell1 variant may end up going away..
18:51 jnthn Or maybe I just remember wrong. But I thought that was the plan.
18:52 jnthn The substr2/substr3 will likely stay, though.
18:52 jnthn But it's probably better to just write nqp::substr(...) :)
18:52 [Coke] ok. I'll try to focus the docs that way. Danke.
18:53 moritz [Coke]++ # nqp op docs
18:53 itz jnthn: are you speaking in Salzburg?
18:54 jnthn moritz: Tiny detial, but if you "make test" on a multi-backend build then it builds one and tests it, then builds the other and tests it.
18:54 jnthn moritz: Which is, I guess, OK, but means you don't hvae the two test outputs handy at the end of the output.
18:55 jnthn itz: Yes.
18:55 jnthn See http://act.useperl.at/apw2013/schedule
18:55 estrabd joined #perl6
18:55 jnthn um, apparently I'm speaking quite a bit :)
18:55 moritz jnthn: might be fixable, but can be done after The Merge
18:55 itz ty
18:55 jnthn Last I checked I only had one talk accepted :)
18:56 jnthn moritz: yeah, not a big thing
18:56 moritz (I'm eager to get the branches merged, because they are quite large, and I want to avoid unnecessary divergence and merge pains)
18:56 jnthn moritz: And not a merge blocker to me.
18:56 jnthn Well, the other reason I think merging sooner rather than later (provided we're comfortable they're "ready enough") is because we get them more testing ahead of release :)
18:57 jnthn The one I don't look forward to merging this into is moar-support ;)
18:57 jnthn But maybe some kind soul will save me that task :)
18:59 moritz jnthn: I can try to look into it, being familiar with the new build system and all
18:59 jnthn \o/
18:59 jnthn The stuff in place so far is very, very similar to how ConfigureJVM and Makefile-JVM looked.
18:59 FROGGS does it makes sense to wait until rakudo-m got further?
19:00 jnthn FROGGS: Probably better to just bring r-m's build in line with the rest of the backends sooner rather than later...
19:00 moritz FROGGS: probably not
19:00 jnthn Otherwise we just put off the work.
19:02 iSlug joined #perl6
19:03 FROGGS jnthn: an I do something for rakudo@moar atm?
19:05 FROGGS can*
19:06 lizmat r: Set.new<a>:exists  # apparently, an empty hash misses something
19:06 camelia rakudo 2ce544: OUTPUT«This type does not support associative operations␤  in method exists_key at src/gen/CORE.setting:15104␤  in block  at src/gen/CORE.setting:1921␤  in sub postcircumfix:<{ }> at src/gen/CORE.setting:2431␤  in sub postcircumfix:<{ }> at src/gen/CORE.settin…»
19:07 lizmat r: Set.new(<a>)<a>:exists  # apparently, an empty hash misses something
19:07 camelia rakudo 2ce544: ( no output )
19:07 lizmat r: say Set.new(<a>)<a>:exists
19:07 camelia rakudo 2ce544: OUTPUT«True␤»
19:09 jnthn FROGGS: I thought you were working on extops building? :)
19:10 Khisanth joined #perl6
19:11 jnthn That's the most pressing thing
19:11 dalek nqp: 41f97f0 | coke++ | docs/ops.markdown:
19:11 dalek nqp: document nqp::null
19:11 dalek nqp: review: https://github.com/perl6/nqp/commit/41f97f06d4
19:11 dalek nqp: 7f486fc | coke++ | docs/ops.markdown:
19:11 dalek nqp: Slight update to opcodes considered "Internal".
19:11 dalek nqp:
19:11 dalek nqp: Include some text about Internal & Deprecated ops.
19:11 dalek nqp:
19:11 dalek nqp: reformat a bit so it's clear what the primary opcode is.
19:11 dalek nqp:
19:11 dalek nqp: pmurias++ jnthn++
19:11 dalek nqp: review: https://github.com/perl6/nqp/commit/7f486fc816
19:13 [Coke] How does that look? (shell, rindex, ord, index and substr all have "internal" op variants)
19:14 jnthn [Coke]: Looks good to me
19:14 lizmat jnthn, moritz: is there a subtle difference between "my %e" and "my %e = ()" ?
19:15 moritz not yet, I think
19:15 lizmat adding the "= ()" makes the "Set.new<a>:exists" error go away
19:15 lizmat src/core/Setty.pm, line 26
19:15 nwc10 r: my %e = (); BEGIN {++%e<k>}; say $_ for keys %e
19:15 camelia rakudo 2ce544: ( no output )
19:15 nwc10 r: my %e; BEGIN {++%e<k>}; say $_ for keys %e
19:15 camelia rakudo 2ce544: OUTPUT«k␤»
19:16 nwc10 I know that one :-)
19:16 [Coke] jnthn++: Danke.
19:16 [Coke] pmurias: if you read this in review, hopefully we now have the best of both worlds there. Thanks.
19:17 lue joined #perl6
19:17 lue hello world o/
19:17 lue [ I see we still don't have yoleaux. What happened to 'im? :( ]
19:18 diakopter .ask dpk wearfour eart thow
19:18 dalek rakudo/nom: 882e337 | (Elizabeth Mattijsen)++ | src/core/Setty.pm:
19:18 dalek rakudo/nom: Fix strange kind of initialization problem on Set.new<a>:exists
19:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/882e3376c5
19:20 [Coke] nqp: say(nqp::const("barf"))
19:20 camelia nqp-parrot: OUTPUT«Error while compiling block : Error while compiling op call (source text: "nqp::const(\"barf\")"): Error while compiling op const (source text: "nqp::const(\"barf\")"): Unknown constant ''␤current instr.: '' pc 55082 (src/stage2/QAST.pir:20123) (src/stage2/QAST.…»
19:20 camelia ..nqp-jvm: OUTPUT«Unknown constant ''␤  in  (src/stage2/gen/QAST.nqp:1877)␤  in  (src/stage2/gen/QAST.nqp:228)␤  in compile_op (src/stage2/gen/QAST.nqp:228)␤  in as_jast (src/stage2/gen/QAST.nqp:3690)␤  in as_jast (src/stage2/gen/QAST.nqp:2965)␤  in  (src/stage2/gen/QAST.n…»
19:20 camelia ..nqp-moarvm: OUTPUT«Unknown constant ''␤frame_name_772␤»
19:20 [Coke] whee!
19:20 moritz nqp-jvm is slightly LTA here :-)
19:20 diakopter nqp: say(nqp::const(''))
19:21 camelia nqp-parrot: OUTPUT«Error while compiling block : Error while compiling op call (source text: "nqp::const('')"): Error while compiling op const (source text: "nqp::const('')"): Unknown constant ''␤current instr.: '' pc 55082 (src/stage2/QAST.pir:20123) (src/stage2/QAST.nqp:3316)␤»
19:21 camelia ..nqp-jvm: OUTPUT«Unknown constant ''␤  in  (src/stage2/gen/QAST.nqp:1877)␤  in  (src/stage2/gen/QAST.nqp:228)␤  in compile_op (src/stage2/gen/QAST.nqp:228)␤  in as_jast (src/stage2/gen/QAST.nqp:3690)␤  in as_jast (src/stage2/gen/QAST.nqp:2965)␤  in  (src/stage2/gen/QAST.n…»
19:21 camelia ..nqp-moarvm: OUTPUT«Unknown constant ''␤frame_name_772␤»
19:22 jnthn lizmat: Maybe in so far as () forces the internal storage to be vivified
19:23 [Coke] nqp: say nqp::const::CCLASS_WORD;
19:23 camelia nqp-moarvm: OUTPUT«Confused at line 2, near "say nqp::c"␤panic␤»
19:23 camelia ..nqp-parrot: OUTPUT«Confused at line 2, near "say nqp::c"␤current instr.: 'panic' pc 14748 (src/stage2/gen/NQPHLL.pir:5229) (src/stage2/gen/NQPHLL.nqp:279)␤»
19:23 camelia ..nqp-jvm: OUTPUT«Confused at line 2, near "say nqp::c"␤  in panic (src/stage2/gen/NQPHLL.nqp:279)␤  in comp_unit (src/stage2/gen/NQP.nqp:772)␤  in TOP (src/stage2/gen/NQP.nqp:669)␤  in parse (src/stage2/gen/QRegex.nqp:1247)␤  in parse (src/stage2/gen/NQPHLL.nqp:1376)␤  in…»
19:23 [Coke] nqp: say(nqp::const::CCLASS_WORD); # maybe the default shouldn't be everything.
19:23 camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«8192␤»
19:24 [Coke] urk. that's not like any other "opcode". :)
19:24 jnthn lizmat: But it looks like exists_key checks nqp::defined
19:24 [Coke] jnthn: no way to extend the constant map at runtime, aye?
19:24 lizmat eh, no: nqp::existskey(%!elems, nqp::unbox_s($k.WHICH));
19:25 dalek rakudo/unified-build: 7b2213d | moritz++ | / (3 files):
19:25 dalek rakudo/unified-build: [build] install "perl6" executable
19:25 dalek rakudo/unified-build: review: https://github.com/rakudo/rakudo/commit/7b2213d30c
19:25 moritz [Coke]: I'm pretty sure that rakudo on parrot at least resolves those constants at compile time
19:25 * [Coke] commutes for a bit.
19:26 jnthn lizmat: oh, I was looking at the one in enummap
19:26 [Coke] moritz: good. just make sure there are no more opcodes in this chunk to worry about.
19:26 * [Coke] really commutes for a bit.
19:26 moritz ok, time to merge
19:26 diakopter moritz++
19:26 * moritz is slightly scared
19:26 lizmat jnthn: ok, I'll try to do this differently
19:26 jnthn lizmat: Anyway, perhaps that is what's missing
19:27 jnthn yeah, the = () feels like a workaround...
19:27 dalek Heuristic branch merge: pushed 49 commits to nqp by moritz
19:28 dalek Heuristic branch merge: pushed 33 commits to rakudo/nom by moritz
19:31 timotimo unified-build is now mainline?
19:31 FROGGS jnthn: yes, still working on the perl6_ops.dll
19:31 moritz timotimo: yes
19:31 moritz timotimo: and I promptly found stuff I didn't like :-)
19:32 timotimo well, it's still cool :)
19:32 timotimo good work!
19:32 moritz (mostly just missing cleanups)
19:32 timotimo that's easy to do in afterthought
19:33 dalek rakudo/nom: 3ac1c3d | (Elizabeth Mattijsen)++ | src/core/Setty.pm:
19:33 dalek rakudo/nom: Alternate solution to fixing Set.new<a>:exists
19:33 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3ac1c3d571
19:33 moritz what's the difference between @foo@ and @@foo@@ placeholders in the Makefile.in tempaltes?
19:34 lizmat $ perl Configure.pl --gen-parrot
19:34 lizmat No suitable nqp executables found! Please specify some --backends, or a --prefix that contains nqp-{p,j} executables
19:34 lizmat so what should I specify ?
19:34 moritz --backends=parrot for example
19:35 lizmat instead of the --gen-parrot ?
19:35 moritz I guess I could make --gen-parrot imply backend parrot
19:35 lizmat well, then you wouldn't have to change the README  :-)
19:35 moritz lizmat: in addition to --gen-parrot, unless you already have a parrot installed
19:35 arnsholt --gen-parrot should probably imply you want the parrot backend
19:35 moritz arnsholt: that seems obvious, but I'm not sure
19:35 arnsholt Why is that?
19:35 lizmat well, *or* we need to change the README, as the above line was directly copy and pasted from the README
19:36 moritz arnsholt: because if it implies parrot, then Configure.pl won't ask for a list of backends, and whether JVM-support available is then dependent on the existence of a nqp-j
19:36 moritz arnsholt: which is kinda OK, but also feels like we treat parrot way more magical that JVM
19:36 moritz lizmat: I'm pretty sure both READMEs will need updating
19:36 arnsholt Yeah, that does make sense
19:37 arnsholt Explicit is better than implicit, some times =)
19:37 lizmat maybe --backends=parrot should imply --gen-parrot ?
19:37 moritz lizmat: I don't think so
19:37 arnsholt Probably not
19:38 FROGGS `perl Configure.pl` did not imply this too
19:38 diakopter mostly for packagers, who will want to build all the targets without generating any backends
19:38 dalek rakudo/nom: d99570b | (Elizabeth Mattijsen)++ | README:
19:38 dalek rakudo/nom: Adapt build instruction for parakudo to current situation
19:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d99570b84f
19:39 lizmat ===SORRY!===
19:39 lizmat I'm missing some needed files:
19:39 lizmat /Users/liz/Github/rakudo/install/bin/nqp-p
19:39 lizmat :-(
19:39 diakopter n00b tip: it's hard to be aware of how loudly you are eating while wearing noise-canceling earbuds that make your eating the only sound you hear
19:40 moritz lizmat: did it try to build NQP for you?
19:40 lizmat .oO( keeping your mouth shut during eating also helps )
19:40 moritz lizmat: and what exactly was your configure command line?
19:40 arnsholt diakopter: My colleagues sometimes inform me of the loudness level of my headphones by heckling the choice of music =)
19:40 lizmat moritz: perl Configure.pl --gen-parrot --backends=parrot
19:41 lizmat moritz: it also said: NQP has been built and installed.
19:41 lizmat Verifying installation ...
19:41 diakopter one would have to speak loudly directly toward me for me to hear them heckle me..
19:41 arnsholt Yeah, they're mostly seated so I can see them
19:41 moritz lizmat: and is there a /Users/liz/Github/rakudo/install/bin/nqp-p ?
19:42 lizmat $ ls -ls /Users/liz/Github/rakudo/install/bin/nqp-p
19:42 lizmat ls: /Users/liz/Github/rakudo/install/bin/nqp-p: No such file or directory
19:42 jnthn FROGGS: ok, great :)
19:42 diakopter lizmat: forgot --prefix ?
19:42 moritz lizmat: can you please nopaste the complete configure + build log?
19:42 lizmat sure
19:42 moritz diakopter: no, missing prefix becomes ./install which looks correct here
19:43 diakopter but maybe not for nqp anymore
19:43 diakopter er, the backend
19:43 denisboyun joined #perl6
19:43 Rotwang joined #perl6
19:45 dalek nqp: bbf9ecc | moritz++ | tools/build/Makefile- (2 files):
19:45 dalek nqp: [build] more thorough cleanup
19:45 dalek nqp: review: https://github.com/perl6/nqp/commit/bbf9eccc8c
19:48 lizmat moritz: too a while, I think it's all here: https://gist.github.com/lizmat/7125431
19:48 dalek nqp: 82dcfba | moritz++ | tools/build/Makefile- (2 files):
19:48 dalek nqp: [build] moar cleanups
19:48 dalek nqp: review: https://github.com/perl6/nqp/commit/82dcfba4d2
19:48 moritz lizmat: thanks, I'll try to figure out what's wrong
19:49 lizmat moritz: is this related?
19:49 lizmat $ make
19:49 lizmat make: *** No rule to make target `p-all', needed by `all'.  Stop.
19:50 moritz lizmat: yes. The Makefile has ben written incompletely
19:50 dalek roast: 55c0466 | (Elizabeth Mattijsen)++ | S02-types/deprecations.t:
19:50 dalek roast: Unfudge now passing test
19:50 dalek roast: review: https://github.com/perl6/roast/commit/55c0466b56
19:52 moritz lizmat: just to make the assumptions clear: you had a parrot already installed, right?
19:53 lizmat well, I've always just used --gen-parrot as parameter, and that build and installed one for me, yes
19:53 lizmat *built
19:55 * moritz tries to reproduce
19:56 TimToady TMI
19:57 diakopter *snort*
19:57 TimToady actually, TLI
19:57 lizmat moritz: fwiw, I just did a pull, and then tried to build again
19:59 diakopter lizmat: is there a parrot in the path?
19:59 lizmat $ which parrot
19:59 lizmat LizyPro-2:rakudo liz$ ls -ls /Users/liz/bin/parrot
19:59 lizmat 8 lrwxr-xr-x  1 liz  501  35 Apr  8  2013 /Users/liz/bin/parrot -> ../Github/rakudo/install/bin/parrot
19:59 diakopter .oO( "yes, it's looking a little down-trodden.." )
20:01 moritz eeks, symlinks :-)
20:02 jon2232 joined #perl6
20:02 diakopter I can vaguely imagine that being a problem, but only for parrot in particular
20:02 diakopter in a very particular ethereally-imagined situation
20:03 dalek nqp: 9906f5e | moritz++ | / (2 files):
20:03 dalek nqp: update REAMDE, Configure.pl help text
20:03 dalek nqp: review: https://github.com/perl6/nqp/commit/9906f5ec46
20:04 moritz diakopter: well, parrot_config reports the paths it was buit for
20:04 moritz diakopter: and if those differ from the path where  parrot was found, things could get funny
20:04 lizmat moritz: shall I kill the symlink and try again ?
20:04 moritz lizmat: not yet
20:05 * diakopter votes yes
20:06 * TimToady votes maybe
20:06 diakopter TimToady: wait, is this one of those trinary California propositions, or line-item veto, or what
20:08 dalek nqp: 89fb052 | moritz++ | tools/build/Makefile-Parrot.in:
20:08 dalek nqp: do not clean nqp_launcher
20:08 dalek nqp:
20:08 dalek nqp: it is created by Configure.pl, so a simple "make" does not rebuild it.
20:08 dalek nqp: Needs a better solution in the long term
20:08 dalek nqp: review: https://github.com/perl6/nqp/commit/89fb052dbf
20:09 lizmat moritz: Unknown option: backends
20:09 lizmat could that be the issue?
20:10 xenoterracide joined #perl6
20:10 diakopter forgot the equal sign?
20:10 diakopter eh
20:10 diakopter <- stu
20:11 lizmat it's in the line:/usr/local/bin/perl Configure.pl --prefix=/Users/liz/Github/rakudo/install --backends=parrot --make-install
20:13 moritz lizmat: please cd nqp; git describe   and tell me the output
20:14 lizmat $ git describe
20:14 lizmat 2013.10
20:14 diakopter o_O
20:14 moritz that explains a lot
20:14 moritz lizmat: git status?
20:15 lizmat $ git status
20:15 lizmat # Not currently on any branch.
20:15 lizmat nothing to commit (working directory clean)
20:15 moritz lizmat: if you do   git fetch; git checkout 2013.10-75-g6ee9539   does it succeed?
20:16 lizmat yes: Previous HEAD position was c774afd... bump VERSION to 2013.10
20:16 lizmat HEAD is now at 6ee9539... Merge branch 'unified-build'
20:16 diakopter moritz: I suppose configure needs to ensure the proper branch too
20:16 moritz diakopter: it checks out a specific commit
20:16 jnthn Surprised that NQP_REVISION in Rakudo wasn't enough for that..
20:16 moritz did I forgot to push the bump of tools/buil/NQP_REVISION?
20:18 moritz anyway, problem narrowed down: it failed to 'git checkout' nqp to the desired revision
20:18 moritz ... and I can reproduce that :/
20:18 moritz or maybe :)
20:23 dalek rakudo/nom: 73c9045 | moritz++ | tools/lib/NQP/Configure.pm:
20:23 dalek rakudo/nom: [Configure.pl] fix checking out of correct NQP revision
20:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/73c90450db
20:23 moritz lizmat: please git pull in rakudo and try again
20:23 moritz I am a bit worried that this patch will kill us when doing --gen-nqp without git
20:23 moritz have to test that with star soonish
20:24 jnthn moritz: Does the unified build stuff helps us towards a JVM-supporting Star, do you think?
20:24 arnsholt moritz: You can probably close #110 now
20:25 diakopter moritz: we'll want to have something that can download/extract a source tarball of some kind..
20:25 moritz jnthn: I'm not sure
20:26 * [Coke] ponders pull all the constants out into a flat file that I can point to from docs/op*
20:26 [Coke] *pulling
20:26 * [Coke] does the lazy for now.
20:27 pmichaud at one time the Configure.pm script always did "git checkout master" prior to attempting to check out a branch.
20:27 iSlug joined #perl6
20:27 pmichaud not sure if that disappeared at some point
20:27 moritz arnsholt: closed.
20:27 moritz pmichaud: rakudo hasn't had a master branch for quite some time
20:28 moritz oh, you probably meant nqp
20:28 pmichaud right.
20:28 moritz ah, probably so that 'git pull' can work
20:28 pmichaud I don't think we have a RAKUDO_REVISION anywhere yet :)
20:28 lizmat moritz: pulled and building now
20:29 moritz anyway, sleep time for me
20:29 moritz all further tweaks can be done by the vast array of Perl 6 hackers, or have to wait until tomorrow :-)
20:30 lizmat moritz: seems ok now
20:30 lizmat gnight!
20:30 pmichaud (vast array of Perl 6 hackers)++
20:31 diakopter too bad it's a sparse array...
20:31 jnthn 'night, moritz++
20:31 diakopter ...implemented with a hash
20:31 pmichaud gravity is vast and sparse, but it's still a force to be reckoned with :)
20:32 * diakopter throws you a graviton
20:32 diakopter it's like a tuit, only rounder
20:32 pmichaud I find it very attractive.
20:32 dalek nqp: 428f5a4 | coke++ | docs/ops.markdown:
20:32 dalek nqp: clarify x op
20:32 dalek nqp: review: https://github.com/perl6/nqp/commit/428f5a46de
20:32 dalek nqp: 1f27f8c | coke++ | docs/ops.markdown:
20:32 dalek nqp: basic documentation for nqp::const::*
20:32 dalek nqp:
20:32 dalek nqp: (copied from the JVM list).
20:32 dalek nqp: review: https://github.com/perl6/nqp/commit/1f27f8c6b1
20:33 lizmat talking about tuits: anyone here interested in camelia tuits ?
20:33 pmichaud +1
20:33 diakopter lizmat: I gave out all my MoarVM ones; I'd love some more MoarVM and Camelia ones also
20:33 jnthn lizmat: I have a collection of those on my desk :)
20:33 BenGoldberg joined #perl6
20:33 jnthn They're pretty :)
20:33 [Coke] only 210 failing tests in t/docs/op* - help me get it under 200! ;)
20:34 pmichaud $ rm t/docs/op*   # no problem!
20:34 [Coke] O_o;
20:35 [Coke] just for that, I'm going to pick an opcode for you to document.
20:37 spider-mario joined #perl6
20:37 [Coke] any of nfafromstatelist, nfatostatelist, nfarunproto, or nfarunalt will do. :P
20:38 woolfy https://www.facebook.com/photo.php?fbid=566701136731074
20:38 woolfy (oops, was meant just for Liz)
20:39 lizmat well, those are the buttons, I was looking for a picture of the camelia tuits
20:41 lizmat moritz et al: after successful rebuild, I get a *lot* of spectest failiures :-(
20:41 benabik So adding --backends=parrot,jvm,moar will make all the NQPs and have nqp-p as nqp?
20:41 diakopter lizmat: I'm guessing they are due to compiler flags that got lost, ish
20:42 * benabik can't quite figure out how --backends and the generic all/test/install targets fit together.
20:42 denis_boyun joined #perl6
20:42 jnthn detrain &
20:42 woolfy http://www.flickr.com/photos/wendyga/sets/72157635619932186/
20:43 diakopter jnthn: glad you're ridding yourself of your train infestation
20:43 benabik .o( Detrain your rail of thought? )
20:43 diakopter woolfy: those are really pretty
20:43 woolfy diakopter: I fully agree :-)
20:44 diakopter the font goes with the colors/shape nicely I think
20:44 lizmat all failures seem to be of the form "Cannot look up attributes in a type object"
20:45 diakopter missing initialization of someting
20:45 diakopter finding what's common from a few stack traces should help a lot
20:45 lizmat r: my @array = <a b c>; say ~(@array[2, *-1]:delete)  # this now failes
20:45 camelia rakudo 2ce544: OUTPUT«use of uninitialized value of type Any in string context  in block  at /tmp/407H5StmAq:1␤␤c ␤»
20:46 diakopter r-j: my @array = <a b c>; say ~(@array[2, *-1]:delete)
20:46 camelia rakudo-jvm 882e33: OUTPUT«(timeout)»
20:49 lizmat stack trace: https://gist.github.com/lizmat/7126483
20:50 lizmat $ git describe
20:50 lizmat 2013.10-75-g6ee9539
20:51 lizmat could that not be the problem: changes in nqp that I now got ??
20:54 benabik While we're renaming everything to -[pjm], perhaps we should also move to rakduo-* rather than perl6-*?
20:55 lue benabik: I vote liking typing perl6 -e :)
20:55 benabik lue: Leave the convenience runner as perl6, then.  :-D
20:55 lizmat spectest summary: https://gist.github.com/lizmat/7126590
20:56 lue (and also, if you're someone who will only ever use just one VM, would it be possible to *not* have the then-unnecessary postfixes? Symlinks acceptable, "convenience scripts" so much less so.)
20:57 benabik Dropping the postfixes on nqp is probably hazardous for building Rakudo.
20:59 dalek perl6-roast-data: 0817195 | coke++ | perl6_pass_rates.csv:
20:59 dalek perl6-roast-data: today (automated commit)
20:59 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/0817195c96
20:59 dalek perl6-roast-data: 3873b24 | coke++ | / (3 files):
20:59 dalek perl6-roast-data: today (automated commit)
20:59 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/3873b2425f
20:59 dalek perl6-roast-data: 50a59cd | coke++ | / (4 files):
20:59 dalek perl6-roast-data: today (automated commit)
20:59 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/50a59cdccc
20:59 BenGoldberg rn: my @a := 0, 1, 2, gather { take 1 + @a[*-1] }; say @a;
20:59 camelia niecza v24-98-g473bd20: OUTPUT«Unhandled exception: Attempted to re-enter abnormally exited or running coroutine␤  at /home/p6eval/niecza/lib/CORE.setting line 2622 (GatherIterator.reify @ 6) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /tmp/ddHEU5VGTL line 1 (ANON @ 2) ␤ …»
20:59 camelia ..rakudo 2ce544: OUTPUT«splice() not implemented in class 'Mu'␤  in method reify at src/gen/CORE.setting:7056␤  in method reify at src/gen/CORE.setting:7054␤  in method reify at src/gen/CORE.setting:7054␤  in method reify at src/gen/CORE.setting:7150␤  in method reify at src…»
20:59 diakopter lizmat: that stack trace is enlightening to me in a number of ways
21:00 * lue wonders if transforming PROGRAM-POSTFIX to PROGRAM -POSTFIX would be so terrible.
21:00 diakopter combination builds??
21:00 diakopter or a dispatcher script
21:01 lizmat diakopter: so what does the stack trace tell you?
21:01 BenGoldberg or a tiny dispatcher c program
21:02 benabik Erm.  OOM building JVM stage1/QAST?  I don't recall getting that before.
21:02 diakopter it's dying _while_ it's making a backtrace.. what's at your src/gen/p-CORE.setting:956
21:03 diakopter benabik: I've gotten that on mac, but sporadically
21:03 diakopter it's not deterministic
21:03 [Coke] benabik: java doesn't like -jX if you don't have a ton of memory. that it?
21:03 lue diakopter: IIRC other compilers like GCC and LLVM seem to do fine with it :)
21:03 diakopter lue: do fine with what?
21:04 lue multiple backends in one program (I may be misremembering though)
21:04 benabik [Coke]: No -j, more than a GB free.  :-/
21:05 lizmat diakopter: warn "use of uninitialized value of type {self.^name} in string context";
21:05 diakopter whaaa
21:06 benabik Need a JFLAGS or something so I can get a -Xmx in there.
21:06 benabik (Liking Mavericks' new memory stuff.  I've been at 0b swap since upgrading.)
21:07 japhb lizmat: self.HOW.name(self) needed, same thing you did earlier?
21:07 lizmat possibly, but that does't explain why this is suddenly all over the place
21:08 * jnthn home
21:08 * benabik tries `make JAVA="java -Xmx1g"` and at least gets past the first file.
21:09 lizmat the use of .^name is all over the place in Mu.pm
21:11 lizmat changing them all to HOW.name, just to see if we get a better stack trace
21:16 lizmat improved stack trace: https://gist.github.com/lizmat/7126907
21:18 dalek rakudo/nom: 33a6710 | (Elizabeth Mattijsen)++ | src/core/Mu.pm:
21:18 dalek rakudo/nom: Don't use .^name to allow for better error reporting when things go awry
21:18 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/33a6710625
21:18 lizmat japhb: doing the HOW.name change only helps the error reporting, but does not fix the pb
21:19 * lizmat still suspects some recent nqp change that surfaced because of the revision bump
21:19 benabik Huh.  Moar nqp can't find MASTOps.moarvm to build stage2...
21:19 japhb lizmat, Granted.  I simply feel that "error while printing error" is right up there with NPMCA as MLTA (Much Less Than Awesome)
21:20 lizmat going to sleep on it
21:20 lizmat gnight #perl6!
21:24 * BenGoldberg has found a CONFUSING rakudobug
21:24 BenGoldberg rn: my @a := gather { my @b = Inf, my ($a, $b) = 1, 1; take @b; for (3..Inf) { ($a, $b) = $b, [+] @b[*-$a, *-$b]; @b.push($b); take $b };  }; say @a[1..5]; say @a[1..10];
21:24 camelia rakudo 2ce544: OUTPUT«1 1 2 2 3␤1 1 2 2 3 3 4 5 5 6␤»
21:24 camelia ..niecza v24-98-g473bd20: OUTPUT«5 5 5 5 5␤8 8 8 8 8 8 8 8 8 8␤»
21:25 BenGoldberg Err, make that a nieczabug
21:25 lizmat seems to me it is printing the .elems instead of the values ?
21:26 lizmat really away&
21:26 BenGoldberg :)
21:29 colomon joined #perl6
21:36 BenGoldberg rn: my @a := gather { take 1..3; take @a[1]; }; say @a
21:36 camelia rakudo 2ce544: OUTPUT«splice() not implemented in class 'Mu'␤  in method reify at src/gen/CORE.setting:7056␤  in method reify at src/gen/CORE.setting:7054␤  in method reify at src/gen/CORE.setting:7054␤  in method reify at src/gen/CORE.setting:7150␤  in method reify at src…»
21:36 camelia ..niecza v24-98-g473bd20: OUTPUT«Unhandled exception: Attempted to re-enter abnormally exited or running coroutine␤  at /home/p6eval/niecza/lib/CORE.setting line 2622 (GatherIterator.reify @ 6) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /tmp/NDV04QxQIO line 1 (ANON @ 4) ␤ …»
21:37 benabik Well, at least I'm getting the same error going back to ConfigureMoar.pl.  :-D
21:38 benabik Oh.  I'm getting that '65' is not a valid number thing again.  That would explain it.
21:39 BenGoldberg Does anyone know if there's a way, inside of either a gather or a map, to get access to the list of things which were previously returned / previously taken?
22:06 stevan_ joined #perl6
22:15 dalek Heuristic branch merge: pushed 65 commits to nqp/ext by jnthn
22:15 diakopter wha
22:15 diakopter oh, from master
22:15 jnthn yeah
22:15 jnthn The updated build stuff etc.
22:15 diakopter I'm like "usually jnthn pushes more often"
22:16 jnthn Now to fix things :)
22:17 dalek nqp/ext: 98216ee | jnthn++ | src/vm/moar/stage0/ (9 files):
22:17 dalek nqp/ext: Fix MoarVM stage0; merge got us a bad one.
22:17 dalek nqp/ext: review: https://github.com/perl6/nqp/commit/98216ee22f
22:17 dalek nqp/ext: 0c174a6 | jnthn++ | tools/build/Makefile-common.in:
22:17 dalek nqp/ext: One Windows fix for NQP on MoarVM build.
22:17 dalek nqp/ext: review: https://github.com/perl6/nqp/commit/0c174a6c74
22:23 [Coke] nqp-j: say(nqp::stat("/etc/motd",nqp::const::STAT_CREATETIME));
22:23 camelia nqp-jvm: OUTPUT«-1␤»
22:23 diakopter nqp-m: say(nqp::stat("/etc/motd",nqp::const::STAT_CREATETIME));
22:23 camelia nqp-moarvm: OUTPUT«Failed to stat file: no such file or directory␤frame_name_0␤»
22:23 [Coke] nqp-j: say(nqp::stat("/etc/passwd",nqp::const::STAT_CREATETIME));
22:24 camelia nqp-jvm: OUTPUT«-1␤»
22:24 diakopter nqp-m: say(nqp::stat("/etc/passwd",nqp::const::STAT_CREATETIME));
22:24 camelia nqp-moarvm: OUTPUT«1381252708␤»
22:25 dalek nqp/ext: 98b8e0c | jnthn++ | tools/build/Makefile- (2 files):
22:25 dalek nqp/ext: Nananananananana BAT-var!
22:25 dalek nqp/ext: review: https://github.com/perl6/nqp/commit/98b8e0c894
22:25 diakopter jnthn: lolol
22:38 * [Coke] wonders if his daily build scripts are going to need to be updated for rakudo*
22:43 [Coke] stat(BACKUPTIME) seems less than useful.
22:44 dalek nqp: a27e079 | jnthn++ | src/vm/moar/stage0/ (9 files):
22:44 dalek nqp: Get a stage0 with extop support.
22:44 dalek nqp:
22:44 dalek nqp: Bump really needed due to bytecode format change.
22:44 dalek nqp: review: https://github.com/perl6/nqp/commit/a27e07986e
22:45 dalek joined #perl6
23:04 donaldh joined #perl6
23:14 BenGoldberg joined #perl6
23:27 jnthn 'night o/
23:28 japhb o/
23:29 japhb [Coke], BACKUPTIME sounds like a VMS thing.  What OS or FS is it actually seen on?
23:35 geekosaur or is that the generic-ized version of unix ctime?
23:35 geekosaur (referring to its original purpose)
23:36 [Coke] japhb: nqp-j: say(nqp::stat("BARF",nqp::const::STAT_BACKUPTIME));
23:36 [Coke] nqp-j: say(nqp::stat("BARF",nqp::const::STAT_BACKUPTIME));
23:36 camelia nqp-jvm: OUTPUT«-1␤»
23:51 Mouq joined #perl6
23:54 Mouq .
23:54 Mouq Oh, where's yoleaux?
23:54 Mouq .ping
23:54 geekosaur nobody seems to know
23:57 Mouq Any, jnthn from the future: I saw your message from the past. How does one go about updating stage0? This updating of sigspace rules is pretty much a breaking change, so…

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

Perl 6 | Reference Documentation | Rakudo